@nucleus-suite-pe/core 0.1.0
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 +71 -0
- package/fesm2022/nucleus-suite-pe-core.mjs +1111 -0
- package/fesm2022/nucleus-suite-pe-core.mjs.map +1 -0
- package/package.json +45 -0
- package/styles/tokens.css +52 -0
- package/types/nucleus-suite-pe-core.d.ts +368 -0
package/README.md
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
# @nucleus-suite-pe/core
|
|
2
|
+
|
|
3
|
+
Capa compartida de la suite Nucleus. Una aplicación que la instala recibe, ya resueltos:
|
|
4
|
+
|
|
5
|
+
- **Sesión única.** El usuario inicia sesión una sola vez en el landing; la app la hereda por cookie.
|
|
6
|
+
- **Menú y permisos.** El menú lateral lo devuelve la API de seguridad según el rol del usuario en la sede.
|
|
7
|
+
- **Tema.** Catorce temas, claro y oscuro, con preset de PrimeNG.
|
|
8
|
+
- **Marco.** `<nucleus-shell>` trae la barra superior, el lanzador de aplicaciones, el menú lateral y los ajustes.
|
|
9
|
+
|
|
10
|
+
## Instalación
|
|
11
|
+
|
|
12
|
+
```bash
|
|
13
|
+
npm install @nucleus-suite-pe/core
|
|
14
|
+
```
|
|
15
|
+
|
|
16
|
+
Requiere Angular 21, PrimeNG 21 y `@primeuix/themes` 3 como dependencias del proyecto.
|
|
17
|
+
|
|
18
|
+
## Uso mínimo
|
|
19
|
+
|
|
20
|
+
`public/config.json`:
|
|
21
|
+
|
|
22
|
+
```json
|
|
23
|
+
{
|
|
24
|
+
"appId": "00000000-0000-0000-0000-000000000000",
|
|
25
|
+
"securityApiUrl": "https://api.nucleus-suite.com/api",
|
|
26
|
+
"appApiUrl": null,
|
|
27
|
+
"landingUrl": "https://nucleus-suite.com/"
|
|
28
|
+
}
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
`src/main.ts`:
|
|
32
|
+
|
|
33
|
+
```ts
|
|
34
|
+
import { loadNucleusConfig, provideNucleus } from '@nucleus-suite-pe/core';
|
|
35
|
+
|
|
36
|
+
loadNucleusConfig().then((config) =>
|
|
37
|
+
bootstrapApplication(App, {
|
|
38
|
+
...appConfig,
|
|
39
|
+
providers: [...appConfig.providers, provideNucleus(config)],
|
|
40
|
+
}),
|
|
41
|
+
);
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
`src/app/app.config.ts`:
|
|
45
|
+
|
|
46
|
+
```ts
|
|
47
|
+
import { nucleusAuthInterceptor, provideNucleusTheme } from '@nucleus-suite-pe/core';
|
|
48
|
+
|
|
49
|
+
providers: [
|
|
50
|
+
provideHttpClient(withFetch(), withInterceptors([nucleusAuthInterceptor])),
|
|
51
|
+
provideNucleusTheme(),
|
|
52
|
+
];
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
`angular.json`, en `styles`:
|
|
56
|
+
|
|
57
|
+
```json
|
|
58
|
+
"node_modules/@nucleus-suite-pe/core/styles/tokens.css"
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
Y cualquier pantalla:
|
|
62
|
+
|
|
63
|
+
```html
|
|
64
|
+
<nucleus-shell brand="MI APP" [heading]="titulo()">
|
|
65
|
+
<!-- tu contenido -->
|
|
66
|
+
</nucleus-shell>
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
## Estado
|
|
70
|
+
|
|
71
|
+
Versión `0.x`: la interfaz pública todavía puede cambiar entre versiones menores.
|