From b02c885b8387dd0bbc2fc0d09828c6c9c15eaa48 Mon Sep 17 00:00:00 2001 From: Josep Piguillem Date: Fri, 31 Jul 2026 20:47:15 +0200 Subject: [PATCH] prepara update --- .gitignore | 3 + .npmrc.example | 21 ++ apps/playground/src/app/app.config.ts | 12 +- apps/playground/src/app/app.html | 33 +- apps/playground/src/app/app.scss | 24 ++ apps/playground/src/app/app.ts | 26 +- .../src/app/pages/catalog/catalog.page.html | 63 ++++ .../src/app/pages/catalog/catalog.page.ts | 28 ++ libs/ui/README.md | 10 +- libs/ui/docs/theming.pdf | Bin 0 -> 329615 bytes libs/ui/project.json | 17 + libs/ui/src/index.ts | 15 +- .../styles/common/components/_pi-popover.scss | 17 + .../lib/styles/common/components/index.scss | 1 + .../styles/common/vendors/_mat-drawer.scss | 40 +++ .../common/vendors/_mat-form-field.scss | 29 ++ .../src/lib/styles/common/vendors/index.scss | 1 + libs/ui/src/lib/styles/configs.ts | 4 + libs/ui/src/lib/styles/themes/_gradient.scss | 49 +++ libs/ui/src/lib/styles/themes/_minimal.scss | 50 +++ libs/ui/src/lib/styles/themes/index.scss | 8 +- .../ui/avatar/avatar/avatar.component.html | 7 + .../ui/avatar/avatar/avatar.component.scss | 73 ++++ .../lib/ui/avatar/avatar/avatar.component.ts | 60 ++++ libs/ui/src/lib/ui/avatar/index.ts | 1 + .../lib/ui/badge/badge/badge.component.html | 9 + .../lib/ui/badge/badge/badge.component.scss | 97 ++++++ .../src/lib/ui/badge/badge/badge.component.ts | 60 ++++ libs/ui/src/lib/ui/badge/index.ts | 1 + .../icon-button/icon-button.component.html | 4 +- .../icon-button/icon-button.component.scss | 8 + .../base-data-table.component.ts | 13 +- .../data-table-item.component.ts | 10 - .../ui/drawer/drawer/drawer.component.html | 10 + .../ui/drawer/drawer/drawer.component.scss | 21 ++ .../lib/ui/drawer/drawer/drawer.component.ts | 31 ++ .../lib/ui/drawer/entities/drawer-configs.ts | 41 +++ .../lib/ui/drawer/entities/drawer.model.ts | 6 + libs/ui/src/lib/ui/drawer/index.ts | 9 + libs/ui/src/lib/ui/drawer/utils.ts | 16 + libs/ui/src/lib/ui/notification/index.ts | 6 - .../state/notification.actions.ts | 29 -- .../state/notification.effects.ts | 62 ---- libs/ui/src/lib/ui/popover/index.ts | 1 + .../src/lib/ui/popover/popover.directive.ts | 226 +++++++++++++ .../application/device-configs.facade.ts | 45 ++- libs/ui/src/lib/util/device-configs/index.ts | 9 - .../services/device-configs.service.ts | 77 ++--- .../state/device-configs.actions.ts | 21 -- .../state/device-configs.effects.ts | 36 -- .../state/device-configs.reducer.ts | 32 -- .../state/device-configs.selectors.ts | 24 -- .../application/list-configs.facade.ts | 28 +- libs/ui/src/lib/util/list-configs/index.ts | 5 - .../state/list-configs.actions.ts | 15 - .../state/list-configs.reducer.ts | 25 -- .../state/list-configs.selectors.ts | 11 - .../util/loaders/aplication/loader.facade.ts | 30 +- libs/ui/src/lib/util/loaders/index.ts | 8 - .../lib/util/loaders/state/loader.actions.ts | 6 - .../lib/util/loaders/state/loader.reducer.ts | 40 --- .../util/loaders/state/loader.selectors.ts | 11 - .../lib/util/loaders/util-loader.module.ts | 16 - .../router-store/custom-route-serializer.ts | 31 -- libs/ui/src/lib/util/router-store/index.ts | 9 +- .../lib/util/router-store/router.facade.ts | 55 ++++ .../util/router-store/state/router.actions.ts | 29 -- .../util/router-store/state/router.effects.ts | 74 ----- .../util/router-store/state/router.reducer.ts | 16 - .../router-store/state/router.selectors.ts | 18 - .../router-store/util-router-store.module.ts | 16 - libs/ui/tsconfig.lib.publish.json | 6 + package-lock.json | 311 +++++++++--------- package.json | 6 +- 74 files changed, 1379 insertions(+), 883 deletions(-) create mode 100644 .npmrc.example create mode 100644 libs/ui/docs/theming.pdf create mode 100644 libs/ui/src/lib/styles/common/components/_pi-popover.scss create mode 100644 libs/ui/src/lib/styles/common/vendors/_mat-drawer.scss create mode 100644 libs/ui/src/lib/styles/themes/_gradient.scss create mode 100644 libs/ui/src/lib/styles/themes/_minimal.scss create mode 100644 libs/ui/src/lib/ui/avatar/avatar/avatar.component.html create mode 100644 libs/ui/src/lib/ui/avatar/avatar/avatar.component.scss create mode 100644 libs/ui/src/lib/ui/avatar/avatar/avatar.component.ts create mode 100644 libs/ui/src/lib/ui/avatar/index.ts create mode 100644 libs/ui/src/lib/ui/badge/badge/badge.component.html create mode 100644 libs/ui/src/lib/ui/badge/badge/badge.component.scss create mode 100644 libs/ui/src/lib/ui/badge/badge/badge.component.ts create mode 100644 libs/ui/src/lib/ui/badge/index.ts create mode 100644 libs/ui/src/lib/ui/drawer/drawer/drawer.component.html create mode 100644 libs/ui/src/lib/ui/drawer/drawer/drawer.component.scss create mode 100644 libs/ui/src/lib/ui/drawer/drawer/drawer.component.ts create mode 100644 libs/ui/src/lib/ui/drawer/entities/drawer-configs.ts create mode 100644 libs/ui/src/lib/ui/drawer/entities/drawer.model.ts create mode 100644 libs/ui/src/lib/ui/drawer/index.ts create mode 100644 libs/ui/src/lib/ui/drawer/utils.ts delete mode 100644 libs/ui/src/lib/ui/notification/state/notification.actions.ts delete mode 100644 libs/ui/src/lib/ui/notification/state/notification.effects.ts create mode 100644 libs/ui/src/lib/ui/popover/index.ts create mode 100644 libs/ui/src/lib/ui/popover/popover.directive.ts delete mode 100644 libs/ui/src/lib/util/device-configs/state/device-configs.actions.ts delete mode 100644 libs/ui/src/lib/util/device-configs/state/device-configs.effects.ts delete mode 100644 libs/ui/src/lib/util/device-configs/state/device-configs.reducer.ts delete mode 100644 libs/ui/src/lib/util/device-configs/state/device-configs.selectors.ts delete mode 100644 libs/ui/src/lib/util/list-configs/state/list-configs.actions.ts delete mode 100644 libs/ui/src/lib/util/list-configs/state/list-configs.reducer.ts delete mode 100644 libs/ui/src/lib/util/list-configs/state/list-configs.selectors.ts delete mode 100644 libs/ui/src/lib/util/loaders/state/loader.actions.ts delete mode 100644 libs/ui/src/lib/util/loaders/state/loader.reducer.ts delete mode 100644 libs/ui/src/lib/util/loaders/state/loader.selectors.ts delete mode 100644 libs/ui/src/lib/util/loaders/util-loader.module.ts delete mode 100644 libs/ui/src/lib/util/router-store/custom-route-serializer.ts create mode 100644 libs/ui/src/lib/util/router-store/router.facade.ts delete mode 100644 libs/ui/src/lib/util/router-store/state/router.actions.ts delete mode 100644 libs/ui/src/lib/util/router-store/state/router.effects.ts delete mode 100644 libs/ui/src/lib/util/router-store/state/router.reducer.ts delete mode 100644 libs/ui/src/lib/util/router-store/state/router.selectors.ts delete mode 100644 libs/ui/src/lib/util/router-store/util-router-store.module.ts create mode 100644 libs/ui/tsconfig.lib.publish.json diff --git a/.gitignore b/.gitignore index f7f5069..56a79ef 100644 --- a/.gitignore +++ b/.gitignore @@ -8,6 +8,9 @@ out-tsc # dependencies node_modules +# Credenciales de registro npm (Nexus u otro). Ver .npmrc.example. +.npmrc + # IDEs and editors /.idea .project diff --git a/.npmrc.example b/.npmrc.example new file mode 100644 index 0000000..d3df147 --- /dev/null +++ b/.npmrc.example @@ -0,0 +1,21 @@ +# Copia este fichero a `.npmrc` (en la raíz del repo) y rellena los valores +# reales de tu Nexus. `.npmrc` está en .gitignore: nunca se commitea un token. +# +# Solo hace falta esto para PUBLICAR @pi/ui. Instalar paquetes públicos +# (@angular/*, rxjs, etc.) sigue yendo contra el registro público de npm salvo +# que tu Nexus también actúe de proxy/group para el scope por defecto. + +# Redirige solo el scope @pi al repositorio npm (hosted) de Nexus. +# Cambia la URL por la de tu instancia y el nombre de tu repo npm-hosted. +@pi:registry=https://nexus.tuempresa.com/repository/npm-private/ + +# Autenticación por token (recomendado, funciona igual en local y en CI). +# El token se genera en Nexus: usuario > Security > NuGet/npm token, o vía +# `npm login --registry=https://nexus.tuempresa.com/repository/npm-private/` +# (esto último escribe la línea de abajo automáticamente en tu ~/.npmrc). +//nexus.tuempresa.com/repository/npm-private/:_authToken=${NEXUS_NPM_TOKEN} + +# Nexus no es el registro público de npm: sin este flag, `npm publish` +# rechaza paquetes con scope si no lleva --access, y con un registro privado +# "restricted" es lo correcto (no lo confundas con "hazlo público en npmjs"). +always-auth=true diff --git a/apps/playground/src/app/app.config.ts b/apps/playground/src/app/app.config.ts index 62ef223..ce1cd7e 100644 --- a/apps/playground/src/app/app.config.ts +++ b/apps/playground/src/app/app.config.ts @@ -6,7 +6,6 @@ import { } from '@angular/core'; import { provideAnimationsAsync } from '@angular/platform-browser/animations/async'; import { provideRouter, withInMemoryScrolling } from '@angular/router'; -import { provideStore } from '@ngrx/store'; import { routes } from './app.routes'; import { @@ -16,7 +15,7 @@ import { } from '@ngx-translate/core'; import { Observable, of } from 'rxjs'; -import { IconRegistryService, deviceConfigsReducer, featureKey } from '@pi/ui'; +import { DeviceConfigsService, IconRegistryService } from '@pi/ui'; /** * Diccionario en línea: la librería resuelve los textos con `| translate`, y @@ -62,12 +61,15 @@ export const appConfig: ApplicationConfig = { // Los iconos son SVG registrados en el MatIconRegistry (assets/icons). provideAppInitializer(() => inject(IconRegistryService).init()), + // data-table, carousel y background-image leen el tipo de dispositivo; + // instanciarlo arranca el listener de breakpoints. + provideAppInitializer(() => { + inject(DeviceConfigsService); + }), + provideTranslateService({ fallbackLang: 'es', loader: { provide: TranslateLoader, useClass: PlaygroundTranslateLoader }, }), - - // data-table y background-image leen el tipo de dispositivo del store. - provideStore({ [featureKey]: deviceConfigsReducer }), ], }; diff --git a/apps/playground/src/app/app.html b/apps/playground/src/app/app.html index 8740f0d..a812adf 100644 --- a/apps/playground/src/app/app.html +++ b/apps/playground/src/app/app.html @@ -9,10 +9,19 @@
- +
+ @for (option of themeOptions; track option.value) { + + } +