@praxisui/dynamic-fields 1.0.0-beta.1 → 1.0.0-beta.4
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 +11 -11
- package/package.json +14 -5
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# @
|
|
1
|
+
# @praxisui/dynamic-fields — Dynamic Form Fields
|
|
2
2
|
|
|
3
3
|
### Concept Usage
|
|
4
4
|
|
|
@@ -11,15 +11,15 @@ Biblioteca de campos dinâmicos para aplicações Angular (v20+) com Material De
|
|
|
11
11
|
## Instalação
|
|
12
12
|
|
|
13
13
|
```bash
|
|
14
|
-
npm install @
|
|
14
|
+
npm install @praxisui/dynamic-fields
|
|
15
15
|
```
|
|
16
16
|
|
|
17
17
|
Peers (instale no app host):
|
|
18
18
|
- `@angular/core` `^20.1.0`, `@angular/common` `^20.1.0`, `@angular/forms` `^20.1.0`
|
|
19
19
|
- `@angular/material` `^20.1.0`, `@angular/cdk` `^20.1.0`, `@angular/router` `^20.1.0`
|
|
20
20
|
- `rxjs` `^7.8.0`
|
|
21
|
-
- `@
|
|
22
|
-
- Opcional conforme uso: `@
|
|
21
|
+
- `@praxisui/core`, `@praxisui/specification-core`
|
|
22
|
+
- Opcional conforme uso: `@praxisui/dialog`, `@praxisui/cron-builder`
|
|
23
23
|
|
|
24
24
|
## ✨ Características
|
|
25
25
|
|
|
@@ -29,7 +29,7 @@ Peers (instale no app host):
|
|
|
29
29
|
- **Color Picker**: Novo componente de seleção de cores com suporte a paleta e canvas
|
|
30
30
|
- **Novos Componentes**: Toggle, Slider, Time Picker e Rating
|
|
31
31
|
- **Material Select Modular**: Fragmentado em subcomponentes (SearchInput, OptionsList e Chips)
|
|
32
|
-
- **TypeScript**: Totalmente tipado com integração do `@
|
|
32
|
+
- **TypeScript**: Totalmente tipado com integração do `@praxisui/core`
|
|
33
33
|
- **Corporativo**: Adequado para cenários empresariais
|
|
34
34
|
|
|
35
35
|
## 🏗️ Arquitetura
|
|
@@ -49,7 +49,7 @@ const isRegistered = registry.isRegistered(FieldControlType.INPUT);
|
|
|
49
49
|
|
|
50
50
|
### Componentes Suportados
|
|
51
51
|
|
|
52
|
-
O sistema usa as constantes do `@
|
|
52
|
+
O sistema usa as constantes do `@praxisui/core` para garantir consistência:
|
|
53
53
|
|
|
54
54
|
- `FieldControlType.INPUT` - Campo de texto Material Design
|
|
55
55
|
- `FieldControlType.TEXTAREA` - Área de texto Material Design
|
|
@@ -104,7 +104,7 @@ Grupo de botões de rádio que consome metadados ou dados remotos para criar sel
|
|
|
104
104
|
## 📦 Instalação
|
|
105
105
|
|
|
106
106
|
```bash
|
|
107
|
-
npm install @
|
|
107
|
+
npm install @praxisui/dynamic-fields
|
|
108
108
|
```
|
|
109
109
|
|
|
110
110
|
## 🚀 Uso Básico (DynamicFieldLoaderDirective)
|
|
@@ -114,8 +114,8 @@ Exemplo mínimo usando a diretiva `dynamicFieldLoader` para criar campos Materia
|
|
|
114
114
|
```ts
|
|
115
115
|
import { Component, signal, inject } from '@angular/core';
|
|
116
116
|
import { ReactiveFormsModule, NonNullableFormBuilder, Validators } from '@angular/forms';
|
|
117
|
-
import { DynamicFieldLoaderDirective } from '@
|
|
118
|
-
import { FieldMetadata, FieldControlType } from '@
|
|
117
|
+
import { DynamicFieldLoaderDirective } from '@praxisui/dynamic-fields';
|
|
118
|
+
import { FieldMetadata, FieldControlType } from '@praxisui/core';
|
|
119
119
|
|
|
120
120
|
@Component({
|
|
121
121
|
selector: 'app-dynamic-form',
|
|
@@ -175,7 +175,7 @@ Template-only:
|
|
|
175
175
|
```
|
|
176
176
|
|
|
177
177
|
```typescript
|
|
178
|
-
import { ComponentRegistryService } from "@
|
|
178
|
+
import { ComponentRegistryService } from "@praxisui/dynamic-fields";
|
|
179
179
|
import { FieldControlType } from "@praxisui/core";
|
|
180
180
|
|
|
181
181
|
@Component({
|
|
@@ -213,7 +213,7 @@ export class DynamicFormComponent {
|
|
|
213
213
|
## 🔧 Registrar Componente Customizado
|
|
214
214
|
|
|
215
215
|
```typescript
|
|
216
|
-
import { FieldControlType } from "@
|
|
216
|
+
import { FieldControlType } from "@praxisui/core";
|
|
217
217
|
|
|
218
218
|
// Registrar componente customizado - SUPER SIMPLES!
|
|
219
219
|
registry.register("customField" as FieldControlType, () => import("./custom-field.component").then((m) => m.CustomFieldComponent));
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@praxisui/dynamic-fields",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
3
|
+
"version": "1.0.0-beta.4",
|
|
4
|
+
"description": "Angular Material-based dynamic form fields for Praxis UI with lazy loading and metadata-driven rendering.",
|
|
4
5
|
"peerDependencies": {
|
|
5
6
|
"@angular/common": "^20.1.0",
|
|
6
7
|
"@angular/core": "^20.1.0",
|
|
@@ -9,10 +10,10 @@
|
|
|
9
10
|
"@angular/cdk": "^20.1.0",
|
|
10
11
|
"@angular/router": "^20.1.0",
|
|
11
12
|
"rxjs": "^7.8.0",
|
|
12
|
-
"@praxisui/specification-core": "^1.0.0-beta.
|
|
13
|
-
"@praxisui/core": "^1.0.0-beta.
|
|
14
|
-
"@praxisui/cron-builder": "^1.0.0-beta.
|
|
15
|
-
"@praxisui/dialog": "^1.0.0-beta.
|
|
13
|
+
"@praxisui/specification-core": "^1.0.0-beta.4",
|
|
14
|
+
"@praxisui/core": "^1.0.0-beta.4",
|
|
15
|
+
"@praxisui/cron-builder": "^1.0.0-beta.4",
|
|
16
|
+
"@praxisui/dialog": "^1.0.0-beta.4"
|
|
16
17
|
},
|
|
17
18
|
"dependencies": {
|
|
18
19
|
"tslib": "^2.3.0"
|
|
@@ -29,6 +30,14 @@
|
|
|
29
30
|
"bugs": {
|
|
30
31
|
"url": "https://github.com/codexrodrigues/praxis/issues"
|
|
31
32
|
},
|
|
33
|
+
"keywords": [
|
|
34
|
+
"angular",
|
|
35
|
+
"praxisui",
|
|
36
|
+
"forms",
|
|
37
|
+
"dynamic-fields",
|
|
38
|
+
"material",
|
|
39
|
+
"ui"
|
|
40
|
+
],
|
|
32
41
|
"sideEffects": false,
|
|
33
42
|
"module": "fesm2022/praxisui-dynamic-fields.mjs",
|
|
34
43
|
"typings": "index.d.ts",
|