@praxisui/dynamic-fields 8.0.0-beta.99 → 9.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 +2 -2
- package/docs/dynamic-fields-inline-components-guide.md +36 -24
- package/fesm2022/praxisui-dynamic-fields.mjs +3699 -345
- package/package.json +3 -3
- package/src/lib/base/pdx-base-input-runtime-contract.json-api.md +4 -4
- package/src/lib/components/inline-color-label/pdx-inline-color-label.json-api.md +43 -2
- package/src/lib/components/inline-currency-range/pdx-inline-currency-range.json-api.md +15 -0
- package/src/lib/components/inline-date/pdx-inline-date.json-api.md +10 -2
- package/src/lib/components/inline-date-range/pdx-inline-date-range.json-api.md +26 -9
- package/src/lib/components/inline-distance-radius/pdx-inline-distance-radius.json-api.md +7 -0
- package/src/lib/components/inline-multi-select/pdx-inline-multi-select.json-api.md +24 -3
- package/src/lib/components/inline-pipeline-status/pdx-inline-pipeline-status.json-api.md +17 -0
- package/src/lib/components/inline-range-slider/pdx-inline-range-slider.json-api.md +8 -1
- package/src/lib/components/inline-rating/pdx-inline-rating.json-api.md +13 -0
- package/src/lib/components/inline-relative-period/pdx-inline-relative-period.json-api.md +13 -0
- package/src/lib/components/inline-score-priority/pdx-inline-score-priority.json-api.md +13 -0
- package/src/lib/components/inline-sentiment/pdx-inline-sentiment.json-api.md +20 -2
- package/src/lib/components/inline-time-range/pdx-inline-time-range.json-api.md +13 -0
- package/src/lib/components/material-cpf-cnpj-input/pdx-material-cpf-cnpj-input.json-api.md +4 -3
- package/src/lib/components/material-price-range/pdx-material-price-range.json-api.md +4 -0
- package/src/lib/components/material-slide-toggle/pdx-material-slide-toggle.json-api.md +26 -22
- package/types/praxisui-dynamic-fields.d.ts +381 -4
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-fields",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0-beta.0",
|
|
4
4
|
"description": "Angular Material-based dynamic form fields for Praxis UI with lazy loading and metadata-driven rendering.",
|
|
5
5
|
"peerDependencies": {
|
|
6
6
|
"@angular/common": "^21.0.0",
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
"@angular/platform-browser": "^21.0.0",
|
|
12
12
|
"@angular/router": "^21.0.0",
|
|
13
13
|
"rxjs": "^7.8.0",
|
|
14
|
-
"@praxisui/core": "^
|
|
15
|
-
"@praxisui/cron-builder": "^
|
|
14
|
+
"@praxisui/core": "^9.0.0-beta.0",
|
|
15
|
+
"@praxisui/cron-builder": "^9.0.0-beta.0"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
18
|
"libphonenumber-js": "^1.12.41",
|
|
@@ -86,7 +86,7 @@ Este documento e a referencia canonica da API JSON de pdx-base-input-runtime-con
|
|
|
86
86
|
| `metadata.id` | `string` | not-specified | n/a | Active | Aplica `id` no elemento nativo. |
|
|
87
87
|
| `metadata.label` | `string` | not-specified | n/a | Active | Mapeado para label visivel do campo. |
|
|
88
88
|
| `metadata.placeholder` | `string` | not-specified | n/a | Active | Mapeado para placeholder quando diferente do label. |
|
|
89
|
-
| `metadata.required` | `boolean` | not-specified | n/a | Active | `Validators.required` + `aria-required
|
|
89
|
+
| `metadata.required` | `boolean` | not-specified | n/a | Active | Controle interno textual aplica `Validators.required` + `aria-required`; controle externo preserva validadores do host e materializa estado acessivel. Boolean/toggle usa presença no `DynamicFormService`; use `requiredTrue` quando `true` for obrigatório. |
|
|
90
90
|
| `metadata.disabled` | `boolean` | not-specified | n/a | Active | Atualiza estado disabled do controle. |
|
|
91
91
|
| `metadata.readonly` | `boolean` | not-specified | n/a | Active | Aplica atributo `readonly` nativo. |
|
|
92
92
|
| `metadata.readOnly` | `boolean` | not-specified | n/a | Partial | Compat legado (dependente de uso no metadata final). |
|
|
@@ -135,7 +135,7 @@ Este arquivo foi adaptado para o padrao canonico atual sem remover conteudo tecn
|
|
|
135
135
|
| `metadata.id` | `string` | not-specified | n/a | component-defined | Aplica `id` no elemento nativo. |
|
|
136
136
|
| `metadata.label` | `string` | not-specified | n/a | component-defined | Mapeado para label visivel do campo. |
|
|
137
137
|
| `metadata.placeholder` | `string` | not-specified | n/a | component-defined | Mapeado para placeholder quando diferente do label. |
|
|
138
|
-
| `metadata.required` | `boolean` | not-specified | n/a | component-defined | `Validators.required` + `aria-required
|
|
138
|
+
| `metadata.required` | `boolean` | not-specified | n/a | component-defined | Controle interno textual aplica `Validators.required` + `aria-required`; controle externo preserva validadores do host e materializa estado acessivel. Boolean/toggle usa presença no `DynamicFormService`; use `requiredTrue` quando `true` for obrigatório. |
|
|
139
139
|
| `metadata.disabled` | `boolean` | not-specified | n/a | component-defined | Atualiza estado disabled do controle. |
|
|
140
140
|
| `metadata.readonly` | `boolean` | not-specified | n/a | component-defined | Aplica atributo `readonly` nativo. |
|
|
141
141
|
| `metadata.readOnly` | `boolean` | not-specified | n/a | component-defined | Compat legado (dependente de uso no metadata final). |
|
|
@@ -325,7 +325,7 @@ Limites:
|
|
|
325
325
|
| `metadata.id` | `string` | Active | Aplica `id` no elemento nativo. |
|
|
326
326
|
| `metadata.label` | `string` | Active | Mapeado para label visivel do campo. |
|
|
327
327
|
| `metadata.placeholder` | `string` | Active | Mapeado para placeholder quando diferente do label. |
|
|
328
|
-
| `metadata.required` | `boolean` | Active | `Validators.required` + `aria-required
|
|
328
|
+
| `metadata.required` | `boolean` | Active | Controle interno textual aplica `Validators.required` + `aria-required`; controle externo preserva validadores do host e materializa estado acessivel. Boolean/toggle usa presença no `DynamicFormService`; use `requiredTrue` quando `true` for obrigatório. |
|
|
329
329
|
| `metadata.disabled` | `boolean` | Active | Atualiza estado disabled do controle. |
|
|
330
330
|
| `metadata.readonly` | `boolean` | Active | Aplica atributo `readonly` nativo. |
|
|
331
331
|
| `metadata.readOnly` | `boolean` | Partial | Compat legado (dependente de uso no metadata final). |
|
|
@@ -439,7 +439,7 @@ internos do Angular Material e podem mudar entre versoes.
|
|
|
439
439
|
| `metadata.id` | `string` | not-specified | n/a | Active | Aplica `id` no elemento nativo. |
|
|
440
440
|
| `metadata.label` | `string` | not-specified | n/a | Active | Mapeado para label visivel do campo. |
|
|
441
441
|
| `metadata.placeholder` | `string` | not-specified | n/a | Active | Mapeado para placeholder quando diferente do label. |
|
|
442
|
-
| `metadata.required` | `boolean` | not-specified | n/a | Active | `Validators.required` + `aria-required
|
|
442
|
+
| `metadata.required` | `boolean` | not-specified | n/a | Active | Controle interno textual aplica `Validators.required` + `aria-required`; controle externo preserva validadores do host e materializa estado acessivel. Boolean/toggle usa presença no `DynamicFormService`; use `requiredTrue` quando `true` for obrigatório. |
|
|
443
443
|
| `metadata.disabled` | `boolean` | not-specified | n/a | Active | Atualiza estado disabled do controle. |
|
|
444
444
|
| `metadata.readonly` | `boolean` | not-specified | n/a | Active | Aplica atributo `readonly` nativo. |
|
|
445
445
|
| `metadata.readOnly` | `boolean` | not-specified | n/a | Partial | Compat legado (dependente de uso no metadata final). |
|
|
@@ -300,6 +300,10 @@ Use quando precisar:
|
|
|
300
300
|
| `metadata.colorLabelColorKey` / `metadata.optionColorKey` | `string` | Ativo | Chave do payload usada para cor da opcao. |
|
|
301
301
|
| `metadata.colorLabelPalette` / `metadata.palette` | `array \| string(csv/json)` | Ativo | Paleta fallback para cards sem cor explicita. |
|
|
302
302
|
| `metadata.colorLabelTexts` / `metadata.inlineTexts` | `object \| string(JSON)` | Ativo | Textos de aria, empty state, subtitle e labels de acao; templates devem usar `{{label}}` no contrato canonico, com compatibilidade legada para `{label}` em metadata. |
|
|
303
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | Ativo | Define se cards e badges comitam imediatamente ou ficam em rascunho ate `Aplicar`. |
|
|
304
|
+
| `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria-label, icone, `appearance` e `colorRole` da acao de commit. |
|
|
305
|
+
| `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura a acao que descarta rascunho e fecha o painel. |
|
|
306
|
+
| `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura a acao que remove a selecao aplicada/rascunho usando tokens do tema. |
|
|
303
307
|
| `metadata.prefixIcon` / `metadata.colorLabelIcon` | `string` | Ativo | Icone do trigger e cabecalho do painel. |
|
|
304
308
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Largura da pill e do painel (desktop/mobile). |
|
|
305
309
|
| `metadata.searchable` | `boolean` | Parcial | Ignorado no template; componente usa grade dedicada sem busca textual. |
|
|
@@ -317,6 +321,7 @@ Resumo de composicao deste componente:
|
|
|
317
321
|
- Em multiplo, respeita `maxSelections` herdado do base select.
|
|
318
322
|
- Em single, pode fechar automaticamente via `colorLabelCloseOnSelect`.
|
|
319
323
|
- Cores seguem ordem: chave custom > `color/tint` > paleta configurada > paleta default interna.
|
|
324
|
+
- Quando `inlineOverlay.applyMode` e `"explicit"`, selecoes no painel alteram apenas o rascunho; `Aplicar` comita, `Cancelar`, `Esc` e clique externo descartam, e `Limpar` remove a selecao.
|
|
320
325
|
|
|
321
326
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
322
327
|
```json
|
|
@@ -359,11 +364,19 @@ Uso: filtro visual simples por cor.
|
|
|
359
364
|
"panelMinWidth": 320,
|
|
360
365
|
"panelMaxWidth": 560
|
|
361
366
|
},
|
|
362
|
-
"clearButton": { "enabled": true, "showOnlyWhenFilled": true }
|
|
367
|
+
"clearButton": { "enabled": true, "showOnlyWhenFilled": true },
|
|
368
|
+
"inlineOverlay": {
|
|
369
|
+
"applyMode": "explicit",
|
|
370
|
+
"actions": {
|
|
371
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
372
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
373
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
374
|
+
}
|
|
375
|
+
}
|
|
363
376
|
}
|
|
364
377
|
}
|
|
365
378
|
```
|
|
366
|
-
Uso: filtro corporativo de risco com multi-selecao visual.
|
|
379
|
+
Uso: filtro corporativo de risco com multi-selecao visual e confirmacao explicita antes de aplicar.
|
|
367
380
|
|
|
368
381
|
### 7. Troubleshooting e Armadilhas Comuns
|
|
369
382
|
1. Cards sem cor esperada.
|
|
@@ -412,6 +425,10 @@ Correcao: validar `multiple=true` e `colorLabelShowSelectedBadges`.
|
|
|
412
425
|
| `metadata.palette` | array | false | n/a | Partial | See Detailed API reference. |
|
|
413
426
|
| `metadata.colorLabelTexts` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
414
427
|
| `metadata.inlineTexts` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
428
|
+
| `metadata.inlineOverlay.applyMode` | string | false | `auto` | Active | `explicit` mantém rascunho até commit. |
|
|
429
|
+
| `metadata.inlineOverlay.actions.apply` | object | false | n/a | Active | Label, aria, icon, appearance and colorRole for Apply. |
|
|
430
|
+
| `metadata.inlineOverlay.actions.cancel` | object | false | n/a | Active | Label, aria, icon, appearance and colorRole for Cancel. |
|
|
431
|
+
| `metadata.inlineOverlay.actions.clear` | object | false | n/a | Active | Label, aria, icon, appearance and colorRole for Clear. |
|
|
415
432
|
| `metadata.prefixIcon` | string | false | n/a | Partial | See Detailed API reference. |
|
|
416
433
|
| `metadata.colorLabelIcon` | string | false | n/a | Partial | See Detailed API reference. |
|
|
417
434
|
| `metadata.inlineAutoSize.*` | object | false | n/a | Partial | See Detailed API reference. |
|
|
@@ -509,6 +526,14 @@ Correcao: validar `multiple=true` e `colorLabelShowSelectedBadges`.
|
|
|
509
526
|
"clearButton": {
|
|
510
527
|
"enabled": true,
|
|
511
528
|
"showOnlyWhenFilled": true
|
|
529
|
+
},
|
|
530
|
+
"inlineOverlay": {
|
|
531
|
+
"applyMode": "explicit",
|
|
532
|
+
"actions": {
|
|
533
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
534
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
535
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
536
|
+
}
|
|
512
537
|
}
|
|
513
538
|
},
|
|
514
539
|
"resourcePath": "pdx-inline-color-label-common"
|
|
@@ -547,6 +572,14 @@ Correcao: validar `multiple=true` e `colorLabelShowSelectedBadges`.
|
|
|
547
572
|
"clearButton": {
|
|
548
573
|
"enabled": true,
|
|
549
574
|
"showOnlyWhenFilled": true
|
|
575
|
+
},
|
|
576
|
+
"inlineOverlay": {
|
|
577
|
+
"applyMode": "explicit",
|
|
578
|
+
"actions": {
|
|
579
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
580
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
581
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
582
|
+
}
|
|
550
583
|
}
|
|
551
584
|
},
|
|
552
585
|
"readonlyMode": false,
|
|
@@ -586,6 +619,14 @@ Correcao: validar `multiple=true` e `colorLabelShowSelectedBadges`.
|
|
|
586
619
|
"clearButton": {
|
|
587
620
|
"enabled": true,
|
|
588
621
|
"showOnlyWhenFilled": true
|
|
622
|
+
},
|
|
623
|
+
"inlineOverlay": {
|
|
624
|
+
"applyMode": "explicit",
|
|
625
|
+
"actions": {
|
|
626
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
627
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
628
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
629
|
+
}
|
|
589
630
|
}
|
|
590
631
|
},
|
|
591
632
|
"presentationMode": true,
|
|
@@ -300,6 +300,9 @@ Use quando precisar:
|
|
|
300
300
|
| --- | --- | --- | --- |
|
|
301
301
|
| `metadata.min` / `metadata.max` | `number` | Ativo | Limites globais da faixa. |
|
|
302
302
|
| `metadata.step` | `number` | Ativo | Incremento do slider (`default=100`). |
|
|
303
|
+
| `metadata.showTicks` | `boolean \| "auto"` | Ativo | Exibe ticks no trilho; `marks` tambem ativa ticks. |
|
|
304
|
+
| `metadata.marks` | `array \| string` | Ativo | Marcadores monetarios compactos; ate tres labels visiveis no popover inline. |
|
|
305
|
+
| `metadata.semanticBands` | `array \| string` | Ativo | Faixas semanticas compactas renderizadas junto ao trilho. |
|
|
303
306
|
| `metadata.discrete` | `boolean` | Ativo | Liga modo discreto no `mat-slider`. |
|
|
304
307
|
| `metadata.currency` / `metadata.locale` / `metadata.decimalPlaces` | `string/number` | Ativo | Formata valores da faixa e bordas. |
|
|
305
308
|
| `metadata.allowNegative` | `boolean` | Ativo | Permite faixa negativa quando habilitado. |
|
|
@@ -308,6 +311,10 @@ Use quando precisar:
|
|
|
308
311
|
| `metadata.distribution` / `metadata.rangeDistribution` | `object \| array \| string` | Ativo | Alias para distribuicao inline. |
|
|
309
312
|
| `metadata.histogram` / `metadata.rangeHistogram` | `object \| array \| string` | Ativo | Alias de histograma aceito em runtime. |
|
|
310
313
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Largura da pill e painel no modo inline. |
|
|
314
|
+
| `metadata.inlineOverlay.applyMode` | `"explicit" \| "auto"` | Ativo | Modo de commit do painel inline; default pratico do componente e `explicit`. |
|
|
315
|
+
| `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria, icone, aparencia e papel de cor da acao Aplicar/Concluir. |
|
|
316
|
+
| `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura label, aria, icone, aparencia e papel de cor da acao Cancelar. |
|
|
317
|
+
| `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura label, aria, icone, aparencia, visibilidade e papel de cor da acao Limpar no painel. |
|
|
311
318
|
| `metadata.validators.*` | `object` | Parcial | Mensagens custom parciais; erros principais de faixa usam texto interno no componente. |
|
|
312
319
|
|
|
313
320
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
@@ -323,6 +330,7 @@ Resumo de composicao deste componente:
|
|
|
323
330
|
- Selecao respeita clamp por min/max e snap por `step`.
|
|
324
331
|
- Distribuicao calcula visual adaptativo (altura, gap, opacidade, agregacao de bins).
|
|
325
332
|
- `clearButton` limpa ambos os extremos com quick-clear no trigger.
|
|
333
|
+
- `inlineOverlay.actions.*` materializa acoes do painel com tokens de tema; `applyMode="auto"` comita durante a interacao e oculta Cancelar.
|
|
326
334
|
|
|
327
335
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
328
336
|
```json
|
|
@@ -418,10 +426,17 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
|
|
|
418
426
|
| `metadata.decimalPlaces` | number | false | n/a | Partial | See Detailed API reference. |
|
|
419
427
|
| `metadata.allowNegative` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
420
428
|
| `metadata.inlinePanelTitle` | string | false | n/a | Partial | See Detailed API reference. |
|
|
429
|
+
| `metadata.showTicks` | boolean \| "auto" | false | n/a | Partial | See Detailed API reference. |
|
|
430
|
+
| `metadata.marks` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
431
|
+
| `metadata.semanticBands` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
421
432
|
| `metadata.inlineDistribution` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
422
433
|
| `metadata.distribution` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
423
434
|
| `metadata.rangeDistribution` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
424
435
|
| `metadata.histogram` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
436
|
+
| `metadata.inlineOverlay.applyMode` | "explicit" \| "auto" | false | explicit | Active | Controls draft/apply behavior for the inline panel. |
|
|
437
|
+
| `metadata.inlineOverlay.actions.apply` | object | false | n/a | Active | Theme-aware Apply/Done action metadata. |
|
|
438
|
+
| `metadata.inlineOverlay.actions.cancel` | object | false | n/a | Active | Theme-aware Cancel action metadata. |
|
|
439
|
+
| `metadata.inlineOverlay.actions.clear` | object | false | n/a | Active | Theme-aware Clear action metadata. |
|
|
425
440
|
| `metadata.rangeHistogram` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
426
441
|
| `metadata.inlineAutoSize.*` | object | false | n/a | Partial | See Detailed API reference. |
|
|
427
442
|
| `metadata.validators.*` | object | false | n/a | Partial | See Detailed API reference. |
|
|
@@ -21,8 +21,8 @@ source_of_truth:
|
|
|
21
21
|
- "projects/praxis-dynamic-fields/src/lib/components/inline-date/inline-date.component.ts"
|
|
22
22
|
- "projects/praxis-dynamic-fields/src/lib/components/material-datepicker/material-datepicker.component.ts"
|
|
23
23
|
- "projects/praxis-core/src/lib/models/material-field-metadata.interface.ts"
|
|
24
|
-
source_of_truth_last_verified: "2026-
|
|
25
|
-
last_updated: "2026-
|
|
24
|
+
source_of_truth_last_verified: "2026-06-16"
|
|
25
|
+
last_updated: "2026-06-16"
|
|
26
26
|
toc: true
|
|
27
27
|
sidebar: true
|
|
28
28
|
tags:
|
|
@@ -114,6 +114,9 @@ Este documento e a referencia canonica da API JSON de pdx-inline-date.
|
|
|
114
114
|
| `metadata.touchUi` | boolean | false | n/a | Partial | See Detailed API reference for runtime semantics. |
|
|
115
115
|
| `metadata.clearButton` | object | false | n/a | Partial | See Detailed API reference for runtime semantics. |
|
|
116
116
|
| `metadata.inlineAutoSize.*` | object | false | n/a | Partial | See Detailed API reference for runtime semantics. |
|
|
117
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | false | `auto` | Active | Em `explicit`, o datepicker exibe ações de rodapé e mantém a seleção em rascunho até `Aplicar`. |
|
|
118
|
+
| `metadata.inlineOverlay.actions.apply.*` | object | false | n/a | Active | Label, aria, appearance e colorRole canônicos do botão Aplicar. |
|
|
119
|
+
| `metadata.inlineOverlay.actions.cancel.*` | object | false | n/a | Active | Label, aria, appearance e colorRole canônicos do botão Cancelar. |
|
|
117
120
|
|
|
118
121
|
### Path audit
|
|
119
122
|
|
|
@@ -151,6 +154,9 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
151
154
|
| `metadata.touchUi` | boolean | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
152
155
|
| `metadata.clearButton` | object | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
153
156
|
| `metadata.inlineAutoSize.*` | object | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
157
|
+
| `metadata.inlineOverlay.applyMode` | string | false | `auto` | `auto`, `explicit`, `confirm` | Shared inline overlay commit mode; `confirm` is accepted as explicit compatibility. |
|
|
158
|
+
| `metadata.inlineOverlay.actions.apply` | object | false | n/a | component-defined | Theme-aware Apply action metadata. |
|
|
159
|
+
| `metadata.inlineOverlay.actions.cancel` | object | false | n/a | component-defined | Theme-aware Cancel action metadata. |
|
|
154
160
|
| `metadata.ariaLabel` | string | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
155
161
|
| `inlineAutoSize.*` | object | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
156
162
|
|
|
@@ -203,6 +209,8 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
203
209
|
- Ambientes suportados: browser/dev/prod; SSR/hydration appears to be component-dependent unless explicitly verified.
|
|
204
210
|
- Pre-condicoes: payload JSON valido, bindings de host consistentes e dependencias descritas no source_of_truth.
|
|
205
211
|
- Fora de cobertura confirmada: caminhos internos, experimentais ou aliases nao enumerados formalmente.
|
|
212
|
+
- Com `metadata.inlineOverlay.applyMode: "explicit"`, o componente projeta `mat-datepicker-actions`; `Aplicar` confirma a data selecionada e `Cancelar`, `Esc` ou fechamento externo descartam a seleção pendente conforme semântica nativa do Angular Material.
|
|
213
|
+
- Labels, aria-labels, `appearance` e `colorRole` do rodapé devem vir de `metadata.inlineOverlay.actions.apply` e `metadata.inlineOverlay.actions.cancel`, materializando tokens do tema em vez de CSS ad hoc do host.
|
|
206
214
|
|
|
207
215
|
### Editor and tooling notes
|
|
208
216
|
|
|
@@ -21,8 +21,8 @@ source_of_truth:
|
|
|
21
21
|
- "projects/praxis-dynamic-fields/src/lib/components/inline-date-range/inline-date-range.component.ts"
|
|
22
22
|
- "projects/praxis-dynamic-fields/src/lib/components/material-date-range/material-date-range.component.ts"
|
|
23
23
|
- "projects/praxis-core/src/lib/models/material-field-metadata.interface.ts"
|
|
24
|
-
source_of_truth_last_verified: "2026-
|
|
25
|
-
last_updated: "2026-
|
|
24
|
+
source_of_truth_last_verified: "2026-06-13"
|
|
25
|
+
last_updated: "2026-06-13"
|
|
26
26
|
toc: true
|
|
27
27
|
sidebar: true
|
|
28
28
|
tags:
|
|
@@ -195,7 +195,7 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
195
195
|
|
|
196
196
|
| Surface | Verified | Coverage status | Evidence | Notes |
|
|
197
197
|
| --- | --- | --- | --- | --- |
|
|
198
|
-
| Runtime | `true` | Active | `projects/praxis-dynamic-fields/src/lib/components/inline-date-range/inline-date-range.component.ts`, `projects/praxis-dynamic-fields/src/lib/components/material-date-range/material-date-range.component.ts` | Core runtime flows verified via focused component specs on 2026-
|
|
198
|
+
| Runtime | `true` | Active | `projects/praxis-dynamic-fields/src/lib/components/inline-date-range/inline-date-range.component.ts`, `projects/praxis-dynamic-fields/src/lib/components/material-date-range/material-date-range.component.ts` | Core runtime flows verified via focused component specs on 2026-06-13; editor/tooling coverage remains independent. |
|
|
199
199
|
| Schema/Types | `true` | Active | source_of_truth + Detailed API reference | Reconcile schema/types with canonical paths during follow-up when needed. |
|
|
200
200
|
| Editor/Tooling | `false` | 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` | Alias/selector tooling linkage verified for inline filters; visual editor end-to-end coverage remains not-yet-verified. |
|
|
201
201
|
|
|
@@ -296,7 +296,10 @@ Use quando precisar:
|
|
|
296
296
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Autoajuste de largura da pill. |
|
|
297
297
|
| `metadata.inlineChipDisplay` | `"value" \| "label-value"` | Ativo | Exibicao compacta do chip preenchido: somente valor ou label + valor. |
|
|
298
298
|
| `metadata.clearButton` | `boolean \| object` | Ativo | Botao de limpeza rapida no trigger. |
|
|
299
|
-
| `metadata.inlineQuickPresets*` | `object/array` | Ativo | Presets/acoes
|
|
299
|
+
| `metadata.inlineQuickPresets*` | `object/array` | Ativo | Presets/acoes especificos do date-range. `inlineQuickPresetsApplyMode` permanece como compatibilidade quando `inlineOverlay.applyMode` nao e declarado. |
|
|
300
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | Ativo | Contrato compartilhado de commit do overlay: automatico ou rascunho ate Aplicar. |
|
|
301
|
+
| `metadata.inlineOverlay.actions.apply.*` | `object` | Ativo | Label, aria, appearance e colorRole canonicos do botao Aplicar. |
|
|
302
|
+
| `metadata.inlineOverlay.actions.cancel.*` | `object` | Ativo | Label, aria, appearance e colorRole canonicos do botao Cancelar. |
|
|
300
303
|
| `metadata.inlinePanelTitle` | `string` | Ativo | Titulo do painel de calendario inline. |
|
|
301
304
|
|
|
302
305
|
Campos de range (min/max/startView/touchUi/shortcuts/timezone etc.) seguem o contrato base do `pdx-material-date-range`.
|
|
@@ -311,10 +314,14 @@ Resumo de composicao deste componente:
|
|
|
311
314
|
|
|
312
315
|
### 4. Mapeamento de Comportamento
|
|
313
316
|
- Trigger em pill mostra estado vazio, parcial ou completo do intervalo.
|
|
317
|
+
- Clicar em qualquer area acionavel da pill, incluindo os inputs internos de inicio/fim, abre o calendario; apenas o botao de limpeza rapida fica isolado para limpar sem abrir o overlay.
|
|
314
318
|
- Overlay de calendario inclui presets e botoes de aplicar/cancelar.
|
|
315
319
|
- Entrada manual em ambos os campos sincroniza com o valor consolidado do range.
|
|
316
|
-
- Em `
|
|
317
|
-
- Em `
|
|
320
|
+
- Em `inlineOverlay.applyMode: "auto"`, selecao manual no calendario aplica pendencias imediatamente para manter o valor do chip inline sincronizado.
|
|
321
|
+
- Em `inlineOverlay.applyMode: "explicit"`, o chip inline mostra o intervalo em rascunho enquanto o overlay esta aberto; o commit de negocio continua ocorrendo apenas em `Aplicar`, enquanto `Cancelar`, `Esc` ou fechamento externo restauram o valor confirmado.
|
|
322
|
+
- O rodape `Aplicar`/`Cancelar` e materializado pelo contrato `inlineOverlay` mesmo quando nao ha `inlineQuickPresets`, para que confirmacao explicita nao dependa de atalhos rapidos.
|
|
323
|
+
- `inlineQuickPresetsApplyMode: "auto" | "confirm"` continua suportado como fallback legado especifico do `inlineDateRange`.
|
|
324
|
+
- Labels, aria, `appearance` e `colorRole` dos botoes do rodape devem ser authorados em `inlineOverlay.actions.apply` e `inlineOverlay.actions.cancel`; os campos `inlineQuickPresets*Label` sao fallback legado.
|
|
318
325
|
|
|
319
326
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
320
327
|
```json
|
|
@@ -347,6 +354,13 @@ Uso: filtro inline de intervalo de datas.
|
|
|
347
354
|
{ "id": "today", "label": "Hoje", "start": "today", "end": "today" },
|
|
348
355
|
{ "id": "last7", "label": "Ultimos 7 dias", "start": "-7d", "end": "today" }
|
|
349
356
|
],
|
|
357
|
+
"inlineOverlay": {
|
|
358
|
+
"applyMode": "explicit",
|
|
359
|
+
"actions": {
|
|
360
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
361
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" }
|
|
362
|
+
}
|
|
363
|
+
},
|
|
350
364
|
"clearButton": { "enabled": true, "showOnlyWhenFilled": true }
|
|
351
365
|
}
|
|
352
366
|
}
|
|
@@ -366,13 +380,16 @@ Correcao: garantir que o componente esteja usando a sincronizacao de pendencias
|
|
|
366
380
|
4. Botao limpar indisponivel.
|
|
367
381
|
Correcao: verificar `clearButton` e estado readonly/disabled.
|
|
368
382
|
|
|
369
|
-
5.
|
|
383
|
+
5. Calendario nao abre ao clicar no texto da pill preenchida.
|
|
384
|
+
Correcao: garantir que o clique nos inputs internos de inicio/fim encaminha para `openPicker`; esses inputs ocupam a maior parte da area visual do chip em cenarios densos de toolbar.
|
|
385
|
+
|
|
386
|
+
6. Largura do chip estoura em mobile.
|
|
370
387
|
Correcao: ajustar limites no bloco `inlineAutoSize`.
|
|
371
388
|
|
|
372
|
-
|
|
389
|
+
7. ARIA de inicio/fim nao refletida.
|
|
373
390
|
Correcao: preencher `startAriaLabel/endAriaLabel` explicitamente.
|
|
374
391
|
|
|
375
|
-
|
|
392
|
+
8. Layout muda entre apps com densidade diferente.
|
|
376
393
|
Correcao: usar `metadata.materialDesign.density` (`dense` ou `default`) e validar no overlay se `gap/padding` foram aplicados no bloco `.mat-datepicker-actions` com classe de densidade `pdx-inline-date-range-overlay-actions-container--*`.
|
|
377
394
|
|
|
378
395
|
### 8. Cross-links
|
|
@@ -310,6 +310,8 @@ Use quando precisar:
|
|
|
310
310
|
| `metadata.distanceGradientLowColor/midColor/highColor` | `string` | Ativo | Paleta semantica do gradiente radial (baixo/medio/alto). |
|
|
311
311
|
| `metadata.distanceRangeBandOpacity` | `number` | Ativo | Opacidade fixa (0-1) da faixa radial no modo range. |
|
|
312
312
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Larguras da pill/painel por viewport. |
|
|
313
|
+
| `metadata.inlineOverlay.applyMode` | `'auto'\|'explicit'` | Ativo | Em `explicit`, slider e presets ficam em rascunho ate Aplicar. |
|
|
314
|
+
| `metadata.inlineOverlay.actions.apply/cancel/clear` | `object` | Ativo | Labels, aria, aparencia, cor semantica e icones das acoes do painel. |
|
|
313
315
|
|
|
314
316
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
315
317
|
- `projects/praxis-dynamic-fields/src/lib/components/inlineRange/pdx-inline-range-slider.json-api.md`
|
|
@@ -326,6 +328,7 @@ Resumo de composicao deste componente:
|
|
|
326
328
|
- Em range mode, chip e painel mostram intervalo com unidade ativa.
|
|
327
329
|
- UI radial usa proporcao do valor selecionado sobre `min/max`.
|
|
328
330
|
- Cores do radial seguem gradiente semantico (baixo/medio/alto), com customizacao por metadata.
|
|
331
|
+
- `inlineOverlay.applyMode="explicit"` padroniza confirmacao: Aplicar comita, Cancelar/Esc/fora descarta rascunho.
|
|
329
332
|
|
|
330
333
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
331
334
|
```json
|
|
@@ -418,6 +421,10 @@ Correcao: ajustar `distanceDisplayDecimals` ou `distanceDecimalsKm/Mi`.
|
|
|
418
421
|
| `metadata.distanceUnits` | array | false | n/a | Partial | See Detailed API reference. |
|
|
419
422
|
| `metadata.units` | array | false | n/a | Partial | See Detailed API reference. |
|
|
420
423
|
| `metadata.availableUnits` | array | false | n/a | Partial | See Detailed API reference. |
|
|
424
|
+
| `metadata.inlineOverlay.applyMode` | string | false | auto | Active | Shared inline overlay commit mode. |
|
|
425
|
+
| `metadata.inlineOverlay.actions.apply` | object | false | n/a | Active | Theme-aware Apply action metadata. |
|
|
426
|
+
| `metadata.inlineOverlay.actions.cancel` | object | false | n/a | Active | Theme-aware Cancel action metadata. |
|
|
427
|
+
| `metadata.inlineOverlay.actions.clear` | object | false | n/a | Active | Theme-aware Clear action metadata. |
|
|
421
428
|
| `metadata.distanceUnit` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
422
429
|
| `metadata.unit` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
423
430
|
| `metadata.defaultUnit` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
@@ -21,8 +21,8 @@ source_of_truth:
|
|
|
21
21
|
- "projects/praxis-dynamic-fields/src/lib/components/inline-multi-select/inline-multi-select.component.ts"
|
|
22
22
|
- "projects/praxis-dynamic-fields/src/lib/components/material-multi-select/material-multi-select.component.ts"
|
|
23
23
|
- "projects/praxis-core/src/lib/models/material-field-metadata.interface.ts"
|
|
24
|
-
source_of_truth_last_verified: "2026-
|
|
25
|
-
last_updated: "2026-
|
|
24
|
+
source_of_truth_last_verified: "2026-06-16"
|
|
25
|
+
last_updated: "2026-06-16"
|
|
26
26
|
toc: true
|
|
27
27
|
sidebar: true
|
|
28
28
|
tags:
|
|
@@ -154,6 +154,10 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
154
154
|
| `metadata.options` | array | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
155
155
|
| `metadata.inlineAutoSize.*` | object | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
156
156
|
| `metadata.clearButton` | object | false | n/a | component-defined | Partial; verify per source_of_truth. |
|
|
157
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | false | `auto` | component-defined | Em `explicit`, selecoes no painel ficam em rascunho ate `Aplicar`. |
|
|
158
|
+
| `metadata.inlineOverlay.actions.apply.*` | object | false | n/a | component-defined | Label, aria, appearance e colorRole canonicos do botao Aplicar. |
|
|
159
|
+
| `metadata.inlineOverlay.actions.cancel.*` | object | false | n/a | component-defined | Label, aria, appearance e colorRole canonicos do botao Cancelar. |
|
|
160
|
+
| `metadata.inlineOverlay.actions.clear.*` | object | false | n/a | component-defined | Label, aria, appearance e colorRole canonicos do botao Limpar no painel. |
|
|
157
161
|
|
|
158
162
|
### Input bindings (inbound data)
|
|
159
163
|
|
|
@@ -197,7 +201,7 @@ Nao ha paths experimentais confirmados no contrato publico desta revisao.
|
|
|
197
201
|
|
|
198
202
|
| Surface | Verified | Coverage status | Evidence | Notes |
|
|
199
203
|
| --- | --- | --- | --- | --- |
|
|
200
|
-
| Runtime | `true` | Active | `projects/praxis-dynamic-fields/src/lib/components/inline-multi-select/inline-multi-select.component.ts`, `projects/praxis-dynamic-fields/src/lib/components/material-multi-select/material-multi-select.component.ts` | Core runtime flows verified via focused component specs on 2026-
|
|
204
|
+
| Runtime | `true` | Active | `projects/praxis-dynamic-fields/src/lib/components/inline-multi-select/inline-multi-select.component.ts`, `projects/praxis-dynamic-fields/src/lib/components/material-multi-select/material-multi-select.component.ts` | Core runtime flows verified via focused component specs on 2026-06-16; editor/tooling coverage remains independent. |
|
|
201
205
|
| Schema/Types | `true` | Active | source_of_truth + Detailed API reference | Reconcile schema/types with canonical paths during follow-up when needed. |
|
|
202
206
|
| Editor/Tooling | `false` | 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` | Alias/selector tooling linkage verified for inline filters; visual editor end-to-end coverage remains not-yet-verified. |
|
|
203
207
|
|
|
@@ -301,6 +305,10 @@ Use quando precisar:
|
|
|
301
305
|
| `metadata.selectOptions` / `metadata.options` | `array` | Ativo | Fonte estatica de opcoes. |
|
|
302
306
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Largura minima/maxima da pill. |
|
|
303
307
|
| `metadata.clearButton` | `boolean \| object` | Ativo | Quick-clear no trigger quando ha selecao. |
|
|
308
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | Ativo | `explicit` mantem selecoes do painel em rascunho ate `Aplicar`. |
|
|
309
|
+
| `metadata.inlineOverlay.actions.apply.*` | `object` | Ativo | Label, aria, appearance e colorRole do botao Aplicar. |
|
|
310
|
+
| `metadata.inlineOverlay.actions.cancel.*` | `object` | Ativo | Label, aria, appearance e colorRole do botao Cancelar. |
|
|
311
|
+
| `metadata.inlineOverlay.actions.clear.*` | `object` | Ativo | Label, aria, appearance e colorRole do botao Limpar no painel. |
|
|
304
312
|
|
|
305
313
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
306
314
|
- `projects/praxis-dynamic-fields/src/lib/components/material-multi-select/pdx-material-multi-select.json-api.md`
|
|
@@ -315,6 +323,8 @@ Resumo de composicao deste componente:
|
|
|
315
323
|
- Painel opcionalmente inclui busca no topo (`searchable=true`).
|
|
316
324
|
- `showOptionDisabled()` bloqueia novas escolhas quando `maxSelections` e atingido.
|
|
317
325
|
- Sem `resourcePath`, busca filtra lista local; com endpoint, usa pipeline remoto.
|
|
326
|
+
- Em `inlineOverlay.applyMode: "explicit"`, clique em opcoes, remocao e `Limpar` do painel alteram apenas o rascunho; `Aplicar` emite `valueChange/selectionChange`, enquanto `Cancelar`, `Esc` ou fechamento externo restauram a selecao confirmada.
|
|
327
|
+
- O quick-clear no trigger continua sendo uma acao explicita fora do painel e comita imediatamente.
|
|
318
328
|
|
|
319
329
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
320
330
|
```json
|
|
@@ -349,6 +359,14 @@ Uso: filtro multiplo local com pill compacta.
|
|
|
349
359
|
"optionLabelKey": "label",
|
|
350
360
|
"optionValueKey": "id",
|
|
351
361
|
"inlineAutoSize": { "minWidth": 150, "maxWidth": 380 },
|
|
362
|
+
"inlineOverlay": {
|
|
363
|
+
"applyMode": "explicit",
|
|
364
|
+
"actions": {
|
|
365
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
366
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
367
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
368
|
+
}
|
|
369
|
+
},
|
|
352
370
|
"clearButton": { "enabled": true, "showOnlyWhenFilled": true }
|
|
353
371
|
}
|
|
354
372
|
}
|
|
@@ -371,6 +389,9 @@ Correcao: habilitar `selectAll=true` e conferir permissao de interacao.
|
|
|
371
389
|
5. Layout muito largo.
|
|
372
390
|
Correcao: calibrar `inlineAutoSize` para desktop/mobile.
|
|
373
391
|
|
|
392
|
+
6. Selecao aplicada antes de revisar.
|
|
393
|
+
Correcao: usar `inlineOverlay.applyMode="explicit"` para manter alteracoes do painel em rascunho ate `Aplicar`.
|
|
394
|
+
|
|
374
395
|
### 8. Cross-links
|
|
375
396
|
- `projects/praxis-dynamic-fields/src/lib/components/material-multi-select/pdx-material-multi-select.json-api.md`
|
|
376
397
|
- `projects/praxis-dynamic-fields/src/lib/base/pdx-base-select-runtime-contract.json-api.md`
|
|
@@ -303,6 +303,10 @@ Use quando precisar:
|
|
|
303
303
|
| `metadata.pipelineColors/statusColors/palette` | `array \| string` | Ativo | Paleta usada em barra e cards. |
|
|
304
304
|
| `metadata.pipelineGradientLowColor/midColor/highColor` | `string` | Ativo | Define gradiente fallback semantico (baixo/medio/alto) para barra/cards. |
|
|
305
305
|
| `metadata.pipelineTexts` | `object \| string(JSON)` | Ativo | Customiza textos, labels de acao e aria; templates canonicos devem usar `{{label}}` e `{{count}}`, com compatibilidade legada para `{label}` e `{count}` em metadata. |
|
|
306
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit"` | Ativo | Define se cards e acoes internas comitam imediatamente ou ficam em rascunho ate `Aplicar`. |
|
|
307
|
+
| `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Configura label, aria-label, icone, `appearance` e `colorRole` da acao de commit. |
|
|
308
|
+
| `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Configura a acao que descarta rascunho e fecha o painel. |
|
|
309
|
+
| `metadata.inlineOverlay.actions.clear` | `object` | Ativo | Configura a acao que remove a selecao aplicada/rascunho usando tokens do tema. |
|
|
306
310
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Larguras da pill e painel (desktop/mobile). |
|
|
307
311
|
|
|
308
312
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
@@ -318,6 +322,7 @@ Resumo de composicao deste componente:
|
|
|
318
322
|
- Em multiplo, `maxSelections` herdado continua sendo respeitado.
|
|
319
323
|
- Barra segmentada reflete distribuicao e itens selecionados.
|
|
320
324
|
- Busca filtra cards no painel antes da selecao.
|
|
325
|
+
- Com `inlineOverlay.applyMode: "explicit"`, cards, selecionar todos e limpar selecao alteram apenas o rascunho; `Aplicar` comita, `Cancelar`, `Esc` e clique externo descartam.
|
|
321
326
|
|
|
322
327
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
323
328
|
```json
|
|
@@ -361,6 +366,14 @@ Uso: filtro de estagio com barra visual basica.
|
|
|
361
366
|
"pipelineClearActionText": "Limpar",
|
|
362
367
|
"barAriaSelected": "{{label}} com {{count}} itens selecionados"
|
|
363
368
|
},
|
|
369
|
+
"inlineOverlay": {
|
|
370
|
+
"applyMode": "explicit",
|
|
371
|
+
"actions": {
|
|
372
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
373
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
374
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
375
|
+
}
|
|
376
|
+
},
|
|
364
377
|
"inlineAutoSize": { "minWidth": 188, "maxWidth": 420, "panelMinWidth": 360, "panelMaxWidth": 620 }
|
|
365
378
|
}
|
|
366
379
|
}
|
|
@@ -412,6 +425,10 @@ Correcao: ajustar `inlineAutoSize.panelMinWidth/panelMaxWidth`.
|
|
|
412
425
|
| `metadata.pipelineShowClearAction` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
413
426
|
| `metadata.pipelineChipMaxVisible` | number | false | n/a | Partial | See Detailed API reference. |
|
|
414
427
|
| `metadata.pipelineTexts` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
428
|
+
| `metadata.inlineOverlay.applyMode` | string | false | `auto` | Active | Controls draft versus immediate commit behavior. |
|
|
429
|
+
| `metadata.inlineOverlay.actions.apply` | object | false | n/a | Active | Label, aria, icon, appearance and colorRole for Apply. |
|
|
430
|
+
| `metadata.inlineOverlay.actions.cancel` | object | false | n/a | Active | Label, aria, icon, appearance and colorRole for Cancel. |
|
|
431
|
+
| `metadata.inlineOverlay.actions.clear` | object | false | n/a | Active | Label, aria, icon, appearance and colorRole for Clear. |
|
|
415
432
|
| `metadata.inlineAutoSize.*` | object | false | n/a | Partial | See Detailed API reference. |
|
|
416
433
|
| `readonlyMode` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
417
434
|
| `disabledMode` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
@@ -292,6 +292,9 @@ Use quando precisar:
|
|
|
292
292
|
| `metadata.quickPresetsLabels` | `object \| string(JSON)` | Ativo | Textos custom para presets auto. |
|
|
293
293
|
| `metadata.inlineDistribution/distribution/histogram` | `object \| array \| string` | Ativo | Fonte de barras de distribuicao visual. |
|
|
294
294
|
| `metadata.inlineTexts` | `object \| string(JSON)` | Ativo | Labels de min/max/valor/presets. |
|
|
295
|
+
| `metadata.inlineOverlay.applyMode` | `'auto'\|'explicit'` | Ativo | Em `explicit`, painel mantém slider/inputs/presets em rascunho até Aplicar. |
|
|
296
|
+
| `metadata.inlineOverlay.actions.apply` | `object` | Ativo | Label, aria, aparência, cor semântica e ícone do botão Aplicar/Concluir. |
|
|
297
|
+
| `metadata.inlineOverlay.actions.cancel` | `object` | Ativo | Label, aria, aparência, cor semântica e ícone do botão Cancelar em modo explícito. |
|
|
295
298
|
| `metadata.numericFormat/numberFormat/uiFormat/dataFormat` | `string \| object` | Ativo | Regras de formatacao numerica (percent/currency/number). |
|
|
296
299
|
| `metadata.currency/currencyCode/locale/decimalPlaces` | `string/number` | Ativo | Parametros de formatacao para exibicao. |
|
|
297
300
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Largura do trigger e do painel no modo inline. |
|
|
@@ -301,12 +304,13 @@ Use quando precisar:
|
|
|
301
304
|
- `projects/praxis-dynamic-fields/src/lib/base/pdx-base-input-runtime-contract.json-api.md`
|
|
302
305
|
|
|
303
306
|
Resumo de composicao deste componente:
|
|
304
|
-
- `Ativo`: range/single, presets, distribuicao, validacoes e
|
|
307
|
+
- `Ativo`: range/single, presets, distribuicao, validacoes, formatacao numerica e commit explicito via `inlineOverlay`.
|
|
305
308
|
- `Extensao de runtime`: aliases amplos de formato e histograma para compatibilidade.
|
|
306
309
|
|
|
307
310
|
### 4. Mapeamento de Comportamento
|
|
308
311
|
- `mode=range` sincroniza `rangeGroup` (`start/end`) com o control principal.
|
|
309
312
|
- Presets podem vir do JSON ou ser auto-gerados conforme escala.
|
|
313
|
+
- `inlineOverlay.applyMode=explicit` separa rascunho e valor aplicado; `Aplicar` comita, `Cancelar`/`Esc`/fora do painel descartam.
|
|
310
314
|
- Distribuicao suporta compactacao automatica para preservar performance visual.
|
|
311
315
|
- Formato de exibicao prioriza `displayWith` e depois pipeline de `numericFormat/numberFormat`.
|
|
312
316
|
|
|
@@ -396,6 +400,9 @@ Correcao: ajustar `inlineAutoSize` para o contexto da toolbar.
|
|
|
396
400
|
| `metadata.quickPresetsAuto` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
397
401
|
| `metadata.quickPresetsLabels` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
398
402
|
| `metadata.inlineTexts` | unknown | false | n/a | Partial | See Detailed API reference. |
|
|
403
|
+
| `metadata.inlineOverlay.applyMode` | string | false | auto | Partial | See Detailed API reference. |
|
|
404
|
+
| `metadata.inlineOverlay.actions.apply.*` | object | false | n/a | Partial | Theme-tokenized action metadata. |
|
|
405
|
+
| `metadata.inlineOverlay.actions.cancel.*` | object | false | n/a | Partial | Theme-tokenized action metadata. |
|
|
399
406
|
| `metadata.inlineAutoSize.*` | object | false | n/a | Partial | See Detailed API reference. |
|
|
400
407
|
| `readonlyMode` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
401
408
|
| `disabledMode` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
@@ -301,6 +301,8 @@ Use quando precisar:
|
|
|
301
301
|
| `metadata.ratingGradientLowColor/midColor/highColor` | `string` | Ativo | Gradiente semantico aplicado na escala visual das estrelas. |
|
|
302
302
|
| `metadata.ratingBadgeColor/ratingIndicatorColor` | `string` | Ativo | Cor de badges e indicador de escala. |
|
|
303
303
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Largura do trigger e painel de rating. |
|
|
304
|
+
| `metadata.inlineOverlay.applyMode` | `'auto'\|'explicit'` | Ativo | Define se slider, inputs e presets comitam durante a interacao ou ficam em rascunho ate `Aplicar`. |
|
|
305
|
+
| `metadata.inlineOverlay.actions.apply/cancel/clear` | `object` | Ativo | Labels, aria, icones, `appearance` e `colorRole` das acoes do painel, materializados por tokens do tema. |
|
|
304
306
|
| `metadata.quickPresets` | `array` | Ativo | Presets herdados do range inline para faixa de rating. |
|
|
305
307
|
|
|
306
308
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
@@ -316,6 +318,7 @@ Resumo de composicao deste componente:
|
|
|
316
318
|
- Estrelas mudam tom conforme banda (`low/mid/high`) e selecao atual.
|
|
317
319
|
- Resolucao de passo prioriza `allowHalf`/`ratingAllowHalf`.
|
|
318
320
|
- Presets e slider usam clamp por `min/max` com snap por `step`.
|
|
321
|
+
- Com `inlineOverlay.applyMode: "explicit"`, estrelas, badges, inputs e presets refletem o rascunho do painel; `Aplicar` comita, enquanto `Cancelar`, `Esc` e fechamento externo restauram o valor anterior.
|
|
319
322
|
|
|
320
323
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
321
324
|
```json
|
|
@@ -349,6 +352,14 @@ Uso: filtro de rating inteiro (1 a 5).
|
|
|
349
352
|
"ratingToneMidColor": "#f59e0b",
|
|
350
353
|
"ratingToneHighColor": "#16a34a",
|
|
351
354
|
"ratingBadgeColor": "#f59e0b",
|
|
355
|
+
"inlineOverlay": {
|
|
356
|
+
"applyMode": "explicit",
|
|
357
|
+
"actions": {
|
|
358
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
359
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
360
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
361
|
+
}
|
|
362
|
+
},
|
|
352
363
|
"inlineAutoSize": { "minWidth": 176, "maxWidth": 320, "panelMinWidth": 280, "panelMaxWidth": 400 },
|
|
353
364
|
"quickPresets": [
|
|
354
365
|
{ "id": "detractors", "label": "Detratores", "start": 0, "end": 6 },
|
|
@@ -397,6 +408,8 @@ Correcao: preencher `ratingIcon` ou `prefixIcon`.
|
|
|
397
408
|
| `metadata.ratingIcon` | string | false | n/a | Partial | See Detailed API reference. |
|
|
398
409
|
| `metadata.prefixIcon` | string | false | n/a | Partial | See Detailed API reference. |
|
|
399
410
|
| `metadata.inlineAutoSize.*` | object | false | n/a | Partial | See Detailed API reference. |
|
|
411
|
+
| `metadata.inlineOverlay.applyMode` | `'auto'\|'explicit'` | false | `auto` | Active | Controls draft versus immediate commit behavior. |
|
|
412
|
+
| `metadata.inlineOverlay.actions.*` | object | false | n/a | Active | Panel action labels, aria, icons and theme roles. |
|
|
400
413
|
| `metadata.quickPresets` | array | false | n/a | Partial | See Detailed API reference. |
|
|
401
414
|
| `readonlyMode` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
402
415
|
| `disabledMode` | boolean | false | n/a | Partial | See Detailed API reference. |
|
|
@@ -300,6 +300,10 @@ Use quando precisar:
|
|
|
300
300
|
| `metadata.relativePeriodIconKey/optionIconKey` | `string` | Ativo | Chave do icone por opcao. |
|
|
301
301
|
| `metadata.relativePeriodSubtitleKey/optionSubtitleKey` | `string` | Ativo | Chave de subtitulo por opcao. |
|
|
302
302
|
| `metadata.relativePeriodTexts` / `inlineTexts` | `object \| string(JSON)` | Ativo | Textos de labels, empty state e aria; templates canonicos devem usar `{{label}}` e `{{percent}}` quando houver interpolacao, com compatibilidade legada para `{...}` em metadata. |
|
|
303
|
+
| `metadata.inlineOverlay.applyMode` | `"auto" \| "explicit" \| "confirm"` | Ativo | Quando `explicit`/`confirm`, selecoes ficam em rascunho ate `Aplicar`. |
|
|
304
|
+
| `metadata.inlineOverlay.actions.apply.*` | `object` | Ativo | Label, aria, icon, appearance e colorRole do commit. |
|
|
305
|
+
| `metadata.inlineOverlay.actions.cancel.*` | `object` | Ativo | Label, aria, icon, appearance e colorRole do descarte. |
|
|
306
|
+
| `metadata.inlineOverlay.actions.clear.*` | `object` | Ativo | Label, aria, icon, appearance, colorRole e visibilidade da limpeza explicita. |
|
|
303
307
|
| `metadata.inlineAutoSize.*` | `object` | Ativo | Controle de largura da pill e painel. |
|
|
304
308
|
|
|
305
309
|
#### 3.2 Campos herdados compartilhados (exaustivo)
|
|
@@ -315,6 +319,7 @@ Resumo de composicao deste componente:
|
|
|
315
319
|
- Em single mode, pode fechar automaticamente por `relativePeriodCloseOnSelect`.
|
|
316
320
|
- Barra de progresso calcula posicao da opcao selecionada no conjunto.
|
|
317
321
|
- Busca filtra opcoes por label/subtitulo antes da selecao.
|
|
322
|
+
- Com `inlineOverlay.applyMode: "explicit"` ou `"confirm"`, clique em card altera apenas o rascunho do painel; `Aplicar` comita, enquanto `Cancelar`, `Esc`, detach ou clique externo descartam.
|
|
318
323
|
|
|
319
324
|
### 5. Exemplo Minimo (JSON + Uso)
|
|
320
325
|
```json
|
|
@@ -357,6 +362,14 @@ Uso: filtro temporal relativo em modo single.
|
|
|
357
362
|
"relativePeriodEmptyStateText": "Nenhum preset disponivel",
|
|
358
363
|
"progressAriaLabel": "{{label}} em {{percent}} por cento"
|
|
359
364
|
},
|
|
365
|
+
"inlineOverlay": {
|
|
366
|
+
"applyMode": "explicit",
|
|
367
|
+
"actions": {
|
|
368
|
+
"apply": { "label": "Aplicar", "appearance": "filled", "colorRole": "primary" },
|
|
369
|
+
"cancel": { "label": "Cancelar", "appearance": "text", "colorRole": "neutral" },
|
|
370
|
+
"clear": { "label": "Limpar", "appearance": "outlined", "colorRole": "neutral" }
|
|
371
|
+
}
|
|
372
|
+
},
|
|
360
373
|
"inlineAutoSize": { "minWidth": 188, "maxWidth": 360, "panelMinWidth": 320, "panelMaxWidth": 560 }
|
|
361
374
|
}
|
|
362
375
|
}
|