structra-ui 0.1.28 → 0.1.29
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 +9 -26
- package/fesm2022/structra-ui.mjs +1 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -19,37 +19,20 @@ Se usar **npm 6 ou anterior**, instale explicitamente os mesmos pacotes e versõ
|
|
|
19
19
|
- **Angular 21** (`^21.2.7` nos peers): sem suporte para Angular 22.
|
|
20
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
21
|
|
|
22
|
-
## Estilos globais (
|
|
22
|
+
## Estilos globais (automático)
|
|
23
23
|
|
|
24
|
-
|
|
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
25
|
|
|
26
|
-
|
|
26
|
+
Requisitos no projeto destino:
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
"node_modules/structra-ui/structra-ui.scss",
|
|
31
|
-
"src/styles.scss"
|
|
32
|
-
]
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
ou, se o projeto aceitar `.css` na lista:
|
|
36
|
-
|
|
37
|
-
```json
|
|
38
|
-
"styles": [
|
|
39
|
-
"node_modules/structra-ui/structra-ui.css",
|
|
40
|
-
"src/styles.scss"
|
|
41
|
-
]
|
|
42
|
-
```
|
|
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`** ao lado de `fesm2022/structra-ui.mjs` (o tarball gerado por `npm pack` / npm já inclui ambos).
|
|
43
30
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
```ts
|
|
47
|
-
import 'structra-ui/styles';
|
|
48
|
-
```
|
|
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».
|
|
49
32
|
|
|
50
|
-
|
|
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'`.
|
|
51
34
|
|
|
52
|
-
**
|
|
35
|
+
**Atenção:** `import type { … } from 'structra-ui'` é apagado em compile-time e **não** executa o módulo — o tema **não** carrega. Garante pelo menos um `import { … }` em runtime ou `import 'structra-ui/styles'`.
|
|
53
36
|
|
|
54
37
|
**AG Grid 35+:** registe os módulos Community uma vez na app (ex. `ModuleRegistry.registerModules([AllCommunityModule])` em `main.ts`).
|
|
55
38
|
|
|
@@ -63,7 +46,7 @@ A entrada publicada é **`src/structra-public-api.ts`** na raiz do monorepo (ver
|
|
|
63
46
|
npm run lib:build
|
|
64
47
|
```
|
|
65
48
|
|
|
66
|
-
Gera `dist/structra-ui/` (JavaScript + tipos + **`structra-ui.css`** + **`structra-ui.scss`** ponte). **Não use só `ng build structra-ui`** para publicar:
|
|
49
|
+
Gera `dist/structra-ui/` (JavaScript com import do tema + tipos + **`structra-ui.css`** + **`structra-ui.scss`** ponte). **Não use só `ng build structra-ui`** para publicar: o `npm run lib:build` corre o ng-packagr e depois gera o CSS, a ponte SCSS e **injeta** `import '../structra-ui.css'` no FESM.
|
|
67
50
|
|
|
68
51
|
## Uso
|
|
69
52
|
|
package/fesm2022/structra-ui.mjs
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import '../structra-ui.css';
|
|
1
2
|
import * as i0 from '@angular/core';
|
|
2
3
|
import { booleanAttribute, HostBinding, Input, ChangeDetectionStrategy, Component, numberAttribute, ElementRef, ViewChild, inject, ChangeDetectorRef, Injector, DestroyRef, EventEmitter, Output, Directive, signal, computed, Injectable, HostListener, ViewChildren, forwardRef, ApplicationRef, afterNextRender, ContentChildren, NgZone, ViewContainerRef, TemplateRef, ContentChild } from '@angular/core';
|
|
3
4
|
import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "structra-ui",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.29",
|
|
4
4
|
"description": "Biblioteca de componentes Angular da StructraLab (UI reutilizável).",
|
|
5
5
|
"homepage": "https://structralab.com/",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"sideEffects": [
|
|
8
8
|
"structra-ui.css",
|
|
9
|
-
"structra-ui.scss"
|
|
9
|
+
"structra-ui.scss",
|
|
10
|
+
"fesm2022/structra-ui.mjs"
|
|
10
11
|
],
|
|
11
12
|
"files": [
|
|
12
13
|
"fesm2022/",
|