structra-ui 0.1.31 → 0.1.32
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 +25 -23
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,59 +1,61 @@
|
|
|
1
1
|
# structra-ui
|
|
2
2
|
|
|
3
|
-
Biblioteca **Angular** da
|
|
3
|
+
Biblioteca **Angular 21** da Structra: componentes, formulários e padrões de UI reutilizáveis.
|
|
4
4
|
|
|
5
|
-
**
|
|
5
|
+
**Exemplos ao vivo:** [StructraLab](https://structralab.com/)
|
|
6
6
|
|
|
7
7
|
## Instalação
|
|
8
8
|
|
|
9
|
-
Com
|
|
9
|
+
**Com npm 7 ou superior** (recomendado): um comando instala a lib e, em geral, os **peer dependencies** na raiz do projeto.
|
|
10
10
|
|
|
11
11
|
```bash
|
|
12
12
|
npm install structra-ui
|
|
13
13
|
```
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Com **npm 6** (ou se os peers não forem instalados), instala explicitamente o que falta. O mínimo extra em relação a uma app Angular 21 típica costuma ser **AG Grid** e **Material/CDK/Router**, se ainda não existirem:
|
|
16
16
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
- **Material e CDK** obrigatórios; **Router** obrigatório; **AG Grid** obrigatório; **RxJS** e **Zone.js** obrigatórios — nada é opcional no `package.json` da lib.
|
|
17
|
+
```bash
|
|
18
|
+
npm install structra-ui ag-grid-community ag-grid-angular @angular/material @angular/cdk @angular/router
|
|
19
|
+
```
|
|
21
20
|
|
|
22
|
-
|
|
21
|
+
Versões: segue as gamas em `peerDependencies` do `package.json` publicado (Angular **21.2.x**, AG Grid **35.x**, etc.).
|
|
23
22
|
|
|
24
|
-
|
|
23
|
+
## AG Grid (grelhas)
|
|
25
24
|
|
|
26
|
-
|
|
25
|
+
Os componentes de **grelha** da lib dependem de **`ag-grid-community`** e **`ag-grid-angular`**. Sem estes pacotes, o build ou o runtime podem falhar ao usar esses componentes.
|
|
27
26
|
|
|
28
|
-
|
|
29
|
-
2. O pacote em `node_modules/structra-ui/` tem de conter **`structra-ui.css`**, **`webfonts/`** (Font Awesome), **`files/`** (Roboto via Fontsource) e `fesm2022/structra-ui.mjs`. Tipografia e ícones são **offline**, alinhados ao showcase StructraLab.
|
|
27
|
+
Além disso, o AG Grid 33+ exige **registar os módulos Community uma vez** na aplicação, antes de montar qualquer grelha. Exemplo mínimo (por exemplo em `main.ts`, antes de `bootstrapApplication`):
|
|
30
28
|
|
|
31
|
-
|
|
29
|
+
```ts
|
|
30
|
+
import { AllCommunityModule, ModuleRegistry } from 'ag-grid-community';
|
|
32
31
|
|
|
33
|
-
|
|
32
|
+
ModuleRegistry.registerModules([AllCommunityModule]);
|
|
33
|
+
```
|
|
34
34
|
|
|
35
|
-
|
|
35
|
+
## Estilos globais
|
|
36
36
|
|
|
37
|
-
|
|
37
|
+
Ao importar algo de `structra-ui` em runtime (por exemplo `import { TextFieldComponent } from 'structra-ui'`), o tema global (Material, tokens, AG Grid, ícones, Roboto, etc.) entra pelo ficheiro publicado `structra-ui.css`. Não é obrigatório repetir isso no `angular.json` → `styles`.
|
|
38
38
|
|
|
39
|
-
**
|
|
39
|
+
**Nota:** `import type { … } from 'structra-ui'` não carrega o CSS do tema — usa um import de valor ou `import 'structra-ui/styles'`.
|
|
40
40
|
|
|
41
|
-
## Build do pacote
|
|
41
|
+
## Build do pacote (mantenedores do monorepo)
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
Na raiz do repositório `web-components`:
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
46
|
npm run lib:build
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
Gera `dist/structra-ui/`
|
|
49
|
+
Gera `dist/structra-ui/` pronto para `npm pack` / `npm publish`. Não uses só `ng build structra-ui` para publicar: o tema global completa-se nesse script.
|
|
50
50
|
|
|
51
|
-
## Uso
|
|
51
|
+
## Uso rápido
|
|
52
52
|
|
|
53
53
|
```ts
|
|
54
|
-
import {
|
|
54
|
+
import { TextFieldComponent } from 'structra-ui';
|
|
55
55
|
```
|
|
56
56
|
|
|
57
|
+
No `tsconfig` da app, convém `moduleResolution` `bundler` ou `node16` para resolver bem o campo `exports` do npm.
|
|
58
|
+
|
|
57
59
|
## Licença
|
|
58
60
|
|
|
59
61
|
MIT
|