@igo2/sdg-core 1.0.0-next.108 → 1.0.0-next.110

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.
@@ -1,15 +1,14 @@
1
+ import { BreakpointObserver } from '@angular/cdk/layout';
1
2
  import * as i0 from '@angular/core';
2
- import { signal, Injectable, Optional, Pipe, model, inject, Directive } from '@angular/core';
3
- import * as i1 from '@angular/cdk/layout';
3
+ import { inject, signal, Injectable, Pipe, model, Directive } from '@angular/core';
4
4
 
5
5
  class BreakpointService {
6
- breakpointObserver;
7
- _isHandset = signal(false);
6
+ breakpointObserver = inject(BreakpointObserver);
7
+ _isHandset = signal(false, ...(ngDevMode ? [{ debugName: "_isHandset" }] : []));
8
8
  get isHandset() {
9
9
  return this._isHandset.asReadonly();
10
10
  }
11
- constructor(breakpointObserver) {
12
- this.breakpointObserver = breakpointObserver;
11
+ constructor() {
13
12
  this.handleBreakpoint();
14
13
  }
15
14
  handleBreakpoint() {
@@ -19,15 +18,15 @@ class BreakpointService {
19
18
  this._isHandset.set(result.matches);
20
19
  });
21
20
  }
22
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BreakpointService, deps: [{ token: i1.BreakpointObserver }], target: i0.ɵɵFactoryTarget.Injectable });
23
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BreakpointService, providedIn: 'root' });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BreakpointService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BreakpointService, providedIn: 'root' });
24
23
  }
25
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: BreakpointService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: BreakpointService, decorators: [{
26
25
  type: Injectable,
27
26
  args: [{
28
27
  providedIn: 'root'
29
28
  }]
30
- }], ctorParameters: () => [{ type: i1.BreakpointObserver }] });
29
+ }], ctorParameters: () => [] });
31
30
 
32
31
  const RouteTitleKey = 'RouteTitle';
33
32
  const RouteTranslateKey = 'TranslateKey';
@@ -48,25 +47,20 @@ class TitleResolver {
48
47
  }
49
48
 
50
49
  class TitleResolverPipe {
51
- titleResolver;
52
- constructor(titleResolver) {
53
- this.titleResolver = titleResolver;
54
- }
50
+ titleResolver = inject(TitleResolver, { optional: true });
55
51
  transform(value) {
56
52
  return resolveTitle(value, this.titleResolver);
57
53
  }
58
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TitleResolverPipe, deps: [{ token: TitleResolver, optional: true }], target: i0.ɵɵFactoryTarget.Pipe });
59
- static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "19.2.15", ngImport: i0, type: TitleResolverPipe, isStandalone: true, name: "titleResolver" });
54
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: TitleResolverPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
55
+ static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: TitleResolverPipe, isStandalone: true, name: "titleResolver" });
60
56
  }
61
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: TitleResolverPipe, decorators: [{
57
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: TitleResolverPipe, decorators: [{
62
58
  type: Pipe,
63
59
  args: [{
64
60
  name: 'titleResolver',
65
61
  standalone: true
66
62
  }]
67
- }], ctorParameters: () => [{ type: TitleResolver, decorators: [{
68
- type: Optional
69
- }] }] });
63
+ }] });
70
64
 
71
65
  function pathIsExternal(path) {
72
66
  const regex = /^https?:\/\//;
@@ -79,7 +73,8 @@ function isSafeUrl(url) {
79
73
  }
80
74
 
81
75
  class WithLabels {
82
- labels = model({});
76
+ labels = model({}, ...(ngDevMode ? [{ debugName: "labels" }] : []));
77
+ // eslint-disable-next-line @angular-eslint/prefer-inject
83
78
  constructor(defaultLabels, labelsToken) {
84
79
  this.setLabels(defaultLabels, labelsToken);
85
80
  }
@@ -93,10 +88,10 @@ class WithLabels {
93
88
  }));
94
89
  }
95
90
  }
96
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WithLabels, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
97
- static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.15", type: WithLabels, isStandalone: true, inputs: { labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { labels: "labelsChange" }, ngImport: i0 });
91
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: WithLabels, deps: "invalid", target: i0.ɵɵFactoryTarget.Directive });
92
+ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "20.3.3", type: WithLabels, isStandalone: true, inputs: { labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { labels: "labelsChange" }, ngImport: i0 });
98
93
  }
99
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.15", ngImport: i0, type: WithLabels, decorators: [{
94
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: WithLabels, decorators: [{
100
95
  type: Directive
101
96
  }], ctorParameters: () => [{ type: undefined }, { type: i0.InjectionToken }] });
102
97
 
@@ -1 +1 @@
1
- {"version":3,"file":"igo2-sdg-core.mjs","sources":["../../../packages/core/src/layout/breakpoint/breakpoint.service.ts","../../../packages/core/src/router/router.ts","../../../packages/core/src/router/title-resolver/title-resolver.ts","../../../packages/core/src/router/title-resolver/title-resolver.pipe.ts","../../../packages/core/src/router/route.utils.ts","../../../packages/core/src/shared/with-labels.ts","../../../packages/core/src/igo2-sdg-core.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Injectable, Signal, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreakpointService {\n private _isHandset = signal(false);\n\n get isHandset(): Signal<boolean> {\n return this._isHandset.asReadonly();\n }\n\n constructor(private breakpointObserver: BreakpointObserver) {\n this.handleBreakpoint();\n }\n\n private handleBreakpoint(): void {\n this.breakpointObserver\n .observe('(max-width: 575px)')\n .subscribe((result) => {\n this._isHandset.set(result.matches);\n });\n }\n}\n","import { Route } from '@angular/router';\n\nimport { TitleResolver } from './title-resolver/title-resolver';\n\nexport const RouteTitleKey = 'RouteTitle';\nexport const RouteTranslateKey = 'TranslateKey';\n\nfunction hasStaticTitle(config: Route): boolean {\n return typeof config.title === 'string' || config.title === null;\n}\n\nexport function resolveTitle(\n config: Route,\n titleResolver?: TitleResolver\n): string | undefined {\n if (hasStaticTitle(config)) {\n return config.title as string;\n } else {\n return (\n titleResolver?.resolveStatic(config) ?? config.data?.[RouteTranslateKey] // try to fallback on the translation key\n );\n }\n}\n","import {\n ActivatedRouteSnapshot,\n MaybeAsync,\n Resolve,\n Route,\n RouterStateSnapshot\n} from '@angular/router';\n\nexport abstract class TitleResolver<T = string> implements Resolve<T> {\n abstract resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): MaybeAsync<T>;\n abstract resolveStatic(route: Route): string | undefined;\n}\n","import { Optional, Pipe, PipeTransform } from '@angular/core';\n\nimport { SdgRoute } from '../route.interface';\nimport { resolveTitle } from '../router';\nimport { TitleResolver } from './title-resolver';\n\n@Pipe({\n name: 'titleResolver',\n standalone: true\n})\nexport class TitleResolverPipe implements PipeTransform {\n constructor(@Optional() private titleResolver: TitleResolver) {}\n\n transform(value: SdgRoute): string | undefined {\n return resolveTitle(value, this.titleResolver);\n }\n}\n","export function pathIsExternal(path: string): boolean {\n const regex = /^https?:\\/\\//;\n return regex.test(path);\n}\n\nexport function isSafeUrl(url: string): boolean {\n const safePattern = /^(https?:\\/\\/|\\/(?!\\/)|\\.\\/|\\.\\.\\/)/;\n const unsafePattern = /^(javascript:|data:|vbscript:)/i;\n return safePattern.test(url) && !unsafePattern.test(url.trim());\n}\n","import { Directive, InjectionToken, inject, model } from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Labels = Record<string, any>;\n\n@Directive()\nexport class WithLabels<T extends Labels> {\n labels = model<T>({} as T);\n\n constructor(defaultLabels: T | undefined, labelsToken: InjectionToken<T>) {\n this.setLabels(defaultLabels, labelsToken);\n }\n\n private setLabels(defaultLabels: T | undefined, token: InjectionToken<T>) {\n const labelsOverride = inject(token, { optional: true });\n if (labelsOverride) {\n this.labels.update((value) => ({\n ...(defaultLabels ?? {}),\n ...labelsOverride,\n ...value\n }));\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1.TitleResolver"],"mappings":"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"}
1
+ {"version":3,"file":"igo2-sdg-core.mjs","sources":["../../../packages/core/src/layout/breakpoint/breakpoint.service.ts","../../../packages/core/src/router/router.ts","../../../packages/core/src/router/title-resolver/title-resolver.ts","../../../packages/core/src/router/title-resolver/title-resolver.pipe.ts","../../../packages/core/src/router/route.utils.ts","../../../packages/core/src/shared/with-labels.ts","../../../packages/core/src/igo2-sdg-core.ts"],"sourcesContent":["import { BreakpointObserver } from '@angular/cdk/layout';\nimport { Injectable, Signal, inject, signal } from '@angular/core';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class BreakpointService {\n private breakpointObserver = inject(BreakpointObserver);\n\n private _isHandset = signal(false);\n\n get isHandset(): Signal<boolean> {\n return this._isHandset.asReadonly();\n }\n\n constructor() {\n this.handleBreakpoint();\n }\n\n private handleBreakpoint(): void {\n this.breakpointObserver\n .observe('(max-width: 575px)')\n .subscribe((result) => {\n this._isHandset.set(result.matches);\n });\n }\n}\n","import { Route } from '@angular/router';\n\nimport { TitleResolver } from './title-resolver/title-resolver';\n\nexport const RouteTitleKey = 'RouteTitle';\nexport const RouteTranslateKey = 'TranslateKey';\n\nfunction hasStaticTitle(config: Route): boolean {\n return typeof config.title === 'string' || config.title === null;\n}\n\nexport function resolveTitle(\n config: Route,\n titleResolver?: TitleResolver | null\n): string | undefined {\n if (hasStaticTitle(config)) {\n return config.title as string;\n } else {\n return (\n titleResolver?.resolveStatic(config) ?? config.data?.[RouteTranslateKey] // try to fallback on the translation key\n );\n }\n}\n","import {\n ActivatedRouteSnapshot,\n MaybeAsync,\n Resolve,\n Route,\n RouterStateSnapshot\n} from '@angular/router';\n\nexport abstract class TitleResolver<T = string> implements Resolve<T> {\n abstract resolve(\n route: ActivatedRouteSnapshot,\n state: RouterStateSnapshot\n ): MaybeAsync<T>;\n abstract resolveStatic(route: Route): string | undefined;\n}\n","import { Pipe, PipeTransform, inject } from '@angular/core';\n\nimport { SdgRoute } from '../route.interface';\nimport { resolveTitle } from '../router';\nimport { TitleResolver } from './title-resolver';\n\n@Pipe({\n name: 'titleResolver',\n standalone: true\n})\nexport class TitleResolverPipe implements PipeTransform {\n private titleResolver = inject(TitleResolver, { optional: true });\n\n transform(value: SdgRoute): string | undefined {\n return resolveTitle(value, this.titleResolver);\n }\n}\n","export function pathIsExternal(path: string): boolean {\n const regex = /^https?:\\/\\//;\n return regex.test(path);\n}\n\nexport function isSafeUrl(url: string): boolean {\n const safePattern = /^(https?:\\/\\/|\\/(?!\\/)|\\.\\/|\\.\\.\\/)/;\n const unsafePattern = /^(javascript:|data:|vbscript:)/i;\n return safePattern.test(url) && !unsafePattern.test(url.trim());\n}\n","import { Directive, InjectionToken, inject, model } from '@angular/core';\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\ntype Labels = Record<string, any>;\n\n@Directive()\nexport class WithLabels<T extends Labels> {\n labels = model<T>({} as T);\n\n // eslint-disable-next-line @angular-eslint/prefer-inject\n constructor(defaultLabels: T | undefined, labelsToken: InjectionToken<T>) {\n this.setLabels(defaultLabels, labelsToken);\n }\n\n private setLabels(defaultLabels: T | undefined, token: InjectionToken<T>) {\n const labelsOverride = inject(token, { optional: true });\n if (labelsOverride) {\n this.labels.update((value) => ({\n ...(defaultLabels ?? {}),\n ...labelsOverride,\n ...value\n }));\n }\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -1,5 +1,53 @@
1
- /**
2
- * Generated bundle index. Do not edit.
3
- */
4
- /// <amd-module name="@igo2/sdg-core" />
5
- export * from './public-api';
1
+ import * as i0 from '@angular/core';
2
+ import { Signal, PipeTransform, InjectionToken } from '@angular/core';
3
+ import { Resolve, ActivatedRouteSnapshot, RouterStateSnapshot, MaybeAsync, Route } from '@angular/router';
4
+
5
+ declare class BreakpointService {
6
+ private breakpointObserver;
7
+ private _isHandset;
8
+ get isHandset(): Signal<boolean>;
9
+ constructor();
10
+ private handleBreakpoint;
11
+ static ɵfac: i0.ɵɵFactoryDeclaration<BreakpointService, never>;
12
+ static ɵprov: i0.ɵɵInjectableDeclaration<BreakpointService>;
13
+ }
14
+
15
+ declare abstract class TitleResolver<T = string> implements Resolve<T> {
16
+ abstract resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): MaybeAsync<T>;
17
+ abstract resolveStatic(route: Route): string | undefined;
18
+ }
19
+
20
+ declare const RouteTitleKey = "RouteTitle";
21
+ declare const RouteTranslateKey = "TranslateKey";
22
+ declare function resolveTitle(config: Route, titleResolver?: TitleResolver | null): string | undefined;
23
+
24
+ type SdgRoutes = SdgRoute[];
25
+ interface SdgRoute extends Route {
26
+ isHome?: boolean;
27
+ description?: string;
28
+ children?: SdgRoutes;
29
+ /** Hidden in the primary tabs navigation and in the breadcrumbs */
30
+ hidden?: boolean;
31
+ }
32
+
33
+ declare class TitleResolverPipe implements PipeTransform {
34
+ private titleResolver;
35
+ transform(value: SdgRoute): string | undefined;
36
+ static ɵfac: i0.ɵɵFactoryDeclaration<TitleResolverPipe, never>;
37
+ static ɵpipe: i0.ɵɵPipeDeclaration<TitleResolverPipe, "titleResolver", true>;
38
+ }
39
+
40
+ declare function pathIsExternal(path: string): boolean;
41
+ declare function isSafeUrl(url: string): boolean;
42
+
43
+ type Labels = Record<string, any>;
44
+ declare class WithLabels<T extends Labels> {
45
+ labels: i0.ModelSignal<T>;
46
+ constructor(defaultLabels: T | undefined, labelsToken: InjectionToken<T>);
47
+ private setLabels;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<WithLabels<any>, never>;
49
+ static ɵdir: i0.ɵɵDirectiveDeclaration<WithLabels<any>, never, never, { "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "labels": "labelsChange"; }, never, never, true, never>;
50
+ }
51
+
52
+ export { BreakpointService, RouteTitleKey, RouteTranslateKey, TitleResolver, TitleResolverPipe, WithLabels, isSafeUrl, pathIsExternal, resolveTitle };
53
+ export type { SdgRoute, SdgRoutes };
package/package.json CHANGED
@@ -1,12 +1,15 @@
1
1
  {
2
2
  "name": "@igo2/sdg-core",
3
- "version": "1.0.0-next.108",
3
+ "version": "1.0.0-next.110",
4
4
  "license": "LiLiQ-R",
5
5
  "repository": {
6
6
  "type": "git",
7
7
  "url": "git+https://github.com/infra-geo-ouverte/sdg.git",
8
8
  "directory": "packages/core"
9
9
  },
10
+ "engines": {
11
+ "node": "^20.19.0 || ^22.12.0 || >=24.0.0"
12
+ },
10
13
  "exports": {
11
14
  ".": {
12
15
  "sass": "./_index.scss",
@@ -21,11 +24,11 @@
21
24
  }
22
25
  },
23
26
  "peerDependencies": {
24
- "@angular/cdk": "^19.0.0",
25
- "@angular/common": "^19.0.0",
26
- "@angular/core": "^19.0.0",
27
- "@angular/material": "^19.0.0",
28
- "@angular/router": "^19.0.0"
27
+ "@angular/cdk": "^20.0.0",
28
+ "@angular/common": "^20.0.0",
29
+ "@angular/core": "^20.0.0",
30
+ "@angular/material": "^20.0.0",
31
+ "@angular/router": "^20.0.0"
29
32
  },
30
33
  "dependencies": {
31
34
  "tslib": "^2.6.0"
@@ -41,8 +41,8 @@
41
41
  // reset the default padding of Material. Igo is overriding it
42
42
  padding: calc(
43
43
  calc(
44
- var(--mdc-icon-button-state-layer-size, 40px) - var(
45
- --mdc-icon-button-icon-size,
44
+ var(--mat-icon-button-state-layer-size, 40px) - var(
45
+ --mat-icon-button-icon-size,
46
46
  24px
47
47
  )
48
48
  ) /
@@ -8,7 +8,7 @@
8
8
 
9
9
  $base-size: 8px;
10
10
  $checkbox-size: calc($base-size * 3);
11
- $size-with-padding: var(--mdc-checkbox-state-layer-size);
11
+ $size-with-padding: var(--mat-checkbox-state-layer-size);
12
12
 
13
13
  @include mat.checkbox-overrides(
14
14
  (
@@ -49,7 +49,7 @@
49
49
  height: $radio-button-size;
50
50
  width: $radio-button-size;
51
51
  padding: calc(
52
- (var(--mdc-radio-state-layer-size, 40px) - $radio-button-size) / 2
52
+ (var(--mat-radio-state-layer-size, 40px) - $radio-button-size) / 2
53
53
  );
54
54
 
55
55
  .mdc-radio__native-control:checked
@@ -98,7 +98,7 @@
98
98
  height: $radio-button-size;
99
99
  width: $radio-button-size;
100
100
  padding: calc(
101
- (var(--mdc-radio-state-layer-size, 40px) - $radio-button-size) / 2
101
+ (var(--mat-radio-state-layer-size, 40px) - $radio-button-size) / 2
102
102
  );
103
103
 
104
104
  .mdc-radio__background {
@@ -1,12 +0,0 @@
1
- import { BreakpointObserver } from '@angular/cdk/layout';
2
- import { Signal } from '@angular/core';
3
- import * as i0 from "@angular/core";
4
- export declare class BreakpointService {
5
- private breakpointObserver;
6
- private _isHandset;
7
- get isHandset(): Signal<boolean>;
8
- constructor(breakpointObserver: BreakpointObserver);
9
- private handleBreakpoint;
10
- static ɵfac: i0.ɵɵFactoryDeclaration<BreakpointService, never>;
11
- static ɵprov: i0.ɵɵInjectableDeclaration<BreakpointService>;
12
- }
@@ -1 +0,0 @@
1
- export * from './breakpoint.service';
package/layout/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './breakpoint';
package/public-api.d.ts DELETED
@@ -1,3 +0,0 @@
1
- export * from './layout';
2
- export * from './router';
3
- export * from './shared';
package/router/index.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export * from './router';
2
- export * from './route.interface';
3
- export * from './title-resolver';
4
- export * from './route.utils';
@@ -1,9 +0,0 @@
1
- import { Route } from '@angular/router';
2
- export type SdgRoutes = SdgRoute[];
3
- export interface SdgRoute extends Route {
4
- isHome?: boolean;
5
- description?: string;
6
- children?: SdgRoutes;
7
- /** Hidden in the primary tabs navigation and in the breadcrumbs */
8
- hidden?: boolean;
9
- }
@@ -1,2 +0,0 @@
1
- export declare function pathIsExternal(path: string): boolean;
2
- export declare function isSafeUrl(url: string): boolean;
@@ -1,5 +0,0 @@
1
- import { Route } from '@angular/router';
2
- import { TitleResolver } from './title-resolver/title-resolver';
3
- export declare const RouteTitleKey = "RouteTitle";
4
- export declare const RouteTranslateKey = "TranslateKey";
5
- export declare function resolveTitle(config: Route, titleResolver?: TitleResolver): string | undefined;
@@ -1,2 +0,0 @@
1
- export * from './title-resolver';
2
- export * from './title-resolver.pipe';
@@ -1,5 +0,0 @@
1
- import { ActivatedRouteSnapshot, MaybeAsync, Resolve, Route, RouterStateSnapshot } from '@angular/router';
2
- export declare abstract class TitleResolver<T = string> implements Resolve<T> {
3
- abstract resolve(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): MaybeAsync<T>;
4
- abstract resolveStatic(route: Route): string | undefined;
5
- }
@@ -1,11 +0,0 @@
1
- import { PipeTransform } from '@angular/core';
2
- import { SdgRoute } from '../route.interface';
3
- import { TitleResolver } from './title-resolver';
4
- import * as i0 from "@angular/core";
5
- export declare class TitleResolverPipe implements PipeTransform {
6
- private titleResolver;
7
- constructor(titleResolver: TitleResolver);
8
- transform(value: SdgRoute): string | undefined;
9
- static ɵfac: i0.ɵɵFactoryDeclaration<TitleResolverPipe, [{ optional: true; }]>;
10
- static ɵpipe: i0.ɵɵPipeDeclaration<TitleResolverPipe, "titleResolver", true>;
11
- }
package/shared/index.d.ts DELETED
@@ -1 +0,0 @@
1
- export * from './with-labels';
@@ -1,11 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- type Labels = Record<string, any>;
4
- export declare class WithLabels<T extends Labels> {
5
- labels: import("@angular/core").ModelSignal<T>;
6
- constructor(defaultLabels: T | undefined, labelsToken: InjectionToken<T>);
7
- private setLabels;
8
- static ɵfac: i0.ɵɵFactoryDeclaration<WithLabels<any>, never>;
9
- static ɵdir: i0.ɵɵDirectiveDeclaration<WithLabels<any>, never, never, { "labels": { "alias": "labels"; "required": false; "isSignal": true; }; }, { "labels": "labelsChange"; }, never, never, true, never>;
10
- }
11
- export {};