@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.
Files changed (121) hide show
  1. package/.editorconfig +17 -0
  2. package/.prettierrc +12 -0
  3. package/.vscode/extensions.json +4 -0
  4. package/.vscode/launch.json +20 -0
  5. package/.vscode/mcp.json +9 -0
  6. package/.vscode/tasks.json +42 -0
  7. package/README.md +284 -0
  8. package/angular.json +211 -0
  9. package/ng-package.json +11 -0
  10. package/package.json +44 -0
  11. package/projects/storybook-host/.storybook/main.ts +20 -0
  12. package/projects/storybook-host/.storybook/preview.ts +74 -0
  13. package/projects/storybook-host/.storybook/tsconfig.doc.json +10 -0
  14. package/projects/storybook-host/.storybook/tsconfig.json +22 -0
  15. package/projects/storybook-host/.storybook/tutorial/Installation.mdx +6 -0
  16. package/projects/storybook-host/.storybook/tutorial/Introduction.mdx +18 -0
  17. package/projects/storybook-host/.storybook/tutorial/Theming.mdx +14 -0
  18. package/projects/storybook-host/.storybook/typings.d.ts +4 -0
  19. package/projects/storybook-host/documentation.json +605 -0
  20. package/projects/storybook-host/public/favicon.ico +0 -0
  21. package/projects/storybook-host/src/app/app.config.ts +8 -0
  22. package/projects/storybook-host/src/app/app.css +0 -0
  23. package/projects/storybook-host/src/app/app.html +343 -0
  24. package/projects/storybook-host/src/app/app.ts +11 -0
  25. package/projects/storybook-host/src/index.html +13 -0
  26. package/projects/storybook-host/src/main.ts +6 -0
  27. package/projects/storybook-host/src/stories/assets/accessibility.png +0 -0
  28. package/projects/storybook-host/src/stories/assets/accessibility.svg +1 -0
  29. package/projects/storybook-host/src/stories/assets/addon-library.png +0 -0
  30. package/projects/storybook-host/src/stories/assets/assets.png +0 -0
  31. package/projects/storybook-host/src/stories/assets/avif-test-image.avif +0 -0
  32. package/projects/storybook-host/src/stories/assets/context.png +0 -0
  33. package/projects/storybook-host/src/stories/assets/discord.svg +1 -0
  34. package/projects/storybook-host/src/stories/assets/docs.png +0 -0
  35. package/projects/storybook-host/src/stories/assets/figma-plugin.png +0 -0
  36. package/projects/storybook-host/src/stories/assets/github.svg +1 -0
  37. package/projects/storybook-host/src/stories/assets/share.png +0 -0
  38. package/projects/storybook-host/src/stories/assets/styling.png +0 -0
  39. package/projects/storybook-host/src/stories/assets/testing.png +0 -0
  40. package/projects/storybook-host/src/stories/assets/theming.png +0 -0
  41. package/projects/storybook-host/src/stories/assets/tutorials.svg +1 -0
  42. package/projects/storybook-host/src/stories/assets/youtube.svg +1 -0
  43. package/projects/storybook-host/src/stories/button.component.ts +50 -0
  44. package/projects/storybook-host/src/stories/button.css +30 -0
  45. package/projects/storybook-host/src/stories/button.stories.ts +49 -0
  46. package/projects/storybook-host/src/stories/header.component.ts +78 -0
  47. package/projects/storybook-host/src/stories/header.css +32 -0
  48. package/projects/storybook-host/src/stories/header.stories.ts +33 -0
  49. package/projects/storybook-host/src/stories/page.component.ts +84 -0
  50. package/projects/storybook-host/src/stories/page.css +68 -0
  51. package/projects/storybook-host/src/stories/page.stories.ts +32 -0
  52. package/projects/storybook-host/src/stories/user.ts +3 -0
  53. package/projects/storybook-host/src/styles.css +1 -0
  54. package/projects/storybook-host/tsconfig.app.json +15 -0
  55. package/projects/storybook-host/tsconfig.spec.json +15 -0
  56. package/src/lib/components/byte-button/byte-button-group/byte-button-group.css +27 -0
  57. package/src/lib/components/byte-button/byte-button-group/byte-button-group.html +6 -0
  58. package/src/lib/components/byte-button/byte-button-group/byte-button-group.spec.ts +22 -0
  59. package/src/lib/components/byte-button/byte-button-group/byte-button-group.ts +35 -0
  60. package/src/lib/components/byte-button/byte-button.css +0 -0
  61. package/src/lib/components/byte-button/byte-button.directive.ts +17 -0
  62. package/src/lib/components/byte-button/byte-button.html +29 -0
  63. package/src/lib/components/byte-button/byte-button.module.ts +19 -0
  64. package/src/lib/components/byte-button/byte-button.stories.ts +449 -0
  65. package/src/lib/components/byte-button/byte-button.ts +129 -0
  66. package/src/lib/components/byte-dialog/byte-dialog.css +0 -0
  67. package/src/lib/components/byte-dialog/byte-dialog.directive.ts +21 -0
  68. package/src/lib/components/byte-dialog/byte-dialog.html +47 -0
  69. package/src/lib/components/byte-dialog/byte-dialog.module.ts +21 -0
  70. package/src/lib/components/byte-dialog/byte-dialog.spec.ts +22 -0
  71. package/src/lib/components/byte-dialog/byte-dialog.ts +121 -0
  72. package/src/lib/components/byte-dialog/byte.dialog.stories.ts +215 -0
  73. package/src/lib/components/byte-input/byte-input.css +29 -0
  74. package/src/lib/components/byte-input/byte-input.html +58 -0
  75. package/src/lib/components/byte-input/byte-input.spec.ts +22 -0
  76. package/src/lib/components/byte-input/byte-input.stories.ts +60 -0
  77. package/src/lib/components/byte-input/byte-input.ts +97 -0
  78. package/src/lib/components/byte-select/byte-select.css +16 -0
  79. package/src/lib/components/byte-select/byte-select.directive.ts +61 -0
  80. package/src/lib/components/byte-select/byte-select.html +101 -0
  81. package/src/lib/components/byte-select/byte-select.module.ts +26 -0
  82. package/src/lib/components/byte-select/byte-select.spec.ts +22 -0
  83. package/src/lib/components/byte-select/byte-select.stories.ts +194 -0
  84. package/src/lib/components/byte-select/byte-select.ts +168 -0
  85. package/src/lib/components/byte-select/index.ts +3 -0
  86. package/src/lib/components/byte-sidebar/byte-sidebar.css +0 -0
  87. package/src/lib/components/byte-sidebar/byte-sidebar.directive.ts +11 -0
  88. package/src/lib/components/byte-sidebar/byte-sidebar.html +31 -0
  89. package/src/lib/components/byte-sidebar/byte-sidebar.module.ts +16 -0
  90. package/src/lib/components/byte-sidebar/byte-sidebar.spec.ts +22 -0
  91. package/src/lib/components/byte-sidebar/byte-sidebar.stories.ts +190 -0
  92. package/src/lib/components/byte-sidebar/byte-sidebar.ts +108 -0
  93. package/src/lib/components/byte-table/byte-table.css +0 -0
  94. package/src/lib/components/byte-table/byte-table.directive.ts +49 -0
  95. package/src/lib/components/byte-table/byte-table.html +102 -0
  96. package/src/lib/components/byte-table/byte-table.module.ts +33 -0
  97. package/src/lib/components/byte-table/byte-table.spec.ts +22 -0
  98. package/src/lib/components/byte-table/byte-table.stories.ts +296 -0
  99. package/src/lib/components/byte-table/byte-table.ts +162 -0
  100. package/src/lib/components/calendar/calendar.css +16 -0
  101. package/src/lib/components/calendar/calendar.html +15 -0
  102. package/src/lib/components/calendar/calendar.spec.ts +22 -0
  103. package/src/lib/components/calendar/calendar.stories.ts +153 -0
  104. package/src/lib/components/calendar/calendar.ts +89 -0
  105. package/src/lib/components/select/select.css +16 -0
  106. package/src/lib/components/select/select.html +14 -0
  107. package/src/lib/components/select/select.spec.ts +22 -0
  108. package/src/lib/components/select/select.ts +73 -0
  109. package/src/lib/config/empresa-ui.token.ts +5 -0
  110. package/src/lib/providers/empresa-ui-config.ts +8 -0
  111. package/src/lib/providers/provide-empresa-ui.ts +42 -0
  112. package/src/lib/themes/CRM-Theme.ts +34 -0
  113. package/src/lib/themes/aura.ts +3 -0
  114. package/src/lib/themes/index.ts +2 -0
  115. package/src/lib/themes/registry.ts +9 -0
  116. package/src/lib/utils/inject-prime-icons.ts +12 -0
  117. package/src/public-api.ts +30 -0
  118. package/tsconfig.json +45 -0
  119. package/tsconfig.lib.json +11 -0
  120. package/tsconfig.lib.prod.json +9 -0
  121. 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,12 @@
1
+ {
2
+ "printWidth": 100,
3
+ "singleQuote": true,
4
+ "overrides": [
5
+ {
6
+ "files": "*.html",
7
+ "options": {
8
+ "parser": "angular"
9
+ }
10
+ }
11
+ ]
12
+ }
@@ -0,0 +1,4 @@
1
+ {
2
+ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846
3
+ "recommendations": ["angular.ng-template"]
4
+ }
@@ -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
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ // For more information, visit: https://angular.dev/ai/mcp
3
+ "servers": {
4
+ "angular-cli": {
5
+ "command": "npx",
6
+ "args": ["-y", "@angular/cli", "mcp"]
7
+ }
8
+ }
9
+ }
@@ -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
+ }
@@ -0,0 +1,11 @@
1
+ {
2
+ "$schema": "./node_modules/ng-packagr/ng-package.schema.json",
3
+ "dest": "./dist/shared-ui",
4
+ "lib": {
5
+ "entryFile": "src/public-api.ts"
6
+ },
7
+ "allowedNonPeerDependencies": [
8
+ "primeng",
9
+ "@primeuix/themes"
10
+ ]
11
+ }
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;