@processpuzzle/widgets 0.1.2 → 0.2.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.
Files changed (30) hide show
  1. package/fesm2022/processpuzzle-widgets-mat-cards-grid.mjs +3 -3
  2. package/fesm2022/processpuzzle-widgets-mat-cards-grid.mjs.map +1 -1
  3. package/fesm2022/processpuzzle-widgets.mjs +101 -108
  4. package/fesm2022/processpuzzle-widgets.mjs.map +1 -1
  5. package/package.json +20 -11
  6. package/types/processpuzzle-widgets-mat-cards-grid.d.ts +29 -0
  7. package/types/processpuzzle-widgets.d.ts +233 -0
  8. package/app-property/app-property-store.provider.d.ts +0 -2
  9. package/app-property/app-property.d.ts +0 -10
  10. package/app-property/app-property.mapper.d.ts +0 -6
  11. package/app-property/app-property.service.d.ts +0 -7
  12. package/app-property/app-property.store.d.ts +0 -64
  13. package/index.d.ts +0 -5
  14. package/language-selector/language-config.d.ts +0 -9
  15. package/language-selector/language-selector-list.component.d.ts +0 -12
  16. package/language-selector/language-selector.component.d.ts +0 -9
  17. package/language-selector/transloco.loader.d.ts +0 -11
  18. package/like-button/like-button.component.d.ts +0 -77
  19. package/mat-cards-grid/index.d.ts +0 -5
  20. package/mat-cards-grid/public-api.d.ts +0 -3
  21. package/mat-cards-grid/src/action-spec.d.ts +0 -7
  22. package/mat-cards-grid/src/cards-spec.d.ts +0 -8
  23. package/mat-cards-grid/src/mat-cards-grid.component.d.ts +0 -10
  24. package/navigate-back/navigate-back.component.d.ts +0 -8
  25. package/navigate-back/navigate-back.service.d.ts +0 -14
  26. package/public-api.d.ts +0 -13
  27. package/share-button/share-button.component.d.ts +0 -9
  28. package/share-button/share-button.module.d.ts +0 -6
  29. package/widgets.module.d.ts +0 -7
  30. package/widgets.routes.d.ts +0 -2
@@ -1 +1 @@
1
- {"version":3,"file":"processpuzzle-widgets.mjs","sources":["../../../../libs/widgets/src/app-property/app-property.ts","../../../../libs/widgets/src/app-property/app-property.service.ts","../../../../libs/widgets/src/app-property/app-property.store.ts","../../../../libs/widgets/src/language-selector/language-selector-list.component.ts","../../../../libs/widgets/src/language-selector/language-selector.component.ts","../../../../libs/widgets/src/like-button/like-button.component.ts","../../../../libs/widgets/src/navigate-back/navigate-back.service.ts","../../../../libs/widgets/src/navigate-back/navigate-back.component.ts","../../../../libs/widgets/src/app-property/app-property.mapper.ts","../../../../libs/widgets/src/app-property/app-property-store.provider.ts","../../../../libs/widgets/src/share-button/share-button.component.ts","../../../../libs/widgets/src/share-button/share-button.module.ts","../../../../libs/widgets/src/language-selector/transloco.loader.ts","../../../../libs/widgets/src/widgets.module.ts","../../../../libs/widgets/src/widgets.routes.ts","../../../../libs/widgets/src/public-api.ts","../../../../libs/widgets/src/processpuzzle-widgets.ts"],"sourcesContent":["import { BaseEntity } from '@processpuzzle/base-entity';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport class ApplicationProperty implements BaseEntity {\n readonly id: string;\n private readonly propertyName: string;\n private propertyValue: string;\n\n constructor(id?: string, name?: string, value?: string) {\n this.id = id ?? uuidv4();\n this.propertyName = name ?? '';\n this.propertyValue = value ?? '';\n }\n\n // region properties\n public get name() {\n return this.propertyName;\n }\n\n public get value() {\n return this.propertyValue;\n }\n\n public set value(newValue: string) {\n this.propertyValue = newValue;\n }\n\n // endregion\n}\n","import { ApplicationProperty } from './app-property';\nimport { BaseEntityFirestoreService } from '@processpuzzle/base-entity';\nimport { ApplicationPropertyMapper } from './app-property.mapper';\n\nexport class ApplicationPropertyService extends BaseEntityFirestoreService<ApplicationProperty> {\n constructor(protected override entityMapper: ApplicationPropertyMapper) {\n super(entityMapper, 'application-properties');\n }\n}\n","import { signalStore } from '@ngrx/signals';\nimport { BaseEntityContainerStore, BaseEntityStore, BaseEntityTabsStore, BaseFormNavigatorStore } from '@processpuzzle/base-entity';\nimport { ApplicationProperty } from './app-property';\nimport { ApplicationPropertyService } from './app-property.service';\n\nexport const ApplicationPropertyStore = signalStore(\n { providedIn: 'root' },\n BaseEntityStore<ApplicationProperty>(ApplicationProperty, ApplicationPropertyService),\n BaseFormNavigatorStore('ApplicationProperty'),\n BaseEntityTabsStore(),\n BaseEntityContainerStore(),\n);\n","import { Component, inject, output } from '@angular/core';\nimport { RUNTIME_CONFIGURATION } from '@processpuzzle/util';\nimport { LanguageConfig } from './language-config';\nimport { provideTranslocoScope, TranslocoDirective, TranslocoService } from '@jsverse/transloco';\nimport { NgClass, NgForOf } from '@angular/common';\nimport { MatListOption, MatSelectionList, MatSelectionListChange } from '@angular/material/list';\n\n@Component({\n selector: 'pp-language-selector-list',\n template: `\n <ng-container *transloco=\"let t\">\n <div class=\"language-selector\">\n <mat-selection-list #selectionList (selectionChange)=\"onSelectionChange($event)\" [multiple]=\"false\">\n <mat-list-option\n *ngFor=\"let language of languages\"\n [value]=\"language.code\"\n [selected]=\"selectedLanguage === language.code\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"selectedLanguage === language.code ? 'true' : 'false'\"\n >\n <span [ngClass]=\"language.flag\">&nbsp;-&nbsp;</span>\n <span>{{ t('widgets.' + language.label) }}</span>\n </mat-list-option>\n </mat-selection-list>\n </div>\n </ng-container>\n `,\n styleUrls: ['language-selector-list.component.css'],\n imports: [NgClass, NgForOf, TranslocoDirective, MatListOption, MatSelectionList],\n providers: [provideTranslocoScope('widgets')],\n})\nexport class LanguageSelectorListComponent {\n private readonly translocoService = inject(TranslocoService);\n private readonly runtimeConfiguration: LanguageConfig = inject(RUNTIME_CONFIGURATION);\n readonly languages = this.runtimeConfiguration.AVAILABLE_LANGUAGES;\n languageSelected = output<void>();\n selectedLanguage = this.translocoService.getActiveLang();\n\n // region event handling methods\n onSelectionChange(event: MatSelectionListChange) {\n const selectedOption = event.source;\n const selectedValue = selectedOption.selectedOptions.selected[0]?.value;\n\n if (this.selectedLanguage !== selectedValue) {\n this.translocoService.setActiveLang(selectedValue);\n this.selectedLanguage = selectedValue;\n this.languageSelected.emit();\n }\n }\n\n // endregion\n}\n","import { Component } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { LanguageSelectorListComponent } from './language-selector-list.component';\nimport { provideTranslocoScope } from '@jsverse/transloco';\n\n@Component({\n selector: 'pp-language-selector',\n template: `\n <div>\n <button mat-icon-button (click)=\"onSelectLanguage()\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" aria-label=\"Select Language Button\">\n <mat-icon>language</mat-icon>\n </button>\n </div>\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"isOpen\" [cdkConnectedOverlayHasBackdrop]=\"true\" (backdropClick)=\"onClose()\">\n <div class=\"language-selector-container\">\n <pp-language-selector-list (languageSelected)=\"onClose()\" />\n </div>\n </ng-template>\n `,\n styleUrls: ['./language-selector.component.css'],\n imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, LanguageSelectorListComponent],\n providers: [provideTranslocoScope({ scope: 'widgets' })],\n})\nexport class LanguageSelectorComponent {\n isOpen = false;\n\n // region Event handler methods\n onClose(): void {\n this.isOpen = false;\n }\n\n onSelectLanguage(): void {\n this.toggleIsOpen();\n }\n\n // endregion\n\n // region protected, private helper methods\n private toggleIsOpen(): void {\n this.isOpen = !this.isOpen;\n }\n\n // endregion\n}\n","import { Component, computed, effect, inject } from '@angular/core';\nimport { ApplicationPropertyStore } from '../app-property/app-property.store';\nimport { ApplicationProperty } from '../app-property/app-property';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'pp-like-button',\n template: `\n <div class=\"like-button\">\n <button mat-icon-button (click)=\"onLike()\" aria-label=\"Like Button\">\n <mat-icon>favorite</mat-icon>\n </button>\n <span>{{ likesCount()?.value }}</span>\n </div>\n `,\n styleUrls: ['./like-button.component.css'],\n imports: [MatIcon, MatIconButton],\n})\nexport class LikeButtonComponent {\n private readonly LIKES_PROPERTY = 'likes';\n likesCount = computed(() => this.store.entities().find((property) => property.name === this.LIKES_PROPERTY));\n readonly store = inject(ApplicationPropertyStore);\n\n constructor(private readonly snackBar: MatSnackBar) {\n this.configureEffects();\n }\n\n // region event handling methods\n onLike(): void {\n const count = this.likesCount();\n if (count) {\n count.value = (parseInt(count.value, 10) + 1).toString();\n this.store.update(count);\n } else {\n this.store.add(new ApplicationProperty(undefined, this.LIKES_PROPERTY, '1'));\n }\n }\n\n // endregion\n\n // region protected, private helper methods\n private configureEffects() {\n effect(() => {\n const currentError = this.store.error();\n\n if (currentError) {\n this.showErrorMessage(currentError);\n this.store.resetErrorState();\n }\n });\n }\n\n private showErrorMessage(error: string): void {\n this.snackBar.open(error, 'Close', {\n duration: 5000,\n panelClass: ['error-snackbar'],\n });\n }\n}\n","import { Injectable } from '@angular/core';\nimport { Stack } from '@processpuzzle/util';\nimport { NavigationEnd, Router } from '@angular/router';\n\n@Injectable({ providedIn: 'root' })\nexport class NavigateBackService {\n private readonly routeHistory = new Stack<string>();\n\n constructor(private readonly router: Router) {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.addRouteToStack(event.urlAfterRedirects); // Add the current route to the stack\n }\n });\n }\n\n // region public accessor methods\n public goBack(): void {\n if (this.routeHistory.size() > 1) {\n this.routeHistory.pop(); // Remove current route\n const previousRoute = this.routeHistory.pop(); // Get the previous route\n if (previousRoute) {\n this.router.navigateByUrl(previousRoute); // Navigate to the previous route\n }\n } else {\n console.log('No previous routes to navigate back to.');\n }\n }\n\n public getRouteStack(): Stack<string> {\n return this.routeHistory;\n }\n\n public clearHistory(): void {\n this.routeHistory.clear();\n }\n\n // endregion\n\n // protected, private helper methods\n private addRouteToStack(route: string): void {\n if (this.routeHistory.size() === 0 || this.routeHistory.peek() !== route) {\n this.routeHistory.push(route);\n }\n }\n\n // endregion\n}\n","import { Component, inject } from '@angular/core';\nimport { NavigateBackService } from './navigate-back.service';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\n\n@Component({\n selector: 'pp-navigate-back',\n imports: [MatIcon, MatIconButton],\n template: `\n <button mat-icon-button aria-label=\"Go back\" (click)=\"onNavigateBack()\">\n <mat-icon class=\"material-symbols-outlined fat-back-arrow\">arrow_back</mat-icon>\n </button>\n `,\n styles: [\n `\n .fat-back-arrow {\n font-size: 24px; /* Größerer und fetterer Pfeil */\n font-variation-settings: 'wght' 1200; /* Fettigkeitsgrad (700 = fett) */\n color: #000; /* Schwarz als Farbe */\n }\n `,\n ],\n})\nexport class NavigateBackComponent {\n readonly service = inject(NavigateBackService);\n\n // region event handling methods\n onNavigateBack(): void {\n this.service.goBack(); // Call the service to handle navigation\n }\n\n // endregion\n}\n","import { ApplicationProperty } from './app-property';\nimport { BaseEntityMapper } from '@processpuzzle/base-entity';\n\nexport class ApplicationPropertyMapper implements BaseEntityMapper<ApplicationProperty> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fromDto(dto: any): ApplicationProperty {\n return new ApplicationProperty(dto.id, dto.name, dto.value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n toDto(entity: ApplicationProperty): any {\n return { id: entity.id, name: entity.name, value: entity.value };\n }\n}\n","import { ApplicationPropertyStore } from './app-property.store';\nimport { EnvironmentInjector, Provider } from '@angular/core';\nimport { ApplicationPropertyService } from './app-property.service';\nimport { ApplicationPropertyMapper } from './app-property.mapper';\n\nexport function provideAppPropertyStore(): Provider[] {\n return [\n { provide: ApplicationPropertyService, useFactory: () => new ApplicationPropertyService(new ApplicationPropertyMapper()), deps: [EnvironmentInjector] },\n { provide: ApplicationPropertyStore, useFactory: () => new ApplicationPropertyStore(), deps: [ApplicationPropertyService] },\n ];\n}\n","import { Component } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { ShareButtons } from 'ngx-sharebuttons/buttons';\n\n@Component({\n selector: 'pp-share-button',\n template: `\n <div>\n <button mat-icon-button (click)=\"onShare()\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" aria-label=\"Share Button\">\n <mat-icon>share</mat-icon>\n </button>\n </div>\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"isOpen\" [cdkConnectedOverlayHasBackdrop]=\"true\" (backdropClick)=\"onClose()\">\n <div class=\"share-buttons-container\">\n <share-buttons />\n </div>\n </ng-template>\n `,\n styleUrls: ['./share-button.component.css'],\n imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, ShareButtons],\n})\nexport class ShareButtonComponent {\n isOpen = false;\n\n // region Event handler methods\n onClose(): void {\n this.isOpen = false;\n }\n\n onShare(): void {\n this.toggleIsOpen();\n }\n\n // endregion\n\n // region protected, private helper methods\n private toggleIsOpen(): void {\n this.isOpen = !this.isOpen;\n }\n\n // endregion\n}\n","import { NgModule } from '@angular/core';\nimport { provideShareButtonsOptions } from 'ngx-sharebuttons';\nimport { shareIcons } from 'ngx-sharebuttons/icons';\n\n@NgModule({\n imports: [],\n declarations: [],\n providers: [provideShareButtonsOptions(shareIcons())],\n})\nexport class ShareButtonModule {}\n","import { Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Translation, TranslocoLoader } from '@jsverse/transloco';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslocoHttpLoader implements TranslocoLoader {\n constructor(private readonly http: HttpClient) {}\n\n getTranslation(lang: string): Observable<Translation> {\n const path = `/assets/i18n/${lang}.json`;\n console.log(`Loading translations from: ${path}`);\n return this.http.get<Translation>(path);\n }\n}\n","import { provideTransloco, TranslocoModule } from '@jsverse/transloco';\nimport { isDevMode, NgModule } from '@angular/core';\nimport { provideShareButtonsOptions } from 'ngx-sharebuttons';\nimport { shareIcons } from 'ngx-sharebuttons/icons';\nimport { TranslocoHttpLoader } from './language-selector/transloco.loader';\n\n@NgModule({\n imports: [TranslocoModule],\n exports: [TranslocoModule],\n providers: [\n provideShareButtonsOptions(shareIcons()),\n // provideI18Configuration(),\n provideTransloco({\n config: {\n availableLangs: ['de', 'en', 'es', 'fr', 'hu'],\n defaultLang: 'en',\n fallbackLang: ['en'],\n reRenderOnLangChange: true,\n prodMode: !isDevMode(),\n },\n loader: TranslocoHttpLoader,\n }),\n ],\n})\nexport class WidgetsModule {}\n","import { Routes } from '@angular/router';\nimport { LanguageSelectorComponent } from './language-selector/language-selector.component';\n\nexport const widgetsRoutes: Routes = [{ path: 'anything', component: LanguageSelectorComponent }];\n","/*\n * Public API Surface of @processpuzzle/widgets\n */\n\nexport { ApplicationProperty } from './app-property/app-property';\nexport { ApplicationPropertyStore } from './app-property/app-property.store';\nexport { LanguageConfig, LanguageDefinition } from './language-selector/language-config';\nexport { LanguageSelectorComponent } from './language-selector/language-selector.component';\nexport { LikeButtonComponent } from './like-button/like-button.component';\nexport { NavigateBackComponent } from './navigate-back/navigate-back.component';\nexport { NavigateBackService } from './navigate-back/navigate-back.service';\nexport { provideAppPropertyStore } from './app-property/app-property-store.provider';\nexport { ShareButtonComponent } from './share-button/share-button.component';\nexport { ShareButtonModule } from './share-button/share-button.module';\nexport { TranslocoHttpLoader } from './language-selector/transloco.loader';\nexport { WidgetsModule } from './widgets.module';\nexport { widgetsRoutes } from './widgets.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i1"],"mappings":"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"}
1
+ {"version":3,"file":"processpuzzle-widgets.mjs","sources":["../../../../libs/widgets/src/app-property/app-property.ts","../../../../libs/widgets/src/app-property/app-property.service.ts","../../../../libs/widgets/src/app-property/app-property.store.ts","../../../../libs/widgets/src/language-selector/language-selector-list.component.ts","../../../../libs/widgets/src/language-selector/language-selector.component.ts","../../../../libs/widgets/src/like-button/like-button.component.ts","../../../../libs/widgets/src/navigate-back/navigate-back.service.ts","../../../../libs/widgets/src/navigate-back/navigate-back.component.ts","../../../../libs/widgets/src/app-property/app-property.mapper.ts","../../../../libs/widgets/src/app-property/app-property-store.provider.ts","../../../../libs/widgets/src/share-button/share-button.component.ts","../../../../libs/widgets/src/share-button/share-button.module.ts","../../../../libs/widgets/src/language-selector/transloco.loader.ts","../../../../libs/widgets/src/widgets.module.ts","../../../../libs/widgets/src/widgets.routes.ts","../../../../libs/widgets/src/public-api.ts","../../../../libs/widgets/src/processpuzzle-widgets.ts"],"sourcesContent":["import { BaseEntity } from '@processpuzzle/base-entity';\nimport { v4 as uuidv4 } from 'uuid';\n\nexport class ApplicationProperty implements BaseEntity {\n readonly id: string;\n private readonly propertyName: string;\n private propertyValue: string;\n\n constructor(id?: string, name?: string, value?: string) {\n this.id = id ?? uuidv4();\n this.propertyName = name ?? '';\n this.propertyValue = value ?? '';\n }\n\n // region properties\n public get name() {\n return this.propertyName;\n }\n\n public get value() {\n return this.propertyValue;\n }\n\n public set value(newValue: string) {\n this.propertyValue = newValue;\n }\n\n // endregion\n}\n","import { ApplicationProperty } from './app-property';\nimport { BaseEntityFirestoreService } from '@processpuzzle/base-entity';\nimport { ApplicationPropertyMapper } from './app-property.mapper';\n\nexport class ApplicationPropertyService extends BaseEntityFirestoreService<ApplicationProperty> {\n constructor(protected override entityMapper: ApplicationPropertyMapper) {\n super(entityMapper, 'application-properties');\n }\n}\n","import { signalStore } from '@ngrx/signals';\nimport { BaseEntityContainerStore, BaseEntityStore, BaseEntityTabsStore, BaseFormNavigatorStore } from '@processpuzzle/base-entity';\nimport { ApplicationProperty } from './app-property';\nimport { ApplicationPropertyService } from './app-property.service';\n\nexport const ApplicationPropertyStore = signalStore(\n { providedIn: 'root' },\n BaseEntityStore<ApplicationProperty>(ApplicationProperty, ApplicationPropertyService),\n BaseFormNavigatorStore('ApplicationProperty'),\n BaseEntityTabsStore(),\n BaseEntityContainerStore(),\n);\n","import { Component, inject, output } from '@angular/core';\nimport { RUNTIME_CONFIGURATION } from '@processpuzzle/util';\nimport { provideTranslocoScope, TranslocoDirective, TranslocoService } from '@jsverse/transloco';\nimport { NgClass } from '@angular/common';\nimport { MatListOption, MatSelectionList, MatSelectionListChange } from '@angular/material/list';\nimport { LanguageConfig } from './language-config';\n\n@Component({\n selector: 'pp-language-selector-list',\n template: `\n <ng-container *transloco=\"let t\">\n <div class=\"language-selector\">\n <mat-selection-list #selectionList (selectionChange)=\"onSelectionChange($event)\" [multiple]=\"false\">\n @for (language of languages; track language.code) {\n <mat-list-option\n [value]=\"language.code\"\n [selected]=\"selectedLanguage === language.code\"\n tabindex=\"0\"\n role=\"option\"\n [attr.aria-selected]=\"selectedLanguage === language.code ? 'true' : 'false'\"\n >\n <span [ngClass]=\"language.flag\">&nbsp;-&nbsp;</span>\n <span class=\"language-label\">{{ t('widgets.' + language.label) }}</span>\n </mat-list-option>\n }\n </mat-selection-list>\n </div>\n </ng-container>\n `,\n styleUrls: ['language-selector-list.component.css'],\n imports: [NgClass, TranslocoDirective, MatListOption, MatSelectionList],\n providers: [provideTranslocoScope({ scope: 'widgets' })],\n})\nexport class LanguageSelectorListComponent {\n private readonly translocoService = inject(TranslocoService);\n private readonly runtimeConfiguration = inject(RUNTIME_CONFIGURATION) as { LANGUAGE_CONFIGURATION: LanguageConfig };\n readonly languages = this.runtimeConfiguration.LANGUAGE_CONFIGURATION.AVAILABLE_LANGUAGES;\n languageSelected = output<void>();\n private _selectedLanguage?: string;\n\n constructor() {\n this._selectedLanguage = this.translocoService.getActiveLang();\n }\n\n get selectedLanguage(): string {\n return this._selectedLanguage ?? this.translocoService.getActiveLang();\n }\n\n // region event handling methods\n onSelectionChange(event: MatSelectionListChange) {\n const selectedOption = event.source;\n const selectedValue = selectedOption.selectedOptions.selected[0]?.value;\n\n if (this.selectedLanguage !== selectedValue) {\n this.translocoService.setActiveLang(selectedValue);\n this._selectedLanguage = selectedValue;\n this.languageSelected.emit();\n }\n }\n\n // endregion\n}\n","import { Component } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { LanguageSelectorListComponent } from './language-selector-list.component';\nimport { provideTranslocoScope } from '@jsverse/transloco';\nimport { MatMenu, MatMenuTrigger } from '@angular/material/menu';\n\n@Component({\n selector: 'pp-language-selector',\n template: `\n <div class=\"language-selector-container\">\n <button mat-icon-button [matMenuTriggerFor]=\"langMenu\" aria-label=\"Select Language Button\">\n <mat-icon>language</mat-icon>\n </button>\n <mat-menu #langMenu=\"matMenu\">\n <ng-container (click)=\"$event.stopPropagation()\">\n <pp-language-selector-list (languageSelected)=\"langMenu.closed.emit()\" />\n </ng-container>\n </mat-menu>\n </div>\n `,\n styleUrls: ['./language-selector.component.css'],\n imports: [MatIcon, MatIconButton, LanguageSelectorListComponent, MatMenuTrigger, MatMenu],\n providers: [provideTranslocoScope({ scope: 'widgets' })],\n})\nexport class LanguageSelectorComponent {\n // region Event handler methods\n // endregion\n // region protected, private helper methods\n // endregion\n}\n","import { Component, computed, effect, inject } from '@angular/core';\nimport { ApplicationPropertyStore } from '../app-property/app-property.store';\nimport { ApplicationProperty } from '../app-property/app-property';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { MatSnackBar } from '@angular/material/snack-bar';\n\n@Component({\n selector: 'pp-like-button',\n template: `\n <div class=\"like-button\">\n <button mat-icon-button (click)=\"onLike()\" aria-label=\"Like Button\">\n <mat-icon>favorite</mat-icon>\n </button>\n <span>{{ likesCount()?.value }}</span>\n </div>\n `,\n styleUrls: ['./like-button.component.css'],\n imports: [MatIcon, MatIconButton],\n})\nexport class LikeButtonComponent {\n private readonly LIKES_PROPERTY = 'likes';\n private readonly snackBar = inject<MatSnackBar>(MatSnackBar);\n likesCount = computed(() => this.store.entities().find((property) => property.name === this.LIKES_PROPERTY));\n readonly store = inject(ApplicationPropertyStore);\n\n constructor() {\n this.configureEffects();\n }\n\n // region event handling methods\n onLike(): void {\n const count = this.likesCount();\n if (count) {\n count.value = (parseInt(count.value, 10) + 1).toString();\n this.store.update(count);\n } else {\n this.store.add(new ApplicationProperty(undefined, this.LIKES_PROPERTY, '1'));\n }\n }\n\n // endregion\n\n // region protected, private helper methods\n private configureEffects() {\n effect(() => {\n const currentError = this.store.error();\n\n if (currentError) {\n this.showErrorMessage(currentError);\n this.store.resetErrorState();\n }\n });\n }\n\n private showErrorMessage(error: string): void {\n this.snackBar.open(error, 'Close', {\n duration: 5000,\n panelClass: ['error-snackbar'],\n });\n }\n}\n","import { inject, Injectable } from '@angular/core';\nimport { Stack } from '@processpuzzle/util';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { BehaviorSubject } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class NavigateBackService {\n public noRouteAvailable = new BehaviorSubject<string>('');\n private readonly routeHistory = new Stack<string>();\n private readonly router = inject<Router>(Router);\n\n constructor() {\n this.router.events.subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.addRouteToStack(event.urlAfterRedirects); // Add the current route to the stack\n }\n });\n }\n\n // region public accessor methods\n public goBack(): void {\n if (this.routeHistory.size() > 1) {\n this.routeHistory.pop(); // Remove current route\n const previousRoute = this.routeHistory.pop(); // Get the previous route\n if (previousRoute) {\n this.router.navigateByUrl(previousRoute); // Navigate to the previous route\n }\n } else {\n console.log('No previous routes to navigate back to.');\n this.noRouteAvailable.next('No previous routes to navigate back to.');\n }\n }\n\n public getRouteStack(): Stack<string> {\n return this.routeHistory;\n }\n\n public clearHistory(): void {\n this.routeHistory.clear();\n }\n\n // endregion\n\n // protected, private helper methods\n private addRouteToStack(route: string): void {\n if (this.routeHistory.size() === 0 || this.routeHistory.peek() !== route) {\n this.routeHistory.push(route);\n }\n }\n\n // endregion\n}\n","import { Component, inject } from '@angular/core';\nimport { NavigateBackService } from './navigate-back.service';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\n\n@Component({\n selector: 'pp-navigate-back',\n imports: [MatIcon, MatIconButton],\n template: `\n <button mat-icon-button aria-label=\"Go back\" (click)=\"onNavigateBack()\">\n <mat-icon class=\"material-symbols-outlined fat-back-arrow\">arrow_back</mat-icon>\n </button>\n `,\n styles: [\n `\n .fat-back-arrow {\n font-size: 24px; /* Größerer und fetterer Pfeil */\n font-variation-settings: 'wght' 1200; /* Fettigkeitsgrad (700 = fett) */\n color: #000; /* Schwarz als Farbe */\n }\n `,\n ],\n})\nexport class NavigateBackComponent {\n readonly service = inject(NavigateBackService);\n\n // region event handling methods\n onNavigateBack(): void {\n this.service.goBack(); // Call the service to handle navigation\n }\n\n // endregion\n}\n","import { ApplicationProperty } from './app-property';\nimport { BaseEntityMapper } from '@processpuzzle/base-entity';\n\nexport class ApplicationPropertyMapper implements BaseEntityMapper<ApplicationProperty> {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n fromDto(dto: any): ApplicationProperty {\n return new ApplicationProperty(dto.id, dto.name, dto.value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n toDto(entity: ApplicationProperty): any {\n return { id: entity.id, name: entity.name, value: entity.value };\n }\n}\n","import { ApplicationPropertyStore } from './app-property.store';\nimport { EnvironmentInjector, Provider } from '@angular/core';\nimport { ApplicationPropertyService } from './app-property.service';\nimport { ApplicationPropertyMapper } from './app-property.mapper';\n\nexport function provideAppPropertyStore(): Provider[] {\n return [\n { provide: ApplicationPropertyService, useFactory: () => new ApplicationPropertyService(new ApplicationPropertyMapper()), deps: [EnvironmentInjector] },\n { provide: ApplicationPropertyStore, useFactory: () => new ApplicationPropertyStore(), deps: [ApplicationPropertyService] },\n ];\n}\n","import { Component } from '@angular/core';\nimport { MatIcon } from '@angular/material/icon';\nimport { MatIconButton } from '@angular/material/button';\nimport { CdkConnectedOverlay, CdkOverlayOrigin } from '@angular/cdk/overlay';\nimport { ShareButtons } from 'ngx-sharebuttons/buttons';\n\n@Component({\n selector: 'pp-share-button',\n template: `\n <div>\n <button mat-icon-button (click)=\"onShare()\" cdkOverlayOrigin #trigger=\"cdkOverlayOrigin\" aria-label=\"Share Button\">\n <mat-icon>share</mat-icon>\n </button>\n </div>\n <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]=\"trigger\" [cdkConnectedOverlayOpen]=\"isOpen\" [cdkConnectedOverlayHasBackdrop]=\"true\" (backdropClick)=\"onClose()\">\n <div class=\"share-buttons-container\">\n <share-buttons />\n </div>\n </ng-template>\n `,\n styleUrls: ['./share-button.component.css'],\n imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, ShareButtons],\n})\nexport class ShareButtonComponent {\n isOpen = false;\n\n // region Event handler methods\n onClose(): void {\n this.isOpen = false;\n }\n\n onShare(): void {\n this.toggleIsOpen();\n }\n\n // endregion\n\n // region protected, private helper methods\n private toggleIsOpen(): void {\n this.isOpen = !this.isOpen;\n }\n\n // endregion\n}\n","import { NgModule } from '@angular/core';\nimport { provideShareButtonsOptions } from 'ngx-sharebuttons';\nimport { shareIcons } from 'ngx-sharebuttons/icons';\n\n@NgModule({\n imports: [],\n declarations: [],\n providers: [provideShareButtonsOptions(shareIcons())],\n})\nexport class ShareButtonModule {}\n","import { inject, Injectable } from '@angular/core';\nimport { HttpClient } from '@angular/common/http';\nimport { Translation, TranslocoLoader } from '@jsverse/transloco';\nimport { Observable } from 'rxjs';\n\n@Injectable({ providedIn: 'root' })\nexport class TranslocoHttpLoader implements TranslocoLoader {\n private readonly http: HttpClient = inject(HttpClient);\n\n getTranslation(lang: string): Observable<Translation> {\n const path = `/assets/i18n/${lang}.json`;\n console.log(`Loading translations from: ${path}`);\n return this.http.get<Translation>(path);\n }\n}\n","import { provideTransloco, TranslocoModule } from '@jsverse/transloco';\nimport { isDevMode, NgModule } from '@angular/core';\nimport { provideShareButtonsOptions } from 'ngx-sharebuttons';\nimport { shareIcons } from 'ngx-sharebuttons/icons';\nimport { TranslocoHttpLoader } from './language-selector/transloco.loader';\n\n@NgModule({\n imports: [TranslocoModule],\n exports: [TranslocoModule],\n providers: [\n provideShareButtonsOptions(shareIcons()),\n // provideI18Configuration(),\n provideTransloco({\n config: {\n availableLangs: ['de', 'en', 'es', 'fr', 'hu'],\n defaultLang: 'en',\n fallbackLang: ['en'],\n reRenderOnLangChange: true,\n prodMode: !isDevMode(),\n },\n loader: TranslocoHttpLoader,\n }),\n ],\n})\nexport class WidgetsModule {}\n","import { Routes } from '@angular/router';\nimport { LanguageSelectorComponent } from './language-selector/language-selector.component';\nimport { provideTranslocoScope } from '@jsverse/transloco';\n\nexport const widgetsRoutes: Routes = [{ path: 'anything', component: LanguageSelectorComponent, providers: [provideTranslocoScope('widgets')] }];\n","/*\n * Public API Surface of @processpuzzle/widgets\n */\n\nexport { ApplicationProperty } from './app-property/app-property';\nexport { ApplicationPropertyStore } from './app-property/app-property.store';\nexport type { LanguageConfig, LanguageDefinition } from './language-selector/language-config';\nexport { LanguageSelectorComponent } from './language-selector/language-selector.component';\nexport { LikeButtonComponent } from './like-button/like-button.component';\nexport { NavigateBackComponent } from './navigate-back/navigate-back.component';\nexport { NavigateBackService } from './navigate-back/navigate-back.service';\nexport { provideAppPropertyStore } from './app-property/app-property-store.provider';\nexport { ShareButtonComponent } from './share-button/share-button.component';\nexport { ShareButtonModule } from './share-button/share-button.module';\nexport { TranslocoHttpLoader } from './language-selector/transloco.loader';\nexport { WidgetsModule } from './widgets.module';\nexport { widgetsRoutes } from './widgets.routes';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@processpuzzle/widgets",
3
- "version": "0.1.2",
3
+ "version": "0.2.0",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -11,13 +11,22 @@
11
11
  },
12
12
  "homepage": "https://github.com/ZsZs/processpuzzle#readme",
13
13
  "peerDependencies": {
14
- "@angular/common": "~20.0.0",
15
- "@angular/core": "~20.0.0",
16
- "@angular/cdk": "^20.0.1",
17
- "@angular/material": "^20.0.1",
18
- "@angular/router": "~20.0.0",
19
- "@jsverse/transloco": "7.6.1",
20
- "@processpuzzle/util": "^0.2.4",
14
+ "@angular/cdk": "^21.2.2",
15
+ "@angular/common": "~21.2.4",
16
+ "@angular/core": "~21.2.4",
17
+ "@angular/material": "^21.2.2",
18
+ "@angular/router": "~21.2.4",
19
+ "@fortawesome/angular-fontawesome": "^4.0.0",
20
+ "@fortawesome/fontawesome-svg-core": "^7.2.0",
21
+ "@fortawesome/free-brands-svg-icons": "^7.2.0",
22
+ "@fortawesome/free-solid-svg-icons": "^7.2.0",
23
+ "@jsverse/transloco": "8.2.1",
24
+ "@ngrx/component-store": "^21.0.1",
25
+ "@ngrx/operators": "^21.0.1",
26
+ "@ngrx/signals": "^21.0.1",
27
+ "@processpuzzle/util": "^0.2.5",
28
+ "ngx-logger": "^5.0.12",
29
+ "ngx-markdown": "^21.1.0",
21
30
  "ngx-sharebuttons": "^17.0.0",
22
31
  "rxjs": "~7.8.2"
23
32
  },
@@ -26,17 +35,17 @@
26
35
  },
27
36
  "sideEffects": false,
28
37
  "module": "fesm2022/processpuzzle-widgets.mjs",
29
- "typings": "index.d.ts",
38
+ "typings": "types/processpuzzle-widgets.d.ts",
30
39
  "exports": {
31
40
  "./package.json": {
32
41
  "default": "./package.json"
33
42
  },
34
43
  ".": {
35
- "types": "./index.d.ts",
44
+ "types": "./types/processpuzzle-widgets.d.ts",
36
45
  "default": "./fesm2022/processpuzzle-widgets.mjs"
37
46
  },
38
47
  "./mat-cards-grid": {
39
- "types": "./mat-cards-grid/index.d.ts",
48
+ "types": "./types/processpuzzle-widgets-mat-cards-grid.d.ts",
40
49
  "default": "./fesm2022/processpuzzle-widgets-mat-cards-grid.mjs"
41
50
  }
42
51
  }
@@ -0,0 +1,29 @@
1
+ import { MatButtonAppearance } from '@angular/material/button';
2
+ import { LayoutService } from '@processpuzzle/util';
3
+ import * as i0 from '@angular/core';
4
+
5
+ interface ActionSpec {
6
+ link: string;
7
+ caption: string;
8
+ colour?: string;
9
+ buttonType?: MatButtonAppearance;
10
+ }
11
+
12
+ interface CardsGridSpec {
13
+ title: string;
14
+ subtitle: string;
15
+ content: Array<string>;
16
+ actions: Array<ActionSpec>;
17
+ translocoPrefix: string;
18
+ }
19
+
20
+ declare class MatCardsGridComponent {
21
+ cards: CardsGridSpec[];
22
+ readonly layoutService: LayoutService;
23
+ hasValue(textValue: string | Array<string>): boolean;
24
+ static ɵfac: i0.ɵɵFactoryDeclaration<MatCardsGridComponent, never>;
25
+ static ɵcmp: i0.ɵɵComponentDeclaration<MatCardsGridComponent, "mat-cards-grid", never, { "cards": { "alias": "cards"; "required": false; }; }, {}, never, never, true, never>;
26
+ }
27
+
28
+ export { MatCardsGridComponent };
29
+ export type { ActionSpec, CardsGridSpec };
@@ -0,0 +1,233 @@
1
+ import * as _processpuzzle_base_entity from '@processpuzzle/base-entity';
2
+ import { BaseEntity } from '@processpuzzle/base-entity';
3
+ import * as _ngrx_signals from '@ngrx/signals';
4
+ import * as _ngrx_signals_rxjs_interop from '@ngrx/signals/rxjs-interop';
5
+ import * as _angular_material_table from '@angular/material/table';
6
+ import * as _angular_material_paginator from '@angular/material/paginator';
7
+ import * as _angular_core from '@angular/core';
8
+ import { Provider } from '@angular/core';
9
+ import * as dist_libs_base_entity_types_processpuzzle_base_entity from 'dist/libs/base-entity/types/processpuzzle-base-entity';
10
+ import { Stack } from '@processpuzzle/util';
11
+ import { BehaviorSubject, Observable } from 'rxjs';
12
+ import * as i1 from '@jsverse/transloco';
13
+ import { TranslocoLoader, Translation } from '@jsverse/transloco';
14
+ import { Routes } from '@angular/router';
15
+
16
+ declare class ApplicationProperty implements BaseEntity {
17
+ readonly id: string;
18
+ private readonly propertyName;
19
+ private propertyValue;
20
+ constructor(id?: string, name?: string, value?: string);
21
+ get name(): string;
22
+ get value(): string;
23
+ set value(newValue: string);
24
+ }
25
+
26
+ declare const ApplicationPropertyStore: _angular_core.Type<{
27
+ entities: _angular_core.Signal<ApplicationProperty[]>;
28
+ page: _angular_core.Signal<number>;
29
+ pageSize: _angular_core.Signal<number>;
30
+ totalPageCount: _angular_core.Signal<number>;
31
+ currentId: _angular_core.Signal<string | undefined>;
32
+ currentEntity: _angular_core.Signal<ApplicationProperty | undefined>;
33
+ isLoading: _angular_core.Signal<boolean>;
34
+ error: _angular_core.Signal<string | undefined>;
35
+ selectedEntities: _angular_core.Signal<ApplicationProperty[]>;
36
+ activeRouteSegment: _angular_core.Signal<_processpuzzle_base_entity.RouteSegments>;
37
+ entityName: _angular_core.Signal<string>;
38
+ navigationError?: _angular_core.Signal<string | undefined> | undefined;
39
+ navigateTo: _angular_core.Signal<string>;
40
+ returnTo: _angular_core.Signal<string>;
41
+ activeTabs: _angular_core.Signal<string[]>;
42
+ currentTab: _angular_core.Signal<string | undefined>;
43
+ filterKey: _angular_core.Signal<string | undefined>;
44
+ countOfEntities: _angular_core.Signal<number>;
45
+ matTableDataSource: _angular_core.Signal<_angular_material_table.MatTableDataSource<ApplicationProperty, _angular_material_paginator.MatPaginator>>;
46
+ clearCurrentEntity: () => void;
47
+ createEntity: () => ApplicationProperty;
48
+ add: _ngrx_signals_rxjs_interop.RxMethod<ApplicationProperty>;
49
+ delete: _ngrx_signals_rxjs_interop.RxMethod<string>;
50
+ deleteAll: _ngrx_signals_rxjs_interop.RxMethod<void>;
51
+ deselectAll: () => void;
52
+ deselectEntity: (id: string) => void;
53
+ load: _ngrx_signals_rxjs_interop.RxMethod<_processpuzzle_base_entity.BaseEntityQueryCondition>;
54
+ loadById: (id: string) => ApplicationProperty | undefined;
55
+ resetErrorState: () => void;
56
+ selectEntity: (id: string) => void;
57
+ setCurrentEntity: (id: string) => void;
58
+ update: _ngrx_signals_rxjs_interop.RxMethod<ApplicationProperty>;
59
+ determineCurrentUrl: () => string;
60
+ determineActiveRouteSegment: () => void;
61
+ navigateBack: (defaultUrl?: string) => Promise<void>;
62
+ navigateToDetails: (id: string, returnTo?: string) => Promise<void>;
63
+ navigateToList: (returnTo?: string) => Promise<void>;
64
+ navigateToRelated: (relatedTypeName: string, id: string, returnTo?: string) => Promise<void>;
65
+ navigateToUrl: (url: string, returnTo?: string) => Promise<void>;
66
+ reset: () => void;
67
+ tabIsActive: (tabName: string) => void;
68
+ tabIsInactive: (tabName: string) => void;
69
+ doFilter: (filterKey: string) => void;
70
+ } & _ngrx_signals.StateSource<{
71
+ entities: ApplicationProperty[];
72
+ page: number;
73
+ pageSize: number;
74
+ totalPageCount: number;
75
+ currentId: string | undefined;
76
+ currentEntity: ApplicationProperty | undefined;
77
+ isLoading: boolean;
78
+ error: string | undefined;
79
+ selectedEntities: ApplicationProperty[];
80
+ activeRouteSegment: _processpuzzle_base_entity.RouteSegments;
81
+ entityName: string;
82
+ navigationError?: string | undefined | undefined;
83
+ navigateTo: string;
84
+ returnTo: string;
85
+ activeTabs: string[];
86
+ currentTab: string | undefined;
87
+ filterKey: string | undefined;
88
+ }>>;
89
+
90
+ interface LanguageDefinition {
91
+ code: string;
92
+ label: string;
93
+ flag: string;
94
+ }
95
+ interface LanguageConfig {
96
+ DEFAULT_LANGUAGE?: string;
97
+ AVAILABLE_LANGUAGES?: LanguageDefinition[];
98
+ }
99
+
100
+ declare class LanguageSelectorComponent {
101
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LanguageSelectorComponent, never>;
102
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LanguageSelectorComponent, "pp-language-selector", never, {}, {}, never, never, true, never>;
103
+ }
104
+
105
+ declare class LikeButtonComponent {
106
+ private readonly LIKES_PROPERTY;
107
+ private readonly snackBar;
108
+ likesCount: _angular_core.Signal<ApplicationProperty | undefined>;
109
+ readonly store: {
110
+ entities: _angular_core.Signal<ApplicationProperty[]>;
111
+ page: _angular_core.Signal<number>;
112
+ pageSize: _angular_core.Signal<number>;
113
+ totalPageCount: _angular_core.Signal<number>;
114
+ currentId: _angular_core.Signal<string | undefined>;
115
+ currentEntity: _angular_core.Signal<ApplicationProperty | undefined>;
116
+ isLoading: _angular_core.Signal<boolean>;
117
+ error: _angular_core.Signal<string | undefined>;
118
+ selectedEntities: _angular_core.Signal<ApplicationProperty[]>;
119
+ activeRouteSegment: _angular_core.Signal<dist_libs_base_entity_types_processpuzzle_base_entity.RouteSegments>;
120
+ entityName: _angular_core.Signal<string>;
121
+ navigationError?: _angular_core.Signal<string | undefined> | undefined;
122
+ navigateTo: _angular_core.Signal<string>;
123
+ returnTo: _angular_core.Signal<string>;
124
+ activeTabs: _angular_core.Signal<string[]>;
125
+ currentTab: _angular_core.Signal<string | undefined>;
126
+ filterKey: _angular_core.Signal<string | undefined>;
127
+ countOfEntities: _angular_core.Signal<number>;
128
+ matTableDataSource: _angular_core.Signal<_angular_material_table.MatTableDataSource<ApplicationProperty, _angular_material_paginator.MatPaginator>>;
129
+ clearCurrentEntity: () => void;
130
+ createEntity: () => ApplicationProperty;
131
+ add: _ngrx_signals_rxjs_interop.RxMethod<ApplicationProperty>;
132
+ delete: _ngrx_signals_rxjs_interop.RxMethod<string>;
133
+ deleteAll: _ngrx_signals_rxjs_interop.RxMethod<void>;
134
+ deselectAll: () => void;
135
+ deselectEntity: (id: string) => void;
136
+ load: _ngrx_signals_rxjs_interop.RxMethod<dist_libs_base_entity_types_processpuzzle_base_entity.BaseEntityQueryCondition>;
137
+ loadById: (id: string) => ApplicationProperty | undefined;
138
+ resetErrorState: () => void;
139
+ selectEntity: (id: string) => void;
140
+ setCurrentEntity: (id: string) => void;
141
+ update: _ngrx_signals_rxjs_interop.RxMethod<ApplicationProperty>;
142
+ determineCurrentUrl: () => string;
143
+ determineActiveRouteSegment: () => void;
144
+ navigateBack: (defaultUrl?: string) => Promise<void>;
145
+ navigateToDetails: (id: string, returnTo?: string) => Promise<void>;
146
+ navigateToList: (returnTo?: string) => Promise<void>;
147
+ navigateToRelated: (relatedTypeName: string, id: string, returnTo?: string) => Promise<void>;
148
+ navigateToUrl: (url: string, returnTo?: string) => Promise<void>;
149
+ reset: () => void;
150
+ tabIsActive: (tabName: string) => void;
151
+ tabIsInactive: (tabName: string) => void;
152
+ doFilter: (filterKey: string) => void;
153
+ } & _ngrx_signals.StateSource<{
154
+ entities: ApplicationProperty[];
155
+ page: number;
156
+ pageSize: number;
157
+ totalPageCount: number;
158
+ currentId: string | undefined;
159
+ currentEntity: ApplicationProperty | undefined;
160
+ isLoading: boolean;
161
+ error: string | undefined;
162
+ selectedEntities: ApplicationProperty[];
163
+ activeRouteSegment: dist_libs_base_entity_types_processpuzzle_base_entity.RouteSegments;
164
+ entityName: string;
165
+ navigationError?: string | undefined | undefined;
166
+ navigateTo: string;
167
+ returnTo: string;
168
+ activeTabs: string[];
169
+ currentTab: string | undefined;
170
+ filterKey: string | undefined;
171
+ }>;
172
+ constructor();
173
+ onLike(): void;
174
+ private configureEffects;
175
+ private showErrorMessage;
176
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LikeButtonComponent, never>;
177
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LikeButtonComponent, "pp-like-button", never, {}, {}, never, never, true, never>;
178
+ }
179
+
180
+ declare class NavigateBackService {
181
+ noRouteAvailable: BehaviorSubject<string>;
182
+ private readonly routeHistory;
183
+ private readonly router;
184
+ constructor();
185
+ goBack(): void;
186
+ getRouteStack(): Stack<string>;
187
+ clearHistory(): void;
188
+ private addRouteToStack;
189
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigateBackService, never>;
190
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<NavigateBackService>;
191
+ }
192
+
193
+ declare class NavigateBackComponent {
194
+ readonly service: NavigateBackService;
195
+ onNavigateBack(): void;
196
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NavigateBackComponent, never>;
197
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NavigateBackComponent, "pp-navigate-back", never, {}, {}, never, never, true, never>;
198
+ }
199
+
200
+ declare function provideAppPropertyStore(): Provider[];
201
+
202
+ declare class ShareButtonComponent {
203
+ isOpen: boolean;
204
+ onClose(): void;
205
+ onShare(): void;
206
+ private toggleIsOpen;
207
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShareButtonComponent, never>;
208
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ShareButtonComponent, "pp-share-button", never, {}, {}, never, never, true, never>;
209
+ }
210
+
211
+ declare class ShareButtonModule {
212
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ShareButtonModule, never>;
213
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ShareButtonModule, never, never, never>;
214
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<ShareButtonModule>;
215
+ }
216
+
217
+ declare class TranslocoHttpLoader implements TranslocoLoader {
218
+ private readonly http;
219
+ getTranslation(lang: string): Observable<Translation>;
220
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TranslocoHttpLoader, never>;
221
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<TranslocoHttpLoader>;
222
+ }
223
+
224
+ declare class WidgetsModule {
225
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WidgetsModule, never>;
226
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<WidgetsModule, never, [typeof i1.TranslocoModule], [typeof i1.TranslocoModule]>;
227
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<WidgetsModule>;
228
+ }
229
+
230
+ declare const widgetsRoutes: Routes;
231
+
232
+ export { ApplicationProperty, ApplicationPropertyStore, LanguageSelectorComponent, LikeButtonComponent, NavigateBackComponent, NavigateBackService, ShareButtonComponent, ShareButtonModule, TranslocoHttpLoader, WidgetsModule, provideAppPropertyStore, widgetsRoutes };
233
+ export type { LanguageConfig, LanguageDefinition };
@@ -1,2 +0,0 @@
1
- import { Provider } from '@angular/core';
2
- export declare function provideAppPropertyStore(): Provider[];
@@ -1,10 +0,0 @@
1
- import { BaseEntity } from '@processpuzzle/base-entity';
2
- export declare class ApplicationProperty implements BaseEntity {
3
- readonly id: string;
4
- private readonly propertyName;
5
- private propertyValue;
6
- constructor(id?: string, name?: string, value?: string);
7
- get name(): string;
8
- get value(): string;
9
- set value(newValue: string);
10
- }
@@ -1,6 +0,0 @@
1
- import { ApplicationProperty } from './app-property';
2
- import { BaseEntityMapper } from '@processpuzzle/base-entity';
3
- export declare class ApplicationPropertyMapper implements BaseEntityMapper<ApplicationProperty> {
4
- fromDto(dto: any): ApplicationProperty;
5
- toDto(entity: ApplicationProperty): any;
6
- }
@@ -1,7 +0,0 @@
1
- import { ApplicationProperty } from './app-property';
2
- import { BaseEntityFirestoreService } from '@processpuzzle/base-entity';
3
- import { ApplicationPropertyMapper } from './app-property.mapper';
4
- export declare class ApplicationPropertyService extends BaseEntityFirestoreService<ApplicationProperty> {
5
- protected entityMapper: ApplicationPropertyMapper;
6
- constructor(entityMapper: ApplicationPropertyMapper);
7
- }
@@ -1,64 +0,0 @@
1
- import { ApplicationProperty } from './app-property';
2
- export declare const ApplicationPropertyStore: import("@angular/core").Type<{
3
- entities: import("@angular/core").Signal<ApplicationProperty[]>;
4
- page: import("@angular/core").Signal<number>;
5
- pageSize: import("@angular/core").Signal<number>;
6
- totalPageCount: import("@angular/core").Signal<number>;
7
- currentId: import("@angular/core").Signal<string | undefined>;
8
- currentEntity: import("@angular/core").Signal<ApplicationProperty | undefined>;
9
- isLoading: import("@angular/core").Signal<boolean>;
10
- error: import("@angular/core").Signal<string | undefined>;
11
- selectedEntities: import("@angular/core").Signal<ApplicationProperty[]>;
12
- activeRouteSegment: import("@angular/core").Signal<import("dist/libs/base-entity/lib/base-form-navigator/base-form-navigator.store").RouteSegments>;
13
- entityName: import("@angular/core").Signal<string>;
14
- navigationError?: import("@angular/core").Signal<string | undefined> | undefined;
15
- navigateTo: import("@angular/core").Signal<string>;
16
- returnTo: import("@angular/core").Signal<string>;
17
- activeTabs: import("@angular/core").Signal<string[]>;
18
- currentTab: import("@angular/core").Signal<string | undefined>;
19
- filterKey: import("@angular/core").Signal<string | undefined>;
20
- countOfEntities: import("@angular/core").Signal<number>;
21
- matTableDataSource: import("@angular/core").Signal<import("@angular/material/table").MatTableDataSource<ApplicationProperty, import("@angular/material/paginator.d-DuJ-oYgT").M>>;
22
- clearCurrentEntity: () => void;
23
- createEntity: () => ApplicationProperty;
24
- add: import("@ngrx/signals/rxjs-interop").RxMethod<ApplicationProperty>;
25
- delete: import("@ngrx/signals/rxjs-interop").RxMethod<string>;
26
- deleteAll: import("@ngrx/signals/rxjs-interop").RxMethod<void>;
27
- deselectAll: () => void;
28
- deselectEntity: (id: string) => void;
29
- load: import("@ngrx/signals/rxjs-interop").RxMethod<import("@processpuzzle/base-entity").BaseEntityQueryCondition>;
30
- loadById: (id: string) => ApplicationProperty | undefined;
31
- resetErrorState: () => void;
32
- selectEntity: (id: string) => void;
33
- setCurrentEntity: (id: string) => void;
34
- update: import("@ngrx/signals/rxjs-interop").RxMethod<ApplicationProperty>;
35
- determineCurrentUrl: () => string;
36
- determineActiveRouteSegment: () => void;
37
- navigateBack: (defaultUrl?: string) => Promise<void>;
38
- navigateToDetails: (id: string, returnTo?: string) => Promise<void>;
39
- navigateToList: (returnTo?: string) => Promise<void>;
40
- navigateToRelated: (relatedTypeName: string, id: string, returnTo?: string) => Promise<void>;
41
- navigateToUrl: (url: string, returnTo?: string) => Promise<void>;
42
- reset: () => void;
43
- tabIsActive: (tabName: string) => void;
44
- tabIsInactive: (tabName: string) => void;
45
- doFilter: (filterKey: string) => void;
46
- } & import("@ngrx/signals").StateSource<{
47
- entities: ApplicationProperty[];
48
- page: number;
49
- pageSize: number;
50
- totalPageCount: number;
51
- currentId: string | undefined;
52
- currentEntity: ApplicationProperty | undefined;
53
- isLoading: boolean;
54
- error: string | undefined;
55
- selectedEntities: ApplicationProperty[];
56
- activeRouteSegment: import("dist/libs/base-entity/lib/base-form-navigator/base-form-navigator.store").RouteSegments;
57
- entityName: string;
58
- navigationError?: string | undefined | undefined;
59
- navigateTo: string;
60
- returnTo: string;
61
- activeTabs: string[];
62
- currentTab: string | undefined;
63
- filterKey: string | undefined;
64
- }>>;
package/index.d.ts DELETED
@@ -1,5 +0,0 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@processpuzzle/widgets" />
5
- export * from './public-api';
@@ -1,9 +0,0 @@
1
- export interface LanguageDefinition {
2
- code: string;
3
- label: string;
4
- flag: string;
5
- }
6
- export interface LanguageConfig {
7
- DEFAULT_LANGUAGE?: string;
8
- AVAILABLE_LANGUAGES?: LanguageDefinition[];
9
- }
@@ -1,12 +0,0 @@
1
- import { MatSelectionListChange } from '@angular/material/list';
2
- import * as i0 from "@angular/core";
3
- export declare class LanguageSelectorListComponent {
4
- private readonly translocoService;
5
- private readonly runtimeConfiguration;
6
- readonly languages: import("./language-config").LanguageDefinition[] | undefined;
7
- languageSelected: import("@angular/core").OutputEmitterRef<void>;
8
- selectedLanguage: string;
9
- onSelectionChange(event: MatSelectionListChange): void;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorListComponent, never>;
11
- static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorListComponent, "pp-language-selector-list", never, {}, { "languageSelected": "languageSelected"; }, never, never, true, never>;
12
- }
@@ -1,9 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class LanguageSelectorComponent {
3
- isOpen: boolean;
4
- onClose(): void;
5
- onSelectLanguage(): void;
6
- private toggleIsOpen;
7
- static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorComponent, never>;
8
- static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorComponent, "pp-language-selector", never, {}, {}, never, never, true, never>;
9
- }
@@ -1,11 +0,0 @@
1
- import { HttpClient } from '@angular/common/http';
2
- import { Translation, TranslocoLoader } from '@jsverse/transloco';
3
- import { Observable } from 'rxjs';
4
- import * as i0 from "@angular/core";
5
- export declare class TranslocoHttpLoader implements TranslocoLoader {
6
- private readonly http;
7
- constructor(http: HttpClient);
8
- getTranslation(lang: string): Observable<Translation>;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<TranslocoHttpLoader, never>;
10
- static ɵprov: i0.ɵɵInjectableDeclaration<TranslocoHttpLoader>;
11
- }