@4byte/shared-lib 0.0.1
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/.editorconfig +17 -0
- package/.prettierrc +12 -0
- package/.vscode/extensions.json +4 -0
- package/.vscode/launch.json +20 -0
- package/.vscode/mcp.json +9 -0
- package/.vscode/tasks.json +42 -0
- package/README.md +284 -0
- package/angular.json +211 -0
- package/ng-package.json +11 -0
- package/package.json +44 -0
- package/projects/storybook-host/.storybook/main.ts +20 -0
- package/projects/storybook-host/.storybook/preview.ts +74 -0
- package/projects/storybook-host/.storybook/tsconfig.doc.json +10 -0
- package/projects/storybook-host/.storybook/tsconfig.json +22 -0
- package/projects/storybook-host/.storybook/tutorial/Installation.mdx +6 -0
- package/projects/storybook-host/.storybook/tutorial/Introduction.mdx +18 -0
- package/projects/storybook-host/.storybook/tutorial/Theming.mdx +14 -0
- package/projects/storybook-host/.storybook/typings.d.ts +4 -0
- package/projects/storybook-host/documentation.json +605 -0
- package/projects/storybook-host/public/favicon.ico +0 -0
- package/projects/storybook-host/src/app/app.config.ts +8 -0
- package/projects/storybook-host/src/app/app.css +0 -0
- package/projects/storybook-host/src/app/app.html +343 -0
- package/projects/storybook-host/src/app/app.ts +11 -0
- package/projects/storybook-host/src/index.html +13 -0
- package/projects/storybook-host/src/main.ts +6 -0
- package/projects/storybook-host/src/stories/assets/accessibility.png +0 -0
- package/projects/storybook-host/src/stories/assets/accessibility.svg +1 -0
- package/projects/storybook-host/src/stories/assets/addon-library.png +0 -0
- package/projects/storybook-host/src/stories/assets/assets.png +0 -0
- package/projects/storybook-host/src/stories/assets/avif-test-image.avif +0 -0
- package/projects/storybook-host/src/stories/assets/context.png +0 -0
- package/projects/storybook-host/src/stories/assets/discord.svg +1 -0
- package/projects/storybook-host/src/stories/assets/docs.png +0 -0
- package/projects/storybook-host/src/stories/assets/figma-plugin.png +0 -0
- package/projects/storybook-host/src/stories/assets/github.svg +1 -0
- package/projects/storybook-host/src/stories/assets/share.png +0 -0
- package/projects/storybook-host/src/stories/assets/styling.png +0 -0
- package/projects/storybook-host/src/stories/assets/testing.png +0 -0
- package/projects/storybook-host/src/stories/assets/theming.png +0 -0
- package/projects/storybook-host/src/stories/assets/tutorials.svg +1 -0
- package/projects/storybook-host/src/stories/assets/youtube.svg +1 -0
- package/projects/storybook-host/src/stories/button.component.ts +50 -0
- package/projects/storybook-host/src/stories/button.css +30 -0
- package/projects/storybook-host/src/stories/button.stories.ts +49 -0
- package/projects/storybook-host/src/stories/header.component.ts +78 -0
- package/projects/storybook-host/src/stories/header.css +32 -0
- package/projects/storybook-host/src/stories/header.stories.ts +33 -0
- package/projects/storybook-host/src/stories/page.component.ts +84 -0
- package/projects/storybook-host/src/stories/page.css +68 -0
- package/projects/storybook-host/src/stories/page.stories.ts +32 -0
- package/projects/storybook-host/src/stories/user.ts +3 -0
- package/projects/storybook-host/src/styles.css +1 -0
- package/projects/storybook-host/tsconfig.app.json +15 -0
- package/projects/storybook-host/tsconfig.spec.json +15 -0
- package/src/lib/components/byte-button/byte-button-group/byte-button-group.css +27 -0
- package/src/lib/components/byte-button/byte-button-group/byte-button-group.html +6 -0
- package/src/lib/components/byte-button/byte-button-group/byte-button-group.spec.ts +22 -0
- package/src/lib/components/byte-button/byte-button-group/byte-button-group.ts +35 -0
- package/src/lib/components/byte-button/byte-button.css +0 -0
- package/src/lib/components/byte-button/byte-button.directive.ts +17 -0
- package/src/lib/components/byte-button/byte-button.html +29 -0
- package/src/lib/components/byte-button/byte-button.module.ts +19 -0
- package/src/lib/components/byte-button/byte-button.stories.ts +449 -0
- package/src/lib/components/byte-button/byte-button.ts +129 -0
- package/src/lib/components/byte-dialog/byte-dialog.css +0 -0
- package/src/lib/components/byte-dialog/byte-dialog.directive.ts +21 -0
- package/src/lib/components/byte-dialog/byte-dialog.html +47 -0
- package/src/lib/components/byte-dialog/byte-dialog.module.ts +21 -0
- package/src/lib/components/byte-dialog/byte-dialog.spec.ts +22 -0
- package/src/lib/components/byte-dialog/byte-dialog.ts +121 -0
- package/src/lib/components/byte-dialog/byte.dialog.stories.ts +215 -0
- package/src/lib/components/byte-input/byte-input.css +29 -0
- package/src/lib/components/byte-input/byte-input.html +58 -0
- package/src/lib/components/byte-input/byte-input.spec.ts +22 -0
- package/src/lib/components/byte-input/byte-input.stories.ts +60 -0
- package/src/lib/components/byte-input/byte-input.ts +97 -0
- package/src/lib/components/byte-select/byte-select.css +16 -0
- package/src/lib/components/byte-select/byte-select.directive.ts +61 -0
- package/src/lib/components/byte-select/byte-select.html +101 -0
- package/src/lib/components/byte-select/byte-select.module.ts +26 -0
- package/src/lib/components/byte-select/byte-select.spec.ts +22 -0
- package/src/lib/components/byte-select/byte-select.stories.ts +194 -0
- package/src/lib/components/byte-select/byte-select.ts +168 -0
- package/src/lib/components/byte-select/index.ts +3 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.css +0 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.directive.ts +11 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.html +31 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.module.ts +16 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.spec.ts +22 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.stories.ts +190 -0
- package/src/lib/components/byte-sidebar/byte-sidebar.ts +108 -0
- package/src/lib/components/byte-table/byte-table.css +0 -0
- package/src/lib/components/byte-table/byte-table.directive.ts +49 -0
- package/src/lib/components/byte-table/byte-table.html +102 -0
- package/src/lib/components/byte-table/byte-table.module.ts +33 -0
- package/src/lib/components/byte-table/byte-table.spec.ts +22 -0
- package/src/lib/components/byte-table/byte-table.stories.ts +296 -0
- package/src/lib/components/byte-table/byte-table.ts +162 -0
- package/src/lib/components/calendar/calendar.css +16 -0
- package/src/lib/components/calendar/calendar.html +15 -0
- package/src/lib/components/calendar/calendar.spec.ts +22 -0
- package/src/lib/components/calendar/calendar.stories.ts +153 -0
- package/src/lib/components/calendar/calendar.ts +89 -0
- package/src/lib/components/select/select.css +16 -0
- package/src/lib/components/select/select.html +14 -0
- package/src/lib/components/select/select.spec.ts +22 -0
- package/src/lib/components/select/select.ts +73 -0
- package/src/lib/config/empresa-ui.token.ts +5 -0
- package/src/lib/providers/empresa-ui-config.ts +8 -0
- package/src/lib/providers/provide-empresa-ui.ts +42 -0
- package/src/lib/themes/CRM-Theme.ts +34 -0
- package/src/lib/themes/aura.ts +3 -0
- package/src/lib/themes/index.ts +2 -0
- package/src/lib/themes/registry.ts +9 -0
- package/src/lib/utils/inject-prime-icons.ts +12 -0
- package/src/public-api.ts +30 -0
- package/tsconfig.json +45 -0
- package/tsconfig.lib.json +11 -0
- package/tsconfig.lib.prod.json +9 -0
- package/tsconfig.spec.json +8 -0
package/.editorconfig
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# Editor configuration, see https://editorconfig.org
|
|
2
|
+
root = true
|
|
3
|
+
|
|
4
|
+
[*]
|
|
5
|
+
charset = utf-8
|
|
6
|
+
indent_style = space
|
|
7
|
+
indent_size = 2
|
|
8
|
+
insert_final_newline = true
|
|
9
|
+
trim_trailing_whitespace = true
|
|
10
|
+
|
|
11
|
+
[*.ts]
|
|
12
|
+
quote_type = single
|
|
13
|
+
ij_typescript_use_double_quotes = false
|
|
14
|
+
|
|
15
|
+
[*.md]
|
|
16
|
+
max_line_length = off
|
|
17
|
+
trim_trailing_whitespace = false
|
package/.prettierrc
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
|
|
3
|
+
"version": "0.2.0",
|
|
4
|
+
"configurations": [
|
|
5
|
+
{
|
|
6
|
+
"name": "ng serve",
|
|
7
|
+
"type": "chrome",
|
|
8
|
+
"request": "launch",
|
|
9
|
+
"preLaunchTask": "npm: start",
|
|
10
|
+
"url": "http://localhost:4200/"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"name": "ng test",
|
|
14
|
+
"type": "chrome",
|
|
15
|
+
"request": "launch",
|
|
16
|
+
"preLaunchTask": "npm: test",
|
|
17
|
+
"url": "http://localhost:9876/debug.html"
|
|
18
|
+
}
|
|
19
|
+
]
|
|
20
|
+
}
|
package/.vscode/mcp.json
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{
|
|
2
|
+
// For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558
|
|
3
|
+
"version": "2.0.0",
|
|
4
|
+
"tasks": [
|
|
5
|
+
{
|
|
6
|
+
"type": "npm",
|
|
7
|
+
"script": "start",
|
|
8
|
+
"isBackground": true,
|
|
9
|
+
"problemMatcher": {
|
|
10
|
+
"owner": "typescript",
|
|
11
|
+
"pattern": "$tsc",
|
|
12
|
+
"background": {
|
|
13
|
+
"activeOnStart": true,
|
|
14
|
+
"beginsPattern": {
|
|
15
|
+
"regexp": "Changes detected"
|
|
16
|
+
},
|
|
17
|
+
"endsPattern": {
|
|
18
|
+
"regexp": "bundle generation (complete|failed)"
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"type": "npm",
|
|
25
|
+
"script": "test",
|
|
26
|
+
"isBackground": true,
|
|
27
|
+
"problemMatcher": {
|
|
28
|
+
"owner": "typescript",
|
|
29
|
+
"pattern": "$tsc",
|
|
30
|
+
"background": {
|
|
31
|
+
"activeOnStart": true,
|
|
32
|
+
"beginsPattern": {
|
|
33
|
+
"regexp": "Changes detected"
|
|
34
|
+
},
|
|
35
|
+
"endsPattern": {
|
|
36
|
+
"regexp": "bundle generation (complete|failed)"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
]
|
|
42
|
+
}
|
package/README.md
ADDED
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
# 4byteSharedLib
|
|
2
|
+
|
|
3
|
+
> Librería de componentes UI desarrollada con Angular, PrimeNG y Storybook.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Descripción
|
|
8
|
+
|
|
9
|
+
4Byte Shared Lib es una librería de componentes reutilizables desarrollada sobre Angular y PrimeNG. Su objetivo es centralizar componentes, estilos y temas para facilitar el desarrollo de aplicaciones con una apariencia consistente.
|
|
10
|
+
|
|
11
|
+
Actualmente la librería incluye:
|
|
12
|
+
|
|
13
|
+
- Componentes reutilizables.
|
|
14
|
+
- Integración con PrimeNG.
|
|
15
|
+
- Sistema de temas personalizados.
|
|
16
|
+
- Documentación interactiva mediante Storybook.
|
|
17
|
+
|
|
18
|
+
---
|
|
19
|
+
|
|
20
|
+
# Tecnologías
|
|
21
|
+
|
|
22
|
+
- Angular 21
|
|
23
|
+
- PrimeNG 21.1.9
|
|
24
|
+
- PrimeUIX Themes
|
|
25
|
+
- Storybook 10
|
|
26
|
+
- TypeScript
|
|
27
|
+
|
|
28
|
+
---
|
|
29
|
+
|
|
30
|
+
# Requisitos
|
|
31
|
+
|
|
32
|
+
Antes de utilizar Empresa UI asegúrate de contar con el siguiente entorno:
|
|
33
|
+
|
|
34
|
+
| Herramienta | Versión |
|
|
35
|
+
|-------------|----------|
|
|
36
|
+
| Node.js | 22.12.0 o superior |
|
|
37
|
+
| npm | 10 o superior |
|
|
38
|
+
| Angular CLI | 21 |
|
|
39
|
+
| Angular | 21 |
|
|
40
|
+
|
|
41
|
+
Puedes verificar las versiones instaladas ejecutando:
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
node -v
|
|
45
|
+
npm -v
|
|
46
|
+
ng version
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
# Instalación
|
|
52
|
+
|
|
53
|
+
### 1. Clonar el repositorio
|
|
54
|
+
|
|
55
|
+
```bash
|
|
56
|
+
git clone <url-del-repositorio>
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### 2. Ingresar al proyecto
|
|
60
|
+
|
|
61
|
+
```bash
|
|
62
|
+
cd 4vyte-shared-lib
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 3. Instalar dependencias
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npm install
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
---
|
|
72
|
+
|
|
73
|
+
# Configuración
|
|
74
|
+
|
|
75
|
+
La librería utiliza un proveedor para registrar la configuración global.
|
|
76
|
+
|
|
77
|
+
Ejemplo:
|
|
78
|
+
|
|
79
|
+
```ts
|
|
80
|
+
provideEmpresaUI({
|
|
81
|
+
theme: 'crm'
|
|
82
|
+
});
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
Temas disponibles actualmente:
|
|
86
|
+
|
|
87
|
+
- CRM Theme (crm)
|
|
88
|
+
|
|
89
|
+
---
|
|
90
|
+
|
|
91
|
+
# Scripts disponibles
|
|
92
|
+
|
|
93
|
+
## Ejecutar Storybook
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
ng run storybook-host:storybook
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
## Ejecutar la aplicación Demo
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
ng serve demo
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
## Compilar la librería
|
|
106
|
+
|
|
107
|
+
```bash
|
|
108
|
+
ng build shared-ui
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
# Arquitectura del proyecto
|
|
114
|
+
|
|
115
|
+
```
|
|
116
|
+
4byte-shared-lib
|
|
117
|
+
│
|
|
118
|
+
├── .storybook
|
|
119
|
+
│
|
|
120
|
+
├── projects
|
|
121
|
+
│ └── demo
|
|
122
|
+
│
|
|
123
|
+
├── shared-ui
|
|
124
|
+
│ ├── components
|
|
125
|
+
│ ├── themes
|
|
126
|
+
│ ├── config
|
|
127
|
+
│ └── providers
|
|
128
|
+
│
|
|
129
|
+
└── dist
|
|
130
|
+
```
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
# Componentes UI
|
|
135
|
+
|
|
136
|
+
Los componentes disponibles se encuentran documentados en Storybook.
|
|
137
|
+
|
|
138
|
+
Ejemplos:
|
|
139
|
+
|
|
140
|
+
- ByteCalendar
|
|
141
|
+
- ByteSelect
|
|
142
|
+
- ByteInput
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
# Theming y estilos
|
|
147
|
+
|
|
148
|
+
4Byte Shared Lib permite cambiar el tema global mediante `provideEmpresaUI()`.
|
|
149
|
+
|
|
150
|
+
Ejemplo:
|
|
151
|
+
|
|
152
|
+
```ts
|
|
153
|
+
provideEmpresaUI({
|
|
154
|
+
theme: 'crm'
|
|
155
|
+
});
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
---
|
|
159
|
+
|
|
160
|
+
# Accesibilidad
|
|
161
|
+
|
|
162
|
+
Los componentes están desarrollados sobre PrimeNG, aprovechando sus capacidades de accesibilidad y navegación mediante teclado.
|
|
163
|
+
|
|
164
|
+
Se recomienda validar la accesibilidad de cada componente incorporado a la librería.
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
# Testing
|
|
169
|
+
|
|
170
|
+
Para ejecutar las pruebas:
|
|
171
|
+
|
|
172
|
+
```bash
|
|
173
|
+
ng test
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
Storybook puede utilizarse para validar visualmente el comportamiento de los componentes.
|
|
177
|
+
|
|
178
|
+
---
|
|
179
|
+
|
|
180
|
+
# Convenciones de desarrollo
|
|
181
|
+
|
|
182
|
+
- Utilizar componentes Standalone.
|
|
183
|
+
- Mantener tipado estricto de TypeScript.
|
|
184
|
+
- Documentar cada componente mediante Storybook.
|
|
185
|
+
- Mantener la estructura de carpetas definida por la librería.
|
|
186
|
+
- Agregar nuevas funcionalidades mediante Pull Request.
|
|
187
|
+
|
|
188
|
+
---
|
|
189
|
+
|
|
190
|
+
# Contribución
|
|
191
|
+
|
|
192
|
+
1. Crear una rama a partir de `develop`.
|
|
193
|
+
2. Implementar los cambios.
|
|
194
|
+
3. Ejecutar pruebas y validar Storybook.
|
|
195
|
+
4. Crear un Merge Request para revisión.
|
|
196
|
+
|
|
197
|
+
---
|
|
198
|
+
|
|
199
|
+
## Desarrollo local
|
|
200
|
+
|
|
201
|
+
Como `projects/demo` no está versionado en el repositorio, cada desarrollador debe generarlo localmente para poder probar la librería antes de publicarla.
|
|
202
|
+
|
|
203
|
+
### 1. Instalar dependencias
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
npm install
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### 2. Crear el proyecto `demo`
|
|
210
|
+
|
|
211
|
+
Si `projects/demo` no existe en tu copia local, créalo con el schematic de Angular (esto respeta la config ya definida en `angular.json`):
|
|
212
|
+
|
|
213
|
+
```bash
|
|
214
|
+
ng generate application demo --directory=projects/demo --routing=false --style=css
|
|
215
|
+
```
|
|
216
|
+
|
|
217
|
+
> Si `angular.json` ya define el proyecto `demo` pero la carpeta física no existe, este comando la generará. Si ya tienes la carpeta (por ejemplo porque otro compañero te la pasó), puedes omitir este paso.
|
|
218
|
+
|
|
219
|
+
### 3. Compilar la librería
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
ng build shared-ui
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
Esto genera el output compilado en `dist/shared-ui`.
|
|
226
|
+
|
|
227
|
+
### 4. Enlazar la librería compilada globalmente
|
|
228
|
+
|
|
229
|
+
Entra a la carpeta del build y crea el link global de npm:
|
|
230
|
+
|
|
231
|
+
```bash
|
|
232
|
+
cd dist/shared-ui
|
|
233
|
+
npm link
|
|
234
|
+
cd ../..
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### 5. Consumir el link desde el proyecto demo
|
|
238
|
+
|
|
239
|
+
Vuelve a la raíz del workspace y enlaza el paquete dentro del proyecto `demo`:
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
npm link nombre-del-paquete
|
|
243
|
+
```
|
|
244
|
+
|
|
245
|
+
> `nombre-del-paquete` debe coincidir exactamente con el campo `"name"` de `dist/shared-ui/package.json` (generado por `ng-packagr` a partir de tu `package.json` raíz o de `ng-package.json`).
|
|
246
|
+
|
|
247
|
+
### 6. Levantar el proyecto demo
|
|
248
|
+
|
|
249
|
+
```bash
|
|
250
|
+
ng serve demo
|
|
251
|
+
```
|
|
252
|
+
|
|
253
|
+
Ahora `projects/demo` consume la librería como si fuera una dependencia real de `node_modules`, apuntando al build de `dist/shared-ui`.
|
|
254
|
+
|
|
255
|
+
### 🔁 Al modificar la librería
|
|
256
|
+
|
|
257
|
+
Angular CLI **no recompila automáticamente** al usar `npm link` de esta forma. Cada vez que cambies algo en `src/lib`, debes:
|
|
258
|
+
|
|
259
|
+
```bash
|
|
260
|
+
ng build shared-ui
|
|
261
|
+
```
|
|
262
|
+
|
|
263
|
+
Para evitar hacerlo manualmente en cada cambio, puedes usar el modo *watch*:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
ng build shared-ui --watch
|
|
267
|
+
```
|
|
268
|
+
|
|
269
|
+
Y en otra terminal, en paralelo:
|
|
270
|
+
|
|
271
|
+
```bash
|
|
272
|
+
ng serve demo
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
Así, cada cambio en la librería regenera `dist/shared-ui` y el demo recarga automáticamente (siempre que Angular detecte el cambio del symlink; si no recarga solo, reinicia `ng serve demo`).
|
|
276
|
+
|
|
277
|
+
### 🧹 Deshacer el link (opcional)
|
|
278
|
+
|
|
279
|
+
Si necesitas volver a instalar la dependencia real desde el registro (o limpiar el entorno):
|
|
280
|
+
|
|
281
|
+
```bash
|
|
282
|
+
npm unlink nombre-del-paquete
|
|
283
|
+
npm install
|
|
284
|
+
```
|
package/angular.json
ADDED
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "./node_modules/@angular/cli/lib/config/schema.json",
|
|
3
|
+
"version": 1,
|
|
4
|
+
"cli": {
|
|
5
|
+
"packageManager": "npm",
|
|
6
|
+
"analytics": false
|
|
7
|
+
},
|
|
8
|
+
"newProjectRoot": "projects",
|
|
9
|
+
"projects": {
|
|
10
|
+
"shared-ui": {
|
|
11
|
+
"projectType": "library",
|
|
12
|
+
"root": ".",
|
|
13
|
+
"sourceRoot": "src",
|
|
14
|
+
"prefix": "shared",
|
|
15
|
+
"architect": {
|
|
16
|
+
"build": {
|
|
17
|
+
"builder": "@angular/build:ng-packagr",
|
|
18
|
+
"configurations": {
|
|
19
|
+
"production": {
|
|
20
|
+
"tsConfig": "tsconfig.lib.prod.json"
|
|
21
|
+
},
|
|
22
|
+
"development": {
|
|
23
|
+
"tsConfig": "tsconfig.lib.json"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"defaultConfiguration": "production"
|
|
27
|
+
},
|
|
28
|
+
"test": {
|
|
29
|
+
"builder": "@angular/build:unit-test",
|
|
30
|
+
"options": {
|
|
31
|
+
"tsConfig": "tsconfig.spec.json"
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"demo": {
|
|
37
|
+
"projectType": "application",
|
|
38
|
+
"schematics": {},
|
|
39
|
+
"root": "projects/demo",
|
|
40
|
+
"sourceRoot": "projects/demo/src",
|
|
41
|
+
"prefix": "app",
|
|
42
|
+
"architect": {
|
|
43
|
+
"build": {
|
|
44
|
+
"builder": "@angular/build:application",
|
|
45
|
+
"options": {
|
|
46
|
+
"browser": "projects/demo/src/main.ts",
|
|
47
|
+
"tsConfig": "projects/demo/tsconfig.app.json",
|
|
48
|
+
"assets": [
|
|
49
|
+
{
|
|
50
|
+
"glob": "**/*",
|
|
51
|
+
"input": "projects/demo/public"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"styles": ["projects/demo/src/styles.css"]
|
|
55
|
+
},
|
|
56
|
+
"configurations": {
|
|
57
|
+
"production": {
|
|
58
|
+
"budgets": [
|
|
59
|
+
{
|
|
60
|
+
"type": "initial",
|
|
61
|
+
"maximumWarning": "500kB",
|
|
62
|
+
"maximumError": "1MB"
|
|
63
|
+
},
|
|
64
|
+
{
|
|
65
|
+
"type": "anyComponentStyle",
|
|
66
|
+
"maximumWarning": "4kB",
|
|
67
|
+
"maximumError": "8kB"
|
|
68
|
+
}
|
|
69
|
+
],
|
|
70
|
+
"outputHashing": "all"
|
|
71
|
+
},
|
|
72
|
+
"development": {
|
|
73
|
+
"optimization": false,
|
|
74
|
+
"extractLicenses": false,
|
|
75
|
+
"sourceMap": true
|
|
76
|
+
}
|
|
77
|
+
},
|
|
78
|
+
"defaultConfiguration": "production"
|
|
79
|
+
},
|
|
80
|
+
"serve": {
|
|
81
|
+
"builder": "@angular/build:dev-server",
|
|
82
|
+
"configurations": {
|
|
83
|
+
"production": {
|
|
84
|
+
"buildTarget": "demo:build:production"
|
|
85
|
+
},
|
|
86
|
+
"development": {
|
|
87
|
+
"buildTarget": "demo:build:development"
|
|
88
|
+
}
|
|
89
|
+
},
|
|
90
|
+
"defaultConfiguration": "development"
|
|
91
|
+
},
|
|
92
|
+
"test": {
|
|
93
|
+
"builder": "@angular/build:unit-test"
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
},
|
|
97
|
+
"storybook-host": {
|
|
98
|
+
"projectType": "application",
|
|
99
|
+
"schematics": {
|
|
100
|
+
"@schematics/angular:class": {
|
|
101
|
+
"skipTests": true
|
|
102
|
+
},
|
|
103
|
+
"@schematics/angular:component": {
|
|
104
|
+
"skipTests": true
|
|
105
|
+
},
|
|
106
|
+
"@schematics/angular:directive": {
|
|
107
|
+
"skipTests": true
|
|
108
|
+
},
|
|
109
|
+
"@schematics/angular:guard": {
|
|
110
|
+
"skipTests": true
|
|
111
|
+
},
|
|
112
|
+
"@schematics/angular:interceptor": {
|
|
113
|
+
"skipTests": true
|
|
114
|
+
},
|
|
115
|
+
"@schematics/angular:pipe": {
|
|
116
|
+
"skipTests": true
|
|
117
|
+
},
|
|
118
|
+
"@schematics/angular:resolver": {
|
|
119
|
+
"skipTests": true
|
|
120
|
+
},
|
|
121
|
+
"@schematics/angular:service": {
|
|
122
|
+
"skipTests": true
|
|
123
|
+
}
|
|
124
|
+
},
|
|
125
|
+
"root": "projects/storybook-host",
|
|
126
|
+
"sourceRoot": "projects/storybook-host/src",
|
|
127
|
+
"prefix": "app",
|
|
128
|
+
"architect": {
|
|
129
|
+
"build": {
|
|
130
|
+
"builder": "@angular/build:application",
|
|
131
|
+
"options": {
|
|
132
|
+
"browser": "projects/storybook-host/src/main.ts",
|
|
133
|
+
"tsConfig": "projects/storybook-host/tsconfig.app.json",
|
|
134
|
+
"assets": [
|
|
135
|
+
{
|
|
136
|
+
"glob": "**/*",
|
|
137
|
+
"input": "projects/storybook-host/public"
|
|
138
|
+
}
|
|
139
|
+
],
|
|
140
|
+
"styles": ["projects/storybook-host/src/styles.css"]
|
|
141
|
+
},
|
|
142
|
+
"configurations": {
|
|
143
|
+
"production": {
|
|
144
|
+
"budgets": [
|
|
145
|
+
{
|
|
146
|
+
"type": "initial",
|
|
147
|
+
"maximumWarning": "500kB",
|
|
148
|
+
"maximumError": "1MB"
|
|
149
|
+
},
|
|
150
|
+
{
|
|
151
|
+
"type": "anyComponentStyle",
|
|
152
|
+
"maximumWarning": "4kB",
|
|
153
|
+
"maximumError": "8kB"
|
|
154
|
+
}
|
|
155
|
+
],
|
|
156
|
+
"outputHashing": "all"
|
|
157
|
+
},
|
|
158
|
+
"development": {
|
|
159
|
+
"optimization": false,
|
|
160
|
+
"extractLicenses": false,
|
|
161
|
+
"sourceMap": true
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
"defaultConfiguration": "production"
|
|
165
|
+
},
|
|
166
|
+
"serve": {
|
|
167
|
+
"builder": "@angular/build:dev-server",
|
|
168
|
+
"configurations": {
|
|
169
|
+
"production": {
|
|
170
|
+
"buildTarget": "storybook-host:build:production"
|
|
171
|
+
},
|
|
172
|
+
"development": {
|
|
173
|
+
"buildTarget": "storybook-host:build:development"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"defaultConfiguration": "development"
|
|
177
|
+
},
|
|
178
|
+
"storybook": {
|
|
179
|
+
"builder": "@storybook/angular:start-storybook",
|
|
180
|
+
"options": {
|
|
181
|
+
"configDir": "projects/storybook-host/.storybook",
|
|
182
|
+
"browserTarget": "storybook-host:build",
|
|
183
|
+
"compodoc": true,
|
|
184
|
+
"compodocArgs": [
|
|
185
|
+
"-e",
|
|
186
|
+
"json",
|
|
187
|
+
"-d",
|
|
188
|
+
"projects/storybook-host"
|
|
189
|
+
],
|
|
190
|
+
"port": 6006
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"build-storybook": {
|
|
194
|
+
"builder": "@storybook/angular:build-storybook",
|
|
195
|
+
"options": {
|
|
196
|
+
"configDir": "projects/storybook-host/.storybook",
|
|
197
|
+
"browserTarget": "storybook-host:build",
|
|
198
|
+
"compodoc": true,
|
|
199
|
+
"compodocArgs": [
|
|
200
|
+
"-e",
|
|
201
|
+
"json",
|
|
202
|
+
"-d",
|
|
203
|
+
"projects/storybook-host"
|
|
204
|
+
],
|
|
205
|
+
"outputDir": "dist/storybook/storybook-host"
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
}
|
package/ng-package.json
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@4byte/shared-lib",
|
|
3
|
+
"version": "0.0.1",
|
|
4
|
+
"scripts": {
|
|
5
|
+
"ng": "ng",
|
|
6
|
+
"build": "ng build",
|
|
7
|
+
"watch": "ng build --watch --configuration development",
|
|
8
|
+
"test": "ng test"
|
|
9
|
+
},
|
|
10
|
+
"packageManager": "npm@10.9.3",
|
|
11
|
+
"peerDependencies": {
|
|
12
|
+
"@angular/common": "^21.2.0",
|
|
13
|
+
"@angular/core": "^21.2.0",
|
|
14
|
+
"@angular/forms": "^21.2.0",
|
|
15
|
+
"@angular/platform-browser": "^21.2.0",
|
|
16
|
+
"@angular/router": "^21.2.0",
|
|
17
|
+
"@angular/platform-browser-dynamic": "^21.2.21",
|
|
18
|
+
"rxjs": "~7.8.0"
|
|
19
|
+
},
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@primeuix/themes": "^3.0.0",
|
|
22
|
+
"primeng": "^21.1.9",
|
|
23
|
+
"tslib": "^2.3.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"@angular-devkit/build-angular": "^21.2.22",
|
|
27
|
+
"@angular/build": "^21.2.21",
|
|
28
|
+
"@angular/cli": "^21.2.21",
|
|
29
|
+
"@angular/compiler": "^21.2.0",
|
|
30
|
+
"@angular/compiler-cli": "^21.2.0",
|
|
31
|
+
"@storybook/angular": "^10.5.10",
|
|
32
|
+
"jsdom": "^28.0.0",
|
|
33
|
+
"ng-packagr": "^21.2.0",
|
|
34
|
+
"prettier": "^3.8.1",
|
|
35
|
+
"storybook": "^10.5.10",
|
|
36
|
+
"typescript": "~5.9.2",
|
|
37
|
+
"vitest": "^4.0.8",
|
|
38
|
+
"@types/node": "^20",
|
|
39
|
+
"@angular-devkit/architect": "latest",
|
|
40
|
+
"@angular-devkit/core": "latest",
|
|
41
|
+
"@compodoc/compodoc": "latest",
|
|
42
|
+
"@storybook/addon-docs": "^10.5.10"
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { StorybookConfig } from '@storybook/angular';
|
|
2
|
+
|
|
3
|
+
const config: StorybookConfig = {
|
|
4
|
+
stories: [
|
|
5
|
+
'../../../src/lib/**/*.stories.ts',
|
|
6
|
+
'../../../src/lib/**/*.stories.mdx',
|
|
7
|
+
'./tutorial/*.mdx'
|
|
8
|
+
],
|
|
9
|
+
|
|
10
|
+
addons: [
|
|
11
|
+
'@storybook/addon-docs',
|
|
12
|
+
],
|
|
13
|
+
|
|
14
|
+
framework: {
|
|
15
|
+
name: '@storybook/angular',
|
|
16
|
+
options: {},
|
|
17
|
+
},
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
export default config;
|