@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.
- package/fesm2022/processpuzzle-widgets-mat-cards-grid.mjs +3 -3
- package/fesm2022/processpuzzle-widgets-mat-cards-grid.mjs.map +1 -1
- package/fesm2022/processpuzzle-widgets.mjs +101 -108
- package/fesm2022/processpuzzle-widgets.mjs.map +1 -1
- package/package.json +20 -11
- package/types/processpuzzle-widgets-mat-cards-grid.d.ts +29 -0
- package/types/processpuzzle-widgets.d.ts +233 -0
- package/app-property/app-property-store.provider.d.ts +0 -2
- package/app-property/app-property.d.ts +0 -10
- package/app-property/app-property.mapper.d.ts +0 -6
- package/app-property/app-property.service.d.ts +0 -7
- package/app-property/app-property.store.d.ts +0 -64
- package/index.d.ts +0 -5
- package/language-selector/language-config.d.ts +0 -9
- package/language-selector/language-selector-list.component.d.ts +0 -12
- package/language-selector/language-selector.component.d.ts +0 -9
- package/language-selector/transloco.loader.d.ts +0 -11
- package/like-button/like-button.component.d.ts +0 -77
- package/mat-cards-grid/index.d.ts +0 -5
- package/mat-cards-grid/public-api.d.ts +0 -3
- package/mat-cards-grid/src/action-spec.d.ts +0 -7
- package/mat-cards-grid/src/cards-spec.d.ts +0 -8
- package/mat-cards-grid/src/mat-cards-grid.component.d.ts +0 -10
- package/navigate-back/navigate-back.component.d.ts +0 -8
- package/navigate-back/navigate-back.service.d.ts +0 -14
- package/public-api.d.ts +0 -13
- package/share-button/share-button.component.d.ts +0 -9
- package/share-button/share-button.module.d.ts +0 -6
- package/widgets.module.d.ts +0 -7
- package/widgets.routes.d.ts +0 -2
|
@@ -15,8 +15,8 @@ class MatCardsGridComponent {
|
|
|
15
15
|
hasValue(textValue) {
|
|
16
16
|
return textValue.length > 0;
|
|
17
17
|
}
|
|
18
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
19
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
18
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MatCardsGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
19
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: MatCardsGridComponent, isStandalone: true, selector: "mat-cards-grid", inputs: { cards: "cards" }, ngImport: i0, template: `
|
|
20
20
|
<div [ngClass]="layoutService.layoutClass()">
|
|
21
21
|
@for (card of cards; track $index) {
|
|
22
22
|
<ng-container *transloco="let t; prefix: card.translocoPrefix">
|
|
@@ -58,7 +58,7 @@ class MatCardsGridComponent {
|
|
|
58
58
|
</div>
|
|
59
59
|
`, isInline: true, styles: [".web-layout{display:grid;grid-template-columns:repeat(3,minmax(min(200px,100%),1fr));column-gap:10px;row-gap:10px}.tablet-layout{display:grid;grid-template-columns:repeat(2,minmax(min(200px,100%),1fr));column-gap:10px;row-gap:10px}.handset-layout{display:grid;grid-template-columns:repeat(1,minmax(min(200px,100%),1fr));column-gap:10px;row-gap:10px}.default-mat-card{display:flex;flex-direction:column;background-color:#99d9eb}mat-card-title{font-family:Winky Sans,sans-serif}mat-card-content{flex-grow:1;overflow:auto;font-family:cursive;font-size:medium;text-align:left;padding-bottom:10px}\n"], dependencies: [{ kind: "ngmodule", type: MatCardModule }, { kind: "component", type: i1.MatCard, selector: "mat-card", inputs: ["appearance"], exportAs: ["matCard"] }, { kind: "directive", type: i1.MatCardActions, selector: "mat-card-actions", inputs: ["align"], exportAs: ["matCardActions"] }, { kind: "directive", type: i1.MatCardContent, selector: "mat-card-content" }, { kind: "component", type: i1.MatCardHeader, selector: "mat-card-header" }, { kind: "directive", type: i1.MatCardSubtitle, selector: "mat-card-subtitle, [mat-card-subtitle], [matCardSubtitle]" }, { kind: "directive", type: i1.MatCardTitle, selector: "mat-card-title, [mat-card-title], [matCardTitle]" }, { kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "info", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }, { kind: "directive", type: TranslocoDirective, selector: "[transloco]", inputs: ["transloco", "translocoParams", "translocoScope", "translocoRead", "translocoPrefix", "translocoLang", "translocoLoadingTpl"] }, { kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
60
60
|
}
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
61
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: MatCardsGridComponent, decorators: [{
|
|
62
62
|
type: Component,
|
|
63
63
|
args: [{ selector: 'mat-cards-grid', standalone: true, imports: [MatCardModule, MatButtonModule, RouterLink, TranslocoDirective, NgClass], template: `
|
|
64
64
|
<div [ngClass]="layoutService.layoutClass()">
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"processpuzzle-widgets-mat-cards-grid.mjs","sources":["../../../../libs/widgets/mat-cards-grid/src/mat-cards-grid.component.ts","../../../../libs/widgets/mat-cards-grid/processpuzzle-widgets-mat-cards-grid.ts"],"sourcesContent":["import { Component, inject, Input } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatButtonModule } from '@angular/material/button';\nimport { NgClass } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { TranslocoDirective } from '@jsverse/transloco';\nimport { CardsGridSpec } from './cards-spec';\nimport { LayoutService } from '@processpuzzle/util';\n\n@Component({\n selector: 'mat-cards-grid',\n standalone: true,\n imports: [MatCardModule, MatButtonModule, RouterLink, TranslocoDirective, NgClass],\n template: `\n <div [ngClass]=\"layoutService.layoutClass()\">\n @for (card of cards; track $index) {\n <ng-container *transloco=\"let t; prefix: card.translocoPrefix\">\n <mat-card class=\"default-mat-card\">\n <mat-card-header>\n @if (hasValue(card.title)) {\n <mat-card-title>{{ t(card.title) }}</mat-card-title>\n }\n @if (hasValue(card.subtitle)) {\n <mat-card-subtitle>{{ t(card.subtitle) }}</mat-card-subtitle>\n }\n </mat-card-header>\n @if (hasValue(card.content)) {\n <mat-card-content>\n <div>\n {{ t(card.content[0]) }}\n @if (card.content.length > 1) {\n <ul>\n @for (item of card.content.slice(1); track $index) {\n <li>{{ t(item) }}</li>\n }\n </ul>\n }\n </div>\n </mat-card-content>\n }\n @if (card.actions && card.actions.length > 0) {\n <mat-card-actions>\n @for (action of card.actions; track $index) {\n <ng-container>\n <button [matButton]=\"action.buttonType ?? 'elevated'\" [routerLink]=\"action.link\">{{ t(action.caption) }}</button>\n </ng-container>\n }\n </mat-card-actions>\n }\n </mat-card>\n </ng-container>\n }\n </div>\n `,\n styleUrls: ['./mat-cards-grid.component.css'],\n})\nexport class MatCardsGridComponent {\n @Input() cards: CardsGridSpec[] = [];\n readonly layoutService = inject(LayoutService);\n\n hasValue(textValue: string | Array<string>) {\n return textValue.length > 0;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;MAwDa,qBAAqB,CAAA;IACvB,KAAK,GAAoB,EAAE;AAC3B,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAE9C,IAAA,QAAQ,CAAC,SAAiC,EAAA;AACxC,QAAA,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC
|
|
1
|
+
{"version":3,"file":"processpuzzle-widgets-mat-cards-grid.mjs","sources":["../../../../libs/widgets/mat-cards-grid/src/mat-cards-grid.component.ts","../../../../libs/widgets/mat-cards-grid/processpuzzle-widgets-mat-cards-grid.ts"],"sourcesContent":["import { Component, inject, Input } from '@angular/core';\nimport { MatCardModule } from '@angular/material/card';\nimport { MatButtonModule } from '@angular/material/button';\nimport { NgClass } from '@angular/common';\nimport { RouterLink } from '@angular/router';\nimport { TranslocoDirective } from '@jsverse/transloco';\nimport { CardsGridSpec } from './cards-spec';\nimport { LayoutService } from '@processpuzzle/util';\n\n@Component({\n selector: 'mat-cards-grid',\n standalone: true,\n imports: [MatCardModule, MatButtonModule, RouterLink, TranslocoDirective, NgClass],\n template: `\n <div [ngClass]=\"layoutService.layoutClass()\">\n @for (card of cards; track $index) {\n <ng-container *transloco=\"let t; prefix: card.translocoPrefix\">\n <mat-card class=\"default-mat-card\">\n <mat-card-header>\n @if (hasValue(card.title)) {\n <mat-card-title>{{ t(card.title) }}</mat-card-title>\n }\n @if (hasValue(card.subtitle)) {\n <mat-card-subtitle>{{ t(card.subtitle) }}</mat-card-subtitle>\n }\n </mat-card-header>\n @if (hasValue(card.content)) {\n <mat-card-content>\n <div>\n {{ t(card.content[0]) }}\n @if (card.content.length > 1) {\n <ul>\n @for (item of card.content.slice(1); track $index) {\n <li>{{ t(item) }}</li>\n }\n </ul>\n }\n </div>\n </mat-card-content>\n }\n @if (card.actions && card.actions.length > 0) {\n <mat-card-actions>\n @for (action of card.actions; track $index) {\n <ng-container>\n <button [matButton]=\"action.buttonType ?? 'elevated'\" [routerLink]=\"action.link\">{{ t(action.caption) }}</button>\n </ng-container>\n }\n </mat-card-actions>\n }\n </mat-card>\n </ng-container>\n }\n </div>\n `,\n styleUrls: ['./mat-cards-grid.component.css'],\n})\nexport class MatCardsGridComponent {\n @Input() cards: CardsGridSpec[] = [];\n readonly layoutService = inject(LayoutService);\n\n hasValue(textValue: string | Array<string>) {\n return textValue.length > 0;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":";;;;;;;;;;;MAwDa,qBAAqB,CAAA;IACvB,KAAK,GAAoB,EAAE;AAC3B,IAAA,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;AAE9C,IAAA,QAAQ,CAAC,SAAiC,EAAA;AACxC,QAAA,OAAO,SAAS,CAAC,MAAM,GAAG,CAAC;IAC7B;uGANW,qBAAqB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA;AAArB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,qBAAqB,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EA3CtB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCT,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,olBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAzCS,aAAa,yoBAAE,eAAe,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,iOAAA,EAAA,MAAA,EAAA,CAAA,WAAA,CAAA,EAAA,QAAA,EAAA,CAAA,WAAA,EAAA,WAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,UAAU,EAAA,QAAA,EAAA,cAAA,EAAA,MAAA,EAAA,CAAA,QAAA,EAAA,aAAA,EAAA,UAAA,EAAA,qBAAA,EAAA,OAAA,EAAA,MAAA,EAAA,YAAA,EAAA,kBAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,YAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAE,kBAAkB,gMAAE,OAAO,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,CAAA,OAAA,EAAA,SAAA,CAAA,EAAA,CAAA,EAAA,CAAA;;2FA4CtE,qBAAqB,EAAA,UAAA,EAAA,CAAA;kBA/CjC,SAAS;AACE,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,gBAAgB,EAAA,UAAA,EACd,IAAI,EAAA,OAAA,EACP,CAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAA,QAAA,EACxE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,olBAAA,CAAA,EAAA;;sBAIA;;;ACzDH;;AAEG;;;;"}
|
|
@@ -5,18 +5,19 @@ import * as i0 from '@angular/core';
|
|
|
5
5
|
import { inject, output, Component, computed, effect, Injectable, EnvironmentInjector, NgModule, isDevMode } from '@angular/core';
|
|
6
6
|
import { MatIcon } from '@angular/material/icon';
|
|
7
7
|
import { MatIconButton } from '@angular/material/button';
|
|
8
|
-
import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
|
|
9
8
|
import { RUNTIME_CONFIGURATION, Stack } from '@processpuzzle/util';
|
|
10
9
|
import { TranslocoService, TranslocoDirective, provideTranslocoScope, TranslocoModule, provideTransloco } from '@jsverse/transloco';
|
|
11
|
-
import { NgClass
|
|
10
|
+
import { NgClass } from '@angular/common';
|
|
12
11
|
import { MatListOption, MatSelectionList } from '@angular/material/list';
|
|
13
|
-
import
|
|
14
|
-
import
|
|
15
|
-
import { NavigationEnd } from '@angular/router';
|
|
12
|
+
import { MatMenuTrigger, MatMenu } from '@angular/material/menu';
|
|
13
|
+
import { MatSnackBar } from '@angular/material/snack-bar';
|
|
14
|
+
import { Router, NavigationEnd } from '@angular/router';
|
|
15
|
+
import { BehaviorSubject } from 'rxjs';
|
|
16
|
+
import { CdkOverlayOrigin, CdkConnectedOverlay } from '@angular/cdk/overlay';
|
|
16
17
|
import { ShareButtons } from 'ngx-sharebuttons/buttons';
|
|
17
18
|
import { provideShareButtonsOptions } from 'ngx-sharebuttons';
|
|
18
19
|
import { shareIcons } from 'ngx-sharebuttons/icons';
|
|
19
|
-
import
|
|
20
|
+
import { HttpClient } from '@angular/common/http';
|
|
20
21
|
|
|
21
22
|
class ApplicationProperty {
|
|
22
23
|
id;
|
|
@@ -52,114 +53,108 @@ const ApplicationPropertyStore = signalStore({ providedIn: 'root' }, BaseEntityS
|
|
|
52
53
|
class LanguageSelectorListComponent {
|
|
53
54
|
translocoService = inject(TranslocoService);
|
|
54
55
|
runtimeConfiguration = inject(RUNTIME_CONFIGURATION);
|
|
55
|
-
languages = this.runtimeConfiguration.AVAILABLE_LANGUAGES;
|
|
56
|
+
languages = this.runtimeConfiguration.LANGUAGE_CONFIGURATION.AVAILABLE_LANGUAGES;
|
|
56
57
|
languageSelected = output();
|
|
57
|
-
|
|
58
|
+
_selectedLanguage;
|
|
59
|
+
constructor() {
|
|
60
|
+
this._selectedLanguage = this.translocoService.getActiveLang();
|
|
61
|
+
}
|
|
62
|
+
get selectedLanguage() {
|
|
63
|
+
return this._selectedLanguage ?? this.translocoService.getActiveLang();
|
|
64
|
+
}
|
|
58
65
|
// region event handling methods
|
|
59
66
|
onSelectionChange(event) {
|
|
60
67
|
const selectedOption = event.source;
|
|
61
68
|
const selectedValue = selectedOption.selectedOptions.selected[0]?.value;
|
|
62
69
|
if (this.selectedLanguage !== selectedValue) {
|
|
63
70
|
this.translocoService.setActiveLang(selectedValue);
|
|
64
|
-
this.
|
|
71
|
+
this._selectedLanguage = selectedValue;
|
|
65
72
|
this.languageSelected.emit();
|
|
66
73
|
}
|
|
67
74
|
}
|
|
68
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
69
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
75
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LanguageSelectorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
76
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.4", type: LanguageSelectorListComponent, isStandalone: true, selector: "pp-language-selector-list", outputs: { languageSelected: "languageSelected" }, providers: [provideTranslocoScope({ scope: 'widgets' })], ngImport: i0, template: `
|
|
70
77
|
<ng-container *transloco="let t">
|
|
71
78
|
<div class="language-selector">
|
|
72
79
|
<mat-selection-list #selectionList (selectionChange)="onSelectionChange($event)" [multiple]="false">
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
80
|
+
@for (language of languages; track language.code) {
|
|
81
|
+
<mat-list-option
|
|
82
|
+
[value]="language.code"
|
|
83
|
+
[selected]="selectedLanguage === language.code"
|
|
84
|
+
tabindex="0"
|
|
85
|
+
role="option"
|
|
86
|
+
[attr.aria-selected]="selectedLanguage === language.code ? 'true' : 'false'"
|
|
87
|
+
>
|
|
88
|
+
<span [ngClass]="language.flag"> - </span>
|
|
89
|
+
<span class="language-label">{{ t('widgets.' + language.label) }}</span>
|
|
90
|
+
</mat-list-option>
|
|
91
|
+
}
|
|
84
92
|
</mat-selection-list>
|
|
85
93
|
</div>
|
|
86
94
|
</ng-container>
|
|
87
|
-
`, 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:
|
|
95
|
+
`, isInline: true, styles: [".flag-icon{width:24px;height:16px;border-radius:2px}.language-label{margin-left:10px}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { 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"] }] });
|
|
88
96
|
}
|
|
89
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
97
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LanguageSelectorListComponent, decorators: [{
|
|
90
98
|
type: Component,
|
|
91
99
|
args: [{ selector: 'pp-language-selector-list', template: `
|
|
92
100
|
<ng-container *transloco="let t">
|
|
93
101
|
<div class="language-selector">
|
|
94
102
|
<mat-selection-list #selectionList (selectionChange)="onSelectionChange($event)" [multiple]="false">
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
103
|
+
@for (language of languages; track language.code) {
|
|
104
|
+
<mat-list-option
|
|
105
|
+
[value]="language.code"
|
|
106
|
+
[selected]="selectedLanguage === language.code"
|
|
107
|
+
tabindex="0"
|
|
108
|
+
role="option"
|
|
109
|
+
[attr.aria-selected]="selectedLanguage === language.code ? 'true' : 'false'"
|
|
110
|
+
>
|
|
111
|
+
<span [ngClass]="language.flag"> - </span>
|
|
112
|
+
<span class="language-label">{{ t('widgets.' + language.label) }}</span>
|
|
113
|
+
</mat-list-option>
|
|
114
|
+
}
|
|
106
115
|
</mat-selection-list>
|
|
107
116
|
</div>
|
|
108
117
|
</ng-container>
|
|
109
|
-
`, imports: [NgClass,
|
|
110
|
-
}] });
|
|
118
|
+
`, imports: [NgClass, TranslocoDirective, MatListOption, MatSelectionList], providers: [provideTranslocoScope({ scope: 'widgets' })], styles: [".flag-icon{width:24px;height:16px;border-radius:2px}.language-label{margin-left:10px}\n"] }]
|
|
119
|
+
}], ctorParameters: () => [], propDecorators: { languageSelected: [{ type: i0.Output, args: ["languageSelected"] }] } });
|
|
111
120
|
|
|
112
121
|
class LanguageSelectorComponent {
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}
|
|
118
|
-
onSelectLanguage() {
|
|
119
|
-
this.toggleIsOpen();
|
|
120
|
-
}
|
|
121
|
-
// endregion
|
|
122
|
-
// region protected, private helper methods
|
|
123
|
-
toggleIsOpen() {
|
|
124
|
-
this.isOpen = !this.isOpen;
|
|
125
|
-
}
|
|
126
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
127
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: LanguageSelectorComponent, isStandalone: true, selector: "pp-language-selector", providers: [provideTranslocoScope({ scope: 'widgets' })], ngImport: i0, template: `
|
|
128
|
-
<div>
|
|
129
|
-
<button mat-icon-button (click)="onSelectLanguage()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Select Language Button">
|
|
122
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LanguageSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
123
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LanguageSelectorComponent, isStandalone: true, selector: "pp-language-selector", providers: [provideTranslocoScope({ scope: 'widgets' })], ngImport: i0, template: `
|
|
124
|
+
<div class="language-selector-container">
|
|
125
|
+
<button mat-icon-button [matMenuTriggerFor]="langMenu" aria-label="Select Language Button">
|
|
130
126
|
<mat-icon>language</mat-icon>
|
|
131
127
|
</button>
|
|
128
|
+
<mat-menu #langMenu="matMenu">
|
|
129
|
+
<ng-container (click)="$event.stopPropagation()">
|
|
130
|
+
<pp-language-selector-list (languageSelected)="langMenu.closed.emit()" />
|
|
131
|
+
</ng-container>
|
|
132
|
+
</mat-menu>
|
|
132
133
|
</div>
|
|
133
|
-
|
|
134
|
-
<div class="language-selector-container">
|
|
135
|
-
<pp-language-selector-list (languageSelected)="onClose()" />
|
|
136
|
-
</div>
|
|
137
|
-
</ng-template>
|
|
138
|
-
`, 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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: LanguageSelectorListComponent, selector: "pp-language-selector-list", outputs: ["languageSelected"] }] });
|
|
134
|
+
`, isInline: true, styles: [".language-dropdown{position:absolute;top:100%;right:0;z-index:1000;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:200px}\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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: LanguageSelectorListComponent, selector: "pp-language-selector-list", outputs: ["languageSelected"] }, { kind: "directive", type: MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "component", type: MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }] });
|
|
139
135
|
}
|
|
140
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
136
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
|
|
141
137
|
type: Component,
|
|
142
138
|
args: [{ selector: 'pp-language-selector', template: `
|
|
143
|
-
<div>
|
|
144
|
-
<button mat-icon-button
|
|
139
|
+
<div class="language-selector-container">
|
|
140
|
+
<button mat-icon-button [matMenuTriggerFor]="langMenu" aria-label="Select Language Button">
|
|
145
141
|
<mat-icon>language</mat-icon>
|
|
146
142
|
</button>
|
|
143
|
+
<mat-menu #langMenu="matMenu">
|
|
144
|
+
<ng-container (click)="$event.stopPropagation()">
|
|
145
|
+
<pp-language-selector-list (languageSelected)="langMenu.closed.emit()" />
|
|
146
|
+
</ng-container>
|
|
147
|
+
</mat-menu>
|
|
147
148
|
</div>
|
|
148
|
-
|
|
149
|
-
<div class="language-selector-container">
|
|
150
|
-
<pp-language-selector-list (languageSelected)="onClose()" />
|
|
151
|
-
</div>
|
|
152
|
-
</ng-template>
|
|
153
|
-
`, imports: [CdkOverlayOrigin, CdkConnectedOverlay, MatIcon, MatIconButton, LanguageSelectorListComponent], providers: [provideTranslocoScope({ scope: 'widgets' })], styles: [".language-selector-container{display:flex;background:#eee}\n"] }]
|
|
149
|
+
`, imports: [MatIcon, MatIconButton, LanguageSelectorListComponent, MatMenuTrigger, MatMenu], providers: [provideTranslocoScope({ scope: 'widgets' })], styles: [".language-dropdown{position:absolute;top:100%;right:0;z-index:1000;background:#fff;border-radius:8px;box-shadow:0 4px 16px #00000026;min-width:200px}\n"] }]
|
|
154
150
|
}] });
|
|
155
151
|
|
|
156
152
|
class LikeButtonComponent {
|
|
157
|
-
snackBar;
|
|
158
153
|
LIKES_PROPERTY = 'likes';
|
|
159
|
-
|
|
154
|
+
snackBar = inject(MatSnackBar);
|
|
155
|
+
likesCount = computed(() => this.store.entities().find((property) => property.name === this.LIKES_PROPERTY), ...(ngDevMode ? [{ debugName: "likesCount" }] : /* istanbul ignore next */ []));
|
|
160
156
|
store = inject(ApplicationPropertyStore);
|
|
161
|
-
constructor(
|
|
162
|
-
this.snackBar = snackBar;
|
|
157
|
+
constructor() {
|
|
163
158
|
this.configureEffects();
|
|
164
159
|
}
|
|
165
160
|
// region event handling methods
|
|
@@ -190,8 +185,8 @@ class LikeButtonComponent {
|
|
|
190
185
|
panelClass: ['error-snackbar'],
|
|
191
186
|
});
|
|
192
187
|
}
|
|
193
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
194
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
188
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LikeButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
189
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: LikeButtonComponent, isStandalone: true, selector: "pp-like-button", ngImport: i0, template: `
|
|
195
190
|
<div class="like-button">
|
|
196
191
|
<button mat-icon-button (click)="onLike()" aria-label="Like Button">
|
|
197
192
|
<mat-icon>favorite</mat-icon>
|
|
@@ -200,7 +195,7 @@ class LikeButtonComponent {
|
|
|
200
195
|
</div>
|
|
201
196
|
`, 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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] });
|
|
202
197
|
}
|
|
203
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
198
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: LikeButtonComponent, decorators: [{
|
|
204
199
|
type: Component,
|
|
205
200
|
args: [{ selector: 'pp-like-button', template: `
|
|
206
201
|
<div class="like-button">
|
|
@@ -210,13 +205,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
210
205
|
<span>{{ likesCount()?.value }}</span>
|
|
211
206
|
</div>
|
|
212
207
|
`, imports: [MatIcon, MatIconButton], styles: [".like-button{position:relative;display:inline-block}.like-button span{position:absolute;bottom:0;right:5px;font-size:10px}\n"] }]
|
|
213
|
-
}], ctorParameters: () => [
|
|
208
|
+
}], ctorParameters: () => [] });
|
|
214
209
|
|
|
215
210
|
class NavigateBackService {
|
|
216
|
-
|
|
211
|
+
noRouteAvailable = new BehaviorSubject('');
|
|
217
212
|
routeHistory = new Stack();
|
|
218
|
-
|
|
219
|
-
|
|
213
|
+
router = inject(Router);
|
|
214
|
+
constructor() {
|
|
220
215
|
this.router.events.subscribe((event) => {
|
|
221
216
|
if (event instanceof NavigationEnd) {
|
|
222
217
|
this.addRouteToStack(event.urlAfterRedirects); // Add the current route to the stack
|
|
@@ -234,6 +229,7 @@ class NavigateBackService {
|
|
|
234
229
|
}
|
|
235
230
|
else {
|
|
236
231
|
console.log('No previous routes to navigate back to.');
|
|
232
|
+
this.noRouteAvailable.next('No previous routes to navigate back to.');
|
|
237
233
|
}
|
|
238
234
|
}
|
|
239
235
|
getRouteStack() {
|
|
@@ -249,13 +245,13 @@ class NavigateBackService {
|
|
|
249
245
|
this.routeHistory.push(route);
|
|
250
246
|
}
|
|
251
247
|
}
|
|
252
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
253
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
248
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavigateBackService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
249
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavigateBackService, providedIn: 'root' });
|
|
254
250
|
}
|
|
255
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
251
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavigateBackService, decorators: [{
|
|
256
252
|
type: Injectable,
|
|
257
253
|
args: [{ providedIn: 'root' }]
|
|
258
|
-
}], ctorParameters: () => [
|
|
254
|
+
}], ctorParameters: () => [] });
|
|
259
255
|
|
|
260
256
|
class NavigateBackComponent {
|
|
261
257
|
service = inject(NavigateBackService);
|
|
@@ -263,14 +259,14 @@ class NavigateBackComponent {
|
|
|
263
259
|
onNavigateBack() {
|
|
264
260
|
this.service.goBack(); // Call the service to handle navigation
|
|
265
261
|
}
|
|
266
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
267
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
262
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavigateBackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
263
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: NavigateBackComponent, isStandalone: true, selector: "pp-navigate-back", ngImport: i0, template: `
|
|
268
264
|
<button mat-icon-button aria-label="Go back" (click)="onNavigateBack()">
|
|
269
265
|
<mat-icon class="material-symbols-outlined fat-back-arrow">arrow_back</mat-icon>
|
|
270
266
|
</button>
|
|
271
267
|
`, 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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] });
|
|
272
268
|
}
|
|
273
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
269
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: NavigateBackComponent, decorators: [{
|
|
274
270
|
type: Component,
|
|
275
271
|
args: [{ selector: 'pp-navigate-back', imports: [MatIcon, MatIconButton], template: `
|
|
276
272
|
<button mat-icon-button aria-label="Go back" (click)="onNavigateBack()">
|
|
@@ -311,8 +307,8 @@ class ShareButtonComponent {
|
|
|
311
307
|
toggleIsOpen() {
|
|
312
308
|
this.isOpen = !this.isOpen;
|
|
313
309
|
}
|
|
314
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
315
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "
|
|
310
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
311
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.2.4", type: ShareButtonComponent, isStandalone: true, selector: "pp-share-button", ngImport: i0, template: `
|
|
316
312
|
<div>
|
|
317
313
|
<button mat-icon-button (click)="onShare()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Share Button">
|
|
318
314
|
<mat-icon>share</mat-icon>
|
|
@@ -323,9 +319,9 @@ class ShareButtonComponent {
|
|
|
323
319
|
<share-buttons />
|
|
324
320
|
</div>
|
|
325
321
|
</ng-template>
|
|
326
|
-
`, 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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { 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"] }] });
|
|
322
|
+
`, 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", "cdkConnectedOverlayUsePopover", "cdkConnectedOverlayMatchWidth", "cdkConnectedOverlay"], 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], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { 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"] }] });
|
|
327
323
|
}
|
|
328
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
324
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ShareButtonComponent, decorators: [{
|
|
329
325
|
type: Component,
|
|
330
326
|
args: [{ selector: 'pp-share-button', template: `
|
|
331
327
|
<div>
|
|
@@ -342,11 +338,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
342
338
|
}] });
|
|
343
339
|
|
|
344
340
|
class ShareButtonModule {
|
|
345
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
346
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
347
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
341
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ShareButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
342
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: ShareButtonModule });
|
|
343
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ShareButtonModule, providers: [provideShareButtonsOptions(shareIcons())] });
|
|
348
344
|
}
|
|
349
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
345
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: ShareButtonModule, decorators: [{
|
|
350
346
|
type: NgModule,
|
|
351
347
|
args: [{
|
|
352
348
|
imports: [],
|
|
@@ -356,27 +352,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
356
352
|
}] });
|
|
357
353
|
|
|
358
354
|
class TranslocoHttpLoader {
|
|
359
|
-
http;
|
|
360
|
-
constructor(http) {
|
|
361
|
-
this.http = http;
|
|
362
|
-
}
|
|
355
|
+
http = inject(HttpClient);
|
|
363
356
|
getTranslation(lang) {
|
|
364
357
|
const path = `/assets/i18n/${lang}.json`;
|
|
365
358
|
console.log(`Loading translations from: ${path}`);
|
|
366
359
|
return this.http.get(path);
|
|
367
360
|
}
|
|
368
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
369
|
-
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "
|
|
361
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TranslocoHttpLoader, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
362
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TranslocoHttpLoader, providedIn: 'root' });
|
|
370
363
|
}
|
|
371
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
364
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: TranslocoHttpLoader, decorators: [{
|
|
372
365
|
type: Injectable,
|
|
373
366
|
args: [{ providedIn: 'root' }]
|
|
374
|
-
}]
|
|
367
|
+
}] });
|
|
375
368
|
|
|
376
369
|
class WidgetsModule {
|
|
377
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
378
|
-
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
379
|
-
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
370
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: WidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
371
|
+
static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "21.2.4", ngImport: i0, type: WidgetsModule, imports: [TranslocoModule], exports: [TranslocoModule] });
|
|
372
|
+
static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: WidgetsModule, providers: [
|
|
380
373
|
provideShareButtonsOptions(shareIcons()),
|
|
381
374
|
// provideI18Configuration(),
|
|
382
375
|
provideTransloco({
|
|
@@ -391,7 +384,7 @@ class WidgetsModule {
|
|
|
391
384
|
}),
|
|
392
385
|
], imports: [TranslocoModule, TranslocoModule] });
|
|
393
386
|
}
|
|
394
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
387
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.4", ngImport: i0, type: WidgetsModule, decorators: [{
|
|
395
388
|
type: NgModule,
|
|
396
389
|
args: [{
|
|
397
390
|
imports: [TranslocoModule],
|
|
@@ -413,7 +406,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.0.0", ngImpor
|
|
|
413
406
|
}]
|
|
414
407
|
}] });
|
|
415
408
|
|
|
416
|
-
const widgetsRoutes = [{ path: 'anything', component: LanguageSelectorComponent }];
|
|
409
|
+
const widgetsRoutes = [{ path: 'anything', component: LanguageSelectorComponent, providers: [provideTranslocoScope('widgets')] }];
|
|
417
410
|
|
|
418
411
|
/*
|
|
419
412
|
* Public API Surface of @processpuzzle/widgets
|