@processpuzzle/widgets 0.1.2 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/fesm2022/processpuzzle-widgets-mat-cards-grid.mjs +3 -3
  2. package/fesm2022/processpuzzle-widgets-mat-cards-grid.mjs.map +1 -1
  3. package/fesm2022/processpuzzle-widgets.mjs +101 -108
  4. package/fesm2022/processpuzzle-widgets.mjs.map +1 -1
  5. package/package.json +20 -11
  6. package/types/processpuzzle-widgets-mat-cards-grid.d.ts +29 -0
  7. package/types/processpuzzle-widgets.d.ts +233 -0
  8. package/app-property/app-property-store.provider.d.ts +0 -2
  9. package/app-property/app-property.d.ts +0 -10
  10. package/app-property/app-property.mapper.d.ts +0 -6
  11. package/app-property/app-property.service.d.ts +0 -7
  12. package/app-property/app-property.store.d.ts +0 -64
  13. package/index.d.ts +0 -5
  14. package/language-selector/language-config.d.ts +0 -9
  15. package/language-selector/language-selector-list.component.d.ts +0 -12
  16. package/language-selector/language-selector.component.d.ts +0 -9
  17. package/language-selector/transloco.loader.d.ts +0 -11
  18. package/like-button/like-button.component.d.ts +0 -77
  19. package/mat-cards-grid/index.d.ts +0 -5
  20. package/mat-cards-grid/public-api.d.ts +0 -3
  21. package/mat-cards-grid/src/action-spec.d.ts +0 -7
  22. package/mat-cards-grid/src/cards-spec.d.ts +0 -8
  23. package/mat-cards-grid/src/mat-cards-grid.component.d.ts +0 -10
  24. package/navigate-back/navigate-back.component.d.ts +0 -8
  25. package/navigate-back/navigate-back.service.d.ts +0 -14
  26. package/public-api.d.ts +0 -13
  27. package/share-button/share-button.component.d.ts +0 -9
  28. package/share-button/share-button.module.d.ts +0 -6
  29. package/widgets.module.d.ts +0 -7
  30. package/widgets.routes.d.ts +0 -2
@@ -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: "20.0.0", ngImport: i0, type: MatCardsGridComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
19
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.0.0", type: MatCardsGridComponent, isStandalone: true, selector: "mat-cards-grid", inputs: { cards: "cards" }, ngImport: i0, template: `
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: "20.0.0", ngImport: i0, type: MatCardsGridComponent, decorators: [{
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;;uGALlB,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,EA3CtB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,gBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCT,EAzCS,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,olBAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,UAAA,EAAA,IAAA,EAAA,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,EAAE,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,EAAA,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,EACd,UAAA,EAAA,IAAI,EACP,OAAA,EAAA,CAAC,aAAa,EAAE,eAAe,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,EACxE,QAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwCT,EAAA,CAAA,EAAA,MAAA,EAAA,CAAA,olBAAA,CAAA,EAAA;8BAIQ,KAAK,EAAA,CAAA;sBAAb;;;ACzDH;;AAEG;;;;"}
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, NgForOf } from '@angular/common';
10
+ import { NgClass } from '@angular/common';
12
11
  import { MatListOption, MatSelectionList } from '@angular/material/list';
13
- import * as i1 from '@angular/material/snack-bar';
14
- import * as i1$1 from '@angular/router';
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 * as i1$2 from '@angular/common/http';
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
- selectedLanguage = this.translocoService.getActiveLang();
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.selectedLanguage = selectedValue;
71
+ this._selectedLanguage = selectedValue;
65
72
  this.languageSelected.emit();
66
73
  }
67
74
  }
68
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: LanguageSelectorListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
69
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: LanguageSelectorListComponent, isStandalone: true, selector: "pp-language-selector-list", outputs: { languageSelected: "languageSelected" }, providers: [provideTranslocoScope('widgets')], ngImport: i0, template: `
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
- <mat-list-option
74
- *ngFor="let language of languages"
75
- [value]="language.code"
76
- [selected]="selectedLanguage === language.code"
77
- tabindex="0"
78
- role="option"
79
- [attr.aria-selected]="selectedLanguage === language.code ? 'true' : 'false'"
80
- >
81
- <span [ngClass]="language.flag">&nbsp;-&nbsp;</span>
82
- <span>{{ t('widgets.' + language.label) }}</span>
83
- </mat-list-option>
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">&nbsp;-&nbsp;</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: 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"] }] });
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: "20.0.0", ngImport: i0, type: LanguageSelectorListComponent, decorators: [{
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
- <mat-list-option
96
- *ngFor="let language of languages"
97
- [value]="language.code"
98
- [selected]="selectedLanguage === language.code"
99
- tabindex="0"
100
- role="option"
101
- [attr.aria-selected]="selectedLanguage === language.code ? 'true' : 'false'"
102
- >
103
- <span [ngClass]="language.flag">&nbsp;-&nbsp;</span>
104
- <span>{{ t('widgets.' + language.label) }}</span>
105
- </mat-list-option>
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">&nbsp;-&nbsp;</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, NgForOf, TranslocoDirective, MatListOption, MatSelectionList], providers: [provideTranslocoScope('widgets')], styles: [".flag-icon{width:24px;height:16px;border-radius:2px}\n"] }]
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
- isOpen = false;
114
- // region Event handler methods
115
- onClose() {
116
- this.isOpen = false;
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
- <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOpen]="isOpen" [cdkConnectedOverlayHasBackdrop]="true" (backdropClick)="onClose()">
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: "20.0.0", ngImport: i0, type: LanguageSelectorComponent, decorators: [{
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 (click)="onSelectLanguage()" cdkOverlayOrigin #trigger="cdkOverlayOrigin" aria-label="Select Language 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
- <ng-template cdkConnectedOverlay [cdkConnectedOverlayOrigin]="trigger" [cdkConnectedOverlayOpen]="isOpen" [cdkConnectedOverlayHasBackdrop]="true" (backdropClick)="onClose()">
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
- likesCount = computed(() => this.store.entities().find((property) => property.name === this.LIKES_PROPERTY));
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(snackBar) {
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: "20.0.0", ngImport: i0, type: LikeButtonComponent, deps: [{ token: i1.MatSnackBar }], target: i0.ɵɵFactoryTarget.Component });
194
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: LikeButtonComponent, isStandalone: true, selector: "pp-like-button", ngImport: i0, template: `
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: "20.0.0", ngImport: i0, type: LikeButtonComponent, decorators: [{
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: () => [{ type: i1.MatSnackBar }] });
208
+ }], ctorParameters: () => [] });
214
209
 
215
210
  class NavigateBackService {
216
- router;
211
+ noRouteAvailable = new BehaviorSubject('');
217
212
  routeHistory = new Stack();
218
- constructor(router) {
219
- this.router = router;
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: "20.0.0", ngImport: i0, type: NavigateBackService, deps: [{ token: i1$1.Router }], target: i0.ɵɵFactoryTarget.Injectable });
253
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: NavigateBackService, providedIn: 'root' });
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: "20.0.0", ngImport: i0, type: NavigateBackService, decorators: [{
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: () => [{ type: i1$1.Router }] });
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: "20.0.0", ngImport: i0, type: NavigateBackComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
267
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: NavigateBackComponent, isStandalone: true, selector: "pp-navigate-back", ngImport: i0, template: `
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: "20.0.0", ngImport: i0, type: NavigateBackComponent, decorators: [{
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: "20.0.0", ngImport: i0, type: ShareButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
315
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.0.0", type: ShareButtonComponent, isStandalone: true, selector: "pp-share-button", ngImport: i0, template: `
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: "20.0.0", ngImport: i0, type: ShareButtonComponent, decorators: [{
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: "20.0.0", ngImport: i0, type: ShareButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
346
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: ShareButtonModule });
347
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: ShareButtonModule, providers: [provideShareButtonsOptions(shareIcons())] });
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: "20.0.0", ngImport: i0, type: ShareButtonModule, decorators: [{
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: "20.0.0", ngImport: i0, type: TranslocoHttpLoader, deps: [{ token: i1$2.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
369
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: TranslocoHttpLoader, providedIn: 'root' });
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: "20.0.0", ngImport: i0, type: TranslocoHttpLoader, decorators: [{
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
- }], ctorParameters: () => [{ type: i1$2.HttpClient }] });
367
+ }] });
375
368
 
376
369
  class WidgetsModule {
377
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: WidgetsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
378
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.0.0", ngImport: i0, type: WidgetsModule, imports: [TranslocoModule], exports: [TranslocoModule] });
379
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.0.0", ngImport: i0, type: WidgetsModule, providers: [
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: "20.0.0", ngImport: i0, type: WidgetsModule, decorators: [{
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