@processpuzzle/widgets 0.0.2 → 0.0.4

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.
@@ -0,0 +1,12 @@
1
+ {
2
+ "language-selector": {
3
+ "en": "English",
4
+ "de": "Deutsch",
5
+ "hu": "Ungarisch",
6
+ "es": "Spanisch",
7
+ "english": "English",
8
+ "german": "Deutsch",
9
+ "hungarian": "Ungarisch",
10
+ "spanish": "Spanisch"
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "language-selector": {
3
+ "en": "English",
4
+ "de": "German",
5
+ "hu": "Hungarian",
6
+ "es": "Spanish",
7
+ "english": "English",
8
+ "german": "German",
9
+ "hungarian": "Hungarian",
10
+ "spanish": "Spanish"
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "language-selector": {
3
+ "en": "Inglés",
4
+ "de": "Alemán",
5
+ "hu": "Húngaro",
6
+ "es": "Español",
7
+ "english": "Inglés",
8
+ "german": "Alemán",
9
+ "hungarian": "Húngaro",
10
+ "spanish": "Español"
11
+ }
12
+ }
@@ -0,0 +1,12 @@
1
+ {
2
+ "language-selector": {
3
+ "en": "Angol",
4
+ "de": "Német",
5
+ "hu": "Magyar",
6
+ "es": "Spanyol",
7
+ "english": "Angol",
8
+ "german": "Német",
9
+ "hungarian": "Magyar",
10
+ "spanish": "Spanyol"
11
+ }
12
+ }
@@ -0,0 +1,490 @@
1
+ import { v4 } from 'uuid';
2
+ import { signalStore } from '@ngrx/signals';
3
+ import { BaseEntityFirestoreService, BaseEntityStore, BaseFormNavigatorStore, BaseEntityTabsStore, BaseEntityContainerStore } from '@processpuzzle/base-entity';
4
+ import * as i0 from '@angular/core';
5
+ import { inject, Component, computed, Injectable, EnvironmentInjector, NgModule, isDevMode } from '@angular/core';
6
+ import { MatIcon } from '@angular/material/icon';
7
+ import { MatIconButton } from '@angular/material/button';
8
+ import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
9
+ import { RUNTIME_CONFIGURATION, Stack } from '@processpuzzle/util';
10
+ import * as i1$2 from '@jsverse/transloco';
11
+ import { TranslocoService, TranslocoDirective, provideTranslocoScope, TranslocoModule, provideTransloco } from '@jsverse/transloco';
12
+ import { NgClass, NgForOf } from '@angular/common';
13
+ import { MatListOption, MatSelectionList } from '@angular/material/list';
14
+ import * as i1 from '@angular/router';
15
+ import { NavigationEnd } from '@angular/router';
16
+ import { ShareButtons } from 'ngx-sharebuttons/buttons';
17
+ import { provideShareButtonsOptions } from 'ngx-sharebuttons';
18
+ import { shareIcons } from 'ngx-sharebuttons/icons';
19
+ import * as i1$1 from '@angular/common/http';
20
+
21
+ class ApplicationProperty {
22
+ id = v4();
23
+ propertyName;
24
+ propertyValue;
25
+ constructor(name, value) {
26
+ this.propertyName = name ?? '';
27
+ this.propertyValue = value ?? '';
28
+ }
29
+ // region properties
30
+ get name() {
31
+ return this.propertyName;
32
+ }
33
+ get value() {
34
+ return this.propertyValue;
35
+ }
36
+ set value(newValue) {
37
+ this.propertyValue = newValue;
38
+ }
39
+ }
40
+
41
+ class ApplicationPropertyService extends BaseEntityFirestoreService {
42
+ entityMapper;
43
+ constructor(entityMapper) {
44
+ super(entityMapper, 'application-properties');
45
+ this.entityMapper = entityMapper;
46
+ }
47
+ }
48
+
49
+ const ApplicationPropertyStore = signalStore({ providedIn: 'root' }, BaseEntityStore(ApplicationProperty, ApplicationPropertyService), BaseFormNavigatorStore('ApplicationProperty'), BaseEntityTabsStore(), BaseEntityContainerStore());
50
+
51
+ class LanguageSelectorListComponent {
52
+ translocoService = inject(TranslocoService);
53
+ runtimeConfiguration = inject(RUNTIME_CONFIGURATION);
54
+ languages = this.runtimeConfiguration.AVAILABLE_LANGUAGES;
55
+ selectedLanguage = this.runtimeConfiguration.DEFAULT_LANGUAGE;
56
+ // region event handling methods
57
+ onSelectionChange(event) {
58
+ const selectedOption = event.source;
59
+ const selectedValue = selectedOption.selectedOptions.selected[0]?.value;
60
+ if (this.selectedLanguage !== selectedValue) {
61
+ this.translocoService.setActiveLang(selectedValue);
62
+ this.selectedLanguage = selectedValue;
63
+ }
64
+ }
65
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LanguageSelectorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
66
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: LanguageSelectorListComponent, isStandalone: true, selector: "pp-language-selector-list", providers: [provideTranslocoScope('widgets')], ngImport: i0, template: `
67
+ <ng-container *transloco="let t; prefix: 'language-selector'">
68
+ <div class="language-selector">
69
+ <mat-selection-list #selectionList (selectionChange)="onSelectionChange($event)" [multiple]="false">
70
+ <mat-list-option
71
+ *ngFor="let language of languages"
72
+ [value]="language.code"
73
+ [selected]="selectedLanguage === language.code"
74
+ tabindex="0"
75
+ role="option"
76
+ [attr.aria-selected]="selectedLanguage === language.code ? 'true' : 'false'"
77
+ >
78
+ <span [ngClass]="language.flag">&nbsp;-&nbsp;</span>
79
+ <span>{{ t(language.label) }}</span>
80
+ </mat-list-option>
81
+ </mat-selection-list>
82
+ </div>
83
+ </ng-container>
84
+ `, isInline: true, styles: [".flag-icon{width:24px;height:16px;border-radius:2px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "component", type: MatListOption, selector: "mat-list-option", inputs: ["togglePosition", "checkboxPosition", "color", "value", "selected"], outputs: ["selectedChange"], exportAs: ["matListOption"] }, { kind: "component", type: MatSelectionList, selector: "mat-selection-list", inputs: ["color", "compareWith", "multiple", "hideSingleSelectionIndicator", "disabled"], outputs: ["selectionChange"], exportAs: ["matSelectionList"] }] });
85
+ }
86
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LanguageSelectorListComponent, decorators: [{
87
+ type: Component,
88
+ args: [{ selector: 'pp-language-selector-list', template: `
89
+ <ng-container *transloco="let t; prefix: 'language-selector'">
90
+ <div class="language-selector">
91
+ <mat-selection-list #selectionList (selectionChange)="onSelectionChange($event)" [multiple]="false">
92
+ <mat-list-option
93
+ *ngFor="let language of languages"
94
+ [value]="language.code"
95
+ [selected]="selectedLanguage === language.code"
96
+ tabindex="0"
97
+ role="option"
98
+ [attr.aria-selected]="selectedLanguage === language.code ? 'true' : 'false'"
99
+ >
100
+ <span [ngClass]="language.flag">&nbsp;-&nbsp;</span>
101
+ <span>{{ t(language.label) }}</span>
102
+ </mat-list-option>
103
+ </mat-selection-list>
104
+ </div>
105
+ </ng-container>
106
+ `, imports: [NgClass, NgForOf, TranslocoDirective, MatListOption, MatSelectionList], providers: [provideTranslocoScope('widgets')], styles: [".flag-icon{width:24px;height:16px;border-radius:2px}\n"] }]
107
+ }] });
108
+
109
+ class LanguageSelectorComponent {
110
+ isOpen = false;
111
+ // region Event handler methods
112
+ onClose() {
113
+ this.isOpen = false;
114
+ }
115
+ onSelectLanguage() {
116
+ this.toggleIsOpen();
117
+ }
118
+ // endregion
119
+ // region protected, private helper methods
120
+ toggleIsOpen() {
121
+ this.isOpen = !this.isOpen;
122
+ }
123
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
124
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: LanguageSelectorComponent, isStandalone: true, selector: "pp-language-selector", providers: [provideTranslocoScope('widgets')], ngImport: i0, template: `
125
+ <ng-container *transloco="let t; prefix: 'language-selector'">
126
+ <div>
127
+ <button mat-icon-button (click)="onSelectLanguage()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Select Language Button">
128
+ <mat-icon>language</mat-icon>
129
+ </button>
130
+ </div>
131
+ <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOpen]="isOpen" [cdkConnectedOverlayHasBackdrop]="true" (backdropClick)="onClose()">
132
+ <div class="language-selector-container">
133
+ <pp-language-selector-list />
134
+ </div>
135
+ </ng-template>
136
+ </ng-container>
137
+ `, isInline: true, styles: [".language-selector-container{display:flex;background:#eee}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: LanguageSelectorListComponent, selector: "pp-language-selector-list" }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }] });
138
+ }
139
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
140
+ type: Component,
141
+ args: [{ selector: 'pp-language-selector', template: `
142
+ <ng-container *transloco="let t; prefix: 'language-selector'">
143
+ <div>
144
+ <button mat-icon-button (click)="onSelectLanguage()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Select Language Button">
145
+ <mat-icon>language</mat-icon>
146
+ </button>
147
+ </div>
148
+ <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOpen]="isOpen" [cdkConnectedOverlayHasBackdrop]="true" (backdropClick)="onClose()">
149
+ <div class="language-selector-container">
150
+ <pp-language-selector-list />
151
+ </div>
152
+ </ng-template>
153
+ </ng-container>
154
+ `, imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, LanguageSelectorListComponent, TranslocoDirective], providers: [provideTranslocoScope('widgets')], styles: [".language-selector-container{display:flex;background:#eee}\n"] }]
155
+ }] });
156
+
157
+ class LikeButtonComponent {
158
+ LIKES_PROPERTY = 'likes';
159
+ likesCount = computed(() => this.store.entities().find((property) => property.name === this.LIKES_PROPERTY));
160
+ store = inject(ApplicationPropertyStore);
161
+ // region event handling methods
162
+ onLike() {
163
+ const count = this.likesCount();
164
+ if (count) {
165
+ count.value = (parseInt(count.value, 10) + 1).toString();
166
+ this.store.update(count);
167
+ }
168
+ else {
169
+ this.store.add(new ApplicationProperty(this.LIKES_PROPERTY, '1'));
170
+ }
171
+ }
172
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LikeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
173
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: LikeButtonComponent, isStandalone: true, selector: "pp-like-button", ngImport: i0, template: `
174
+ <div class="like-button">
175
+ <button mat-icon-button (click)="onLike()" aria-label="Like Button">
176
+ <mat-icon>favorite</mat-icon>
177
+ </button>
178
+ <span>{{ likesCount()?.value }}</span>
179
+ </div>
180
+ `, isInline: true, styles: [".like-button{position:relative;display:inline-block}.like-button span{position:absolute;bottom:0;right:5px;font-size:10px}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] });
181
+ }
182
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: LikeButtonComponent, decorators: [{
183
+ type: Component,
184
+ args: [{ selector: 'pp-like-button', template: `
185
+ <div class="like-button">
186
+ <button mat-icon-button (click)="onLike()" aria-label="Like Button">
187
+ <mat-icon>favorite</mat-icon>
188
+ </button>
189
+ <span>{{ likesCount()?.value }}</span>
190
+ </div>
191
+ `, imports: [MatIcon, MatIconButton], styles: [".like-button{position:relative;display:inline-block}.like-button span{position:absolute;bottom:0;right:5px;font-size:10px}\n"] }]
192
+ }] });
193
+
194
+ class NavigateBackService {
195
+ router;
196
+ routeHistory = new Stack();
197
+ constructor(router) {
198
+ this.router = router;
199
+ this.router.events.subscribe((event) => {
200
+ if (event instanceof NavigationEnd) {
201
+ this.addRouteToStack(event.urlAfterRedirects); // Add the current route to the stack
202
+ }
203
+ });
204
+ }
205
+ // region public accessor methods
206
+ goBack() {
207
+ if (this.routeHistory.size() > 1) {
208
+ this.routeHistory.pop(); // Remove current route
209
+ const previousRoute = this.routeHistory.pop(); // Get the previous route
210
+ if (previousRoute) {
211
+ this.router.navigateByUrl(previousRoute); // Navigate to the previous route
212
+ }
213
+ }
214
+ else {
215
+ console.log('No previous routes to navigate back to.');
216
+ }
217
+ }
218
+ getRouteStack() {
219
+ return this.routeHistory;
220
+ }
221
+ clearHistory() {
222
+ this.routeHistory.clear();
223
+ }
224
+ // endregion
225
+ // protected, private helper methods
226
+ addRouteToStack(route) {
227
+ if (this.routeHistory.size() === 0 || this.routeHistory.peek() !== route) {
228
+ this.routeHistory.push(route);
229
+ }
230
+ }
231
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: NavigateBackService, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
232
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: NavigateBackService, providedIn: 'root' });
233
+ }
234
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: NavigateBackService, decorators: [{
235
+ type: Injectable,
236
+ args: [{ providedIn: 'root' }]
237
+ }], ctorParameters: () => [{ type: i1.Router }] });
238
+
239
+ class NavigateBackComponent {
240
+ service = inject(NavigateBackService);
241
+ // region event handling methods
242
+ onNavigateBack() {
243
+ this.service.goBack(); // Call the service to handle navigation
244
+ }
245
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: NavigateBackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
246
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: NavigateBackComponent, isStandalone: true, selector: "pp-navigate-back", ngImport: i0, template: `
247
+ <button mat-icon-button aria-label="Go back" (click)="onNavigateBack()">
248
+ <mat-icon class="material-symbols-outlined fat-back-arrow">arrow_back</mat-icon>
249
+ </button>
250
+ `, isInline: true, styles: [".fat-back-arrow{font-size:24px;font-variation-settings:\"wght\" 1200;color:#000}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }] });
251
+ }
252
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: NavigateBackComponent, decorators: [{
253
+ type: Component,
254
+ args: [{ selector: 'pp-navigate-back', imports: [MatIcon, MatIconButton], template: `
255
+ <button mat-icon-button aria-label="Go back" (click)="onNavigateBack()">
256
+ <mat-icon class="material-symbols-outlined fat-back-arrow">arrow_back</mat-icon>
257
+ </button>
258
+ `, styles: [".fat-back-arrow{font-size:24px;font-variation-settings:\"wght\" 1200;color:#000}\n"] }]
259
+ }] });
260
+
261
+ class ApplicationPropertyMapper {
262
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
263
+ fromDto(dto) {
264
+ return new ApplicationProperty(dto.name, dto.value);
265
+ }
266
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
267
+ toDto(entity) {
268
+ return { name: entity.name, value: entity.value };
269
+ }
270
+ }
271
+
272
+ function provideAppPropertyStore() {
273
+ return [
274
+ { provide: ApplicationPropertyService, useFactory: () => new ApplicationPropertyService(new ApplicationPropertyMapper()), deps: [EnvironmentInjector] },
275
+ { provide: ApplicationPropertyStore, useFactory: () => new ApplicationPropertyStore(), deps: [ApplicationPropertyService] },
276
+ ];
277
+ }
278
+
279
+ class ShareButtonComponent {
280
+ isOpen = false;
281
+ // region Event handler methods
282
+ onClose() {
283
+ this.isOpen = false;
284
+ }
285
+ onShare() {
286
+ this.toggleIsOpen();
287
+ }
288
+ // endregion
289
+ // region protected, private helper methods
290
+ toggleIsOpen() {
291
+ this.isOpen = !this.isOpen;
292
+ }
293
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
294
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.7", type: ShareButtonComponent, isStandalone: true, selector: "pp-share-button", ngImport: i0, template: `
295
+ <div>
296
+ <button mat-icon-button (click)="onShare()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Share Button">
297
+ <mat-icon>share</mat-icon>
298
+ </button>
299
+ </div>
300
+ <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOpen]="isOpen" [cdkConnectedOverlayHasBackdrop]="true" (backdropClick)="onClose()">
301
+ <div class="share-buttons-container">
302
+ <share-buttons />
303
+ </div>
304
+ </ng-template>
305
+ `, isInline: true, styles: [".share-buttons-container{display:flex;background:#eee}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: ShareButtons, selector: "share-buttons", inputs: ["show", "include", "exclude", "expanded", "theme", "url", "title", "description", "image", "tags", "redirectUrl", "showIcon", "showText", "disabled"], outputs: ["expandedChange", "opened"] }] });
306
+ }
307
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ShareButtonComponent, decorators: [{
308
+ type: Component,
309
+ args: [{ selector: 'pp-share-button', template: `
310
+ <div>
311
+ <button mat-icon-button (click)="onShare()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Share Button">
312
+ <mat-icon>share</mat-icon>
313
+ </button>
314
+ </div>
315
+ <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOpen]="isOpen" [cdkConnectedOverlayHasBackdrop]="true" (backdropClick)="onClose()">
316
+ <div class="share-buttons-container">
317
+ <share-buttons />
318
+ </div>
319
+ </ng-template>
320
+ `, imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, ShareButtons], styles: [".share-buttons-container{display:flex;background:#eee}\n"] }]
321
+ }] });
322
+
323
+ class ShareButtonModule {
324
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ShareButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
325
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.7", ngImport: i0, type: ShareButtonModule });
326
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ShareButtonModule, providers: [provideShareButtonsOptions(shareIcons())] });
327
+ }
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: ShareButtonModule, decorators: [{
329
+ type: NgModule,
330
+ args: [{
331
+ imports: [],
332
+ declarations: [],
333
+ providers: [provideShareButtonsOptions(shareIcons())],
334
+ }]
335
+ }] });
336
+
337
+ class TranslocoHttpLoader {
338
+ http;
339
+ constructor(http) {
340
+ this.http = http;
341
+ }
342
+ getTranslation(lang) {
343
+ const path = `/assets/i18n/${lang}.json`;
344
+ console.log(`Loading translations from: ${path}`);
345
+ return this.http.get(path);
346
+ }
347
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: TranslocoHttpLoader, deps: [{ token: i1$1.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
348
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: TranslocoHttpLoader, providedIn: 'root' });
349
+ }
350
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: TranslocoHttpLoader, decorators: [{
351
+ type: Injectable,
352
+ args: [{ providedIn: 'root' }]
353
+ }], ctorParameters: () => [{ type: i1$1.HttpClient }] });
354
+
355
+ var de = {
356
+ "language-selector": {
357
+ en: "English",
358
+ de: "Deutsch",
359
+ hu: "Ungarisch",
360
+ es: "Spanisch",
361
+ english: "English",
362
+ german: "Deutsch",
363
+ hungarian: "Ungarisch",
364
+ spanish: "Spanisch"
365
+ }
366
+ };
367
+
368
+ var hu = {
369
+ "language-selector": {
370
+ en: "Angol",
371
+ de: "Német",
372
+ hu: "Magyar",
373
+ es: "Spanyol",
374
+ english: "Angol",
375
+ german: "Német",
376
+ hungarian: "Magyar",
377
+ spanish: "Spanyol"
378
+ }
379
+ };
380
+
381
+ var en = {
382
+ "language-selector": {
383
+ en: "English",
384
+ de: "German",
385
+ hu: "Hungarian",
386
+ es: "Spanish",
387
+ english: "English",
388
+ german: "German",
389
+ hungarian: "Hungarian",
390
+ spanish: "Spanish"
391
+ }
392
+ };
393
+
394
+ var es = {
395
+ "language-selector": {
396
+ en: "Inglés",
397
+ de: "Alemán",
398
+ hu: "Húngaro",
399
+ es: "Español",
400
+ english: "Inglés",
401
+ german: "Alemán",
402
+ hungarian: "Húngaro",
403
+ spanish: "Español"
404
+ }
405
+ };
406
+
407
+ class WidgetsModule {
408
+ _translate;
409
+ constructor(_translate) {
410
+ this._translate = _translate;
411
+ this._translate.setTranslation({ widgets: de }, 'de');
412
+ this._translate.setTranslation({ widgets: hu }, 'hu');
413
+ this._translate.setTranslation({ widgets: en }, 'en');
414
+ this._translate.setTranslation({ widgets: es }, 'es');
415
+ }
416
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: WidgetsModule, deps: [{ token: i1$2.TranslocoService }], target: i0.ɵɵFactoryTarget.NgModule });
417
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "19.2.7", ngImport: i0, type: WidgetsModule, imports: [TranslocoModule], exports: [TranslocoModule] });
418
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: WidgetsModule, providers: [
419
+ {
420
+ provide: provideTransloco,
421
+ useFactory: () => {
422
+ const runtimeConfig = inject(RUNTIME_CONFIGURATION);
423
+ return provideTransloco({
424
+ config: {
425
+ availableLangs: runtimeConfig.AVAILABLE_LANGUAGES?.map((lang) => lang.code),
426
+ defaultLang: runtimeConfig.DEFAULT_LANGUAGE,
427
+ reRenderOnLangChange: true,
428
+ prodMode: !isDevMode(),
429
+ },
430
+ loader: TranslocoHttpLoader,
431
+ });
432
+ },
433
+ deps: [RUNTIME_CONFIGURATION],
434
+ },
435
+ provideTransloco({
436
+ config: {
437
+ availableLangs: ['de', 'en', 'es', 'hu'],
438
+ defaultLang: 'en',
439
+ reRenderOnLangChange: true,
440
+ prodMode: !isDevMode(),
441
+ },
442
+ loader: TranslocoHttpLoader,
443
+ }),
444
+ ], imports: [TranslocoModule, TranslocoModule] });
445
+ }
446
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.7", ngImport: i0, type: WidgetsModule, decorators: [{
447
+ type: NgModule,
448
+ args: [{
449
+ imports: [TranslocoModule],
450
+ exports: [TranslocoModule],
451
+ providers: [
452
+ {
453
+ provide: provideTransloco,
454
+ useFactory: () => {
455
+ const runtimeConfig = inject(RUNTIME_CONFIGURATION);
456
+ return provideTransloco({
457
+ config: {
458
+ availableLangs: runtimeConfig.AVAILABLE_LANGUAGES?.map((lang) => lang.code),
459
+ defaultLang: runtimeConfig.DEFAULT_LANGUAGE,
460
+ reRenderOnLangChange: true,
461
+ prodMode: !isDevMode(),
462
+ },
463
+ loader: TranslocoHttpLoader,
464
+ });
465
+ },
466
+ deps: [RUNTIME_CONFIGURATION],
467
+ },
468
+ provideTransloco({
469
+ config: {
470
+ availableLangs: ['de', 'en', 'es', 'hu'],
471
+ defaultLang: 'en',
472
+ reRenderOnLangChange: true,
473
+ prodMode: !isDevMode(),
474
+ },
475
+ loader: TranslocoHttpLoader,
476
+ }),
477
+ ],
478
+ }]
479
+ }], ctorParameters: () => [{ type: i1$2.TranslocoService }] });
480
+
481
+ /*
482
+ * Public API Surface of @processpuzzle/widgets
483
+ */
484
+
485
+ /**
486
+ * Generated bundle index. Do not edit.
487
+ */
488
+
489
+ export { ApplicationProperty, ApplicationPropertyStore, LanguageSelectorComponent, LikeButtonComponent, NavigateBackComponent, NavigateBackService, ShareButtonComponent, ShareButtonModule, TranslocoHttpLoader, WidgetsModule, provideAppPropertyStore };
490
+ //# sourceMappingURL=processpuzzle-widgets.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"processpuzzle-widgets.mjs","sources":["../../../../libs/widgets/src/lib/app-property/app-property.ts","../../../../libs/widgets/src/lib/app-property/app-property.service.ts","../../../../libs/widgets/src/lib/app-property/app-property.store.ts","../../../../libs/widgets/src/lib/language-selector/language-selector-list.component.ts","../../../../libs/widgets/src/lib/language-selector/language-selector.component.ts","../../../../libs/widgets/src/lib/like-button/like-button.component.ts","../../../../libs/widgets/src/lib/navigate-back/navigate-back.service.ts","../../../../libs/widgets/src/lib/navigate-back/navigate-back.component.ts","../../../../libs/widgets/src/lib/app-property/app-property.mapper.ts","../../../../libs/widgets/src/lib/app-property/app-property-store.provider.ts","../../../../libs/widgets/src/lib/share-button/share-button.component.ts","../../../../libs/widgets/src/lib/share-button/share-button.module.ts","../../../../libs/widgets/src/lib/language-selector/transloco.loader.ts","../../../../libs/widgets/src/lib/widgets.module.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 = uuidv4();\n private readonly propertyName: string;\n private propertyValue: string;\n\n constructor(name?: string, value?: string) {\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 } 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; prefix: 'language-selector'\">\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(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 selectedLanguage = this.runtimeConfiguration.DEFAULT_LANGUAGE;\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 }\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, TranslocoDirective } from '@jsverse/transloco';\n\n@Component({\n selector: 'pp-language-selector',\n template: `\n <ng-container *transloco=\"let t; prefix: 'language-selector'\">\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 />\n </div>\n </ng-template>\n </ng-container>\n `,\n styleUrls: ['./language-selector.component.css'],\n imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, LanguageSelectorListComponent, TranslocoDirective],\n providers: [provideTranslocoScope('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, 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';\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 // 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(this.LIKES_PROPERTY, '1'));\n }\n }\n\n // endregion\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.name, dto.value);\n }\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n toDto(entity: ApplicationProperty): any {\n return { 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, TranslocoService } from '@jsverse/transloco';\nimport { inject, isDevMode, NgModule } from '@angular/core';\nimport de from './assets/i18n/widgets/de.json';\nimport hu from './assets/i18n/widgets/hu.json';\nimport en from './assets/i18n/widgets/en.json';\nimport es from './assets/i18n/widgets/es.json';\nimport { TranslocoHttpLoader } from './language-selector/transloco.loader';\nimport { LanguageConfig } from './language-selector/language-config';\nimport { RUNTIME_CONFIGURATION } from '@processpuzzle/util';\n\n@NgModule({\n imports: [TranslocoModule],\n exports: [TranslocoModule],\n providers: [\n {\n provide: provideTransloco,\n useFactory: () => {\n const runtimeConfig: LanguageConfig = inject(RUNTIME_CONFIGURATION);\n return provideTransloco({\n config: {\n availableLangs: runtimeConfig.AVAILABLE_LANGUAGES?.map((lang) => lang.code),\n defaultLang: runtimeConfig.DEFAULT_LANGUAGE,\n reRenderOnLangChange: true,\n prodMode: !isDevMode(),\n },\n loader: TranslocoHttpLoader,\n });\n },\n deps: [RUNTIME_CONFIGURATION],\n },\n provideTransloco({\n config: {\n availableLangs: ['de', 'en', 'es', 'hu'],\n defaultLang: 'en',\n reRenderOnLangChange: true,\n prodMode: !isDevMode(),\n },\n loader: TranslocoHttpLoader,\n }),\n ],\n})\nexport class WidgetsModule {\n constructor(private _translate: TranslocoService) {\n this._translate.setTranslation({ widgets: de }, 'de');\n this._translate.setTranslation({ widgets: hu }, 'hu');\n this._translate.setTranslation({ widgets: en }, 'en');\n this._translate.setTranslation({ widgets: es }, 'es');\n }\n}\n","/*\n * Public API Surface of @processpuzzle/widgets\n */\n\nexport { ApplicationProperty } from './lib/app-property/app-property';\nexport { ApplicationPropertyStore } from './lib/app-property/app-property.store';\nexport { LanguageSelectorComponent } from './lib/language-selector/language-selector.component';\nexport { LikeButtonComponent } from './lib/like-button/like-button.component';\nexport { NavigateBackComponent } from './lib/navigate-back/navigate-back.component';\nexport { NavigateBackService } from './lib/navigate-back/navigate-back.service';\nexport { provideAppPropertyStore } from './lib/app-property/app-property-store.provider';\nexport { ShareButtonComponent } from './lib/share-button/share-button.component';\nexport { ShareButtonModule } from './lib/share-button/share-button.module';\nexport { TranslocoHttpLoader } from './lib/language-selector/transloco.loader';\nexport { WidgetsModule } from './lib/widgets.module';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["uuidv4","i1"],"mappings":"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"}
package/index.d.ts ADDED
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@processpuzzle/widgets" />
5
+ export * from './public-api';
@@ -0,0 +1,2 @@
1
+ import { Provider } from '@angular/core';
2
+ export declare function provideAppPropertyStore(): Provider[];
@@ -0,0 +1,10 @@
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(name?: string, value?: string);
7
+ get name(): string;
8
+ get value(): string;
9
+ set value(newValue: string);
10
+ }
@@ -0,0 +1,6 @@
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
+ }
@@ -0,0 +1,7 @@
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
+ }
@@ -0,0 +1,64 @@
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-BpWCCOIR").MatPaginator>>;
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
+ }>>;
@@ -0,0 +1,9 @@
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
+ }
@@ -0,0 +1,11 @@
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
+ selectedLanguage: string | undefined;
8
+ onSelectionChange(event: MatSelectionListChange): void;
9
+ static ɵfac: i0.ɵɵFactoryDeclaration<LanguageSelectorListComponent, never>;
10
+ static ɵcmp: i0.ɵɵComponentDeclaration<LanguageSelectorListComponent, "pp-language-selector-list", never, {}, {}, never, never, true, never>;
11
+ }
@@ -0,0 +1,9 @@
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
+ }
@@ -0,0 +1,11 @@
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
+ }
@@ -0,0 +1,72 @@
1
+ import { ApplicationProperty } from '../app-property/app-property';
2
+ import * as i0 from "@angular/core";
3
+ export declare class LikeButtonComponent {
4
+ private readonly LIKES_PROPERTY;
5
+ likesCount: import("@angular/core").Signal<ApplicationProperty | undefined>;
6
+ readonly store: {
7
+ entities: import("@angular/core").Signal<ApplicationProperty[]>;
8
+ page: import("@angular/core").Signal<number>;
9
+ pageSize: import("@angular/core").Signal<number>;
10
+ totalPageCount: import("@angular/core").Signal<number>;
11
+ currentId: import("@angular/core").Signal<string | undefined>;
12
+ currentEntity: import("@angular/core").Signal<ApplicationProperty | undefined>;
13
+ isLoading: import("@angular/core").Signal<boolean>;
14
+ error: import("@angular/core").Signal<string | undefined>;
15
+ selectedEntities: import("@angular/core").Signal<ApplicationProperty[]>;
16
+ activeRouteSegment: import("@angular/core").Signal<import("dist/libs/base-entity/lib/base-form-navigator/base-form-navigator.store").RouteSegments>;
17
+ entityName: import("@angular/core").Signal<string>;
18
+ navigationError?: import("@angular/core").Signal<string | undefined> | undefined;
19
+ navigateTo: import("@angular/core").Signal<string>;
20
+ returnTo: import("@angular/core").Signal<string>;
21
+ activeTabs: import("@angular/core").Signal<string[]>;
22
+ currentTab: import("@angular/core").Signal<string | undefined>;
23
+ filterKey: import("@angular/core").Signal<string | undefined>;
24
+ countOfEntities: import("@angular/core").Signal<number>;
25
+ matTableDataSource: import("@angular/core").Signal<import("@angular/material/table").MatTableDataSource<ApplicationProperty, import("@angular/material/paginator.d-BpWCCOIR").MatPaginator>>;
26
+ clearCurrentEntity: () => void;
27
+ createEntity: () => ApplicationProperty;
28
+ add: import("@ngrx/signals/rxjs-interop").RxMethod<ApplicationProperty>;
29
+ delete: import("@ngrx/signals/rxjs-interop").RxMethod<string>;
30
+ deleteAll: import("@ngrx/signals/rxjs-interop").RxMethod<void>;
31
+ deselectAll: () => void;
32
+ deselectEntity: (id: string) => void;
33
+ load: import("@ngrx/signals/rxjs-interop").RxMethod<import("@processpuzzle/base-entity").BaseEntityQueryCondition>;
34
+ loadById: (id: string) => ApplicationProperty | undefined;
35
+ resetErrorState: () => void;
36
+ selectEntity: (id: string) => void;
37
+ setCurrentEntity: (id: string) => void;
38
+ update: import("@ngrx/signals/rxjs-interop").RxMethod<ApplicationProperty>;
39
+ determineCurrentUrl: () => string;
40
+ determineActiveRouteSegment: () => void;
41
+ navigateBack: (defaultUrl?: string) => Promise<void>;
42
+ navigateToDetails: (id: string, returnTo?: string) => Promise<void>;
43
+ navigateToList: (returnTo?: string) => Promise<void>;
44
+ navigateToRelated: (relatedTypeName: string, id: string, returnTo?: string) => Promise<void>;
45
+ navigateToUrl: (url: string, returnTo?: string) => Promise<void>;
46
+ reset: () => void;
47
+ tabIsActive: (tabName: string) => void;
48
+ tabIsInactive: (tabName: string) => void;
49
+ doFilter: (filterKey: string) => void;
50
+ } & import("@ngrx/signals").StateSource<{
51
+ entities: ApplicationProperty[];
52
+ page: number;
53
+ pageSize: number;
54
+ totalPageCount: number;
55
+ currentId: string | undefined;
56
+ currentEntity: ApplicationProperty | undefined;
57
+ isLoading: boolean;
58
+ error: string | undefined;
59
+ selectedEntities: ApplicationProperty[];
60
+ activeRouteSegment: import("dist/libs/base-entity/lib/base-form-navigator/base-form-navigator.store").RouteSegments;
61
+ entityName: string;
62
+ navigationError?: string | undefined | undefined;
63
+ navigateTo: string;
64
+ returnTo: string;
65
+ activeTabs: string[];
66
+ currentTab: string | undefined;
67
+ filterKey: string | undefined;
68
+ }>;
69
+ onLike(): void;
70
+ static ɵfac: i0.ɵɵFactoryDeclaration<LikeButtonComponent, never>;
71
+ static ɵcmp: i0.ɵɵComponentDeclaration<LikeButtonComponent, "pp-like-button", never, {}, {}, never, never, true, never>;
72
+ }
@@ -0,0 +1,8 @@
1
+ import { NavigateBackService } from './navigate-back.service';
2
+ import * as i0 from "@angular/core";
3
+ export declare class NavigateBackComponent {
4
+ readonly service: NavigateBackService;
5
+ onNavigateBack(): void;
6
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigateBackComponent, never>;
7
+ static ɵcmp: i0.ɵɵComponentDeclaration<NavigateBackComponent, "pp-navigate-back", never, {}, {}, never, never, true, never>;
8
+ }
@@ -0,0 +1,14 @@
1
+ import { Stack } from '@processpuzzle/util';
2
+ import { Router } from '@angular/router';
3
+ import * as i0 from "@angular/core";
4
+ export declare class NavigateBackService {
5
+ private readonly router;
6
+ private readonly routeHistory;
7
+ constructor(router: Router);
8
+ goBack(): void;
9
+ getRouteStack(): Stack<string>;
10
+ clearHistory(): void;
11
+ private addRouteToStack;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<NavigateBackService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<NavigateBackService>;
14
+ }
@@ -0,0 +1,9 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ShareButtonComponent {
3
+ isOpen: boolean;
4
+ onClose(): void;
5
+ onShare(): void;
6
+ private toggleIsOpen;
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareButtonComponent, never>;
8
+ static ɵcmp: i0.ɵɵComponentDeclaration<ShareButtonComponent, "pp-share-button", never, {}, {}, never, never, true, never>;
9
+ }
@@ -0,0 +1,6 @@
1
+ import * as i0 from "@angular/core";
2
+ export declare class ShareButtonModule {
3
+ static ɵfac: i0.ɵɵFactoryDeclaration<ShareButtonModule, never>;
4
+ static ɵmod: i0.ɵɵNgModuleDeclaration<ShareButtonModule, never, never, never>;
5
+ static ɵinj: i0.ɵɵInjectorDeclaration<ShareButtonModule>;
6
+ }
@@ -0,0 +1,10 @@
1
+ import { TranslocoService } from '@jsverse/transloco';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@jsverse/transloco";
4
+ export declare class WidgetsModule {
5
+ private _translate;
6
+ constructor(_translate: TranslocoService);
7
+ static ɵfac: i0.ɵɵFactoryDeclaration<WidgetsModule, never>;
8
+ static ɵmod: i0.ɵɵNgModuleDeclaration<WidgetsModule, never, [typeof i1.TranslocoModule], [typeof i1.TranslocoModule]>;
9
+ static ɵinj: i0.ɵɵInjectorDeclaration<WidgetsModule>;
10
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@processpuzzle/widgets",
3
- "version": "0.0.2",
3
+ "version": "0.0.4",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -17,8 +17,10 @@
17
17
  "dependencies": {
18
18
  "tslib": "^2.8.1"
19
19
  },
20
+ "sideEffects": false,
21
+ "module": "fesm2022/processpuzzle-widgets.mjs",
22
+ "typings": "index.d.ts",
20
23
  "exports": {
21
- "./i18n/*": "./i18n/pp-widgets/*",
22
24
  "./package.json": {
23
25
  "default": "./package.json"
24
26
  },
@@ -26,12 +28,5 @@
26
28
  "types": "./index.d.ts",
27
29
  "default": "./fesm2022/processpuzzle-widgets.mjs"
28
30
  }
29
- },
30
- "files": [
31
- "dist/libs/widgets/",
32
- "i18n/"
33
- ],
34
- "sideEffects": false,
35
- "module": "fesm2022/processpuzzle-widgets.mjs",
36
- "typings": "index.d.ts"
31
+ }
37
32
  }
@@ -0,0 +1,11 @@
1
+ export { ApplicationProperty } from './lib/app-property/app-property';
2
+ export { ApplicationPropertyStore } from './lib/app-property/app-property.store';
3
+ export { LanguageSelectorComponent } from './lib/language-selector/language-selector.component';
4
+ export { LikeButtonComponent } from './lib/like-button/like-button.component';
5
+ export { NavigateBackComponent } from './lib/navigate-back/navigate-back.component';
6
+ export { NavigateBackService } from './lib/navigate-back/navigate-back.service';
7
+ export { provideAppPropertyStore } from './lib/app-property/app-property-store.provider';
8
+ export { ShareButtonComponent } from './lib/share-button/share-button.component';
9
+ export { ShareButtonModule } from './lib/share-button/share-button.module';
10
+ export { TranslocoHttpLoader } from './lib/language-selector/transloco.loader';
11
+ export { WidgetsModule } from './lib/widgets.module';