@spicainternational/ngx-sds-components 2.23.1 → 2.24.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/esm2020/src/lib/duration-box/duration-box.component.mjs +28 -15
- package/esm2020/src/lib/duration-box/duration-box.module.mjs +1 -1
- package/esm2020/src/lib/duration-box/duration.model.mjs +2 -0
- package/esm2020/src/lib/duration-box/duration.service.mjs +69 -0
- package/esm2020/src/lib/navigation/navigation-group/navigation-group.component.mjs +33 -10
- package/esm2020/src/lib/navigation/navigation.module.mjs +5 -3
- package/esm2020/src/lib/navigation/pipes/index.mjs +2 -0
- package/esm2020/src/lib/navigation/pipes/navigation-route-active.pipe.mjs +33 -0
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +45 -17
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs +66 -12
- package/fesm2015/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs +45 -17
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-duration-box.mjs.map +1 -1
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs +66 -12
- package/fesm2020/spicainternational-ngx-sds-components-src-lib-navigation.mjs.map +1 -1
- package/package.json +1 -1
- package/src/lib/duration-box/duration-box.component.d.ts +22 -6
- package/src/lib/duration-box/duration.model.d.ts +5 -0
- package/src/lib/duration-box/duration.service.d.ts +10 -0
- package/src/lib/navigation/navigation-group/navigation-group.component.d.ts +18 -4
- package/src/lib/navigation/navigation.module.d.ts +5 -4
- package/src/lib/navigation/pipes/index.d.ts +1 -0
- package/src/lib/navigation/pipes/navigation-route-active.pipe.d.ts +7 -0
- package/esm2020/src/lib/duration-box/duration-input-resolver.service.mjs +0 -54
- package/src/lib/duration-box/duration-input-resolver.service.d.ts +0 -8
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { EventEmitter, OnChanges, OnInit, SimpleChanges } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { DurationBoxRangeViolation } from './duration.model';
|
|
3
|
+
import { DurationService } from './duration.service';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
export declare class SdsDurationBoxComponent implements OnInit, OnChanges {
|
|
5
6
|
private _durationInputResolver;
|
|
@@ -12,14 +13,14 @@ export declare class SdsDurationBoxComponent implements OnInit, OnChanges {
|
|
|
12
13
|
value: number | null;
|
|
13
14
|
valueChange: EventEmitter<number | null>;
|
|
14
15
|
/**
|
|
15
|
-
* Allow user to select empty value. You should provide emptyValueText in this case.
|
|
16
|
+
* Allow user to select empty value. You should provide emptyValueText in this case. The emitted value is 'null'.
|
|
16
17
|
*
|
|
17
18
|
* @type {boolean}
|
|
18
19
|
* @memberof SdsDurationBoxComponent
|
|
19
20
|
*/
|
|
20
21
|
allowEmptyValue: boolean;
|
|
21
22
|
/**
|
|
22
|
-
*
|
|
23
|
+
* Text to be displayed when value is cleared
|
|
23
24
|
*
|
|
24
25
|
* @type {string}
|
|
25
26
|
* @memberof SdsDurationBoxComponent
|
|
@@ -33,7 +34,7 @@ export declare class SdsDurationBoxComponent implements OnInit, OnChanges {
|
|
|
33
34
|
*/
|
|
34
35
|
options?: number[];
|
|
35
36
|
/**
|
|
36
|
-
* Width of component
|
|
37
|
+
* Width of component. By default 10rem.
|
|
37
38
|
*
|
|
38
39
|
* @type {string}
|
|
39
40
|
* @memberof SdsDurationBoxComponent
|
|
@@ -53,6 +54,21 @@ export declare class SdsDurationBoxComponent implements OnInit, OnChanges {
|
|
|
53
54
|
* @memberof SdsDurationBoxComponent
|
|
54
55
|
*/
|
|
55
56
|
showClearButton: boolean;
|
|
57
|
+
/**
|
|
58
|
+
* The maximum value accepted by the duration box.
|
|
59
|
+
*
|
|
60
|
+
* @type {number}
|
|
61
|
+
* @memberof SdsDurationBoxComponent
|
|
62
|
+
*/
|
|
63
|
+
max?: number;
|
|
64
|
+
/**
|
|
65
|
+
* The minimum value accepted by the duration box.
|
|
66
|
+
*
|
|
67
|
+
* @type {number}
|
|
68
|
+
* @memberof SdsDurationBoxComponent
|
|
69
|
+
*/
|
|
70
|
+
min?: number;
|
|
71
|
+
rangeViolated: EventEmitter<DurationBoxRangeViolation>;
|
|
56
72
|
elementUUID: string;
|
|
57
73
|
inputValue: string;
|
|
58
74
|
showOptions: boolean;
|
|
@@ -72,7 +88,7 @@ export declare class SdsDurationBoxComponent implements OnInit, OnChanges {
|
|
|
72
88
|
isValueEmpty: boolean;
|
|
73
89
|
private isValueSetInternally;
|
|
74
90
|
private _durationPipe;
|
|
75
|
-
constructor(_durationInputResolver:
|
|
91
|
+
constructor(_durationInputResolver: DurationService);
|
|
76
92
|
ngOnChanges(changes: SimpleChanges): void;
|
|
77
93
|
ngOnInit(): void;
|
|
78
94
|
blockNonNumberOrSemicolon(e: any): void;
|
|
@@ -81,5 +97,5 @@ export declare class SdsDurationBoxComponent implements OnInit, OnChanges {
|
|
|
81
97
|
private setValue;
|
|
82
98
|
private setInputValueInternally;
|
|
83
99
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdsDurationBoxComponent, never>;
|
|
84
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdsDurationBoxComponent, "sds-duration-box", never, { "value": "value"; "allowEmptyValue": "allowEmptyValue"; "emptyValueText": "emptyValueText"; "options": "options"; "width": "width"; "disabled": "disabled"; "showClearButton": "showClearButton"; }, { "valueChange": "valueChange"; }, never, never>;
|
|
100
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdsDurationBoxComponent, "sds-duration-box", never, { "value": "value"; "allowEmptyValue": "allowEmptyValue"; "emptyValueText": "emptyValueText"; "options": "options"; "width": "width"; "disabled": "disabled"; "showClearButton": "showClearButton"; "max": "max"; "min": "min"; }, { "valueChange": "valueChange"; "rangeViolated": "rangeViolated"; }, never, never>;
|
|
85
101
|
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class DurationService {
|
|
3
|
+
constructor();
|
|
4
|
+
resolve(input: string): number | null;
|
|
5
|
+
isValidInput(input: string): boolean;
|
|
6
|
+
getDefaultValue(min?: number, max?: number): number;
|
|
7
|
+
isValueWithinLimits(value: number, min?: number, max?: number): boolean;
|
|
8
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<DurationService, never>;
|
|
9
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<DurationService>;
|
|
10
|
+
}
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { OnDestroy, OnInit, QueryList } from '@angular/core';
|
|
2
2
|
import { Router } from '@angular/router';
|
|
3
3
|
import { SdsNavigationRouteLinkComponent } from '../navigation-route-link/navigation-route-link.component';
|
|
4
4
|
import * as i0 from "@angular/core";
|
|
5
|
-
export declare class SdsNavigationGroupComponent implements OnInit,
|
|
5
|
+
export declare class SdsNavigationGroupComponent implements OnInit, OnDestroy {
|
|
6
6
|
private _router;
|
|
7
|
+
/**
|
|
8
|
+
* List of paths allowed/expected within this module.
|
|
9
|
+
* These are paths that are not accessible through child navigation
|
|
10
|
+
* elements, but through links in other parts of the application (e.g. link
|
|
11
|
+
* on form)
|
|
12
|
+
*/
|
|
13
|
+
private _navigationGroupNestedRoutes;
|
|
14
|
+
set navigationGroupNestedRoutes(value: string[]);
|
|
15
|
+
get navigationGroupNestedRoutes(): string[];
|
|
7
16
|
text: string;
|
|
8
17
|
icon: string;
|
|
9
18
|
defaultRouterLink: string;
|
|
@@ -12,10 +21,15 @@ export declare class SdsNavigationGroupComponent implements OnInit, AfterContent
|
|
|
12
21
|
active: boolean;
|
|
13
22
|
faAngleUpRegular: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
14
23
|
faAngleDownRegular: import("@fortawesome/fontawesome-common-types").IconDefinition;
|
|
24
|
+
/**
|
|
25
|
+
* Current app URL (e.g. ['layout-showcase', 'default'])
|
|
26
|
+
*/
|
|
27
|
+
currentUrl: string[];
|
|
28
|
+
private _unsubscribe;
|
|
15
29
|
constructor(_router: Router);
|
|
16
30
|
ngOnInit(): void;
|
|
17
|
-
|
|
31
|
+
ngOnDestroy(): void;
|
|
18
32
|
navigateToDefaultRouterLink(): void;
|
|
19
33
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdsNavigationGroupComponent, never>;
|
|
20
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<SdsNavigationGroupComponent, "sds-navigation-group", never, { "text": "text"; "icon": "icon"; "defaultRouterLink": "defaultRouterLink"; "reverse": "reverse"; }, {}, ["routerLinkComponents"], ["[navigationIcon]", "*"]>;
|
|
34
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<SdsNavigationGroupComponent, "sds-navigation-group", never, { "navigationGroupNestedRoutes": "navigationGroupNestedRoutes"; "text": "text"; "icon": "icon"; "defaultRouterLink": "defaultRouterLink"; "reverse": "reverse"; }, {}, ["routerLinkComponents"], ["[navigationIcon]", "*"]>;
|
|
21
35
|
}
|
|
@@ -5,11 +5,12 @@ import * as i3 from "./navigation-separator/navigation-separator.component";
|
|
|
5
5
|
import * as i4 from "./navigation-header/navigation-header.component";
|
|
6
6
|
import * as i5 from "./navigation-container/navigation-container.component";
|
|
7
7
|
import * as i6 from "./navigation-external-link/navigation-external-link.component";
|
|
8
|
-
import * as i7 from "
|
|
9
|
-
import * as i8 from "@angular/
|
|
10
|
-
import * as i9 from "@
|
|
8
|
+
import * as i7 from "./pipes/navigation-route-active.pipe";
|
|
9
|
+
import * as i8 from "@angular/common";
|
|
10
|
+
import * as i9 from "@angular/router";
|
|
11
|
+
import * as i10 from "@fortawesome/angular-fontawesome";
|
|
11
12
|
export declare class SdsNavigationModule {
|
|
12
13
|
static ɵfac: i0.ɵɵFactoryDeclaration<SdsNavigationModule, never>;
|
|
13
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<SdsNavigationModule, [typeof i1.SdsNavigationGroupComponent, typeof i2.SdsNavigationRouteLinkComponent, typeof i3.SdsNavigationSeparatorComponent, typeof i4.SdsNavigationHeaderComponent, typeof i5.SdsNavigationContainerComponent, typeof i6.SdsNavigationExternalLinkComponent], [typeof
|
|
14
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<SdsNavigationModule, [typeof i1.SdsNavigationGroupComponent, typeof i2.SdsNavigationRouteLinkComponent, typeof i3.SdsNavigationSeparatorComponent, typeof i4.SdsNavigationHeaderComponent, typeof i5.SdsNavigationContainerComponent, typeof i6.SdsNavigationExternalLinkComponent, typeof i7.NavigationRouteActivePipe], [typeof i8.CommonModule, typeof i9.RouterModule, typeof i10.FontAwesomeModule], [typeof i1.SdsNavigationGroupComponent, typeof i2.SdsNavigationRouteLinkComponent, typeof i3.SdsNavigationSeparatorComponent, typeof i4.SdsNavigationHeaderComponent, typeof i5.SdsNavigationContainerComponent, typeof i6.SdsNavigationExternalLinkComponent]>;
|
|
14
15
|
static ɵinj: i0.ɵɵInjectorDeclaration<SdsNavigationModule>;
|
|
15
16
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './navigation-route-active.pipe';
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export declare class NavigationRouteActivePipe implements PipeTransform {
|
|
4
|
+
transform(currentUrl: string[], ...args: unknown[]): boolean;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<NavigationRouteActivePipe, never>;
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<NavigationRouteActivePipe, "navigationRouteActive">;
|
|
7
|
+
}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class DurationInputResolverService {
|
|
4
|
-
constructor() { }
|
|
5
|
-
resolve(input) {
|
|
6
|
-
if (!input || input.length === 0) {
|
|
7
|
-
return 0;
|
|
8
|
-
}
|
|
9
|
-
const inputSegments = input.split(':');
|
|
10
|
-
if (inputSegments.length > 2) {
|
|
11
|
-
//invalid input
|
|
12
|
-
return 0;
|
|
13
|
-
}
|
|
14
|
-
else if (inputSegments.length == 2) {
|
|
15
|
-
// we have hrs and minutes
|
|
16
|
-
const hrs = parseInt(inputSegments[0] ? inputSegments[0] : '0');
|
|
17
|
-
const mins = parseInt(inputSegments[1] ? inputSegments[1] : '0');
|
|
18
|
-
const totalMins = (hrs * 60) + mins;
|
|
19
|
-
return totalMins;
|
|
20
|
-
}
|
|
21
|
-
else if (inputSegments.length == 1) {
|
|
22
|
-
// take last two digits as mins
|
|
23
|
-
const nonSeparated = inputSegments[0];
|
|
24
|
-
let totalMins = 0;
|
|
25
|
-
if (nonSeparated.length <= 2) {
|
|
26
|
-
totalMins = parseInt(nonSeparated);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
const lastIndex = nonSeparated.length - 2;
|
|
30
|
-
const part1 = nonSeparated.slice(0, lastIndex);
|
|
31
|
-
const part2 = nonSeparated.slice(lastIndex);
|
|
32
|
-
const hrs = parseInt(part1);
|
|
33
|
-
const mins = parseInt(part2);
|
|
34
|
-
totalMins = (hrs * 60) + mins;
|
|
35
|
-
}
|
|
36
|
-
return totalMins;
|
|
37
|
-
}
|
|
38
|
-
return 0;
|
|
39
|
-
}
|
|
40
|
-
isValidInput(input) {
|
|
41
|
-
const regexNumbersOnly = /^[+-]?\d+$/;
|
|
42
|
-
const regexColonSeparated = /^[+-]?\d+:\d+$/;
|
|
43
|
-
return regexNumbersOnly.test(input) || regexColonSeparated.test(input);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
DurationInputResolverService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationInputResolverService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
47
|
-
DurationInputResolverService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationInputResolverService, providedIn: 'root' });
|
|
48
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.1", ngImport: i0, type: DurationInputResolverService, decorators: [{
|
|
49
|
-
type: Injectable,
|
|
50
|
-
args: [{
|
|
51
|
-
providedIn: 'root',
|
|
52
|
-
}]
|
|
53
|
-
}], ctorParameters: function () { return []; } });
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHVyYXRpb24taW5wdXQtcmVzb2x2ZXIuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1zZHMtY29tcG9uZW50cy9zcmMvbGliL2R1cmF0aW9uLWJveC9kdXJhdGlvbi1pbnB1dC1yZXNvbHZlci5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBSzNDLE1BQU0sT0FBTyw0QkFBNEI7SUFFckMsZ0JBQWUsQ0FBQztJQUVULE9BQU8sQ0FBQyxLQUFhO1FBQ3hCLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDOUIsT0FBTyxDQUFDLENBQUM7U0FDWjtRQUVELE1BQU0sYUFBYSxHQUFHLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUMxQixlQUFlO1lBQ2YsT0FBTyxDQUFDLENBQUM7U0FDWjthQUFNLElBQUksYUFBYSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUM7WUFDakMsMEJBQTBCO1lBQzFCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDaEUsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUNqRSxNQUFNLFNBQVMsR0FBRyxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7WUFFcEMsT0FBTyxTQUFTLENBQUM7U0FDcEI7YUFBTSxJQUFJLGFBQWEsQ0FBQyxNQUFNLElBQUksQ0FBQyxFQUFFO1lBQ2xDLCtCQUErQjtZQUMvQixNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFdEMsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO1lBQ2xCLElBQUksWUFBWSxDQUFDLE1BQU0sSUFBSSxDQUFDLEVBQUU7Z0JBQzFCLFNBQVMsR0FBRyxRQUFRLENBQUMsWUFBWSxDQUFDLENBQUE7YUFDckM7aUJBQU07Z0JBQ0gsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7Z0JBQzFDLE1BQU0sS0FBSyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFNBQVMsQ0FBQyxDQUFDO2dCQUMvQyxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsS0FBSyxDQUFDLFNBQVMsQ0FBQyxDQUFDO2dCQUM1QyxNQUFNLEdBQUcsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDN0IsU0FBUyxHQUFHLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLElBQUksQ0FBQzthQUNqQztZQUNELE9BQU8sU0FBUyxDQUFDO1NBQ3BCO1FBQ0QsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRU0sWUFBWSxDQUFDLEtBQWE7UUFDN0IsTUFBTSxnQkFBZ0IsR0FBRyxZQUFZLENBQUM7UUFDdEMsTUFBTSxtQkFBbUIsR0FBSSxnQkFBZ0IsQ0FBQztRQUM5QyxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDM0UsQ0FBQzs7eUhBNUNRLDRCQUE0Qjs2SEFBNUIsNEJBQTRCLGNBRnpCLE1BQU07MkZBRVQsNEJBQTRCO2tCQUh4QyxVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgRHVyYXRpb25JbnB1dFJlc29sdmVyU2VydmljZSB7XG4gICAgXG4gICAgY29uc3RydWN0b3IoKSB7fVxuXG4gICAgcHVibGljIHJlc29sdmUoaW5wdXQ6IHN0cmluZyk6IG51bWJlciB8IG51bGx7XG4gICAgICAgIGlmICghaW5wdXQgfHwgaW5wdXQubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICByZXR1cm4gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGlucHV0U2VnbWVudHMgPSBpbnB1dC5zcGxpdCgnOicpO1xuICAgICAgICBpZiAoaW5wdXRTZWdtZW50cy5sZW5ndGggPiAyKSB7XG4gICAgICAgICAgICAvL2ludmFsaWQgaW5wdXRcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9IGVsc2UgaWYgKGlucHV0U2VnbWVudHMubGVuZ3RoID09IDIpe1xuICAgICAgICAgICAgLy8gd2UgaGF2ZSBocnMgYW5kIG1pbnV0ZXNcbiAgICAgICAgICAgIGNvbnN0IGhycyA9IHBhcnNlSW50KGlucHV0U2VnbWVudHNbMF0gPyBpbnB1dFNlZ21lbnRzWzBdIDogJzAnKTtcbiAgICAgICAgICAgIGNvbnN0IG1pbnMgPSBwYXJzZUludChpbnB1dFNlZ21lbnRzWzFdID8gaW5wdXRTZWdtZW50c1sxXSA6ICcwJyk7XG4gICAgICAgICAgICBjb25zdCB0b3RhbE1pbnMgPSAoaHJzICogNjApICsgbWlucztcblxuICAgICAgICAgICAgcmV0dXJuIHRvdGFsTWlucztcbiAgICAgICAgfSBlbHNlIGlmIChpbnB1dFNlZ21lbnRzLmxlbmd0aCA9PSAxKSB7XG4gICAgICAgICAgICAvLyB0YWtlIGxhc3QgdHdvIGRpZ2l0cyBhcyBtaW5zXG4gICAgICAgICAgICBjb25zdCBub25TZXBhcmF0ZWQgPSBpbnB1dFNlZ21lbnRzWzBdO1xuXG4gICAgICAgICAgICBsZXQgdG90YWxNaW5zID0gMDtcbiAgICAgICAgICAgIGlmIChub25TZXBhcmF0ZWQubGVuZ3RoIDw9IDIpIHtcbiAgICAgICAgICAgICAgICB0b3RhbE1pbnMgPSBwYXJzZUludChub25TZXBhcmF0ZWQpXG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIGNvbnN0IGxhc3RJbmRleCA9IG5vblNlcGFyYXRlZC5sZW5ndGggLSAyO1xuICAgICAgICAgICAgICAgIGNvbnN0IHBhcnQxID0gbm9uU2VwYXJhdGVkLnNsaWNlKDAsIGxhc3RJbmRleCk7XG4gICAgICAgICAgICAgICAgY29uc3QgcGFydDIgPSBub25TZXBhcmF0ZWQuc2xpY2UobGFzdEluZGV4KTtcbiAgICAgICAgICAgICAgICBjb25zdCBocnMgPSBwYXJzZUludChwYXJ0MSk7XG4gICAgICAgICAgICAgICAgY29uc3QgbWlucyA9IHBhcnNlSW50KHBhcnQyKTtcbiAgICAgICAgICAgICAgICB0b3RhbE1pbnMgPSAoaHJzICogNjApICsgbWluczsgICAgICAgICAgICBcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybiB0b3RhbE1pbnM7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIDA7ICAgICAgICBcbiAgICB9XG5cbiAgICBwdWJsaWMgaXNWYWxpZElucHV0KGlucHV0OiBzdHJpbmcpIHtcbiAgICAgICAgY29uc3QgcmVnZXhOdW1iZXJzT25seSA9IC9eWystXT9cXGQrJC87XG4gICAgICAgIGNvbnN0IHJlZ2V4Q29sb25TZXBhcmF0ZWQgPSAgL15bKy1dP1xcZCs6XFxkKyQvO1xuICAgICAgICByZXR1cm4gcmVnZXhOdW1iZXJzT25seS50ZXN0KGlucHV0KSB8fCByZWdleENvbG9uU2VwYXJhdGVkLnRlc3QoaW5wdXQpO1xuICAgIH1cbn1cbiJdfQ==
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class DurationInputResolverService {
|
|
3
|
-
constructor();
|
|
4
|
-
resolve(input: string): number | null;
|
|
5
|
-
isValidInput(input: string): boolean;
|
|
6
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<DurationInputResolverService, never>;
|
|
7
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<DurationInputResolverService>;
|
|
8
|
-
}
|