@praxisui/dynamic-fields 1.0.0-beta.48 → 1.0.0-beta.52

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.
Files changed (2) hide show
  1. package/README.md +80 -26
  2. package/package.json +5 -5
package/README.md CHANGED
@@ -1,3 +1,49 @@
1
+ ---
2
+ title: "Dynamic Fields"
3
+ slug: "dynamic-fields-overview"
4
+ description: "Visao geral do @praxisui/dynamic-fields com renderizacao metadata-driven, registro lazy de componentes, tokens M3 e campos enterprise."
5
+ doc_type: "reference"
6
+ document_kind: "component-overview"
7
+ component: "dynamic-fields"
8
+ category: "components"
9
+ audience:
10
+ - "frontend"
11
+ - "host"
12
+ - "architect"
13
+ level: "intermediate"
14
+ status: "active"
15
+ owner: "praxis-ui"
16
+ tags:
17
+ - "dynamic-fields"
18
+ - "metadata"
19
+ - "forms"
20
+ - "runtime"
21
+ - "material"
22
+ order: 32
23
+ icon: "toc"
24
+ toc: true
25
+ sidebar: true
26
+ search_boost: 1.0
27
+ reading_time: 16
28
+ estimated_setup_time: 25
29
+ version: "1.0"
30
+ related_docs:
31
+ - "dynamic-fields-field-catalog"
32
+ - "dynamic-fields-field-selection-guide"
33
+ - "dynamic-fields-host-custom-field-guide"
34
+ - "dynamic-fields-host-custom-field-troubleshooting"
35
+ - "dynamic-fields-inline-filter-catalog"
36
+ - "dynamic-fields-filter-inline-components-guide"
37
+ - "host-integration-guide"
38
+ - "consumer-integration-quickstart"
39
+ keywords:
40
+ - "dynamic field loader"
41
+ - "metadata-driven fields"
42
+ - "material controls"
43
+ - "runtime registry"
44
+ last_updated: "2026-03-07"
45
+ ---
46
+
1
47
  # @praxisui/dynamic-fields — Dynamic Form Fields
2
48
 
3
49
  ## 🔰 Exemplos / Quickstart
@@ -87,36 +133,32 @@ const isRegistered = registry.isRegistered(FieldControlType.INPUT);
87
133
 
88
134
  ## 📄 Documentacao Tecnica da Lib
89
135
 
90
- - `projects/praxis-dynamic-fields/docs/filter-inline-components-guide.md`
136
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inventory.md`
137
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-field-catalog.md`
138
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-field-selection-guide.md`
139
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-guide.md`
140
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-troubleshooting.md`
141
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-inventory.md`
142
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-catalog.md`
143
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-selection-guide.md`
144
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-runtime-contract.md`
145
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-custom-component-guide.md`
146
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-inline-filter-troubleshooting.md`
147
+ - `projects/praxis-dynamic-fields/docs/filter-inline-components-guide.md` (slug: `dynamic-fields-filter-inline-components-guide`)
91
148
  - `projects/praxis-dynamic-fields/docs/generic-crud-service.md`
92
149
 
93
150
  ### Componentes Suportados
94
151
 
95
- O sistema usa as constantes do `@praxisui/core` para garantir consistência:
96
-
97
- - `FieldControlType.INPUT` - Campo de texto Material Design
98
- - `FieldControlType.TEXTAREA` - Área de texto Material Design
99
- - `FieldControlType.SELECT` - Campo de seleção Material Design
100
- - `FieldControlType.CHECKBOX` - Caixa de seleção Material Design
101
- - `FieldControlType.RADIO` - Botão de rádio Material Design
102
- - `FieldControlType.DATE_PICKER` - Seletor de data Material Design
103
- - `FieldControlType.EMAIL_INPUT` - Campo de email
104
- - `FieldControlType.PASSWORD` - Campo de senha
105
- - `FieldControlType.CURRENCY_INPUT` - Campo monetário
106
- - `FieldControlType.NUMERIC_TEXT_BOX` - Campo numérico
107
- - `FieldControlType.MULTI_SELECT` - Seleção múltipla
108
- - `FieldControlType.AUTO_COMPLETE` - Auto completar (busca habilitada por padrão)
109
- - `FieldControlType.DATE_TIME_PICKER` - Data e hora
110
- - `FieldControlType.DATE_RANGE` - Intervalo de datas
111
- - `FieldControlType.FILE_UPLOAD` - Upload de arquivos
112
- - `FieldControlType.TOGGLE` - Interruptor Material Design
113
- - `FieldControlType.SLIDER` - Slider Material Design
114
- - `FieldControlType.TIME_PICKER` - Seletor de horário
115
- - `FieldControlType.RATING` - Classificação por estrelas
116
- - `FieldControlType.COLOR_PICKER` - Seletor de cores
117
- - `FieldControlType.AVATAR` - Avatar visual (imagem/ícone/iniciais)
118
-
119
- Campos com `FieldControlType.AUTO_COMPLETE` utilizam internamente o `MaterialSearchableSelectComponent`, habilitando busca automaticamente.
152
+ A fonte de verdade do suporte default e o `ComponentRegistryService`.
153
+
154
+ Use os documentos governados abaixo em vez de manter listas textuais soltas:
155
+
156
+ - inventario auditavel do runtime: `dynamic-fields-inventory.md`
157
+ - catalogo principal de fields de formulario: `dynamic-fields-field-catalog.md`
158
+ - guia de escolha do field correto: `dynamic-fields-field-selection-guide.md`
159
+ - extensao do host: `dynamic-fields-host-custom-field-guide.md`
160
+ - troubleshooting de extensao: `dynamic-fields-host-custom-field-troubleshooting.md`
161
+ - trilha especializada de filtros compactos: `dynamic-fields-inline-filter-catalog.md`
120
162
 
121
163
  ## 🧩 MaterialSelectComponent
122
164
 
@@ -391,6 +433,18 @@ _Sistema desenvolvido seguindo diretrizes de simplicidade e foco no essencial._
391
433
 
392
434
  ## 🔌 Extensão pelo App Host (registrando seu próprio componente)
393
435
 
436
+ Resumo executivo:
437
+
438
+ - `ComponentRegistryService.register(...)`: registra o componente que o runtime carrega.
439
+ - `ComponentMetadataRegistry.register(...)`: registra nome/ícone/superfície editorial.
440
+ - `controlType` do contrato deve bater com `ComponentDocMeta.id`.
441
+ - Hot metadata funciona melhor quando o componente expõe `setInputMetadata(...)` e/ou signal de metadata.
442
+
443
+ Para o guia governado completo, consulte:
444
+
445
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-guide.md`
446
+ - `projects/praxis-dynamic-fields/docs/dynamic-fields-host-custom-field-troubleshooting.md`
447
+
394
448
  Aplicações host podem registrar componentes próprios para uso no DynamicFieldLoader e expor metadados para título/ícone amigáveis no editor.
395
449
 
396
450
  ### 1) Registrar o componente no runtime (DynamicFieldLoader)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@praxisui/dynamic-fields",
3
- "version": "1.0.0-beta.48",
3
+ "version": "1.0.0-beta.52",
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": "^20.1.0",
@@ -10,10 +10,10 @@
10
10
  "@angular/cdk": "^20.1.0",
11
11
  "@angular/router": "^20.1.0",
12
12
  "rxjs": "^7.8.0",
13
- "@praxisui/specification-core": "^1.0.0-beta.48",
14
- "@praxisui/core": "^1.0.0-beta.48",
15
- "@praxisui/cron-builder": "^1.0.0-beta.48",
16
- "@praxisui/dialog": "^1.0.0-beta.48"
13
+ "@praxisui/specification-core": "^1.0.0-beta.52",
14
+ "@praxisui/core": "^1.0.0-beta.52",
15
+ "@praxisui/cron-builder": "^1.0.0-beta.52",
16
+ "@praxisui/dialog": "^1.0.0-beta.52"
17
17
  },
18
18
  "dependencies": {
19
19
  "tslib": "^2.3.0"