structra-ui 0.1.31 → 0.1.33
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 +16 -39
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,59 +1,36 @@
|
|
|
1
1
|
# structra-ui
|
|
2
2
|
|
|
3
|
-
Biblioteca **Angular**
|
|
3
|
+
Biblioteca **Angular 21** (componentes Structra). Exemplos: [StructraLab](https://structralab.com/).
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
## Instalação
|
|
8
|
-
|
|
9
|
-
Com **npm 7 ou superior**, um comando instala a lib e resolve os **peer dependencies** obrigatórios na raiz do projeto (Angular, Material, CDK, Router, AG Grid, RxJS, Zone.js):
|
|
5
|
+
## Instalar
|
|
10
6
|
|
|
11
7
|
```bash
|
|
12
8
|
npm install structra-ui
|
|
13
9
|
```
|
|
14
10
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
**Compatibilidade**
|
|
18
|
-
|
|
19
|
-
- **Angular 21** (`^21.2.7` nos peers): sem suporte para Angular 22.
|
|
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.
|
|
21
|
-
|
|
22
|
-
## Estilos globais (automático)
|
|
23
|
-
|
|
24
|
-
**Não precisa** de adicionar nada ao `angular.json` → `styles` por causa da Structra: ao fazer `import { … } from 'structra-ui'`, o bundle publicado (`fesm2022/structra-ui.mjs`) inclui no topo `import '../structra-ui.css'`, e o **Angular Application builder** segue esse import e injeta o tema (tokens, Material, AG Grid, CDK, etc.) na app.
|
|
25
|
-
|
|
26
|
-
Requisitos no projeto destino:
|
|
27
|
-
|
|
28
|
-
1. **`npm run lib:build`** no monorepo antes de publicar (não publique só `ng build structra-ui`), senão o `.css` e o patch ao `.mjs` não existem.
|
|
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.
|
|
30
|
-
|
|
31
|
-
**Opcional (duplicar tema):** só se quiseres carregar o CSS **antes** de qualquer import TypeScript da lib, podes ainda listar em `angular.json` → `styles` o `node_modules/structra-ui/structra-ui.css` ou a ponte `structra-ui.scss` — não é obrigatório para «funcionar».
|
|
32
|
-
|
|
33
|
-
**`import 'structra-ui/styles'`** em `main.ts` também funciona (export `./styles` → mesmo CSS), mas **não é necessário** se já importas componentes ou símbolos de `'structra-ui'`.
|
|
11
|
+
Na maioria dos casos (npm 7+) o npm já instala junto o que a lib pede, **incluindo AG Grid**.
|
|
34
12
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
**AG Grid 35+:** registe os módulos Community uma vez na app (ex. `ModuleRegistry.registerModules([AllCommunityModule])` em `main.ts`).
|
|
38
|
-
|
|
39
|
-
**Importar componentes:** `import { TextFieldComponent } from 'structra-ui';` e use em `imports: [TextFieldComponent, …]` do `@Component`. No `tsconfig.json` da app, prefira `"moduleResolution": "bundler"` ou `"node16"` para o Node resolver o campo `exports` do pacote.
|
|
40
|
-
|
|
41
|
-
## Build do pacote
|
|
42
|
-
|
|
43
|
-
A entrada publicada é **`src/structra-public-api.ts`** na raiz do monorepo (ver `ng-package.json`). O comando:
|
|
13
|
+
Se o grid não instalar ou der erro ao usar tabela: instale explicitamente:
|
|
44
14
|
|
|
45
15
|
```bash
|
|
46
|
-
npm
|
|
16
|
+
npm install structra-ui ag-grid-community ag-grid-angular
|
|
47
17
|
```
|
|
48
18
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
## Uso
|
|
19
|
+
E **uma vez** na aplicação, antes de abrir qualquer grid:
|
|
52
20
|
|
|
53
21
|
```ts
|
|
54
|
-
import {
|
|
22
|
+
import { AllCommunityModule, ModuleRegistry } from 'ag-grid-community';
|
|
23
|
+
ModuleRegistry.registerModules([AllCommunityModule]);
|
|
55
24
|
```
|
|
56
25
|
|
|
26
|
+
## Estilos
|
|
27
|
+
|
|
28
|
+
Importe a lib em código (ex.: `import { TextFieldComponent } from 'structra-ui'`). O tema global acompanha — não precisa copiar CSS no `angular.json` por causa disso.
|
|
29
|
+
|
|
30
|
+
## Quem publica a lib
|
|
31
|
+
|
|
32
|
+
Na raiz do monorepo: `npm run lib:build` (não use só `ng build structra-ui`).
|
|
33
|
+
|
|
57
34
|
## Licença
|
|
58
35
|
|
|
59
36
|
MIT
|