@dhutaryan/ngx-mat-timepicker 18.0.4 → 19.1.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/README.md +3 -0
- package/_timepicker-theme.scss +0 -6
- package/fesm2022/dhutaryan-ngx-mat-timepicker.mjs +119 -123
- package/fesm2022/dhutaryan-ngx-mat-timepicker.mjs.map +1 -1
- package/lib/hours-clock-dial.d.ts +1 -1
- package/lib/time-face-base.d.ts +1 -1
- package/lib/time-input-base.d.ts +1 -1
- package/lib/timepicker-actions.d.ts +5 -9
- package/lib/timepicker-base.d.ts +1 -1
- package/lib/timepicker-content.d.ts +9 -9
- package/lib/timepicker-input-base.d.ts +1 -1
- package/package.json +5 -6
- package/themes/_utils.scss +39 -0
- package/themes/m2/_tokens.scss +2 -0
- package/themes/m3/_base.scss +0 -8
- package/themes/m3/_color.scss +0 -11
- package/themes/m3/_tokens.scss +1 -1
- package/esm2022/dhutaryan-ngx-mat-timepicker.mjs +0 -5
- package/esm2022/lib/adapter/index.mjs +0 -34
- package/esm2022/lib/adapter/native-date-time-adapter.mjs +0 -137
- package/esm2022/lib/adapter/time-adapter.mjs +0 -90
- package/esm2022/lib/clock-dial-adnimation.mjs +0 -11
- package/esm2022/lib/clock-dials.mjs +0 -95
- package/esm2022/lib/clock-size.mjs +0 -25
- package/esm2022/lib/hours-clock-dial.mjs +0 -192
- package/esm2022/lib/minutes-clock-dial.mjs +0 -165
- package/esm2022/lib/orientation.mjs +0 -2
- package/esm2022/lib/time-face-base.mjs +0 -318
- package/esm2022/lib/time-input-base.mjs +0 -85
- package/esm2022/lib/time-inputs.mjs +0 -179
- package/esm2022/lib/time-period.mjs +0 -67
- package/esm2022/lib/time-selection-model.mjs +0 -76
- package/esm2022/lib/timepicker-actions-default.mjs +0 -3
- package/esm2022/lib/timepicker-actions.mjs +0 -135
- package/esm2022/lib/timepicker-animations.mjs +0 -22
- package/esm2022/lib/timepicker-base.mjs +0 -458
- package/esm2022/lib/timepicker-content-layout.mjs +0 -23
- package/esm2022/lib/timepicker-content.mjs +0 -127
- package/esm2022/lib/timepicker-input-base.mjs +0 -254
- package/esm2022/lib/timepicker-input.mjs +0 -136
- package/esm2022/lib/timepicker-intl.mjs +0 -39
- package/esm2022/lib/timepicker-scroll-strategy.mjs +0 -15
- package/esm2022/lib/timepicker-toggle.mjs +0 -96
- package/esm2022/lib/timepicker.mjs +0 -33
- package/esm2022/lib/timepicker.module.mjs +0 -138
- package/esm2022/public-api.mjs +0 -23
- package/themes/_base.scss +0 -119
|
@@ -33,7 +33,7 @@ export declare class MatHoursClockDial implements OnInit {
|
|
|
33
33
|
/** Emits selected hour. */
|
|
34
34
|
selectedChange: EventEmitter<{
|
|
35
35
|
hour: number;
|
|
36
|
-
changeView?: boolean
|
|
36
|
+
changeView?: boolean;
|
|
37
37
|
}>;
|
|
38
38
|
hours: ClockDialViewCell[];
|
|
39
39
|
get disabledHand(): boolean;
|
package/lib/time-face-base.d.ts
CHANGED
|
@@ -89,5 +89,5 @@ export declare abstract class MatTimeFaceBase<T> implements AfterContentInit, Af
|
|
|
89
89
|
/** Sets disabled period. */
|
|
90
90
|
private _setDisabledPeriod;
|
|
91
91
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimeFaceBase<any>, [{ optional: true; }]>;
|
|
92
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimeFaceBase<any>, never, never, { "selected": { "alias": "selected"; "required": false; }; "minTime": { "alias": "minTime"; "required": false; }; "maxTime": { "alias": "maxTime"; "required": false; }; "minuteInterval": { "alias": "minuteInterval"; "required": false; }; "isMeridiem": { "alias": "isMeridiem"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "_userSelection": "_userSelection"; "selectedChange": "selectedChange"; }, never, never,
|
|
92
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimeFaceBase<any>, never, never, { "selected": { "alias": "selected"; "required": false; }; "minTime": { "alias": "minTime"; "required": false; }; "maxTime": { "alias": "maxTime"; "required": false; }; "minuteInterval": { "alias": "minuteInterval"; "required": false; }; "isMeridiem": { "alias": "isMeridiem"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "_userSelection": "_userSelection"; "selectedChange": "selectedChange"; }, never, never, true, never>;
|
|
93
93
|
}
|
package/lib/time-input-base.d.ts
CHANGED
|
@@ -21,5 +21,5 @@ export declare abstract class MatTimeInputBase {
|
|
|
21
21
|
abstract _withZeroPrefix(value: number): string;
|
|
22
22
|
abstract _formatValue(value: number): number;
|
|
23
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimeInputBase, never>;
|
|
24
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimeInputBase, never, never, { "value": { "alias": "value"; "required": false; }; }, { "timeChanged": "timeChanged"; }, never, never,
|
|
24
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimeInputBase, never, never, { "value": { "alias": "value"; "required": false; }; }, { "timeChanged": "timeChanged"; }, never, never, true, never>;
|
|
25
25
|
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { AfterViewInit,
|
|
1
|
+
import { AfterViewInit, OnDestroy, OnInit, TemplateRef, ViewContainerRef } from '@angular/core';
|
|
2
|
+
import { ThemePalette } from '@angular/material/core';
|
|
2
3
|
import { MatTimepickerBase, MatTimepickerControl } from './timepicker-base';
|
|
3
4
|
import { MatTimepickerIntl } from './timepicker-intl';
|
|
4
5
|
import * as i0 from "@angular/core";
|
|
@@ -33,20 +34,15 @@ export declare class MatTimepickerActions implements AfterViewInit, OnDestroy {
|
|
|
33
34
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerActions, never>;
|
|
34
35
|
static ɵcmp: i0.ɵɵComponentDeclaration<MatTimepickerActions, "mat-timepicker-actions", never, {}, {}, never, ["*"], true, never>;
|
|
35
36
|
}
|
|
36
|
-
declare const _MatTimepickerDefaultActions: import("@angular/material/core")._Constructor<import("@angular/material/core").CanColor> & import("@angular/material/core")._AbstractConstructor<import("@angular/material/core").CanColor> & {
|
|
37
|
-
new (_elementRef: ElementRef): {
|
|
38
|
-
_elementRef: ElementRef;
|
|
39
|
-
};
|
|
40
|
-
};
|
|
41
37
|
/**
|
|
42
38
|
* Default action buttons to the bottom of a timepicker.
|
|
43
39
|
*/
|
|
44
|
-
export declare class MatTimepickerDefaultActions
|
|
40
|
+
export declare class MatTimepickerDefaultActions implements OnInit {
|
|
45
41
|
private _timepicker;
|
|
46
42
|
_intl: MatTimepickerIntl;
|
|
47
|
-
|
|
43
|
+
color: import("@angular/core").WritableSignal<ThemePalette>;
|
|
44
|
+
constructor(_timepicker: MatTimepickerBase<MatTimepickerControl<any>, unknown>, _intl: MatTimepickerIntl);
|
|
48
45
|
ngOnInit(): void;
|
|
49
46
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerDefaultActions, never>;
|
|
50
47
|
static ɵcmp: i0.ɵɵComponentDeclaration<MatTimepickerDefaultActions, "mat-timepicker-default-actions", never, {}, {}, never, ["*"], true, never>;
|
|
51
48
|
}
|
|
52
|
-
export {};
|
package/lib/timepicker-base.d.ts
CHANGED
|
@@ -190,7 +190,7 @@ export declare abstract class MatTimepickerBase<C extends MatTimepickerControl<T
|
|
|
190
190
|
/** Gets an observable that will emit when the overlay is supposed to be closed. */
|
|
191
191
|
private _getCloseStream;
|
|
192
192
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerBase<any, any, any>, [null, null, null, null, null, null, { optional: true; }]>;
|
|
193
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimepickerBase<any, any, any>, never, never, { "disabled": { "alias": "disabled"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "openAs": { "alias": "openAs"; "required": false; }; "color": { "alias": "color"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "format": { "alias": "format"; "required": false; }; "showToggleModeButton": { "alias": "showToggleModeButton"; "required": false; }; "minuteInterval": { "alias": "minuteInterval"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; }, { "openedStream": "opened"; "closedStream": "closed"; }, never, never,
|
|
193
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimepickerBase<any, any, any>, never, never, { "disabled": { "alias": "disabled"; "required": false; }; "opened": { "alias": "opened"; "required": false; }; "openAs": { "alias": "openAs"; "required": false; }; "color": { "alias": "color"; "required": false; }; "mode": { "alias": "mode"; "required": false; }; "format": { "alias": "format"; "required": false; }; "showToggleModeButton": { "alias": "showToggleModeButton"; "required": false; }; "minuteInterval": { "alias": "minuteInterval"; "required": false; }; "orientation": { "alias": "orientation"; "required": false; }; "touchUi": { "alias": "touchUi"; "required": false; }; "xPosition": { "alias": "xPosition"; "required": false; }; "yPosition": { "alias": "yPosition"; "required": false; }; "restoreFocus": { "alias": "restoreFocus"; "required": false; }; }, { "openedStream": "opened"; "closedStream": "closed"; }, never, never, true, never>;
|
|
194
194
|
static ngAcceptInputType_touchUi: unknown;
|
|
195
195
|
static ngAcceptInputType_restoreFocus: unknown;
|
|
196
196
|
}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { AnimationEvent } from '@angular/animations';
|
|
2
2
|
import { ComponentPortal, TemplatePortal } from '@angular/cdk/portal';
|
|
3
|
-
import { ChangeDetectorRef,
|
|
3
|
+
import { ChangeDetectorRef, OnInit, AfterViewInit } from '@angular/core';
|
|
4
|
+
import { ThemePalette } from '@angular/material/core';
|
|
4
5
|
import { Subject } from 'rxjs';
|
|
5
6
|
import { ExtractTimeTypeFromSelection, MatTimeSelectionModel } from './time-selection-model';
|
|
6
7
|
import { MatTimepickerBase, TimepickerMode } from './timepicker-base';
|
|
@@ -9,12 +10,7 @@ import { MatClockDials } from './clock-dials';
|
|
|
9
10
|
import { MatTimeInputs } from './time-inputs';
|
|
10
11
|
import { TimepickerOrientation } from './orientation';
|
|
11
12
|
import * as i0 from "@angular/core";
|
|
12
|
-
declare
|
|
13
|
-
new (_elementRef: ElementRef): {
|
|
14
|
-
_elementRef: ElementRef;
|
|
15
|
-
};
|
|
16
|
-
};
|
|
17
|
-
export declare class MatTimepickerContent<S, T = ExtractTimeTypeFromSelection<S>> extends _MatTimepickerContentBase implements OnInit, AfterViewInit {
|
|
13
|
+
export declare class MatTimepickerContent<S, T = ExtractTimeTypeFromSelection<S>> implements OnInit, AfterViewInit {
|
|
18
14
|
private _globalModel;
|
|
19
15
|
private _changeDetectorRef;
|
|
20
16
|
/** Reference to the internal clock dials component. */
|
|
@@ -45,11 +41,16 @@ export declare class MatTimepickerContent<S, T = ExtractTimeTypeFromSelection<S>
|
|
|
45
41
|
_closeButtonFocused: boolean;
|
|
46
42
|
/** Whether there is an in-progress animation. */
|
|
47
43
|
_isAnimating: boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Theme color of the internal timepicker. This API is supported in M2 themes
|
|
46
|
+
* only, it has no effect in M3 themes.
|
|
47
|
+
*/
|
|
48
|
+
color: ThemePalette;
|
|
48
49
|
/** Emits when an animation has finished. */
|
|
49
50
|
readonly _animationDone: Subject<void>;
|
|
50
51
|
private _model;
|
|
51
52
|
private _subscriptions;
|
|
52
|
-
constructor(
|
|
53
|
+
constructor(intl: MatTimepickerIntl, _globalModel: MatTimeSelectionModel<S, T>, _changeDetectorRef: ChangeDetectorRef);
|
|
53
54
|
ngOnInit(): void;
|
|
54
55
|
ngAfterViewInit(): void;
|
|
55
56
|
ngOnDestroy(): void;
|
|
@@ -72,4 +73,3 @@ export declare class MatTimepickerContent<S, T = ExtractTimeTypeFromSelection<S>
|
|
|
72
73
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerContent<any, any>, never>;
|
|
73
74
|
static ɵcmp: i0.ɵɵComponentDeclaration<MatTimepickerContent<any, any>, "mat-timepicker-content", ["matTimepickerContent"], {}, {}, never, never, true, never>;
|
|
74
75
|
}
|
|
75
|
-
export {};
|
|
@@ -103,7 +103,7 @@ export declare abstract class MatTimepickerInputBase<S, T = ExtractTimeTypeFromS
|
|
|
103
103
|
/** The form control validator for the max time. */
|
|
104
104
|
private _maxValidator;
|
|
105
105
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatTimepickerInputBase<any, any>, [null, { optional: true; }]>;
|
|
106
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimepickerInputBase<any, any>, never, never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "timeChange": "timeChange"; "timeInput": "timeInput"; }, never, never,
|
|
106
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatTimepickerInputBase<any, any>, never, never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "timeChange": "timeChange"; "timeInput": "timeInput"; }, never, never, true, never>;
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
109
|
* Checks whether the `SimpleChanges` object from an `ngOnChanges`
|
package/package.json
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@dhutaryan/ngx-mat-timepicker",
|
|
3
3
|
"description": "Angular timepicker to add time which is based on material design and Angular material.",
|
|
4
|
-
"
|
|
4
|
+
"homepage": "https://dhutaryan.github.io/ngx-mat-timepicker/",
|
|
5
|
+
"version": "19.1.0",
|
|
5
6
|
"license": "MIT",
|
|
6
7
|
"author": {
|
|
7
8
|
"name": "Dzmitry Hutaryan"
|
|
@@ -26,9 +27,9 @@
|
|
|
26
27
|
"timepicker input"
|
|
27
28
|
],
|
|
28
29
|
"peerDependencies": {
|
|
29
|
-
"@angular/common": ">=
|
|
30
|
-
"@angular/core": ">=
|
|
31
|
-
"@angular/material": ">=
|
|
30
|
+
"@angular/common": ">=19.0.0",
|
|
31
|
+
"@angular/core": ">=19.0.0",
|
|
32
|
+
"@angular/material": ">=19.0.0"
|
|
32
33
|
},
|
|
33
34
|
"dependencies": {
|
|
34
35
|
"tslib": ">=2.0.0"
|
|
@@ -37,8 +38,6 @@
|
|
|
37
38
|
".": {
|
|
38
39
|
"sass": "./_index.scss",
|
|
39
40
|
"types": "./index.d.ts",
|
|
40
|
-
"esm2022": "./esm2022/dhutaryan-ngx-mat-timepicker.mjs",
|
|
41
|
-
"esm": "./esm2022/dhutaryan-ngx-mat-timepicker.mjs",
|
|
42
41
|
"default": "./fesm2022/dhutaryan-ngx-mat-timepicker.mjs"
|
|
43
42
|
},
|
|
44
43
|
"./package.json": {
|
package/themes/_utils.scss
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
@use 'sass:map';
|
|
2
|
+
@use 'sass:string';
|
|
3
|
+
|
|
4
|
+
$prefix: (mat, timepicker);
|
|
2
5
|
|
|
3
6
|
@mixin declaration($property, $value) {
|
|
4
7
|
--mat-timepicker-#{$property}: #{$value};
|
|
@@ -33,3 +36,39 @@
|
|
|
33
36
|
}
|
|
34
37
|
@return $result;
|
|
35
38
|
}
|
|
39
|
+
|
|
40
|
+
@mixin create-token-slot($property, $token, $fallback: null) {
|
|
41
|
+
$token: _create-var-name($prefix, $token);
|
|
42
|
+
|
|
43
|
+
#{$property}: #{_create-var($token, $fallback)};
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@function create-system-var($sys-token) {
|
|
47
|
+
$token: _create-var-name('mat-sys', $sys-token);
|
|
48
|
+
|
|
49
|
+
@return _create-var($token);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
// Combines a prefix and a string to generate a CSS variable name for a token.
|
|
53
|
+
@function _create-var-name($prefix, $token) {
|
|
54
|
+
@if $prefix == null or $token == null {
|
|
55
|
+
@error 'Must specify both prefix and name when generating token';
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
$string-prefix: '';
|
|
59
|
+
|
|
60
|
+
// Prefixes are lists so we need to combine them.
|
|
61
|
+
@each $part in $prefix {
|
|
62
|
+
$string-prefix: if($string-prefix == '', $part, '#{$string-prefix}-#{$part}');
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@return string.unquote('--#{$string-prefix}-#{$token}');
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@function _create-var($name, $fallback: null) {
|
|
69
|
+
@if ($fallback) {
|
|
70
|
+
@return var($name, $fallback);
|
|
71
|
+
} @else {
|
|
72
|
+
@return var($name);
|
|
73
|
+
}
|
|
74
|
+
}
|
package/themes/m2/_tokens.scss
CHANGED
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
$toggle-color,
|
|
24
24
|
$content-color,
|
|
25
25
|
(
|
|
26
|
+
clock-dial-cell-active-text-color: #fff,
|
|
26
27
|
clock-dial-cell-disabled-text-color:
|
|
27
28
|
mat.m2-get-color-from-palette($foreground, disabled-button),
|
|
28
29
|
clock-dial-cell-disabled-background-color: transparent,
|
|
@@ -59,6 +60,7 @@
|
|
|
59
60
|
clock-dial-hand-value-point-color: $color,
|
|
60
61
|
clock-dial-hand-value-point-disabled-color: color.change($color, $alpha: 0.4),
|
|
61
62
|
clock-dial-cell-unthemable-color: transparent,
|
|
63
|
+
clock-dial-cell-active-background-color: $color,
|
|
62
64
|
clock-dial-cell-active-disabled-color: color.change($color, $alpha: 0.4)
|
|
63
65
|
);
|
|
64
66
|
}
|
package/themes/m3/_base.scss
CHANGED
package/themes/m3/_color.scss
CHANGED
|
@@ -27,15 +27,4 @@
|
|
|
27
27
|
@include utils.create-token-values($error-tokens);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
|
-
|
|
31
|
-
.mat-clock-dial-cell.mat-clock-dial-cell-active {
|
|
32
|
-
background-color: var(--mat-timepicker-clock-dial-cell-active-background-color);
|
|
33
|
-
color: var(--mat-timepicker-clock-dial-cell-active-text-color);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
.mat-time-period {
|
|
37
|
-
.mat-divider {
|
|
38
|
-
border-top-color: var(--mat-timepicker-time-period-border-color);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
30
|
}
|
package/themes/m3/_tokens.scss
CHANGED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Generated bundle index. Do not edit.
|
|
3
|
-
*/
|
|
4
|
-
export * from './public-api';
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGh1dGFyeWFuLW5neC1tYXQtdGltZXBpY2tlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL21hdC10aW1lcGlja2VyL3NyYy9kaHV0YXJ5YW4tbmd4LW1hdC10aW1lcGlja2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxjQUFjLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vcHVibGljLWFwaSc7XG4iXX0=
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { PlatformModule } from '@angular/cdk/platform';
|
|
2
|
-
import { NgModule } from '@angular/core';
|
|
3
|
-
import { TimeAdapter } from './time-adapter';
|
|
4
|
-
import { NativeDateTimeAdapter } from './native-date-time-adapter';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export * from './time-adapter';
|
|
7
|
-
export * from './native-date-time-adapter';
|
|
8
|
-
export class NativeDateTimeModule {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeModule, imports: [PlatformModule] }); }
|
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeModule, providers: [{ provide: TimeAdapter, useClass: NativeDateTimeAdapter }], imports: [PlatformModule] }); }
|
|
12
|
-
}
|
|
13
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeModule, decorators: [{
|
|
14
|
-
type: NgModule,
|
|
15
|
-
args: [{
|
|
16
|
-
imports: [PlatformModule],
|
|
17
|
-
providers: [{ provide: TimeAdapter, useClass: NativeDateTimeAdapter }],
|
|
18
|
-
}]
|
|
19
|
-
}] });
|
|
20
|
-
export class MatNativeDateTimeModule {
|
|
21
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatNativeDateTimeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
22
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.0.4", ngImport: i0, type: MatNativeDateTimeModule }); }
|
|
23
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatNativeDateTimeModule, providers: [provideNativeDateTimeAdapter()] }); }
|
|
24
|
-
}
|
|
25
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatNativeDateTimeModule, decorators: [{
|
|
26
|
-
type: NgModule,
|
|
27
|
-
args: [{
|
|
28
|
-
providers: [provideNativeDateTimeAdapter()],
|
|
29
|
-
}]
|
|
30
|
-
}] });
|
|
31
|
-
export function provideNativeDateTimeAdapter() {
|
|
32
|
-
return { provide: TimeAdapter, useClass: NativeDateTimeAdapter };
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL2FkYXB0ZXIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBdUIsUUFBUSxFQUFZLE1BQU0sZUFBZSxDQUFDO0FBRXhFLE9BQU8sRUFBNEIsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDdkUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBRW5FLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyw0QkFBNEIsQ0FBQztBQU0zQyxNQUFNLE9BQU8sb0JBQW9COzhHQUFwQixvQkFBb0I7K0dBQXBCLG9CQUFvQixZQUhyQixjQUFjOytHQUdiLG9CQUFvQixhQUZwQixDQUFDLEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUscUJBQXFCLEVBQUUsQ0FBQyxZQUQ1RCxjQUFjOzsyRkFHYixvQkFBb0I7a0JBSmhDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFLENBQUMsY0FBYyxDQUFDO29CQUN6QixTQUFTLEVBQUUsQ0FBQyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7aUJBQ3ZFOztBQU1ELE1BQU0sT0FBTyx1QkFBdUI7OEdBQXZCLHVCQUF1QjsrR0FBdkIsdUJBQXVCOytHQUF2Qix1QkFBdUIsYUFGdkIsQ0FBQyw0QkFBNEIsRUFBRSxDQUFDOzsyRkFFaEMsdUJBQXVCO2tCQUhuQyxRQUFRO21CQUFDO29CQUNSLFNBQVMsRUFBRSxDQUFDLDRCQUE0QixFQUFFLENBQUM7aUJBQzVDOztBQUdELE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLHFCQUFxQixFQUFFLENBQUM7QUFDbkUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBsYXRmb3JtTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BsYXRmb3JtJztcbmltcG9ydCB7IE1vZHVsZVdpdGhQcm92aWRlcnMsIE5nTW9kdWxlLCBQcm92aWRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfVElNRV9MT0NBTEVfUFJPVklERVIsIFRpbWVBZGFwdGVyIH0gZnJvbSAnLi90aW1lLWFkYXB0ZXInO1xuaW1wb3J0IHsgTmF0aXZlRGF0ZVRpbWVBZGFwdGVyIH0gZnJvbSAnLi9uYXRpdmUtZGF0ZS10aW1lLWFkYXB0ZXInO1xuXG5leHBvcnQgKiBmcm9tICcuL3RpbWUtYWRhcHRlcic7XG5leHBvcnQgKiBmcm9tICcuL25hdGl2ZS1kYXRlLXRpbWUtYWRhcHRlcic7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtQbGF0Zm9ybU1vZHVsZV0sXG4gIHByb3ZpZGVyczogW3sgcHJvdmlkZTogVGltZUFkYXB0ZXIsIHVzZUNsYXNzOiBOYXRpdmVEYXRlVGltZUFkYXB0ZXIgfV0sXG59KVxuZXhwb3J0IGNsYXNzIE5hdGl2ZURhdGVUaW1lTW9kdWxlIHt9XG5cbkBOZ01vZHVsZSh7XG4gIHByb3ZpZGVyczogW3Byb3ZpZGVOYXRpdmVEYXRlVGltZUFkYXB0ZXIoKV0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdE5hdGl2ZURhdGVUaW1lTW9kdWxlIHt9XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlTmF0aXZlRGF0ZVRpbWVBZGFwdGVyKCk6IFByb3ZpZGVyIHtcbiAgcmV0dXJuIHsgcHJvdmlkZTogVGltZUFkYXB0ZXIsIHVzZUNsYXNzOiBOYXRpdmVEYXRlVGltZUFkYXB0ZXIgfTtcbn1cbiJdfQ==
|
|
@@ -1,137 +0,0 @@
|
|
|
1
|
-
import { Inject, Injectable, Optional, inject } from '@angular/core';
|
|
2
|
-
import { MAT_TIME_LOCALE, TimeAdapter } from './time-adapter';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
/**
|
|
5
|
-
* Matches strings that have the form of a valid RFC 3339 string
|
|
6
|
-
* (https://tools.ietf.org/html/rfc3339). Note that the string may not actually be a valid date
|
|
7
|
-
* because the regex will match strings an with out of bounds month, date, etc.
|
|
8
|
-
*/
|
|
9
|
-
const ISO_8601_REGEX = /^\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d+)?(?:Z|(?:(?:\+|-)\d{2}:\d{2}))?)?$/;
|
|
10
|
-
/** Adapts the native JS Date for components that work with time. */
|
|
11
|
-
export class NativeDateTimeAdapter extends TimeAdapter {
|
|
12
|
-
constructor(matTimeLocale) {
|
|
13
|
-
super();
|
|
14
|
-
this._matTimeLocale = inject(MAT_TIME_LOCALE, { optional: true });
|
|
15
|
-
if (matTimeLocale !== undefined) {
|
|
16
|
-
this._matTimeLocale = matTimeLocale;
|
|
17
|
-
}
|
|
18
|
-
super.setLocale(this._matTimeLocale);
|
|
19
|
-
}
|
|
20
|
-
now() {
|
|
21
|
-
return new Date();
|
|
22
|
-
}
|
|
23
|
-
parse(value, parseFormat) {
|
|
24
|
-
// We have no way using the native JS Date to set the parse format or locale, so we ignore these
|
|
25
|
-
// parameters.
|
|
26
|
-
if (typeof value == 'number') {
|
|
27
|
-
return new Date(value);
|
|
28
|
-
}
|
|
29
|
-
const { hour, minute, meridiem } = this.parseTime(value);
|
|
30
|
-
// hour should be in 24h format
|
|
31
|
-
// so, if meridiem is 'pm' and hour is less than 12, add 12 to hour
|
|
32
|
-
const correctedHour = meridiem === 'pm' && hour < 12 ? hour + 12 : hour;
|
|
33
|
-
const date = new Date();
|
|
34
|
-
date.setHours(correctedHour);
|
|
35
|
-
date.setMinutes(minute);
|
|
36
|
-
return value ? new Date(date) : null;
|
|
37
|
-
}
|
|
38
|
-
parseTime(value) {
|
|
39
|
-
const time = value.replace(/(\sam|\spm|\sAM|\sPM|am|pm|AM|PM)/g, '');
|
|
40
|
-
const meridiem = value.replace(time, '').trim().toLowerCase();
|
|
41
|
-
const [hour, minute] = time.split(':');
|
|
42
|
-
return { hour: Number(hour), minute: Number(minute), meridiem };
|
|
43
|
-
}
|
|
44
|
-
getHour(date) {
|
|
45
|
-
return date.getHours();
|
|
46
|
-
}
|
|
47
|
-
getMinute(date) {
|
|
48
|
-
return date.getMinutes();
|
|
49
|
-
}
|
|
50
|
-
updateHour(date, hour) {
|
|
51
|
-
const copy = new Date(date.getTime());
|
|
52
|
-
copy.setHours(hour);
|
|
53
|
-
return copy;
|
|
54
|
-
}
|
|
55
|
-
updateMinute(date, minute) {
|
|
56
|
-
const copy = new Date(date.getTime());
|
|
57
|
-
copy.setMinutes(minute);
|
|
58
|
-
return copy;
|
|
59
|
-
}
|
|
60
|
-
getPeriod(date) {
|
|
61
|
-
return date.getHours() < 12 ? 'am' : 'pm';
|
|
62
|
-
}
|
|
63
|
-
format(date, displayFormat) {
|
|
64
|
-
if (!this.isValid(date)) {
|
|
65
|
-
throw Error('NativeDateTimeAdapter: Cannot format invalid date.');
|
|
66
|
-
}
|
|
67
|
-
const dtf = new Intl.DateTimeFormat(this.locale, {
|
|
68
|
-
...displayFormat,
|
|
69
|
-
timeZone: 'utc',
|
|
70
|
-
});
|
|
71
|
-
return this._format(dtf, date);
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Returns the given value if given a valid Date or null. Deserializes valid ISO 8601 strings
|
|
75
|
-
* (https://www.ietf.org/rfc/rfc3339.txt) into valid Dates and empty string into null. Returns an
|
|
76
|
-
* invalid date for all other values.
|
|
77
|
-
*/
|
|
78
|
-
deserialize(value) {
|
|
79
|
-
if (typeof value === 'string') {
|
|
80
|
-
if (!value) {
|
|
81
|
-
return null;
|
|
82
|
-
}
|
|
83
|
-
// The `Date` constructor accepts formats other than ISO 8601, so we need to make sure the
|
|
84
|
-
// string is the right format first.
|
|
85
|
-
if (ISO_8601_REGEX.test(value)) {
|
|
86
|
-
const date = new Date(value);
|
|
87
|
-
if (this.isValid(date)) {
|
|
88
|
-
return date;
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
return super.deserialize(value);
|
|
93
|
-
}
|
|
94
|
-
isTimeInstance(obj) {
|
|
95
|
-
return obj instanceof Date;
|
|
96
|
-
}
|
|
97
|
-
isValid(date) {
|
|
98
|
-
return !isNaN(date.getTime());
|
|
99
|
-
}
|
|
100
|
-
invalid() {
|
|
101
|
-
return new Date(NaN);
|
|
102
|
-
}
|
|
103
|
-
compareTime(first, second) {
|
|
104
|
-
return (first.getHours() - second.getHours() ||
|
|
105
|
-
first.getMinutes() - second.getMinutes());
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* When converting Date object to string, javascript built-in functions may return wrong
|
|
109
|
-
* results because it applies its internal DST rules. The DST rules around the world change
|
|
110
|
-
* very frequently, and the current valid rule is not always valid in previous years though.
|
|
111
|
-
* We work around this problem building a new Date object which has its internal UTC
|
|
112
|
-
* representation with the local date and time.
|
|
113
|
-
* @param dtf Intl.DateTimeFormat object, containing the desired string format. It must have
|
|
114
|
-
* timeZone set to 'utc' to work fine.
|
|
115
|
-
* @param date Date from which we want to get the string representation according to dtf
|
|
116
|
-
* @returns A Date object with its UTC representation based on the passed in date info
|
|
117
|
-
*/
|
|
118
|
-
_format(dtf, date) {
|
|
119
|
-
// Passing the year to the constructor causes year numbers <100 to be converted to 19xx.
|
|
120
|
-
// To work around this we use `setUTCFullYear` and `setUTCHours` instead.
|
|
121
|
-
const d = new Date();
|
|
122
|
-
d.setUTCFullYear(date.getFullYear(), date.getMonth(), date.getDate());
|
|
123
|
-
d.setUTCHours(date.getHours(), date.getMinutes(), date.getSeconds(), date.getMilliseconds());
|
|
124
|
-
return dtf.format(d);
|
|
125
|
-
}
|
|
126
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeAdapter, deps: [{ token: MAT_TIME_LOCALE, optional: true }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
127
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeAdapter }); }
|
|
128
|
-
}
|
|
129
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: NativeDateTimeAdapter, decorators: [{
|
|
130
|
-
type: Injectable
|
|
131
|
-
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
132
|
-
type: Optional
|
|
133
|
-
}, {
|
|
134
|
-
type: Inject,
|
|
135
|
-
args: [MAT_TIME_LOCALE]
|
|
136
|
-
}] }] });
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF0aXZlLWRhdGUtdGltZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi9hZGFwdGVyL25hdGl2ZS1kYXRlLXRpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXJFLE9BQU8sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7O0FBRzlEOzs7O0dBSUc7QUFDSCxNQUFNLGNBQWMsR0FDbEIsb0ZBQW9GLENBQUM7QUFFdkYsb0VBQW9FO0FBRXBFLE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxXQUFpQjtJQUcxRCxZQUFpRCxhQUFxQjtRQUNwRSxLQUFLLEVBQUUsQ0FBQztRQUhPLG1CQUFjLEdBQUcsTUFBTSxDQUFDLGVBQWUsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1FBSTVFLElBQUksYUFBYSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxjQUFjLEdBQUcsYUFBYSxDQUFDO1FBQ3RDLENBQUM7UUFDRCxLQUFLLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsR0FBRztRQUNELE9BQU8sSUFBSSxJQUFJLEVBQUUsQ0FBQztJQUNwQixDQUFDO0lBRUQsS0FBSyxDQUFDLEtBQVUsRUFBRSxXQUFpQjtRQUNqQyxnR0FBZ0c7UUFDaEcsY0FBYztRQUNkLElBQUksT0FBTyxLQUFLLElBQUksUUFBUSxFQUFFLENBQUM7WUFDN0IsT0FBTyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN6QixDQUFDO1FBRUQsTUFBTSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFF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QUFDLENBQUMsV0FBVyxDQUNYLElBQUksQ0FBQyxRQUFRLEVBQUUsRUFDZixJQUFJLENBQUMsVUFBVSxFQUFFLEVBQ2pCLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFDakIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUN2QixDQUFDO1FBQ0YsT0FBTyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7OEdBdEpVLHFCQUFxQixrQkFHQSxlQUFlO2tIQUhwQyxxQkFBcUI7OzJGQUFyQixxQkFBcUI7a0JBRGpDLFVBQVU7OzBCQUlJLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSwgT3B0aW9uYWwsIGluamVjdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNQVRfVElNRV9MT0NBTEUsIFRpbWVBZGFwdGVyIH0gZnJvbSAnLi90aW1lLWFkYXB0ZXInO1xuaW1wb3J0IHsgTWF0VGltZVBlcmlvZFR5cGUgfSBmcm9tICcuLi90aW1lLXBlcmlvZCc7XG5cbi8qKlxuICogTWF0Y2hlcyBzdHJpbmdzIHRoYXQgaGF2ZSB0aGUgZm9ybSBvZiBhIHZhbGlkIFJGQyAzMzM5IHN0cmluZ1xuICogKGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmMzMzM5KS4gTm90ZSB0aGF0IHRoZSBzdHJpbmcgbWF5IG5vdCBhY3R1YWxseSBiZSBhIHZhbGlkIGRhdGVcbiAqIGJlY2F1c2UgdGhlIHJlZ2V4IHdpbGwgbWF0Y2ggc3RyaW5ncyBhbiB3aXRoIG91dCBvZiBib3VuZHMgbW9udGgsIGRhdGUsIGV0Yy5cbiAqL1xuY29uc3QgSVNPXzg2MDFfUkVHRVggPVxuICAvXlxcZHs0fS1cXGR7Mn0tXFxkezJ9KD86VFxcZHsyfTpcXGR7Mn06XFxkezJ9KD86XFwuXFxkKyk/KD86WnwoPzooPzpcXCt8LSlcXGR7Mn06XFxkezJ9KSk/KT8kLztcblxuLyoqIEFkYXB0cyB0aGUgbmF0aXZlIEpTIERhdGUgZm9yIGNvbXBvbmVudHMgdGhhdCB3b3JrIHdpdGggdGltZS4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBOYXRpdmVEYXRlVGltZUFkYXB0ZXIgZXh0ZW5kcyBUaW1lQWRhcHRlcjxEYXRlPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgX21hdFRpbWVMb2NhbGUgPSBpbmplY3QoTUFUX1RJTUVfTE9DQUxFLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX1RJTUVfTE9DQUxFKSBtYXRUaW1lTG9jYWxlOiBzdHJpbmcpIHtcbiAgICBzdXBlcigpO1xuICAgIGlmIChtYXRUaW1lTG9jYWxlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuX21hdFRpbWVMb2NhbGUgPSBtYXRUaW1lTG9jYWxlO1xuICAgIH1cbiAgICBzdXBlci5zZXRMb2NhbGUodGhpcy5fbWF0VGltZUxvY2FsZSk7XG4gIH1cblxuICBub3coKTogRGF0ZSB7XG4gICAgcmV0dXJuIG5ldyBEYXRlKCk7XG4gIH1cblxuICBwYXJzZSh2YWx1ZTogYW55LCBwYXJzZUZvcm1hdD86IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICAvLyBXZSBoYXZlIG5vIHdheSB1c2luZyB0aGUgbmF0aXZlIEpTIERhdGUgdG8gc2V0IHRoZSBwYXJzZSBmb3JtYXQgb3IgbG9jYWxlLCBzbyB3ZSBpZ25vcmUgdGhlc2VcbiAgICAvLyBwYXJhbWV0ZXJzLlxuICAgIGlmICh0eXBlb2YgdmFsdWUgPT0gJ251bWJlcicpIHtcbiAgICAgIHJldHVybiBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgfVxuXG4gICAgY29uc3QgeyBob3VyLCBtaW51dGUsIG1lcmlkaWVtIH0gPSB0aGlzLnBhcnNlVGltZSh2YWx1ZSk7XG4gICAgLy8gaG91ciBzaG91bGQgYmUgaW4gMjRoIGZvcm1hdFxuICAgIC8vIHNvLCBpZiBtZXJpZGllbSBpcyAncG0nIGFuZCBob3VyIGlzIGxlc3MgdGhhbiAxMiwgYWRkIDEyIHRvIGhvdXJcbiAgICBjb25zdCBjb3JyZWN0ZWRIb3VyID0gbWVyaWRpZW0gPT09ICdwbScgJiYgaG91ciA8IDEyID8gaG91ciArIDEyIDogaG91cjtcbiAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoKTtcbiAgICBkYXRlLnNldEhvdXJzKGNvcnJlY3RlZEhvdXIpO1xuICAgIGRhdGUuc2V0TWludXRlcyhtaW51dGUpO1xuXG4gICAgcmV0dXJuIHZhbHVlID8gbmV3IERhdGUoZGF0ZSkgOiBudWxsO1xuICB9XG5cbiAgcGFyc2VUaW1lKHZhbHVlOiBzdHJpbmcpOiB7XG4gICAgaG91cjogbnVtYmVyO1xuICAgIG1pbnV0ZTogbnVtYmVyO1xuICAgIG1lcmlkaWVtPzogJ2FtJyB8ICdwbSc7XG4gIH0ge1xuICAgIGNvbnN0IHRpbWUgPSB2YWx1ZS5yZXBsYWNlKC8oXFxzYW18XFxzcG18XFxzQU18XFxzUE18YW18cG18QU18UE0pL2csICcnKTtcbiAgICBjb25zdCBtZXJpZGllbSA9IHZhbHVlLnJlcGxhY2UodGltZSwgJycpLnRyaW0oKS50b0xvd2VyQ2FzZSgpIGFzXG4gICAgICB8ICdhbSdcbiAgICAgIHwgJ3BtJztcbiAgICBjb25zdCBbaG91ciwgbWludXRlXSA9IHRpbWUuc3BsaXQoJzonKTtcblxuICAgIHJldHVybiB7IGhvdXI6IE51bWJlcihob3VyKSwgbWludXRlOiBOdW1iZXIobWludXRlKSwgbWVyaWRpZW0gfTtcbiAgfVxuXG4gIGdldEhvdXIoZGF0ZTogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKTtcbiAgfVxuXG4gIGdldE1pbnV0ZShkYXRlOiBEYXRlKTogbnVtYmVyIHtcbiAgICByZXR1cm4gZGF0ZS5nZXRNaW51dGVzKCk7XG4gIH1cblxuICB1cGRhdGVIb3VyKGRhdGU6IERhdGUsIGhvdXI6IG51bWJlcik6IERhdGUge1xuICAgIGNvbnN0IGNvcHkgPSBuZXcgRGF0ZShkYXRlLmdldFRpbWUoKSk7XG4gICAgY29weS5zZXRIb3Vycyhob3VyKTtcblxuICAgIHJldHVybiBjb3B5O1xuICB9XG5cbiAgdXBkYXRlTWludXRlKGRhdGU6IERhdGUsIG1pbnV0ZTogbnVtYmVyKTogRGF0ZSB7XG4gICAgY29uc3QgY29weSA9IG5ldyBEYXRlKGRhdGUuZ2V0VGltZSgpKTtcbiAgICBjb3B5LnNldE1pbnV0ZXMobWludXRlKTtcblxuICAgIHJldHVybiBjb3B5O1xuICB9XG5cbiAgZ2V0UGVyaW9kKGRhdGU6IERhdGUpOiBNYXRUaW1lUGVyaW9kVHlwZSB7XG4gICAgcmV0dXJuIGRhdGUuZ2V0SG91cnMoKSA8IDEyID8gJ2FtJyA6ICdwbSc7XG4gIH1cblxuICBmb3JtYXQoZGF0ZTogRGF0ZSwgZGlzcGxheUZvcm1hdDogT2JqZWN0KTogc3RyaW5nIHtcbiAgICBpZiAoIXRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgdGhyb3cgRXJyb3IoJ05hdGl2ZURhdGVUaW1lQWRhcHRlcjogQ2Fubm90IGZvcm1hdCBpbnZhbGlkIGRhdGUuJyk7XG4gICAgfVxuXG4gICAgY29uc3QgZHRmID0gbmV3IEludGwuRGF0ZVRpbWVGb3JtYXQodGhpcy5sb2NhbGUsIHtcbiAgICAgIC4uLmRpc3BsYXlGb3JtYXQsXG4gICAgICB0aW1lWm9uZTogJ3V0YycsXG4gICAgfSk7XG5cbiAgICByZXR1cm4gdGhpcy5fZm9ybWF0KGR0ZiwgZGF0ZSk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgZ2l2ZW4gdmFsdWUgaWYgZ2l2ZW4gYSB2YWxpZCBEYXRlIG9yIG51bGwuIERlc2VyaWFsaXplcyB2YWxpZCBJU08gODYwMSBzdHJpbmdzXG4gICAqIChodHRwczovL3d3dy5pZXRmLm9yZy9yZmMvcmZjMzMzOS50eHQpIGludG8gdmFsaWQgRGF0ZXMgYW5kIGVtcHR5IHN0cmluZyBpbnRvIG51bGwuIFJldHVybnMgYW5cbiAgICogaW52YWxpZCBkYXRlIGZvciBhbGwgb3RoZXIgdmFsdWVzLlxuICAgKi9cbiAgb3ZlcnJpZGUgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IERhdGUgfCBudWxsIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKCF2YWx1ZSkge1xuICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgIH1cbiAgICAgIC8vIFRoZSBgRGF0ZWAgY29uc3RydWN0b3IgYWNjZXB0cyBmb3JtYXRzIG90aGVyIHRoYW4gSVNPIDg2MDEsIHNvIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoZVxuICAgICAgLy8gc3RyaW5nIGlzIHRoZSByaWdodCBmb3JtYXQgZmlyc3QuXG4gICAgICBpZiAoSVNPXzg2MDFfUkVHRVgudGVzdCh2YWx1ZSkpIHtcbiAgICAgICAgY29uc3QgZGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZChkYXRlKSkge1xuICAgICAgICAgIHJldHVybiBkYXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBzdXBlci5kZXNlcmlhbGl6ZSh2YWx1ZSk7XG4gIH1cblxuICBpc1RpbWVJbnN0YW5jZShvYmo6IGFueSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBvYmogaW5zdGFuY2VvZiBEYXRlO1xuICB9XG5cbiAgaXNWYWxpZChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICFpc05hTihkYXRlLmdldFRpbWUoKSk7XG4gIH1cblxuICBpbnZhbGlkKCk6IERhdGUge1xuICAgIHJldHVybiBuZXcgRGF0ZShOYU4pO1xuICB9XG5cbiAgY29tcGFyZVRpbWUoZmlyc3Q6IERhdGUsIHNlY29uZDogRGF0ZSk6IG51bWJlciB7XG4gICAgcmV0dXJuIChcbiAgICAgIGZpcnN0LmdldEhvdXJzKCkgLSBzZWNvbmQuZ2V0SG91cnMoKSB8fFxuICAgICAgZmlyc3QuZ2V0TWludXRlcygpIC0gc2Vjb25kLmdldE1pbnV0ZXMoKVxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogV2hlbiBjb252ZXJ0aW5nIERhdGUgb2JqZWN0IHRvIHN0cmluZywgamF2YXNjcmlwdCBidWlsdC1pbiBmdW5jdGlvbnMgbWF5IHJldHVybiB3cm9uZ1xuICAgKiByZXN1bHRzIGJlY2F1c2UgaXQgYXBwbGllcyBpdHMgaW50ZXJuYWwgRFNUIHJ1bGVzLiBUaGUgRFNUIHJ1bGVzIGFyb3VuZCB0aGUgd29ybGQgY2hhbmdlXG4gICAqIHZlcnkgZnJlcXVlbnRseSwgYW5kIHRoZSBjdXJyZW50IHZhbGlkIHJ1bGUgaXMgbm90IGFsd2F5cyB2YWxpZCBpbiBwcmV2aW91cyB5ZWFycyB0aG91Z2guXG4gICAqIFdlIHdvcmsgYXJvdW5kIHRoaXMgcHJvYmxlbSBidWlsZGluZyBhIG5ldyBEYXRlIG9iamVjdCB3aGljaCBoYXMgaXRzIGludGVybmFsIFVUQ1xuICAgKiByZXByZXNlbnRhdGlvbiB3aXRoIHRoZSBsb2NhbCBkYXRlIGFuZCB0aW1lLlxuICAgKiBAcGFyYW0gZHRmIEludGwuRGF0ZVRpbWVGb3JtYXQgb2JqZWN0LCBjb250YWluaW5nIHRoZSBkZXNpcmVkIHN0cmluZyBmb3JtYXQuIEl0IG11c3QgaGF2ZVxuICAgKiAgICB0aW1lWm9uZSBzZXQgdG8gJ3V0YycgdG8gd29yayBmaW5lLlxuICAgKiBAcGFyYW0gZGF0ZSBEYXRlIGZyb20gd2hpY2ggd2Ugd2FudCB0byBnZXQgdGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBhY2NvcmRpbmcgdG8gZHRmXG4gICAqIEByZXR1cm5zIEEgRGF0ZSBvYmplY3Qgd2l0aCBpdHMgVVRDIHJlcHJlc2VudGF0aW9uIGJhc2VkIG9uIHRoZSBwYXNzZWQgaW4gZGF0ZSBpbmZvXG4gICAqL1xuICBwcml2YXRlIF9mb3JtYXQoZHRmOiBJbnRsLkRhdGVUaW1lRm9ybWF0LCBkYXRlOiBEYXRlKSB7XG4gICAgLy8gUGFzc2luZyB0aGUgeWVhciB0byB0aGUgY29uc3RydWN0b3IgY2F1c2VzIHllYXIgbnVtYmVycyA8MTAwIHRvIGJlIGNvbnZlcnRlZCB0byAxOXh4LlxuICAgIC8vIFRvIHdvcmsgYXJvdW5kIHRoaXMgd2UgdXNlIGBzZXRVVENGdWxsWWVhcmAgYW5kIGBzZXRVVENIb3Vyc2AgaW5zdGVhZC5cbiAgICBjb25zdCBkID0gbmV3IERhdGUoKTtcbiAgICBkLnNldFVUQ0Z1bGxZZWFyKGRhdGUuZ2V0RnVsbFllYXIoKSwgZGF0ZS5nZXRNb250aCgpLCBkYXRlLmdldERhdGUoKSk7XG4gICAgZC5zZXRVVENIb3VycyhcbiAgICAgIGRhdGUuZ2V0SG91cnMoKSxcbiAgICAgIGRhdGUuZ2V0TWludXRlcygpLFxuICAgICAgZGF0ZS5nZXRTZWNvbmRzKCksXG4gICAgICBkYXRlLmdldE1pbGxpc2Vjb25kcygpLFxuICAgICk7XG4gICAgcmV0dXJuIGR0Zi5mb3JtYXQoZCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
import { InjectionToken, LOCALE_ID, inject } from '@angular/core';
|
|
2
|
-
/** InjectionToken for timepicker that can be used to override default locale code. */
|
|
3
|
-
export const MAT_TIME_LOCALE = new InjectionToken('MAT_TIME_LOCALE', {
|
|
4
|
-
providedIn: 'root',
|
|
5
|
-
factory: MAT_DATE_TIME_LOCALE_FACTORY,
|
|
6
|
-
});
|
|
7
|
-
export function MAT_DATE_TIME_LOCALE_FACTORY() {
|
|
8
|
-
return inject(LOCALE_ID);
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* No longer needed since MAT_TIME_LOCALE has been changed to a scoped injectable.
|
|
12
|
-
* If you are importing and providing this in your code you can simply remove it.
|
|
13
|
-
* @deprecated
|
|
14
|
-
* @breaking-change 18.0.0
|
|
15
|
-
*/
|
|
16
|
-
export const MAT_TIME_LOCALE_PROVIDER = {
|
|
17
|
-
provide: MAT_TIME_LOCALE,
|
|
18
|
-
useExisting: LOCALE_ID,
|
|
19
|
-
};
|
|
20
|
-
export class TimeAdapter {
|
|
21
|
-
/**
|
|
22
|
-
* Given a potential time object, returns that same time object if it is
|
|
23
|
-
* a valid time, or `null` if it's not a valid time.
|
|
24
|
-
* @param obj The object to check.
|
|
25
|
-
* @returns A time or `null`.
|
|
26
|
-
*/
|
|
27
|
-
getValidTimeOrNull(obj) {
|
|
28
|
-
return this.isTimeInstance(obj) && this.isValid(obj)
|
|
29
|
-
? obj
|
|
30
|
-
: null;
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Attempts to deserialize a value to a valid time object. The `<mat-timepicker>` will call this
|
|
34
|
-
* method on all of its `@Input()` properties that accept time. It is therefore possible to
|
|
35
|
-
* support passing values from your backend directly to these properties by overriding this method
|
|
36
|
-
* to also deserialize the format used by your backend.
|
|
37
|
-
* @param value The value to be deserialized into a time object.
|
|
38
|
-
* @returns The deserialized time object, either a valid time, null if the value can be
|
|
39
|
-
* deserialized into a null time (e.g. the empty string), or an invalid date.
|
|
40
|
-
*/
|
|
41
|
-
deserialize(value) {
|
|
42
|
-
if (value == null || (this.isTimeInstance(value) && this.isValid(value))) {
|
|
43
|
-
return value;
|
|
44
|
-
}
|
|
45
|
-
return this.invalid();
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Sets the locale used for all time.
|
|
49
|
-
* @param locale The new locale.
|
|
50
|
-
*/
|
|
51
|
-
setLocale(locale) {
|
|
52
|
-
this.locale = locale;
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Checks if two time are equal.
|
|
56
|
-
* @param first The first time to check.
|
|
57
|
-
* @param second The second time to check.
|
|
58
|
-
* @returns Whether the two time are equal.
|
|
59
|
-
* Null time are considered equal to other null time.
|
|
60
|
-
*/
|
|
61
|
-
sameTime(first, second) {
|
|
62
|
-
if (first && second) {
|
|
63
|
-
let firstValid = this.isValid(first);
|
|
64
|
-
let secondValid = this.isValid(second);
|
|
65
|
-
if (firstValid && secondValid) {
|
|
66
|
-
return !this.compareTime(first, second);
|
|
67
|
-
}
|
|
68
|
-
return firstValid == secondValid;
|
|
69
|
-
}
|
|
70
|
-
return first == second;
|
|
71
|
-
}
|
|
72
|
-
/**
|
|
73
|
-
* Clamp the given time between min and max time.
|
|
74
|
-
* @param time The time to clamp.
|
|
75
|
-
* @param min The minimum value to allow. If null or omitted no min is enforced.
|
|
76
|
-
* @param max The maximum value to allow. If null or omitted no max is enforced.
|
|
77
|
-
* @returns `min` if `time` is less than `min`, `max` if time is greater than `max`,
|
|
78
|
-
* otherwise `time`.
|
|
79
|
-
*/
|
|
80
|
-
clampTime(time, min, max) {
|
|
81
|
-
if (min && this.compareTime(time, min) < 0) {
|
|
82
|
-
return min;
|
|
83
|
-
}
|
|
84
|
-
if (max && this.compareTime(time, max) > 0) {
|
|
85
|
-
return max;
|
|
86
|
-
}
|
|
87
|
-
return time;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1hZGFwdGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi9hZGFwdGVyL3RpbWUtYWRhcHRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFHbEUsc0ZBQXNGO0FBQ3RGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxJQUFJLGNBQWMsQ0FBUyxpQkFBaUIsRUFBRTtJQUMzRSxVQUFVLEVBQUUsTUFBTTtJQUNsQixPQUFPLEVBQUUsNEJBQTRCO0NBQ3RDLENBQUMsQ0FBQztBQUVILE1BQU0sVUFBVSw0QkFBNEI7SUFDMUMsT0FBTyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0IsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLGVBQWU7SUFDeEIsV0FBVyxFQUFFLFNBQVM7Q0FDdkIsQ0FBQztBQUVGLE1BQU0sT0FBZ0IsV0FBVztJQW9GL0I7Ozs7O09BS0c7SUFDSCxrQkFBa0IsQ0FBQyxHQUFZO1FBQzdCLE9BQU8sSUFBSSxDQUFDLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQVEsQ0FBQztZQUN2RCxDQUFDLENBQUUsR0FBUztZQUNaLENBQUMsQ0FBQyxJQUFJLENBQUM7SUFDWCxDQUFDO0lBRUQ7Ozs7Ozs7O09BUUc7SUFDSCxXQUFXLENBQUMsS0FBVTtRQUNwQixJQUFJLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ3pFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxTQUFTLENBQUMsTUFBUztRQUNqQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBV0Q7Ozs7OztPQU1HO0lBQ0gsUUFBUSxDQUFDLEtBQWUsRUFBRSxNQUFnQjtRQUN4QyxJQUFJLEtBQUssSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUNwQixJQUFJLFVBQVUsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3JDLElBQUksV0FBVyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdkMsSUFBSSxVQUFVLElBQUksV0FBVyxFQUFFLENBQUM7Z0JBQzlCLE9BQU8sQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztZQUMxQyxDQUFDO1lBQ0QsT0FBTyxVQUFVLElBQUksV0FBVyxDQUFDO1FBQ25DLENBQUM7UUFDRCxPQUFPLEtBQUssSUFBSSxNQUFNLENBQUM7SUFDekIsQ0FBQztJQUVEOzs7Ozs7O09BT0c7SUFDSCxTQUFTLENBQUMsSUFBTyxFQUFFLEdBQWMsRUFBRSxHQUFjO1FBQy9DLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUNELElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQzNDLE9BQU8sR0FBRyxDQUFDO1FBQ2IsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4sIExPQ0FMRV9JRCwgaW5qZWN0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRUaW1lUGVyaW9kVHlwZSB9IGZyb20gJy4uL3RpbWUtcGVyaW9kJztcblxuLyoqIEluamVjdGlvblRva2VuIGZvciB0aW1lcGlja2VyIHRoYXQgY2FuIGJlIHVzZWQgdG8gb3ZlcnJpZGUgZGVmYXVsdCBsb2NhbGUgY29kZS4gKi9cbmV4cG9ydCBjb25zdCBNQVRfVElNRV9MT0NBTEUgPSBuZXcgSW5qZWN0aW9uVG9rZW48c3RyaW5nPignTUFUX1RJTUVfTE9DQUxFJywge1xuICBwcm92aWRlZEluOiAncm9vdCcsXG4gIGZhY3Rvcnk6IE1BVF9EQVRFX1RJTUVfTE9DQUxFX0ZBQ1RPUlksXG59KTtcblxuZXhwb3J0IGZ1bmN0aW9uIE1BVF9EQVRFX1RJTUVfTE9DQUxFX0ZBQ1RPUlkoKTogc3RyaW5nIHtcbiAgcmV0dXJuIGluamVjdChMT0NBTEVfSUQpO1xufVxuXG4vKipcbiAqIE5vIGxvbmdlciBuZWVkZWQgc2luY2UgTUFUX1RJTUVfTE9DQUxFIGhhcyBiZWVuIGNoYW5nZWQgdG8gYSBzY29wZWQgaW5qZWN0YWJsZS5cbiAqIElmIHlvdSBhcmUgaW1wb3J0aW5nIGFuZCBwcm92aWRpbmcgdGhpcyBpbiB5b3VyIGNvZGUgeW91IGNhbiBzaW1wbHkgcmVtb3ZlIGl0LlxuICogQGRlcHJlY2F0ZWRcbiAqIEBicmVha2luZy1jaGFuZ2UgMTguMC4wXG4gKi9cbmV4cG9ydCBjb25zdCBNQVRfVElNRV9MT0NBTEVfUFJPVklERVIgPSB7XG4gIHByb3ZpZGU6IE1BVF9USU1FX0xPQ0FMRSxcbiAgdXNlRXhpc3Rpbmc6IExPQ0FMRV9JRCxcbn07XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUaW1lQWRhcHRlcjxULCBMID0gYW55PiB7XG4gIC8qKiBUaGUgbG9jYWxlIHRvIHVzZSBmb3IgdGltZS4gKi9cbiAgcHJvdGVjdGVkIGxvY2FsZTogTDtcblxuICAvKipcbiAgICogR2V0cyBub3cncyB0aW1lLlxuICAgKiBAcmV0dXJucyBOb3cncyB0aW1lLlxuICAgKi9cbiAgYWJzdHJhY3Qgbm93KCk6IFQ7XG5cbiAgLyoqXG4gICAqIFBhcnNlcyBhIHRpbWUgZnJvbSBhIHVzZXItcHJvdmlkZWQgdmFsdWUuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gcGFyc2UuXG4gICAqIEBwYXJhbSBwYXJzZUZvcm1hdCBUaGUgZXhwZWN0ZWQgZm9ybWF0IG9mIHRoZSB2YWx1ZSBiZWluZyBwYXJzZWRcbiAgICogICAgICh0eXBlIGlzIGltcGxlbWVudGF0aW9uLWRlcGVuZGVudCkuXG4gICAqIEByZXR1cm5zIFRoZSBwYXJzZWQgdGltZS5cbiAgICovXG4gIGFic3RyYWN0IHBhcnNlKHZhbHVlOiBhbnksIHBhcnNlRm9ybWF0OiBhbnkpOiBUIHwgbnVsbDtcblxuICAvKipcbiAgICogR2V0cyB0aGUgaG91ciBjb21wb25lbnQgb2YgdGhlIGdpdmVuIHRpbWUuXG4gICAqIEBwYXJhbSB0aW1lIFRoZSB0aW1lIHRvIGV4dHJhY3QgdGhlIGhvdXIgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIGhvdXIgY29tcG9uZW50LlxuICAgKi9cbiAgYWJzdHJhY3QgZ2V0SG91cih0aW1lOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBtaW51dGUgY29tcG9uZW50IG9mIHRoZSBnaXZlbiB0aW1lLlxuICAgKiBAcGFyYW0gdGltZSBUaGUgdGltZSB0byBleHRyYWN0IHRoZSBtaW51dGUgZnJvbS5cbiAgICogQHJldHVybnMgVGhlIG1pbnV0ZSBjb21wb25lbnQuXG4gICAqL1xuICBhYnN0cmFjdCBnZXRNaW51dGUodGltZTogVCk6IG51bWJlcjtcblxuICAvKipcbiAgICogVXBkYXRlIHRoZSBob3VyIGNvbXBvbmVudCBvZiB0aGUgZ2l2ZW4gdGltZS5cbiAgICogQHBhcmFtIHRpbWUgVGhlIHRpbWUgdG8gdXBkYXRlIHRoZSBob3VyLlxuICAgKiBAcGFyYW0gaG91ciBUaGUgbmV3IGhvdXIgdG8gdXBkYXRlIGdpdmVuIHRpbWUuXG4gICAqIEByZXR1cm5zIFRoZSBuZXcgdGltZSB3aXRoIHVwZGF0ZWQgaG91ciBjb21wb25lbnQuXG4gICAqL1xuICBhYnN0cmFjdCB1cGRhdGVIb3VyKHRpbWU6IFQsIGhvdXI6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIFVwZGF0ZSB0aGUgbWludXRlIGNvbXBvbmVudCBvZiB0aGUgZ2l2ZW4gdGltZS5cbiAgICogQHBhcmFtIHRpbWUgVGhlIHRpbWUgdG8gdXBkYXRlIHRoZSBtaW51dGUuXG4gICAqIEBwYXJhbSBtaW51dGUgVGhlIG5ldyBtaW51dGUgdG8gdXBkYXRlIGdpdmVuIHRpbWUuXG4gICAqIEByZXR1cm5zIFRoZSBuZXcgdGltZSB3aXRoIHVwZGF0ZWQgbWludXRlIGNvbXBvbmVudC5cbiAgICovXG4gIGFic3RyYWN0IHVwZGF0ZU1pbnV0ZSh0aW1lOiBULCBtaW51dGU6IG51bWJlcik6IFQ7XG5cbiAgLyoqXG4gICAqIEdldHMgdGhlIHBlcmlvZCBjb21wb25lbnQgb2YgdGhlIGdpdmVuIHRpbWUuXG4gICAqIEBwYXJhbSB0aW1lIFRoZSB0aW1lIHRvIGV4dHJhY3QgdGhlIHBlcmlvZCBmcm9tLlxuICAgKiBAcmV0dXJucyBUaGUgcGVyaW9kIGNvbXBvbmVudC5cbiAgICovXG4gIGFic3RyYWN0IGdldFBlcmlvZCh0aW1lOiBUKTogTWF0VGltZVBlcmlvZFR5cGU7XG5cbiAgLyoqXG4gICAqIEZvcm1hdHMgYSB0aW1lIGFzIGEgc3RyaW5nIGFjY29yZGluZyB0byB0aGUgZ2l2ZW4gZm9ybWF0LlxuICAgKiBAcGFyYW0gdGltZSBUaGUgdmFsdWUgdG8gZm9ybWF0LlxuICAgKiBAcGFyYW0gZGlzcGxheUZvcm1hdCBUaGUgZm9ybWF0IHRvIHVzZSB0byBkaXNwbGF5IHRoZSB0aW1lIGFzIGEgc3RyaW5nLlxuICAgKiBAcmV0dXJucyBUaGUgZm9ybWF0dGVkIHRpbWUgc3RyaW5nLlxuICAgKi9cbiAgYWJzdHJhY3QgZm9ybWF0KHRpbWU6IFQsIGRpc3BsYXlGb3JtYXQ6IGFueSk6IHN0cmluZztcblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIG9iamVjdCBpcyBjb25zaWRlcmVkIGEgdGltZSBpbnN0YW5jZSBieSB0aGlzIHRpbWVBZGFwdGVyLlxuICAgKiBAcGFyYW0gb2JqIFRoZSBvYmplY3QgdG8gY2hlY2tcbiAgICogQHJldHVybnMgV2hldGhlciB0aGUgb2JqZWN0IGlzIGEgdGltZSBpbnN0YW5jZS5cbiAgICovXG4gIGFic3RyYWN0IGlzVGltZUluc3RhbmNlKG9iajogYW55KTogYm9vbGVhbjtcblxuICAvKipcbiAgICogQ2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuIHRpbWUgaXMgdmFsaWQuXG4gICAqIEBwYXJhbSB0aW1lIFRoZSB0aW1lIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB0aW1lIGlzIHZhbGlkLlxuICAgKi9cbiAgYWJzdHJhY3QgaXNWYWxpZCh0aW1lOiBUKTogYm9vbGVhbjtcblxuICAvKipcbiAgICogR2V0cyB0aW1lIGluc3RhbmNlIHRoYXQgaXMgbm90IHZhbGlkLlxuICAgKiBAcmV0dXJucyBBbiBpbnZhbGlkIHRpbWUuXG4gICAqL1xuICBhYnN0cmFjdCBpbnZhbGlkKCk6IFQ7XG5cbiAgLyoqXG4gICAqIEdpdmVuIGEgcG90ZW50aWFsIHRpbWUgb2JqZWN0LCByZXR1cm5zIHRoYXQgc2FtZSB0aW1lIG9iamVjdCBpZiBpdCBpc1xuICAgKiBhIHZhbGlkIHRpbWUsIG9yIGBudWxsYCBpZiBpdCdzIG5vdCBhIHZhbGlkIHRpbWUuXG4gICAqIEBwYXJhbSBvYmogVGhlIG9iamVjdCB0byBjaGVjay5cbiAgICogQHJldHVybnMgQSB0aW1lIG9yIGBudWxsYC5cbiAgICovXG4gIGdldFZhbGlkVGltZU9yTnVsbChvYmo6IHVua25vd24pOiBUIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuaXNUaW1lSW5zdGFuY2Uob2JqKSAmJiB0aGlzLmlzVmFsaWQob2JqIGFzIFQpXG4gICAgICA/IChvYmogYXMgVClcbiAgICAgIDogbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBdHRlbXB0cyB0byBkZXNlcmlhbGl6ZSBhIHZhbHVlIHRvIGEgdmFsaWQgdGltZSBvYmplY3QuIFRoZSBgPG1hdC10aW1lcGlja2VyPmAgd2lsbCBjYWxsIHRoaXNcbiAgICogbWV0aG9kIG9uIGFsbCBvZiBpdHMgYEBJbnB1dCgpYCBwcm9wZXJ0aWVzIHRoYXQgYWNjZXB0IHRpbWUuIEl0IGlzIHRoZXJlZm9yZSBwb3NzaWJsZSB0b1xuICAgKiBzdXBwb3J0IHBhc3NpbmcgdmFsdWVzIGZyb20geW91ciBiYWNrZW5kIGRpcmVjdGx5IHRvIHRoZXNlIHByb3BlcnRpZXMgYnkgb3ZlcnJpZGluZyB0aGlzIG1ldGhvZFxuICAgKiB0byBhbHNvIGRlc2VyaWFsaXplIHRoZSBmb3JtYXQgdXNlZCBieSB5b3VyIGJhY2tlbmQuXG4gICAqIEBwYXJhbSB2YWx1ZSBUaGUgdmFsdWUgdG8gYmUgZGVzZXJpYWxpemVkIGludG8gYSB0aW1lIG9iamVjdC5cbiAgICogQHJldHVybnMgVGhlIGRlc2VyaWFsaXplZCB0aW1lIG9iamVjdCwgZWl0aGVyIGEgdmFsaWQgdGltZSwgbnVsbCBpZiB0aGUgdmFsdWUgY2FuIGJlXG4gICAqICAgICBkZXNlcmlhbGl6ZWQgaW50byBhIG51bGwgdGltZSAoZS5nLiB0aGUgZW1wdHkgc3RyaW5nKSwgb3IgYW4gaW52YWxpZCBkYXRlLlxuICAgKi9cbiAgZGVzZXJpYWxpemUodmFsdWU6IGFueSk6IFQgfCBudWxsIHtcbiAgICBpZiAodmFsdWUgPT0gbnVsbCB8fCAodGhpcy5pc1RpbWVJbnN0YW5jZSh2YWx1ZSkgJiYgdGhpcy5pc1ZhbGlkKHZhbHVlKSkpIHtcbiAgICAgIHJldHVybiB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuaW52YWxpZCgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGxvY2FsZSB1c2VkIGZvciBhbGwgdGltZS5cbiAgICogQHBhcmFtIGxvY2FsZSBUaGUgbmV3IGxvY2FsZS5cbiAgICovXG4gIHNldExvY2FsZShsb2NhbGU6IEwpIHtcbiAgICB0aGlzLmxvY2FsZSA9IGxvY2FsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb21wYXJlcyB0d28gdGltZS5cbiAgICogQHBhcmFtIGZpcnN0IFRoZSBmaXJzdCB0aW1lIHRvIGNvbXBhcmUuXG4gICAqIEBwYXJhbSBzZWNvbmQgVGhlIHNlY29uZCB0aW1lIHRvIGNvbXBhcmUuXG4gICAqIEByZXR1cm5zIDAgaWYgdGhlIHRpbWUgYXJlIGVxdWFsLCBhIG51bWJlciBsZXNzIHRoYW4gMCBpZiB0aGUgZmlyc3QgdGltZSBpcyBlYXJsaWVyLFxuICAgKiAgICAgYSBudW1iZXIgZ3JlYXRlciB0aGFuIDAgaWYgdGhlIGZpcnN0IHRpbWUgaXMgbGF0ZXIuXG4gICAqL1xuICBhYnN0cmFjdCBjb21wYXJlVGltZShmaXJzdDogVCwgc2Vjb25kOiBUKTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdHdvIHRpbWUgYXJlIGVxdWFsLlxuICAgKiBAcGFyYW0gZmlyc3QgVGhlIGZpcnN0IHRpbWUgdG8gY2hlY2suXG4gICAqIEBwYXJhbSBzZWNvbmQgVGhlIHNlY29uZCB0aW1lIHRvIGNoZWNrLlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSB0d28gdGltZSBhcmUgZXF1YWwuXG4gICAqICAgICBOdWxsIHRpbWUgYXJlIGNvbnNpZGVyZWQgZXF1YWwgdG8gb3RoZXIgbnVsbCB0aW1lLlxuICAgKi9cbiAgc2FtZVRpbWUoZmlyc3Q6IFQgfCBudWxsLCBzZWNvbmQ6IFQgfCBudWxsKTogYm9vbGVhbiB7XG4gICAgaWYgKGZpcnN0ICYmIHNlY29uZCkge1xuICAgICAgbGV0IGZpcnN0VmFsaWQgPSB0aGlzLmlzVmFsaWQoZmlyc3QpO1xuICAgICAgbGV0IHNlY29uZFZhbGlkID0gdGhpcy5pc1ZhbGlkKHNlY29uZCk7XG4gICAgICBpZiAoZmlyc3RWYWxpZCAmJiBzZWNvbmRWYWxpZCkge1xuICAgICAgICByZXR1cm4gIXRoaXMuY29tcGFyZVRpbWUoZmlyc3QsIHNlY29uZCk7XG4gICAgICB9XG4gICAgICByZXR1cm4gZmlyc3RWYWxpZCA9PSBzZWNvbmRWYWxpZDtcbiAgICB9XG4gICAgcmV0dXJuIGZpcnN0ID09IHNlY29uZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDbGFtcCB0aGUgZ2l2ZW4gdGltZSBiZXR3ZWVuIG1pbiBhbmQgbWF4IHRpbWUuXG4gICAqIEBwYXJhbSB0aW1lIFRoZSB0aW1lIHRvIGNsYW1wLlxuICAgKiBAcGFyYW0gbWluIFRoZSBtaW5pbXVtIHZhbHVlIHRvIGFsbG93LiBJZiBudWxsIG9yIG9taXR0ZWQgbm8gbWluIGlzIGVuZm9yY2VkLlxuICAgKiBAcGFyYW0gbWF4IFRoZSBtYXhpbXVtIHZhbHVlIHRvIGFsbG93LiBJZiBudWxsIG9yIG9taXR0ZWQgbm8gbWF4IGlzIGVuZm9yY2VkLlxuICAgKiBAcmV0dXJucyBgbWluYCBpZiBgdGltZWAgaXMgbGVzcyB0aGFuIGBtaW5gLCBgbWF4YCBpZiB0aW1lIGlzIGdyZWF0ZXIgdGhhbiBgbWF4YCxcbiAgICogICAgIG90aGVyd2lzZSBgdGltZWAuXG4gICAqL1xuICBjbGFtcFRpbWUodGltZTogVCwgbWluPzogVCB8IG51bGwsIG1heD86IFQgfCBudWxsKTogVCB7XG4gICAgaWYgKG1pbiAmJiB0aGlzLmNvbXBhcmVUaW1lKHRpbWUsIG1pbikgPCAwKSB7XG4gICAgICByZXR1cm4gbWluO1xuICAgIH1cbiAgICBpZiAobWF4ICYmIHRoaXMuY29tcGFyZVRpbWUodGltZSwgbWF4KSA+IDApIHtcbiAgICAgIHJldHVybiBtYXg7XG4gICAgfVxuICAgIHJldHVybiB0aW1lO1xuICB9XG59XG4iXX0=
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { animate, style, transition, trigger } from '@angular/animations';
|
|
2
|
-
const visible = { transform: 'scale(1)', opacity: 1, visibility: 'visible' };
|
|
3
|
-
const hidden = { transform: 'scale(1.05)', opacity: 0, visibility: 'hidden' };
|
|
4
|
-
export const enterLeaveAnimation = trigger('enterLeaveAnimation', [
|
|
5
|
-
transition(':enter', [
|
|
6
|
-
style(hidden),
|
|
7
|
-
animate('0.1s ease-out', style(visible)),
|
|
8
|
-
]),
|
|
9
|
-
transition(':leave', [style(visible), animate('0s ease-in', style(hidden))]),
|
|
10
|
-
]);
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvY2stZGlhbC1hZG5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi9jbG9jay1kaWFsLWFkbmltYXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRTFFLE1BQU0sT0FBTyxHQUFHLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUM3RSxNQUFNLE1BQU0sR0FBRyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLENBQUM7QUFFOUUsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsT0FBTyxDQUFDLHFCQUFxQixFQUFFO0lBQ2hFLFVBQVUsQ0FBQyxRQUFRLEVBQUU7UUFDbkIsS0FBSyxDQUFDLE1BQU0sQ0FBQztRQUNiLE9BQU8sQ0FBQyxlQUFlLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0tBQ3pDLENBQUM7SUFDRixVQUFVLENBQUMsUUFBUSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxFQUFFLE9BQU8sQ0FBQyxZQUFZLEVBQUUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztDQUM3RSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG5jb25zdCB2aXNpYmxlID0geyB0cmFuc2Zvcm06ICdzY2FsZSgxKScsIG9wYWNpdHk6IDEsIHZpc2liaWxpdHk6ICd2aXNpYmxlJyB9O1xuY29uc3QgaGlkZGVuID0geyB0cmFuc2Zvcm06ICdzY2FsZSgxLjA1KScsIG9wYWNpdHk6IDAsIHZpc2liaWxpdHk6ICdoaWRkZW4nIH07XG5cbmV4cG9ydCBjb25zdCBlbnRlckxlYXZlQW5pbWF0aW9uID0gdHJpZ2dlcignZW50ZXJMZWF2ZUFuaW1hdGlvbicsIFtcbiAgdHJhbnNpdGlvbignOmVudGVyJywgW1xuICAgIHN0eWxlKGhpZGRlbiksXG4gICAgYW5pbWF0ZSgnMC4xcyBlYXNlLW91dCcsIHN0eWxlKHZpc2libGUpKSxcbiAgXSksXG4gIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtzdHlsZSh2aXNpYmxlKSwgYW5pbWF0ZSgnMHMgZWFzZS1pbicsIHN0eWxlKGhpZGRlbikpXSksXG5dKTtcbiJdfQ==
|