@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
|
@@ -1,179 +0,0 @@
|
|
|
1
|
-
import { CommonModule, DOCUMENT } from '@angular/common';
|
|
2
|
-
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Optional, Directive, Input, Inject, } from '@angular/core';
|
|
3
|
-
import { coerceNumberProperty } from '@angular/cdk/coercion';
|
|
4
|
-
import { MatFormFieldModule } from '@angular/material/form-field';
|
|
5
|
-
import { MatInputModule } from '@angular/material/input';
|
|
6
|
-
import { take } from 'rxjs';
|
|
7
|
-
import { MatTimeFaceBase } from './time-face-base';
|
|
8
|
-
import { MatTimeInputBase, withZeroPrefix, withZeroPrefixMeridiem, } from './time-input-base';
|
|
9
|
-
import { MatTimePeriod } from './time-period';
|
|
10
|
-
import { MatTimepickerContentLayout } from './timepicker-content-layout';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "./timepicker-intl";
|
|
13
|
-
import * as i2 from "./adapter";
|
|
14
|
-
import * as i3 from "@angular/common";
|
|
15
|
-
import * as i4 from "@angular/material/form-field";
|
|
16
|
-
import * as i5 from "@angular/material/input";
|
|
17
|
-
export class MatHourInput extends MatTimeInputBase {
|
|
18
|
-
get availableHours() {
|
|
19
|
-
return this._availableHours;
|
|
20
|
-
}
|
|
21
|
-
set availableHours(value) {
|
|
22
|
-
this._availableHours = value;
|
|
23
|
-
}
|
|
24
|
-
constructor(element, _cdr, _document) {
|
|
25
|
-
super(element, _cdr, _document);
|
|
26
|
-
this._availableHours = [];
|
|
27
|
-
}
|
|
28
|
-
_withZeroPrefix(value) {
|
|
29
|
-
return withZeroPrefixMeridiem(value, this.isMeridiem);
|
|
30
|
-
}
|
|
31
|
-
_formatValue(hour) {
|
|
32
|
-
const getValue = () => {
|
|
33
|
-
if (this.isMeridiem) {
|
|
34
|
-
if (hour === 0 || hour === 24) {
|
|
35
|
-
return 12;
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
if (hour === 24) {
|
|
39
|
-
return 0;
|
|
40
|
-
}
|
|
41
|
-
return this.isMeridiem && hour > 12 ? hour - 12 : hour;
|
|
42
|
-
};
|
|
43
|
-
const value = getValue();
|
|
44
|
-
if (this.isMeridiem) {
|
|
45
|
-
if (!this.availableHours.length) {
|
|
46
|
-
return this.value;
|
|
47
|
-
}
|
|
48
|
-
if (value === 12 && this.availableHours.includes(12)) {
|
|
49
|
-
return 12;
|
|
50
|
-
}
|
|
51
|
-
if (value === 12 && !this.availableHours.includes(12)) {
|
|
52
|
-
return Math.min(...this.availableHours);
|
|
53
|
-
}
|
|
54
|
-
if (value >= 1 && value < 12) {
|
|
55
|
-
// the last item is max becuase 12 at the beginning is kinda "min"
|
|
56
|
-
const maxHour = this.availableHours[this.availableHours.length - 1];
|
|
57
|
-
return Math.min(Math.max(value, Math.min(...this.availableHours)), maxHour);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
return Math.min(Math.max(value, Math.min(...this.availableHours)), Math.max(...this.availableHours));
|
|
61
|
-
}
|
|
62
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatHourInput, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
63
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: MatHourInput, isStandalone: true, selector: "input[matHourInput]", inputs: { availableHours: "availableHours", isMeridiem: "isMeridiem" }, host: { listeners: { "focus": "focus($event)", "blur": "blur($event)" }, classAttribute: "mat-time-input" }, exportAs: ["matTimeInput"], usesInheritance: true, ngImport: i0 }); }
|
|
64
|
-
}
|
|
65
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatHourInput, decorators: [{
|
|
66
|
-
type: Directive,
|
|
67
|
-
args: [{
|
|
68
|
-
selector: 'input[matHourInput]',
|
|
69
|
-
standalone: true,
|
|
70
|
-
exportAs: 'matTimeInput',
|
|
71
|
-
host: {
|
|
72
|
-
class: 'mat-time-input',
|
|
73
|
-
'(focus)': 'focus($event)',
|
|
74
|
-
'(blur)': 'blur($event)',
|
|
75
|
-
},
|
|
76
|
-
}]
|
|
77
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
|
|
78
|
-
type: Inject,
|
|
79
|
-
args: [DOCUMENT]
|
|
80
|
-
}] }], propDecorators: { availableHours: [{
|
|
81
|
-
type: Input
|
|
82
|
-
}], isMeridiem: [{
|
|
83
|
-
type: Input
|
|
84
|
-
}] } });
|
|
85
|
-
export class MatMinuteInput extends MatTimeInputBase {
|
|
86
|
-
/** Step over minutes. */
|
|
87
|
-
get interval() {
|
|
88
|
-
return this._interval;
|
|
89
|
-
}
|
|
90
|
-
set interval(value) {
|
|
91
|
-
this._interval = coerceNumberProperty(value) || 1;
|
|
92
|
-
}
|
|
93
|
-
get availableMinutes() {
|
|
94
|
-
return this._availableMinutes;
|
|
95
|
-
}
|
|
96
|
-
set availableMinutes(value) {
|
|
97
|
-
this._availableMinutes = value;
|
|
98
|
-
}
|
|
99
|
-
constructor(element, _cdr, _document) {
|
|
100
|
-
super(element, _cdr, _document);
|
|
101
|
-
this._interval = 1;
|
|
102
|
-
this._availableMinutes = [];
|
|
103
|
-
}
|
|
104
|
-
_withZeroPrefix(value) {
|
|
105
|
-
return withZeroPrefix(value);
|
|
106
|
-
}
|
|
107
|
-
_formatValue(value) {
|
|
108
|
-
if (!this.availableMinutes.length) {
|
|
109
|
-
return this.value;
|
|
110
|
-
}
|
|
111
|
-
const roundedValue = Math.round(value / this.interval) * this.interval;
|
|
112
|
-
return Math.min(Math.max(roundedValue, Math.min(...this.availableMinutes)), Math.max(...this.availableMinutes));
|
|
113
|
-
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatMinuteInput, deps: [{ token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
115
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: MatMinuteInput, isStandalone: true, selector: "input[matMinuteInput]", inputs: { interval: "interval", availableMinutes: "availableMinutes" }, host: { listeners: { "focus": "focus($event)", "blur": "blur($event)" }, classAttribute: "mat-time-input" }, exportAs: ["matTimeInput"], usesInheritance: true, ngImport: i0 }); }
|
|
116
|
-
}
|
|
117
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatMinuteInput, decorators: [{
|
|
118
|
-
type: Directive,
|
|
119
|
-
args: [{
|
|
120
|
-
selector: 'input[matMinuteInput]',
|
|
121
|
-
standalone: true,
|
|
122
|
-
exportAs: 'matTimeInput',
|
|
123
|
-
host: {
|
|
124
|
-
class: 'mat-time-input',
|
|
125
|
-
'(focus)': 'focus($event)',
|
|
126
|
-
'(blur)': 'blur($event)',
|
|
127
|
-
},
|
|
128
|
-
}]
|
|
129
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
|
|
130
|
-
type: Inject,
|
|
131
|
-
args: [DOCUMENT]
|
|
132
|
-
}] }], propDecorators: { interval: [{
|
|
133
|
-
type: Input
|
|
134
|
-
}], availableMinutes: [{
|
|
135
|
-
type: Input
|
|
136
|
-
}] } });
|
|
137
|
-
export class MatTimeInputs extends MatTimeFaceBase {
|
|
138
|
-
constructor(_intl, _timeAdapter, _ngZone, _elementRef) {
|
|
139
|
-
super(_timeAdapter);
|
|
140
|
-
this._intl = _intl;
|
|
141
|
-
this._ngZone = _ngZone;
|
|
142
|
-
this._elementRef = _elementRef;
|
|
143
|
-
/**
|
|
144
|
-
* Using for skipping that focus shouldn't be moved to the active cell on the next tick.
|
|
145
|
-
* We need to use it to avoid focusing input for input mode.
|
|
146
|
-
*/
|
|
147
|
-
this._skipNextTickFocus = false;
|
|
148
|
-
}
|
|
149
|
-
focusActiveCell() {
|
|
150
|
-
this._ngZone.runOutsideAngular(() => {
|
|
151
|
-
this._ngZone.onStable.pipe(take(1)).subscribe(() => {
|
|
152
|
-
const activeCell = this._elementRef.nativeElement.querySelector('.mat-timepicker-content input');
|
|
153
|
-
if (activeCell && !this._skipNextTickFocus) {
|
|
154
|
-
activeCell.focus();
|
|
155
|
-
this._skipNextTickFocus = true;
|
|
156
|
-
}
|
|
157
|
-
});
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimeInputs, deps: [{ token: i1.MatTimepickerIntl }, { token: i2.TimeAdapter, optional: true }, { token: i0.NgZone }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
161
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MatTimeInputs, isStandalone: true, selector: "mat-time-inputs", host: { classAttribute: "mat-time-inputs" }, usesInheritance: true, ngImport: i0, template: "<mat-timepicker-content-layout [title]=\"_intl.inputsTitle\">\n <mat-form-field\n class=\"mat-time-inputs-field\"\n appearance=\"outline\"\n hours\n [color]=\"color\"\n >\n <input\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"2\"\n matInput\n matHourInput\n [isMeridiem]=\"isMeridiem\"\n [value]=\"selectedHour\"\n [availableHours]=\"_getAvailableHours()\"\n (timeChanged)=\"_onHourSelected($event)\"\n (keydown)=\"_onKeydown($event, 'hour')\"\n />\n <mat-hint>{{_intl.hourInputHint}}</mat-hint>\n </mat-form-field>\n <mat-form-field\n class=\"mat-time-inputs-field\"\n appearance=\"outline\"\n minutes\n [color]=\"color\"\n >\n <input\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"2\"\n matInput\n matMinuteInput\n [value]=\"selectedMinute\"\n [interval]=\"minuteInterval\"\n [availableMinutes]=\"availableMinutes\"\n (timeChanged)=\"_onMinuteSelected($event)\"\n (keydown)=\"_onKeydown($event, 'minute')\"\n />\n <mat-hint>{{_intl.minuteInputHint}}</mat-hint>\n </mat-form-field>\n\n <ng-template mat-time-period [ngIf]=\"isMeridiem\">\n <mat-time-period\n [period]=\"period\"\n [disabledPeriod]=\"disabledPeriod\"\n (periodChanged)=\"_onPeriodChanged($event)\"\n ></mat-time-period>\n </ng-template>\n</mat-timepicker-content-layout>\n", styles: [".mat-time-inputs{display:block}.mat-time-inputs .mat-timepicker-content-layout-separator{margin-top:-1.5rem}.mat-time-inputs-field{display:block}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-form-field-flex{margin:0}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{top:0;margin:0}.mat-time-inputs-field.mat-form-field-appearance-outline:not(.mat-focused) .mdc-notched-outline__leading,.mat-time-inputs-field.mat-form-field-appearance-outline:not(.mat-focused) .mdc-notched-outline__notch,.mat-time-inputs-field.mat-form-field-appearance-outline:not(.mat-focused) .mdc-notched-outline__trailing{border-style:none}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{margin-top:.75rem;line-height:1;letter-spacing:.05rem}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding-left:0}.mat-time-inputs-field .mat-mdc-form-field-bottom-align:before{height:0}.mat-time-inputs-field .mat-mdc-form-field-infix{border-top:none;text-align:center}.mat-time-inputs-field input.mat-mdc-input-element{margin-top:0;text-align:center}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i4.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i4.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "ngmodule", type: MatInputModule }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatTimepickerContentLayout, selector: "mat-timepicker-content-layout", inputs: ["title", "orientation"], exportAs: ["matTimepickerContent"] }, { kind: "directive", type: MatHourInput, selector: "input[matHourInput]", inputs: ["availableHours", "isMeridiem"], exportAs: ["matTimeInput"] }, { kind: "directive", type: MatMinuteInput, selector: "input[matMinuteInput]", inputs: ["interval", "availableMinutes"], exportAs: ["matTimeInput"] }, { kind: "component", type: MatTimePeriod, selector: "mat-time-period", inputs: ["vertical", "period", "disabledPeriod"], outputs: ["periodChanged"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
162
|
-
}
|
|
163
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimeInputs, decorators: [{
|
|
164
|
-
type: Component,
|
|
165
|
-
args: [{ selector: 'mat-time-inputs', standalone: true, imports: [
|
|
166
|
-
CommonModule,
|
|
167
|
-
MatFormFieldModule,
|
|
168
|
-
MatInputModule,
|
|
169
|
-
MatTimepickerContentLayout,
|
|
170
|
-
MatHourInput,
|
|
171
|
-
MatMinuteInput,
|
|
172
|
-
MatTimePeriod,
|
|
173
|
-
], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
174
|
-
class: 'mat-time-inputs',
|
|
175
|
-
}, template: "<mat-timepicker-content-layout [title]=\"_intl.inputsTitle\">\n <mat-form-field\n class=\"mat-time-inputs-field\"\n appearance=\"outline\"\n hours\n [color]=\"color\"\n >\n <input\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"2\"\n matInput\n matHourInput\n [isMeridiem]=\"isMeridiem\"\n [value]=\"selectedHour\"\n [availableHours]=\"_getAvailableHours()\"\n (timeChanged)=\"_onHourSelected($event)\"\n (keydown)=\"_onKeydown($event, 'hour')\"\n />\n <mat-hint>{{_intl.hourInputHint}}</mat-hint>\n </mat-form-field>\n <mat-form-field\n class=\"mat-time-inputs-field\"\n appearance=\"outline\"\n minutes\n [color]=\"color\"\n >\n <input\n type=\"text\"\n inputmode=\"numeric\"\n maxlength=\"2\"\n matInput\n matMinuteInput\n [value]=\"selectedMinute\"\n [interval]=\"minuteInterval\"\n [availableMinutes]=\"availableMinutes\"\n (timeChanged)=\"_onMinuteSelected($event)\"\n (keydown)=\"_onKeydown($event, 'minute')\"\n />\n <mat-hint>{{_intl.minuteInputHint}}</mat-hint>\n </mat-form-field>\n\n <ng-template mat-time-period [ngIf]=\"isMeridiem\">\n <mat-time-period\n [period]=\"period\"\n [disabledPeriod]=\"disabledPeriod\"\n (periodChanged)=\"_onPeriodChanged($event)\"\n ></mat-time-period>\n </ng-template>\n</mat-timepicker-content-layout>\n", styles: [".mat-time-inputs{display:block}.mat-time-inputs .mat-timepicker-content-layout-separator{margin-top:-1.5rem}.mat-time-inputs-field{display:block}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-form-field-flex{margin:0}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-text-field-wrapper{top:0;margin:0}.mat-time-inputs-field.mat-form-field-appearance-outline:not(.mat-focused) .mdc-notched-outline__leading,.mat-time-inputs-field.mat-form-field-appearance-outline:not(.mat-focused) .mdc-notched-outline__notch,.mat-time-inputs-field.mat-form-field-appearance-outline:not(.mat-focused) .mdc-notched-outline__trailing{border-style:none}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper{margin-top:.75rem;line-height:1;letter-spacing:.05rem}.mat-time-inputs-field.mat-form-field-appearance-outline .mat-mdc-form-field-subscript-wrapper .mat-mdc-form-field-hint-wrapper{padding-left:0}.mat-time-inputs-field .mat-mdc-form-field-bottom-align:before{height:0}.mat-time-inputs-field .mat-mdc-form-field-infix{border-top:none;text-align:center}.mat-time-inputs-field input.mat-mdc-input-element{margin-top:0;text-align:center}\n"] }]
|
|
176
|
-
}], ctorParameters: () => [{ type: i1.MatTimepickerIntl }, { type: i2.TimeAdapter, decorators: [{
|
|
177
|
-
type: Optional
|
|
178
|
-
}] }, { type: i0.NgZone }, { type: i0.ElementRef }] });
|
|
179
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1pbnB1dHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL3RpbWUtaW5wdXRzLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lLWlucHV0cy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDekQsT0FBTyxFQUNMLFNBQVMsRUFDVCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFFBQVEsRUFDUixTQUFTLEVBQ1QsS0FBSyxFQUdMLE1BQU0sR0FFUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNsRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUc1QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFFbkQsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixjQUFjLEVBQ2Qsc0JBQXNCLEdBQ3ZCLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5QyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7OztBQVl6RSxNQUFNLE9BQU8sWUFBYSxTQUFRLGdCQUFnQjtJQUNoRCxJQUNJLGNBQWM7UUFDaEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDO0lBQzlCLENBQUM7SUFDRCxJQUFJLGNBQWMsQ0FBQyxLQUFlO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFD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a0JBQWtCLEVBQUUsQ0FBQztvQkFDM0MsVUFBVSxDQUFDLEtBQUssRUFBRSxDQUFDO29CQUNuQixJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDO2dCQUNqQyxDQUFDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBN0JVLGFBQWE7a0dBQWIsYUFBYSwrSUMzTDFCLG01Q0FrREEsd3VDRHlISSxZQUFZLGtJQUNaLGtCQUFrQixpVUFDbEIsY0FBYywyV0FDZCwwQkFBMEIsZ0pBdklqQixZQUFZLHNJQWtGWixjQUFjLHdJQXdEdkIsYUFBYTs7MkZBVUosYUFBYTtrQkFwQnpCLFNBQVM7K0JBQ0UsaUJBQWlCLGNBQ2YsSUFBSSxXQUNQO3dCQUNQLFlBQVk7d0JBQ1osa0JBQWtCO3dCQUNsQixjQUFjO3dCQUNkLDBCQUEwQjt3QkFDMUIsWUFBWTt3QkFDWixjQUFjO3dCQUNkLGFBQWE7cUJBQ2QsbUJBR2dCLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksUUFDL0I7d0JBQ0osS0FBSyxFQUFFLGlCQUFpQjtxQkFDekI7OzBCQUtFLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUsIERPQ1VNRU5UIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxuICBPcHRpb25hbCxcbiAgRGlyZWN0aXZlLFxuICBJbnB1dCxcbiAgRWxlbWVudFJlZixcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gIEluamVjdCxcbiAgTmdab25lLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNvZXJjZU51bWJlclByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7IE1hdEZvcm1GaWVsZE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2Zvcm0tZmllbGQnO1xuaW1wb3J0IHsgTWF0SW5wdXRNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pbnB1dCc7XG5pbXBvcnQgeyB0YWtlIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRpbWVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVyJztcbmltcG9ydCB7IE1hdFRpbWVGYWNlQmFzZSB9IGZyb20gJy4vdGltZS1mYWNlLWJhc2UnO1xuaW1wb3J0IHsgTWF0VGltZXBpY2tlckludGwgfSBmcm9tICcuL3RpbWVwaWNrZXItaW50bCc7XG5pbXBvcnQge1xuICBNYXRUaW1lSW5wdXRCYXNlLFxuICB3aXRoWmVyb1ByZWZpeCxcbiAgd2l0aFplcm9QcmVmaXhNZXJpZGllbSxcbn0gZnJvbSAnLi90aW1lLWlucHV0LWJhc2UnO1xuaW1wb3J0IHsgTWF0VGltZVBlcmlvZCB9IGZyb20gJy4vdGltZS1wZXJpb2QnO1xuaW1wb3J0IHsgTWF0VGltZXBpY2tlckNvbnRlbnRMYXlvdXQgfSBmcm9tICcuL3RpbWVwaWNrZXItY29udGVudC1sYXlvdXQnO1xuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdpbnB1dFttYXRIb3VySW5wdXRdJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgZXhwb3J0QXM6ICdtYXRUaW1lSW5wdXQnLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtdGltZS1pbnB1dCcsXG4gICAgJyhmb2N1cyknOiAnZm9jdXMoJGV2ZW50KScsXG4gICAgJyhibHVyKSc6ICdibHVyKCRldmVudCknLFxuICB9LFxufSlcbmV4cG9ydCBjbGFzcyBNYXRIb3VySW5wdXQgZXh0ZW5kcyBNYXRUaW1lSW5wdXRCYXNlIHtcbiAgQElucHV0KClcbiAgZ2V0IGF2YWlsYWJsZUhvdXJzKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlSG91cnM7XG4gIH1cbiAgc2V0IGF2YWlsYWJsZUhvdXJzKHZhbHVlOiBudW1iZXJbXSkge1xuICAgIHRoaXMuX2F2YWlsYWJsZUhvdXJzID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfYXZhaWxhYmxlSG91cnM6IG51bWJlcltdID0gW107XG5cbiAgQElucHV0KCkgaXNNZXJpZGllbTogYm9vbGVhbjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIF9jZHIsIF9kb2N1bWVudCk7XG4gIH1cblxuICBfd2l0aFplcm9QcmVmaXgodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHdpdGhaZXJvUHJlZml4TWVyaWRpZW0odmFsdWUsIHRoaXMuaXNNZXJpZGllbSk7XG4gIH1cblxuICBfZm9ybWF0VmFsdWUoaG91cjogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBjb25zdCBnZXRWYWx1ZSA9ICgpID0+IHtcbiAgICAgIGlmICh0aGlzLmlzTWVyaWRpZW0pIHtcbiAgICAgICAgaWYgKGhvdXIgPT09IDAgfHwgaG91ciA9PT0gMjQpIHtcbiAgICAgICAgICByZXR1cm4gMTI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGhvdXIgPT09IDI0KSB7XG4gICAgICAgIHJldHVybiAwO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gdGhpcy5pc01lcmlkaWVtICYmIGhvdXIgPiAxMiA/IGhvdXIgLSAxMiA6IGhvdXI7XG4gICAgfTtcblxuICAgIGNvbnN0IHZhbHVlID0gZ2V0VmFsdWUoKTtcblxuICAgIGlmICh0aGlzLmlzTWVyaWRpZW0pIHtcbiAgICAgIGlmICghdGhpcy5hdmFpbGFibGVIb3Vycy5sZW5ndGgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudmFsdWU7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA9PT0gMTIgJiYgdGhpcy5hdmFpbGFibGVIb3Vycy5pbmNsdWRlcygxMikpIHtcbiAgICAgICAgcmV0dXJuIDEyO1xuICAgICAgfVxuXG4gICAgICBpZiAodmFsdWUgPT09IDEyICYmICF0aGlzLmF2YWlsYWJsZUhvdXJzLmluY2x1ZGVzKDEyKSkge1xuICAgICAgICByZXR1cm4gTWF0aC5taW4oLi4udGhpcy5hdmFpbGFibGVIb3Vycyk7XG4gICAgICB9XG5cbiAgICAgIGlmICh2YWx1ZSA+PSAxICYmIHZhbHVlIDwgMTIpIHtcbiAgICAgICAgLy8gdGhlIGxhc3QgaXRlbSBpcyBtYXggYmVjdWFzZSAxMiBhdCB0aGUgYmVnaW5uaW5nIGlzIGtpbmRhIFwibWluXCJcbiAgICAgICAgY29uc3QgbWF4SG91ciA9IHRoaXMuYXZhaWxhYmxlSG91cnNbdGhpcy5hdmFpbGFibGVIb3Vycy5sZW5ndGggLSAxXTtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4oXG4gICAgICAgICAgTWF0aC5tYXgodmFsdWUsIE1hdGgubWluKC4uLnRoaXMuYXZhaWxhYmxlSG91cnMpKSxcbiAgICAgICAgICBtYXhIb3VyLFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBNYXRoLm1pbihcbiAgICAgIE1hdGgubWF4KHZhbHVlLCBNYXRoLm1pbiguLi50aGlzLmF2YWlsYWJsZUhvdXJzKSksXG4gICAgICBNYXRoLm1heCguLi50aGlzLmF2YWlsYWJsZUhvdXJzKSxcbiAgICApO1xuICB9XG59XG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ2lucHV0W21hdE1pbnV0ZUlucHV0XScsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGV4cG9ydEFzOiAnbWF0VGltZUlucHV0JyxcbiAgaG9zdDoge1xuICAgIGNsYXNzOiAnbWF0LXRpbWUtaW5wdXQnLFxuICAgICcoZm9jdXMpJzogJ2ZvY3VzKCRldmVudCknLFxuICAgICcoYmx1ciknOiAnYmx1cigkZXZlbnQpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0TWludXRlSW5wdXQgZXh0ZW5kcyBNYXRUaW1lSW5wdXRCYXNlIHtcbiAgLyoqIFN0ZXAgb3ZlciBtaW51dGVzLiAqL1xuICBASW5wdXQoKVxuICBnZXQgaW50ZXJ2YWwoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gdGhpcy5faW50ZXJ2YWw7XG4gIH1cbiAgc2V0IGludGVydmFsKHZhbHVlOiBudW1iZXIpIHtcbiAgICB0aGlzLl9pbnRlcnZhbCA9IGNvZXJjZU51bWJlclByb3BlcnR5KHZhbHVlKSB8fCAxO1xuICB9XG4gIHByaXZhdGUgX2ludGVydmFsOiBudW1iZXIgPSAxO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBhdmFpbGFibGVNaW51dGVzKCk6IG51bWJlcltdIHtcbiAgICByZXR1cm4gdGhpcy5fYXZhaWxhYmxlTWludXRlcztcbiAgfVxuICBzZXQgYXZhaWxhYmxlTWludXRlcyh2YWx1ZTogbnVtYmVyW10pIHtcbiAgICB0aGlzLl9hdmFpbGFibGVNaW51dGVzID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfYXZhaWxhYmxlTWludXRlczogbnVtYmVyW10gPSBbXTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+LFxuICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBJbmplY3QoRE9DVU1FTlQpIF9kb2N1bWVudDogRG9jdW1lbnQsXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnQsIF9jZHIsIF9kb2N1bWVudCk7XG4gIH1cblxuICBfd2l0aFplcm9QcmVmaXgodmFsdWU6IG51bWJlcik6IHN0cmluZyB7XG4gICAgcmV0dXJuIHdpdGhaZXJvUHJlZml4KHZhbHVlKTtcbiAgfVxuXG4gIF9mb3JtYXRWYWx1ZSh2YWx1ZTogbnVtYmVyKTogbnVtYmVyIHtcbiAgICBpZiAoIXRoaXMuYXZhaWxhYmxlTWludXRlcy5sZW5ndGgpIHtcbiAgICAgIHJldHVybiB0aGlzLnZhbHVlO1xuICAgIH1cblxuICAgIGNvbnN0IHJvdW5kZWRWYWx1ZSA9IE1hdGgucm91bmQodmFsdWUgLyB0aGlzLmludGVydmFsKSAqIHRoaXMuaW50ZXJ2YWw7XG5cbiAgICByZXR1cm4gTWF0aC5taW4oXG4gICAgICBNYXRoLm1heChyb3VuZGVkVmFsdWUsIE1hdGgubWluKC4uLnRoaXMuYXZhaWxhYmxlTWludXRlcykpLFxuICAgICAgTWF0aC5tYXgoLi4udGhpcy5hdmFpbGFibGVNaW51dGVzKSxcbiAgICApO1xuICB9XG59XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC10aW1lLWlucHV0cycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0Rm9ybUZpZWxkTW9kdWxlLFxuICAgIE1hdElucHV0TW9kdWxlLFxuICAgIE1hdFRpbWVwaWNrZXJDb250ZW50TGF5b3V0LFxuICAgIE1hdEhvdXJJbnB1dCxcbiAgICBNYXRNaW51dGVJbnB1dCxcbiAgICBNYXRUaW1lUGVyaW9kLFxuICBdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1pbnB1dHMuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWUtaW5wdXRzLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC10aW1lLWlucHV0cycsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdFRpbWVJbnB1dHM8VD4gZXh0ZW5kcyBNYXRUaW1lRmFjZUJhc2U8VD4ge1xuICBjb25zdHJ1Y3RvcihcbiAgICBwdWJsaWMgX2ludGw6IE1hdFRpbWVwaWNrZXJJbnRsLFxuICAgIEBPcHRpb25hbCgpIF90aW1lQWRhcHRlcjogVGltZUFkYXB0ZXI8VD4sXG4gICAgcHJpdmF0ZSBfbmdab25lOiBOZ1pvbmUsXG4gICAgcHJpdmF0ZSBfZWxlbWVudFJlZjogRWxlbWVudFJlZixcbiAgKSB7XG4gICAgc3VwZXIoX3RpbWVBZGFwdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBVc2luZyBmb3Igc2tpcHBpbmcgdGhhdCBmb2N1cyBzaG91bGRuJ3QgYmUgbW92ZWQgdG8gdGhlIGFjdGl2ZSBjZWxsIG9uIHRoZSBuZXh0IHRpY2suXG4gICAqIFdlIG5lZWQgdG8gdXNlIGl0IHRvIGF2b2lkIGZvY3VzaW5nIGlucHV0IGZvciBpbnB1dCBtb2RlLlxuICAgKi9cbiAgcHJpdmF0ZSBfc2tpcE5leHRUaWNrRm9jdXMgPSBmYWxzZTtcblxuICBmb2N1c0FjdGl2ZUNlbGwoKTogdm9pZCB7XG4gICAgdGhpcy5fbmdab25lLnJ1bk91dHNpZGVBbmd1bGFyKCgpID0+IHtcbiAgICAgIHRoaXMuX25nWm9uZS5vblN0YWJsZS5waXBlKHRha2UoMSkpLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZUNlbGw6IEhUTUxFbGVtZW50IHwgbnVsbCA9XG4gICAgICAgICAgdGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoXG4gICAgICAgICAgICAnLm1hdC10aW1lcGlja2VyLWNvbnRlbnQgaW5wdXQnLCAvLyB0byBhdm9pZCBmb2N1cyBmb3IgaW5saW5lIG1vZGVcbiAgICAgICAgICApO1xuICAgICAgICBpZiAoYWN0aXZlQ2VsbCAmJiAhdGhpcy5fc2tpcE5leHRUaWNrRm9jdXMpIHtcbiAgICAgICAgICBhY3RpdmVDZWxsLmZvY3VzKCk7XG4gICAgICAgICAgdGhpcy5fc2tpcE5leHRUaWNrRm9jdXMgPSB0cnVlO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIiwiPG1hdC10aW1lcGlja2VyLWNvbnRlbnQtbGF5b3V0IFt0aXRsZV09XCJfaW50bC5pbnB1dHNUaXRsZVwiPlxuICA8bWF0LWZvcm0tZmllbGRcbiAgICBjbGFzcz1cIm1hdC10aW1lLWlucHV0cy1maWVsZFwiXG4gICAgYXBwZWFyYW5jZT1cIm91dGxpbmVcIlxuICAgIGhvdXJzXG4gICAgW2NvbG9yXT1cImNvbG9yXCJcbiAgPlxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgaW5wdXRtb2RlPVwibnVtZXJpY1wiXG4gICAgICBtYXhsZW5ndGg9XCIyXCJcbiAgICAgIG1hdElucHV0XG4gICAgICBtYXRIb3VySW5wdXRcbiAgICAgIFtpc01lcmlkaWVtXT1cImlzTWVyaWRpZW1cIlxuICAgICAgW3ZhbHVlXT1cInNlbGVjdGVkSG91clwiXG4gICAgICBbYXZhaWxhYmxlSG91cnNdPVwiX2dldEF2YWlsYWJsZUhvdXJzKClcIlxuICAgICAgKHRpbWVDaGFuZ2VkKT1cIl9vbkhvdXJTZWxlY3RlZCgkZXZlbnQpXCJcbiAgICAgIChrZXlkb3duKT1cIl9vbktleWRvd24oJGV2ZW50LCAnaG91cicpXCJcbiAgICAvPlxuICAgIDxtYXQtaGludD57e19pbnRsLmhvdXJJbnB1dEhpbnR9fTwvbWF0LWhpbnQ+XG4gIDwvbWF0LWZvcm0tZmllbGQ+XG4gIDxtYXQtZm9ybS1maWVsZFxuICAgIGNsYXNzPVwibWF0LXRpbWUtaW5wdXRzLWZpZWxkXCJcbiAgICBhcHBlYXJhbmNlPVwib3V0bGluZVwiXG4gICAgbWludXRlc1xuICAgIFtjb2xvcl09XCJjb2xvclwiXG4gID5cbiAgICA8aW5wdXRcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgIGlucHV0bW9kZT1cIm51bWVyaWNcIlxuICAgICAgbWF4bGVuZ3RoPVwiMlwiXG4gICAgICBtYXRJbnB1dFxuICAgICAgbWF0TWludXRlSW5wdXRcbiAgICAgIFt2YWx1ZV09XCJzZWxlY3RlZE1pbnV0ZVwiXG4gICAgICBbaW50ZXJ2YWxdPVwibWludXRlSW50ZXJ2YWxcIlxuICAgICAgW2F2YWlsYWJsZU1pbnV0ZXNdPVwiYXZhaWxhYmxlTWludXRlc1wiXG4gICAgICAodGltZUNoYW5nZWQpPVwiX29uTWludXRlU2VsZWN0ZWQoJGV2ZW50KVwiXG4gICAgICAoa2V5ZG93bik9XCJfb25LZXlkb3duKCRldmVudCwgJ21pbnV0ZScpXCJcbiAgICAvPlxuICAgIDxtYXQtaGludD57e19pbnRsLm1pbnV0ZUlucHV0SGludH19PC9tYXQtaGludD5cbiAgPC9tYXQtZm9ybS1maWVsZD5cblxuICA8bmctdGVtcGxhdGUgbWF0LXRpbWUtcGVyaW9kIFtuZ0lmXT1cImlzTWVyaWRpZW1cIj5cbiAgICA8bWF0LXRpbWUtcGVyaW9kXG4gICAgICBbcGVyaW9kXT1cInBlcmlvZFwiXG4gICAgICBbZGlzYWJsZWRQZXJpb2RdPVwiZGlzYWJsZWRQZXJpb2RcIlxuICAgICAgKHBlcmlvZENoYW5nZWQpPVwiX29uUGVyaW9kQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICA+PC9tYXQtdGltZS1wZXJpb2Q+XG4gIDwvbmctdGVtcGxhdGU+XG48L21hdC10aW1lcGlja2VyLWNvbnRlbnQtbGF5b3V0PlxuIl19
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { Component, ChangeDetectionStrategy, ViewEncapsulation, Input, Output, EventEmitter, } from '@angular/core';
|
|
2
|
-
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
3
|
-
import { MatDividerModule } from '@angular/material/divider';
|
|
4
|
-
import { MatRippleModule } from '@angular/material/core';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./timepicker-intl";
|
|
7
|
-
import * as i2 from "@angular/material/divider";
|
|
8
|
-
import * as i3 from "@angular/material/core";
|
|
9
|
-
export class MatTimePeriod {
|
|
10
|
-
/** Whether the time period is vertically aligned. */
|
|
11
|
-
get vertical() {
|
|
12
|
-
return this._vertical;
|
|
13
|
-
}
|
|
14
|
-
set vertical(value) {
|
|
15
|
-
this._vertical = coerceBooleanProperty(value);
|
|
16
|
-
}
|
|
17
|
-
get period() {
|
|
18
|
-
return this._period;
|
|
19
|
-
}
|
|
20
|
-
set period(value) {
|
|
21
|
-
this._period = value || 'am';
|
|
22
|
-
}
|
|
23
|
-
get disabledPeriod() {
|
|
24
|
-
return this._disabledPeriod;
|
|
25
|
-
}
|
|
26
|
-
set disabledPeriod(value) {
|
|
27
|
-
this._disabledPeriod = value;
|
|
28
|
-
}
|
|
29
|
-
constructor(_intl) {
|
|
30
|
-
this._intl = _intl;
|
|
31
|
-
this._vertical = true;
|
|
32
|
-
this._period = 'am';
|
|
33
|
-
this._disabledPeriod = null;
|
|
34
|
-
this.periodChanged = new EventEmitter();
|
|
35
|
-
}
|
|
36
|
-
setPeriod(event, period) {
|
|
37
|
-
event.preventDefault();
|
|
38
|
-
this.period = period;
|
|
39
|
-
this.periodChanged.emit(period);
|
|
40
|
-
}
|
|
41
|
-
_isPeriodDisabled(period) {
|
|
42
|
-
if (!this.disabledPeriod) {
|
|
43
|
-
return false;
|
|
44
|
-
}
|
|
45
|
-
return this.disabledPeriod === period;
|
|
46
|
-
}
|
|
47
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimePeriod, deps: [{ token: i1.MatTimepickerIntl }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
48
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MatTimePeriod, isStandalone: true, selector: "mat-time-period", inputs: { vertical: "vertical", period: "period", disabledPeriod: "disabledPeriod" }, outputs: { periodChanged: "periodChanged" }, host: { properties: { "class.mat-time-period-vertical": "vertical", "class.mat-time-period-horizontal": "!vertical", "attr.aria-orientation": "vertical ? \"vertical\" : \"horizontal\"" }, classAttribute: "mat-time-period" }, ngImport: i0, template: "<div\n tabindex=\"0\"\n class=\"mat-time-period-item\"\n matRipple\n [class.mat-time-period-item-active]=\"period === 'am'\"\n [class.mat-time-period-item-disabled]=\"_isPeriodDisabled('am')\"\n (click)=\"setPeriod($event, 'am')\"\n (keydown.space)=\"setPeriod($event, 'am')\"\n>\n {{ _intl.am }}\n</div>\n<mat-divider [vertical]=\"!vertical\"></mat-divider>\n<div\n tabindex=\"0\"\n class=\"mat-time-period-item\"\n matRipple\n [class.mat-time-period-item-active]=\"period === 'pm'\"\n [class.mat-time-period-item-disabled]=\"_isPeriodDisabled('pm')\"\n (click)=\"setPeriod($event, 'pm')\"\n (keydown.space)=\"setPeriod($event, 'pm')\"\n>\n {{ _intl.pm }}\n</div>\n", styles: [".mat-time-period{display:flex;text-align:center;border-width:1px;border-style:solid;border-radius:.25rem;box-sizing:border-box}.mat-time-period-vertical{flex-direction:column;width:3.25rem;height:4.5rem}.mat-time-period-vertical .mat-time-period-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-time-period-vertical .mat-time-period-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-time-period-horizontal{flex-direction:row;max-width:13.5rem;width:100%;height:2.5rem}.mat-time-period-horizontal .mat-time-period-item:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.mat-time-period-horizontal .mat-time-period-item:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.mat-time-period-item{display:flex;flex-direction:column;justify-content:center;flex-grow:1;height:100%;font-size:.875rem;font-weight:500;cursor:pointer}.mat-time-period-item-disabled{pointer-events:none}\n"], dependencies: [{ kind: "ngmodule", type: MatDividerModule }, { kind: "component", type: i2.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "ngmodule", type: MatRippleModule }, { kind: "directive", type: i3.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
49
|
-
}
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimePeriod, decorators: [{
|
|
51
|
-
type: Component,
|
|
52
|
-
args: [{ selector: 'mat-time-period', standalone: true, imports: [MatDividerModule, MatRippleModule], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
53
|
-
class: 'mat-time-period',
|
|
54
|
-
'[class.mat-time-period-vertical]': 'vertical',
|
|
55
|
-
'[class.mat-time-period-horizontal]': '!vertical',
|
|
56
|
-
'[attr.aria-orientation]': 'vertical ? "vertical" : "horizontal"',
|
|
57
|
-
}, template: "<div\n tabindex=\"0\"\n class=\"mat-time-period-item\"\n matRipple\n [class.mat-time-period-item-active]=\"period === 'am'\"\n [class.mat-time-period-item-disabled]=\"_isPeriodDisabled('am')\"\n (click)=\"setPeriod($event, 'am')\"\n (keydown.space)=\"setPeriod($event, 'am')\"\n>\n {{ _intl.am }}\n</div>\n<mat-divider [vertical]=\"!vertical\"></mat-divider>\n<div\n tabindex=\"0\"\n class=\"mat-time-period-item\"\n matRipple\n [class.mat-time-period-item-active]=\"period === 'pm'\"\n [class.mat-time-period-item-disabled]=\"_isPeriodDisabled('pm')\"\n (click)=\"setPeriod($event, 'pm')\"\n (keydown.space)=\"setPeriod($event, 'pm')\"\n>\n {{ _intl.pm }}\n</div>\n", styles: [".mat-time-period{display:flex;text-align:center;border-width:1px;border-style:solid;border-radius:.25rem;box-sizing:border-box}.mat-time-period-vertical{flex-direction:column;width:3.25rem;height:4.5rem}.mat-time-period-vertical .mat-time-period-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.mat-time-period-vertical .mat-time-period-item:last-child{border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.mat-time-period-horizontal{flex-direction:row;max-width:13.5rem;width:100%;height:2.5rem}.mat-time-period-horizontal .mat-time-period-item:first-child{border-top-left-radius:inherit;border-bottom-left-radius:inherit}.mat-time-period-horizontal .mat-time-period-item:last-child{border-top-right-radius:inherit;border-bottom-right-radius:inherit}.mat-time-period-item{display:flex;flex-direction:column;justify-content:center;flex-grow:1;height:100%;font-size:.875rem;font-weight:500;cursor:pointer}.mat-time-period-item-disabled{pointer-events:none}\n"] }]
|
|
58
|
-
}], ctorParameters: () => [{ type: i1.MatTimepickerIntl }], propDecorators: { vertical: [{
|
|
59
|
-
type: Input
|
|
60
|
-
}], period: [{
|
|
61
|
-
type: Input
|
|
62
|
-
}], disabledPeriod: [{
|
|
63
|
-
type: Input
|
|
64
|
-
}], periodChanged: [{
|
|
65
|
-
type: Output
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1wZXJpb2QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL3RpbWUtcGVyaW9kLnRzIiwiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lLXBlcmlvZC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixLQUFLLEVBQ0wsTUFBTSxFQUNOLFlBQVksR0FDYixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLHFCQUFxQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDOzs7OztBQXFCekQsTUFBTSxPQUFPLGFBQWE7SUFDeEIscURBQXFEO0lBQ3JELElBQ0ksUUFBUTtRQUNWLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBSSxRQUFRLENBQUMsS0FBbUI7UUFDOUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBR0QsSUFDSSxNQUFNO1FBQ1IsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQ3RCLENBQUM7SUFDRCxJQUFJLE1BQU0sQ0FBQyxLQUF3QjtRQUNqQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssSUFBSSxJQUFJLENBQUM7SUFDL0IsQ0FBQztJQUdELElBQ0ksY0FBYztRQUNoQixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDOUIsQ0FBQztJQUNELElBQUksY0FBYyxDQUFDLEtBQStCO1FBQ2hELElBQUksQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBQy9CLENBQUM7SUFLRCxZQUFtQixLQUF3QjtRQUF4QixVQUFLLEdBQUwsS0FBSyxDQUFtQjtRQXRCbkMsY0FBUyxHQUFZLElBQUksQ0FBQztRQVMxQixZQUFPLEdBQXNCLElBQUksQ0FBQztRQVNsQyxvQkFBZSxHQUE2QixJQUFJLENBQUM7UUFFL0Msa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztJQUVsQixDQUFDO0lBRS9DLFNBQVMsQ0FBQyxLQUFZLEVBQUUsTUFBeUI7UUFDL0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUF5QjtRQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBQ3pCLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLGNBQWMsS0FBSyxNQUFNLENBQUM7SUFDeEMsQ0FBQzs4R0E3Q1UsYUFBYTtrR0FBYixhQUFhLCthQy9CMUIsNHFCQXVCQSxzaUNESlksZ0JBQWdCLGtJQUFFLGVBQWU7OzJGQVloQyxhQUFhO2tCQWZ6QixTQUFTOytCQUNFLGlCQUFpQixjQUNmLElBQUksV0FDUCxDQUFDLGdCQUFnQixFQUFFLGVBQWUsQ0FBQyxtQkFHM0IsdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxRQUMvQjt3QkFDSixLQUFLLEVBQUUsaUJBQWlCO3dCQUN4QixrQ0FBa0MsRUFBRSxVQUFVO3dCQUM5QyxvQ0FBb0MsRUFBRSxXQUFXO3dCQUNqRCx5QkFBeUIsRUFBRSxzQ0FBc0M7cUJBQ2xFO3NGQUtHLFFBQVE7c0JBRFgsS0FBSztnQkFVRixNQUFNO3NCQURULEtBQUs7Z0JBVUYsY0FBYztzQkFEakIsS0FBSztnQkFTSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIEV2ZW50RW1pdHRlcixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBCb29sZWFuSW5wdXQsIGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQgeyBNYXREaXZpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGl2aWRlcic7XG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuaW1wb3J0IHsgTWF0VGltZXBpY2tlckludGwgfSBmcm9tICcuL3RpbWVwaWNrZXItaW50bCc7XG5cbmV4cG9ydCB0eXBlIE1hdFRpbWVQZXJpb2RUeXBlID0gJ2FtJyB8ICdwbSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ21hdC10aW1lLXBlcmlvZCcsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIGltcG9ydHM6IFtNYXREaXZpZGVyTW9kdWxlLCBNYXRSaXBwbGVNb2R1bGVdLFxuICB0ZW1wbGF0ZVVybDogJy4vdGltZS1wZXJpb2QuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3RpbWUtcGVyaW9kLnNjc3MnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIGhvc3Q6IHtcbiAgICBjbGFzczogJ21hdC10aW1lLXBlcmlvZCcsXG4gICAgJ1tjbGFzcy5tYXQtdGltZS1wZXJpb2QtdmVydGljYWxdJzogJ3ZlcnRpY2FsJyxcbiAgICAnW2NsYXNzLm1hdC10aW1lLXBlcmlvZC1ob3Jpem9udGFsXSc6ICchdmVydGljYWwnLFxuICAgICdbYXR0ci5hcmlhLW9yaWVudGF0aW9uXSc6ICd2ZXJ0aWNhbCA/IFwidmVydGljYWxcIiA6IFwiaG9yaXpvbnRhbFwiJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0VGltZVBlcmlvZCB7XG4gIC8qKiBXaGV0aGVyIHRoZSB0aW1lIHBlcmlvZCBpcyB2ZXJ0aWNhbGx5IGFsaWduZWQuICovXG4gIEBJbnB1dCgpXG4gIGdldCB2ZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5fdmVydGljYWw7XG4gIH1cbiAgc2V0IHZlcnRpY2FsKHZhbHVlOiBCb29sZWFuSW5wdXQpIHtcbiAgICB0aGlzLl92ZXJ0aWNhbCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gIH1cbiAgcHJpdmF0ZSBfdmVydGljYWw6IGJvb2xlYW4gPSB0cnVlO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBwZXJpb2QoKTogTWF0VGltZVBlcmlvZFR5cGUge1xuICAgIHJldHVybiB0aGlzLl9wZXJpb2Q7XG4gIH1cbiAgc2V0IHBlcmlvZCh2YWx1ZTogTWF0VGltZVBlcmlvZFR5cGUpIHtcbiAgICB0aGlzLl9wZXJpb2QgPSB2YWx1ZSB8fCAnYW0nO1xuICB9XG4gIHByaXZhdGUgX3BlcmlvZDogTWF0VGltZVBlcmlvZFR5cGUgPSAnYW0nO1xuXG4gIEBJbnB1dCgpXG4gIGdldCBkaXNhYmxlZFBlcmlvZCgpOiBNYXRUaW1lUGVyaW9kVHlwZSB8IG51bGwge1xuICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZFBlcmlvZDtcbiAgfVxuICBzZXQgZGlzYWJsZWRQZXJpb2QodmFsdWU6IE1hdFRpbWVQZXJpb2RUeXBlIHwgbnVsbCkge1xuICAgIHRoaXMuX2Rpc2FibGVkUGVyaW9kID0gdmFsdWU7XG4gIH1cbiAgcHJpdmF0ZSBfZGlzYWJsZWRQZXJpb2Q6IE1hdFRpbWVQZXJpb2RUeXBlIHwgbnVsbCA9IG51bGw7XG5cbiAgQE91dHB1dCgpIHBlcmlvZENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1hdFRpbWVQZXJpb2RUeXBlPigpO1xuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBfaW50bDogTWF0VGltZXBpY2tlckludGwpIHt9XG5cbiAgc2V0UGVyaW9kKGV2ZW50OiBFdmVudCwgcGVyaW9kOiBNYXRUaW1lUGVyaW9kVHlwZSk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgdGhpcy5wZXJpb2QgPSBwZXJpb2Q7XG4gICAgdGhpcy5wZXJpb2RDaGFuZ2VkLmVtaXQocGVyaW9kKTtcbiAgfVxuXG4gIF9pc1BlcmlvZERpc2FibGVkKHBlcmlvZDogTWF0VGltZVBlcmlvZFR5cGUpOiBib29sZWFuIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWRQZXJpb2QpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5kaXNhYmxlZFBlcmlvZCA9PT0gcGVyaW9kO1xuICB9XG59XG4iLCI8ZGl2XG4gIHRhYmluZGV4PVwiMFwiXG4gIGNsYXNzPVwibWF0LXRpbWUtcGVyaW9kLWl0ZW1cIlxuICBtYXRSaXBwbGVcbiAgW2NsYXNzLm1hdC10aW1lLXBlcmlvZC1pdGVtLWFjdGl2ZV09XCJwZXJpb2QgPT09ICdhbSdcIlxuICBbY2xhc3MubWF0LXRpbWUtcGVyaW9kLWl0ZW0tZGlzYWJsZWRdPVwiX2lzUGVyaW9kRGlzYWJsZWQoJ2FtJylcIlxuICAoY2xpY2spPVwic2V0UGVyaW9kKCRldmVudCwgJ2FtJylcIlxuICAoa2V5ZG93bi5zcGFjZSk9XCJzZXRQZXJpb2QoJGV2ZW50LCAnYW0nKVwiXG4+XG4gIHt7IF9pbnRsLmFtIH19XG48L2Rpdj5cbjxtYXQtZGl2aWRlciBbdmVydGljYWxdPVwiIXZlcnRpY2FsXCI+PC9tYXQtZGl2aWRlcj5cbjxkaXZcbiAgdGFiaW5kZXg9XCIwXCJcbiAgY2xhc3M9XCJtYXQtdGltZS1wZXJpb2QtaXRlbVwiXG4gIG1hdFJpcHBsZVxuICBbY2xhc3MubWF0LXRpbWUtcGVyaW9kLWl0ZW0tYWN0aXZlXT1cInBlcmlvZCA9PT0gJ3BtJ1wiXG4gIFtjbGFzcy5tYXQtdGltZS1wZXJpb2QtaXRlbS1kaXNhYmxlZF09XCJfaXNQZXJpb2REaXNhYmxlZCgncG0nKVwiXG4gIChjbGljayk9XCJzZXRQZXJpb2QoJGV2ZW50LCAncG0nKVwiXG4gIChrZXlkb3duLnNwYWNlKT1cInNldFBlcmlvZCgkZXZlbnQsICdwbScpXCJcbj5cbiAge3sgX2ludGwucG0gfX1cbjwvZGl2PlxuIl19
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { Injectable, Optional, SkipSelf, } from '@angular/core';
|
|
2
|
-
import { Subject } from 'rxjs';
|
|
3
|
-
import { TimeAdapter } from './adapter';
|
|
4
|
-
import * as i0 from "@angular/core";
|
|
5
|
-
import * as i1 from "./adapter";
|
|
6
|
-
/**
|
|
7
|
-
* A selection model containing a time selection.
|
|
8
|
-
*/
|
|
9
|
-
export class MatTimeSelectionModel {
|
|
10
|
-
/**
|
|
11
|
-
* Updates the current selection in the model.
|
|
12
|
-
* @param value New selection that should be assigned.
|
|
13
|
-
* @param source Object that triggered the selection change.
|
|
14
|
-
*/
|
|
15
|
-
updateSelection(value, source) {
|
|
16
|
-
const oldValue = this.selection;
|
|
17
|
-
this.selection = value;
|
|
18
|
-
this._selectionChanged.next({ selection: value, source, oldValue });
|
|
19
|
-
}
|
|
20
|
-
constructor(_adapter) {
|
|
21
|
-
this._adapter = _adapter;
|
|
22
|
-
this._selectionChanged = new Subject();
|
|
23
|
-
/** Emits when the selection has changed. */
|
|
24
|
-
this.selectionChanged = this._selectionChanged;
|
|
25
|
-
// this.selection = selection;
|
|
26
|
-
}
|
|
27
|
-
ngOnDestroy() {
|
|
28
|
-
this._selectionChanged.complete();
|
|
29
|
-
}
|
|
30
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimeSelectionModel, deps: [{ token: i1.TimeAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
31
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimeSelectionModel }); }
|
|
32
|
-
}
|
|
33
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimeSelectionModel, decorators: [{
|
|
34
|
-
type: Injectable
|
|
35
|
-
}], ctorParameters: () => [{ type: i1.TimeAdapter }] });
|
|
36
|
-
/**
|
|
37
|
-
* A selection model that contains a single time.
|
|
38
|
-
*/
|
|
39
|
-
export class MatSingleTimeSelectionModel extends MatTimeSelectionModel {
|
|
40
|
-
constructor(adapter) {
|
|
41
|
-
super(adapter);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Adds a time to the current selection. In the case of a single time selection, the added time
|
|
45
|
-
* simply overwrites the previous selection
|
|
46
|
-
*/
|
|
47
|
-
add(time) {
|
|
48
|
-
super.updateSelection(time, this);
|
|
49
|
-
}
|
|
50
|
-
/** Clones the selection model. */
|
|
51
|
-
clone() {
|
|
52
|
-
const clone = new MatSingleTimeSelectionModel(this._adapter);
|
|
53
|
-
clone.updateSelection(this.selection, this);
|
|
54
|
-
return clone;
|
|
55
|
-
}
|
|
56
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatSingleTimeSelectionModel, deps: [{ token: i1.TimeAdapter }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
57
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatSingleTimeSelectionModel }); }
|
|
58
|
-
}
|
|
59
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatSingleTimeSelectionModel, decorators: [{
|
|
60
|
-
type: Injectable
|
|
61
|
-
}], ctorParameters: () => [{ type: i1.TimeAdapter }] });
|
|
62
|
-
export function MAT_SINGLE_TIME_SELECTION_MODEL_FACTORY(parent, adapter) {
|
|
63
|
-
return parent || new MatSingleTimeSelectionModel(adapter);
|
|
64
|
-
}
|
|
65
|
-
/**
|
|
66
|
-
* Used to provide a single selection model to a component.
|
|
67
|
-
*/
|
|
68
|
-
export const MAT_SINGLE_TIME_SELECTION_MODEL_PROVIDER = {
|
|
69
|
-
provide: MatTimeSelectionModel,
|
|
70
|
-
deps: [
|
|
71
|
-
[new Optional(), new SkipSelf(), MatSingleTimeSelectionModel],
|
|
72
|
-
TimeAdapter,
|
|
73
|
-
],
|
|
74
|
-
useFactory: MAT_SINGLE_TIME_SELECTION_MODEL_FACTORY,
|
|
75
|
-
};
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zZWxlY3Rpb24tbW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL3RpbWUtc2VsZWN0aW9uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFFTCxVQUFVLEVBRVYsUUFBUSxFQUNSLFFBQVEsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxXQUFXLENBQUM7OztBQW1CeEM7O0dBRUc7QUFFSCxNQUFNLE9BQWdCLHFCQUFxQjtJQWdCekM7Ozs7T0FJRztJQUNILGVBQWUsQ0FBQyxLQUFRLEVBQUUsTUFBZTtRQUN2QyxNQUFNLFFBQVEsR0FBSSxJQUF5QixDQUFDLFNBQVMsQ0FBQztRQUNyRCxJQUF5QixDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDN0MsSUFBSSxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7SUFDdEUsQ0FBQztJQUVELFlBQWdDLFFBQXdCO1FBQXhCLGFBQVEsR0FBUixRQUFRLENBQWdCO1FBbkJ2QyxzQkFBaUIsR0FBRyxJQUFJLE9BQU8sRUFFN0MsQ0FBQztRQUVKLDRDQUE0QztRQUM1QyxxQkFBZ0IsR0FDZCxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFjdkIsOEJBQThCO0lBQ2hDLENBQUM7SUFFRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ3BDLENBQUM7OEdBakNtQixxQkFBcUI7a0hBQXJCLHFCQUFxQjs7MkZBQXJCLHFCQUFxQjtrQkFEMUMsVUFBVTs7QUEyQ1g7O0dBRUc7QUFFSCxNQUFNLE9BQU8sMkJBQStCLFNBQVEscUJBR25EO0lBQ0MsWUFBWSxPQUF1QjtRQUNqQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7SUFDakIsQ0FBQztJQUVEOzs7T0FHRztJQUNILEdBQUcsQ0FBQyxJQUFjO1FBQ2hCLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BDLENBQUM7SUFFRCxrQ0FBa0M7SUFDbEMsS0FBSztRQUNILE1BQU0sS0FBSyxHQUFHLElBQUksMkJBQTJCLENBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2hFLEtBQUssQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUM1QyxPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7OEdBckJVLDJCQUEyQjtrSEFBM0IsMkJBQTJCOzsyRkFBM0IsMkJBQTJCO2tCQUR2QyxVQUFVOztBQXlCWCxNQUFNLFVBQVUsdUNBQXVDLENBQ3JELE1BQTRDLEVBQzVDLE9BQTZCO0lBRTdCLE9BQU8sTUFBTSxJQUFJLElBQUksMkJBQTJCLENBQUMsT0FBTyxDQUFDLENBQUM7QUFDNUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sd0NBQXdDLEdBQW9CO0lBQ3ZFLE9BQU8sRUFBRSxxQkFBcUI7SUFDOUIsSUFBSSxFQUFFO1FBQ0osQ0FBQyxJQUFJLFFBQVEsRUFBRSxFQUFFLElBQUksUUFBUSxFQUFFLEVBQUUsMkJBQTJCLENBQUM7UUFDN0QsV0FBVztLQUNaO0lBQ0QsVUFBVSxFQUFFLHVDQUF1QztDQUNwRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRmFjdG9yeVByb3ZpZGVyLFxuICBJbmplY3RhYmxlLFxuICBPbkRlc3Ryb3ksXG4gIE9wdGlvbmFsLFxuICBTa2lwU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFRpbWVBZGFwdGVyIH0gZnJvbSAnLi9hZGFwdGVyJztcblxuZXhwb3J0IHR5cGUgRXh0cmFjdFRpbWVUeXBlRnJvbVNlbGVjdGlvbjxUPiA9IE5vbk51bGxhYmxlPFQ+O1xuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgYnkgdGhlIHRpbWUgc2VsZWN0aW9uIG1vZGVsIHdoZW4gaXRzIHNlbGVjdGlvbiBjaGFuZ2VzLlxuICogQGRvY3MtcHJpdmF0ZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRpbWVTZWxlY3Rpb25Nb2RlbENoYW5nZTxTPiB7XG4gIC8qKiBOZXcgdmFsdWUgZm9yIHRoZSBzZWxlY3Rpb24uICovXG4gIHNlbGVjdGlvbjogUztcblxuICAvKiogT2JqZWN0IHRoYXQgdHJpZ2dlcmVkIHRoZSBjaGFuZ2UuICovXG4gIHNvdXJjZTogdW5rbm93bjtcblxuICAvKiogUHJldmlvdXMgdmFsdWUgKi9cbiAgb2xkVmFsdWU/OiBTO1xufVxuXG4vKipcbiAqIEEgc2VsZWN0aW9uIG1vZGVsIGNvbnRhaW5pbmcgYSB0aW1lIHNlbGVjdGlvbi5cbiAqL1xuQEluamVjdGFibGUoKVxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIE1hdFRpbWVTZWxlY3Rpb25Nb2RlbDxcbiAgUyxcbiAgVCA9IEV4dHJhY3RUaW1lVHlwZUZyb21TZWxlY3Rpb248Uz5cbj4gaW1wbGVtZW50cyBPbkRlc3Ryb3lcbntcbiAgLyoqIFRoZSBjdXJyZW50IHNlbGVjdGlvbi4gKi9cbiAgcmVhZG9ubHkgc2VsZWN0aW9uOiBTO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgX3NlbGVjdGlvbkNoYW5nZWQgPSBuZXcgU3ViamVjdDxcbiAgICBUaW1lU2VsZWN0aW9uTW9kZWxDaGFuZ2U8Uz5cbiAgPigpO1xuXG4gIC8qKiBFbWl0cyB3aGVuIHRoZSBzZWxlY3Rpb24gaGFzIGNoYW5nZWQuICovXG4gIHNlbGVjdGlvbkNoYW5nZWQ6IE9ic2VydmFibGU8VGltZVNlbGVjdGlvbk1vZGVsQ2hhbmdlPFM+PiA9XG4gICAgdGhpcy5fc2VsZWN0aW9uQ2hhbmdlZDtcblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgY3VycmVudCBzZWxlY3Rpb24gaW4gdGhlIG1vZGVsLlxuICAgKiBAcGFyYW0gdmFsdWUgTmV3IHNlbGVjdGlvbiB0aGF0IHNob3VsZCBiZSBhc3NpZ25lZC5cbiAgICogQHBhcmFtIHNvdXJjZSBPYmplY3QgdGhhdCB0cmlnZ2VyZWQgdGhlIHNlbGVjdGlvbiBjaGFuZ2UuXG4gICAqL1xuICB1cGRhdGVTZWxlY3Rpb24odmFsdWU6IFMsIHNvdXJjZTogdW5rbm93bikge1xuICAgIGNvbnN0IG9sZFZhbHVlID0gKHRoaXMgYXMgeyBzZWxlY3Rpb246IFMgfSkuc2VsZWN0aW9uO1xuICAgICh0aGlzIGFzIHsgc2VsZWN0aW9uOiBTIH0pLnNlbGVjdGlvbiA9IHZhbHVlO1xuICAgIHRoaXMuX3NlbGVjdGlvbkNoYW5nZWQubmV4dCh7IHNlbGVjdGlvbjogdmFsdWUsIHNvdXJjZSwgb2xkVmFsdWUgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IocHJvdGVjdGVkIF9hZGFwdGVyOiBUaW1lQWRhcHRlcjxUPikge1xuICAgIC8vIHRoaXMuc2VsZWN0aW9uID0gc2VsZWN0aW9uO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XG4gICAgdGhpcy5fc2VsZWN0aW9uQ2hhbmdlZC5jb21wbGV0ZSgpO1xuICB9XG5cbiAgLyoqIEFkZHMgYSB0aW1lIHRvIHRoZSBjdXJyZW50IHNlbGVjdGlvbi4gKi9cbiAgYWJzdHJhY3QgYWRkKHRpbWU6IFQgfCBudWxsKTogdm9pZDtcblxuICAvKiogQ2xvbmVzIHRoZSBzZWxlY3Rpb24gbW9kZWwuICovXG4gIGFic3RyYWN0IGNsb25lKCk6IE1hdFRpbWVTZWxlY3Rpb25Nb2RlbDxTLCBUPjtcbn1cblxuLyoqXG4gKiBBIHNlbGVjdGlvbiBtb2RlbCB0aGF0IGNvbnRhaW5zIGEgc2luZ2xlIHRpbWUuXG4gKi9cbkBJbmplY3RhYmxlKClcbmV4cG9ydCBjbGFzcyBNYXRTaW5nbGVUaW1lU2VsZWN0aW9uTW9kZWw8VD4gZXh0ZW5kcyBNYXRUaW1lU2VsZWN0aW9uTW9kZWw8XG4gIFQgfCBudWxsLFxuICBUXG4+IHtcbiAgY29uc3RydWN0b3IoYWRhcHRlcjogVGltZUFkYXB0ZXI8VD4pIHtcbiAgICBzdXBlcihhZGFwdGVyKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgdGltZSB0byB0aGUgY3VycmVudCBzZWxlY3Rpb24uIEluIHRoZSBjYXNlIG9mIGEgc2luZ2xlIHRpbWUgc2VsZWN0aW9uLCB0aGUgYWRkZWQgdGltZVxuICAgKiBzaW1wbHkgb3ZlcndyaXRlcyB0aGUgcHJldmlvdXMgc2VsZWN0aW9uXG4gICAqL1xuICBhZGQodGltZTogVCB8IG51bGwpIHtcbiAgICBzdXBlci51cGRhdGVTZWxlY3Rpb24odGltZSwgdGhpcyk7XG4gIH1cblxuICAvKiogQ2xvbmVzIHRoZSBzZWxlY3Rpb24gbW9kZWwuICovXG4gIGNsb25lKCkge1xuICAgIGNvbnN0IGNsb25lID0gbmV3IE1hdFNpbmdsZVRpbWVTZWxlY3Rpb25Nb2RlbDxUPih0aGlzLl9hZGFwdGVyKTtcbiAgICBjbG9uZS51cGRhdGVTZWxlY3Rpb24odGhpcy5zZWxlY3Rpb24sIHRoaXMpO1xuICAgIHJldHVybiBjbG9uZTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gTUFUX1NJTkdMRV9USU1FX1NFTEVDVElPTl9NT0RFTF9GQUNUT1JZKFxuICBwYXJlbnQ6IE1hdFNpbmdsZVRpbWVTZWxlY3Rpb25Nb2RlbDx1bmtub3duPixcbiAgYWRhcHRlcjogVGltZUFkYXB0ZXI8dW5rbm93bj5cbikge1xuICByZXR1cm4gcGFyZW50IHx8IG5ldyBNYXRTaW5nbGVUaW1lU2VsZWN0aW9uTW9kZWwoYWRhcHRlcik7XG59XG5cbi8qKlxuICogVXNlZCB0byBwcm92aWRlIGEgc2luZ2xlIHNlbGVjdGlvbiBtb2RlbCB0byBhIGNvbXBvbmVudC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1BVF9TSU5HTEVfVElNRV9TRUxFQ1RJT05fTU9ERUxfUFJPVklERVI6IEZhY3RvcnlQcm92aWRlciA9IHtcbiAgcHJvdmlkZTogTWF0VGltZVNlbGVjdGlvbk1vZGVsLFxuICBkZXBzOiBbXG4gICAgW25ldyBPcHRpb25hbCgpLCBuZXcgU2tpcFNlbGYoKSwgTWF0U2luZ2xlVGltZVNlbGVjdGlvbk1vZGVsXSxcbiAgICBUaW1lQWRhcHRlcixcbiAgXSxcbiAgdXNlRmFjdG9yeTogTUFUX1NJTkdMRV9USU1FX1NFTEVDVElPTl9NT0RFTF9GQUNUT1JZLFxufTtcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
export const MAT_DEFAULT_ACITONS = new InjectionToken('MAT_DEFAULT_ACITONS');
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1hY3Rpb25zLWRlZmF1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXQtdGltZXBpY2tlci9zcmMvbGliL3RpbWVwaWNrZXItYWN0aW9ucy1kZWZhdWx0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsSUFBSSxjQUFjLENBQ25ELHFCQUFxQixDQUN0QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50VHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHsgSW5qZWN0aW9uVG9rZW4gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IGNvbnN0IE1BVF9ERUZBVUxUX0FDSVRPTlMgPSBuZXcgSW5qZWN0aW9uVG9rZW48Q29tcG9uZW50VHlwZTxhbnk+PihcbiAgJ01BVF9ERUZBVUxUX0FDSVRPTlMnXG4pO1xuIl19
|
|
@@ -1,135 +0,0 @@
|
|
|
1
|
-
import { TemplatePortal } from '@angular/cdk/portal';
|
|
2
|
-
import { ChangeDetectionStrategy, Component, Directive, TemplateRef, ViewChild, ViewEncapsulation, } from '@angular/core';
|
|
3
|
-
import { mixinColor } from '@angular/material/core';
|
|
4
|
-
import { MatButtonModule } from '@angular/material/button';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
import * as i1 from "./timepicker-base";
|
|
7
|
-
import * as i2 from "./timepicker-intl";
|
|
8
|
-
import * as i3 from "@angular/material/button";
|
|
9
|
-
/** Button that will close the timepicker and assign the current selection to the data model. */
|
|
10
|
-
export class MatTimepickerApply {
|
|
11
|
-
constructor(_timepicker) {
|
|
12
|
-
this._timepicker = _timepicker;
|
|
13
|
-
}
|
|
14
|
-
_applySelection() {
|
|
15
|
-
this._timepicker._applyPendingSelection();
|
|
16
|
-
this._timepicker.close();
|
|
17
|
-
}
|
|
18
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerApply, deps: [{ token: i1.MatTimepickerBase }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
19
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: MatTimepickerApply, isStandalone: true, selector: "[matTimepickerApply]", host: { listeners: { "click": "_applySelection()" } }, ngImport: i0 }); }
|
|
20
|
-
}
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerApply, decorators: [{
|
|
22
|
-
type: Directive,
|
|
23
|
-
args: [{
|
|
24
|
-
selector: '[matTimepickerApply]',
|
|
25
|
-
standalone: true,
|
|
26
|
-
host: {
|
|
27
|
-
'(click)': '_applySelection()',
|
|
28
|
-
},
|
|
29
|
-
}]
|
|
30
|
-
}], ctorParameters: () => [{ type: i1.MatTimepickerBase }] });
|
|
31
|
-
/** Button that will close the timepicker and discard the current selection. */
|
|
32
|
-
export class MatTimepickerCancel {
|
|
33
|
-
constructor(_timepicker) {
|
|
34
|
-
this._timepicker = _timepicker;
|
|
35
|
-
}
|
|
36
|
-
close() {
|
|
37
|
-
this._timepicker.close();
|
|
38
|
-
}
|
|
39
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerCancel, deps: [{ token: i1.MatTimepickerBase }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
40
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "18.0.4", type: MatTimepickerCancel, isStandalone: true, selector: "[matTimepickerCancel]", host: { listeners: { "click": "close()" } }, ngImport: i0 }); }
|
|
41
|
-
}
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerCancel, decorators: [{
|
|
43
|
-
type: Directive,
|
|
44
|
-
args: [{
|
|
45
|
-
selector: '[matTimepickerCancel]',
|
|
46
|
-
standalone: true,
|
|
47
|
-
host: {
|
|
48
|
-
'(click)': 'close()',
|
|
49
|
-
},
|
|
50
|
-
}]
|
|
51
|
-
}], ctorParameters: () => [{ type: i1.MatTimepickerBase }] });
|
|
52
|
-
/**
|
|
53
|
-
* Container that can be used to project a row of action buttons
|
|
54
|
-
* to the bottom of a timepicker.
|
|
55
|
-
*/
|
|
56
|
-
export class MatTimepickerActions {
|
|
57
|
-
constructor(_timepicker, _viewContainerRef) {
|
|
58
|
-
this._timepicker = _timepicker;
|
|
59
|
-
this._viewContainerRef = _viewContainerRef;
|
|
60
|
-
}
|
|
61
|
-
ngAfterViewInit() {
|
|
62
|
-
this._portal = new TemplatePortal(this._template, this._viewContainerRef);
|
|
63
|
-
this._timepicker.registerActions(this._portal);
|
|
64
|
-
}
|
|
65
|
-
ngOnDestroy() {
|
|
66
|
-
this._timepicker.removeActions(this._portal);
|
|
67
|
-
// Needs to be null checked since we initialize it in `ngAfterViewInit`.
|
|
68
|
-
if (this._portal && this._portal.isAttached) {
|
|
69
|
-
this._portal?.detach();
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerActions, deps: [{ token: i1.MatTimepickerBase }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
73
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MatTimepickerActions, isStandalone: true, selector: "mat-timepicker-actions", host: { classAttribute: "mat-timepicker-actions-container" }, viewQueries: [{ propertyName: "_template", first: true, predicate: TemplateRef, descendants: true }], ngImport: i0, template: `
|
|
74
|
-
<ng-template>
|
|
75
|
-
<div class="mat-timepicker-actions">
|
|
76
|
-
<ng-content></ng-content>
|
|
77
|
-
</div>
|
|
78
|
-
</ng-template>
|
|
79
|
-
`, isInline: true, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
80
|
-
}
|
|
81
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerActions, decorators: [{
|
|
82
|
-
type: Component,
|
|
83
|
-
args: [{ selector: 'mat-timepicker-actions', standalone: true, template: `
|
|
84
|
-
<ng-template>
|
|
85
|
-
<div class="mat-timepicker-actions">
|
|
86
|
-
<ng-content></ng-content>
|
|
87
|
-
</div>
|
|
88
|
-
</ng-template>
|
|
89
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
90
|
-
class: 'mat-timepicker-actions-container',
|
|
91
|
-
}, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"] }]
|
|
92
|
-
}], ctorParameters: () => [{ type: i1.MatTimepickerBase }, { type: i0.ViewContainerRef }], propDecorators: { _template: [{
|
|
93
|
-
type: ViewChild,
|
|
94
|
-
args: [TemplateRef]
|
|
95
|
-
}] } });
|
|
96
|
-
// Boilerplate for applying mixins to MatTimepickerDefaultActions.
|
|
97
|
-
const _MatTimepickerDefaultActions = mixinColor(class {
|
|
98
|
-
constructor(_elementRef) {
|
|
99
|
-
this._elementRef = _elementRef;
|
|
100
|
-
}
|
|
101
|
-
});
|
|
102
|
-
/**
|
|
103
|
-
* Default action buttons to the bottom of a timepicker.
|
|
104
|
-
*/
|
|
105
|
-
export class MatTimepickerDefaultActions extends _MatTimepickerDefaultActions {
|
|
106
|
-
constructor(elementRef, _timepicker, _intl) {
|
|
107
|
-
super(elementRef);
|
|
108
|
-
this._timepicker = _timepicker;
|
|
109
|
-
this._intl = _intl;
|
|
110
|
-
}
|
|
111
|
-
ngOnInit() {
|
|
112
|
-
this.color = this._timepicker.color;
|
|
113
|
-
}
|
|
114
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerDefaultActions, deps: [{ token: i0.ElementRef }, { token: i1.MatTimepickerBase }, { token: i2.MatTimepickerIntl }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
115
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.0.4", type: MatTimepickerDefaultActions, isStandalone: true, selector: "mat-timepicker-default-actions", host: { classAttribute: "mat-timepicker-actions-container" }, usesInheritance: true, ngImport: i0, template: `
|
|
116
|
-
<div class="mat-timepicker-actions">
|
|
117
|
-
<ng-content></ng-content>
|
|
118
|
-
<button [color]="color" mat-button matTimepickerCancel>{{ _intl.cancelButton }}</button>
|
|
119
|
-
<button [color]="color" mat-button matTimepickerApply>{{ _intl.okButton }}</button>
|
|
120
|
-
</div>
|
|
121
|
-
`, isInline: true, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"], dependencies: [{ kind: "ngmodule", type: MatButtonModule }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: MatTimepickerApply, selector: "[matTimepickerApply]" }, { kind: "directive", type: MatTimepickerCancel, selector: "[matTimepickerCancel]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
122
|
-
}
|
|
123
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.4", ngImport: i0, type: MatTimepickerDefaultActions, decorators: [{
|
|
124
|
-
type: Component,
|
|
125
|
-
args: [{ selector: 'mat-timepicker-default-actions', standalone: true, imports: [MatButtonModule, MatTimepickerApply, MatTimepickerCancel], template: `
|
|
126
|
-
<div class="mat-timepicker-actions">
|
|
127
|
-
<ng-content></ng-content>
|
|
128
|
-
<button [color]="color" mat-button matTimepickerCancel>{{ _intl.cancelButton }}</button>
|
|
129
|
-
<button [color]="color" mat-button matTimepickerApply>{{ _intl.okButton }}</button>
|
|
130
|
-
</div>
|
|
131
|
-
`, changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
132
|
-
class: 'mat-timepicker-actions-container',
|
|
133
|
-
}, styles: [".mat-timepicker-actions-container{margin-left:auto}.mat-timepicker-actions{display:flex;gap:.5rem;align-items:center;margin-top:.5rem}\n"] }]
|
|
134
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.MatTimepickerBase }, { type: i2.MatTimepickerIntl }] });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1hY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lcGlja2VyLWFjdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBQ3JELE9BQU8sRUFFTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFNBQVMsRUFJVCxXQUFXLEVBQ1gsU0FBUyxFQUVULGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7OztBQUszRCxnR0FBZ0c7QUFRaEcsTUFBTSxPQUFPLGtCQUFrQjtJQUM3QixZQUFvQixXQUFrRTtRQUFsRSxnQkFBVyxHQUFYLFdBQVcsQ0FBdUQ7SUFBRyxDQUFDO0lBRTFGLGVBQWU7UUFDYixJQUFJLENBQUMsV0FBVyxDQUFDLHNCQUFzQixFQUFFLENBQUM7UUFDMUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQU5VLGtCQUFrQjtrR0FBbEIsa0JBQWtCOzsyRkFBbEIsa0JBQWtCO2tCQVA5QixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLG1CQUFtQjtxQkFDL0I7aUJBQ0Y7O0FBVUQsK0VBQStFO0FBUS9FLE1BQU0sT0FBTyxtQkFBbUI7SUFDOUIsWUFBb0IsV0FBa0U7UUFBbEUsZ0JBQVcsR0FBWCxXQUFXLENBQXVEO0lBQUcsQ0FBQztJQUUxRixLQUFLO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUMzQixDQUFDOzhHQUxVLG1CQUFtQjtrR0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQVAvQixTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLFVBQVUsRUFBRSxJQUFJO29CQUNoQixJQUFJLEVBQUU7d0JBQ0osU0FBUyxFQUFFLFNBQVM7cUJBQ3JCO2lCQUNGOztBQVNEOzs7R0FHRztBQWtCSCxNQUFNLE9BQU8sb0JBQW9CO0lBSy9CLFlBQ1UsV0FBa0UsRUFDbEUsaUJBQW1DO1FBRG5DLGdCQUFXLEdBQVgsV0FBVyxDQUF1RDtRQUNsRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQWtCO0lBQzFDLENBQUM7SUFFSixlQUFlO1FBQ2IsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1FBQzFFLElBQUksQ0FBQyxXQUFXLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUU3Qyx3RUFBd0U7UUFDeEUsSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxNQUFNLEVBQUUsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQzs4R0F0QlUsb0JBQW9CO2tHQUFwQixvQkFBb0IsMkxBQ3BCLFdBQVcsZ0RBZFo7Ozs7OztHQU1UOzsyRkFPVSxvQkFBb0I7a0JBakJoQyxTQUFTOytCQUNFLHdCQUF3QixjQUN0QixJQUFJLFlBRU47Ozs7OztHQU1ULG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxrQ0FBa0M7cUJBQzFDO3FIQUd1QixTQUFTO3NCQUFoQyxTQUFTO3VCQUFDLFdBQVc7O0FBd0J4QixrRUFBa0U7QUFDbEUsTUFBTSw0QkFBNEIsR0FBRyxVQUFVLENBQzdDO0lBQ0UsWUFBbUIsV0FBdUI7UUFBdkIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7SUFBRyxDQUFDO0NBQy9DLENBQ0YsQ0FBQztBQUVGOztHQUVHO0FBbUJILE1BQU0sT0FBTywyQkFBNEIsU0FBUSw0QkFBNEI7SUFDM0UsWUFDRSxVQUFzQixFQUNkLFdBQWtFLEVBQ25FLEtBQXdCO1FBRS9CLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUhWLGdCQUFXLEdBQVgsV0FBVyxDQUF1RDtRQUNuRSxVQUFLLEdBQUwsS0FBSyxDQUFtQjtJQUdqQyxDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQzs4R0FYVSwyQkFBMkI7a0dBQTNCLDJCQUEyQiwrS0FiNUI7Ozs7OztHQU1ULGlOQVJTLGVBQWUsNE5BcEZkLGtCQUFrQixpRUFpQmxCLG1CQUFtQjs7MkZBa0ZuQiwyQkFBMkI7a0JBbEJ2QyxTQUFTOytCQUNFLGdDQUFnQyxjQUM5QixJQUFJLFdBQ1AsQ0FBQyxlQUFlLEVBQUUsa0JBQWtCLEVBQUUsbUJBQW1CLENBQUMsWUFFekQ7Ozs7OztHQU1ULG1CQUNnQix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJLFFBQy9CO3dCQUNKLEtBQUssRUFBRSxrQ0FBa0M7cUJBQzFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgVGVtcGxhdGVQb3J0YWwgfSBmcm9tICdAYW5ndWxhci9jZGsvcG9ydGFsJztcbmltcG9ydCB7XG4gIEFmdGVyVmlld0luaXQsXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIERpcmVjdGl2ZSxcbiAgRWxlbWVudFJlZixcbiAgT25EZXN0cm95LFxuICBPbkluaXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IG1peGluQ29sb3IgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2J1dHRvbic7XG5cbmltcG9ydCB7IE1hdFRpbWVwaWNrZXJCYXNlLCBNYXRUaW1lcGlja2VyQ29udHJvbCB9IGZyb20gJy4vdGltZXBpY2tlci1iYXNlJztcbmltcG9ydCB7IE1hdFRpbWVwaWNrZXJJbnRsIH0gZnJvbSAnLi90aW1lcGlja2VyLWludGwnO1xuXG4vKiogQnV0dG9uIHRoYXQgd2lsbCBjbG9zZSB0aGUgdGltZXBpY2tlciBhbmQgYXNzaWduIHRoZSBjdXJyZW50IHNlbGVjdGlvbiB0byB0aGUgZGF0YSBtb2RlbC4gKi9cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1ttYXRUaW1lcGlja2VyQXBwbHldJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaG9zdDoge1xuICAgICcoY2xpY2spJzogJ19hcHBseVNlbGVjdGlvbigpJyxcbiAgfSxcbn0pXG5leHBvcnQgY2xhc3MgTWF0VGltZXBpY2tlckFwcGx5IHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBfdGltZXBpY2tlcjogTWF0VGltZXBpY2tlckJhc2U8TWF0VGltZXBpY2tlckNvbnRyb2w8YW55PiwgdW5rbm93bj4pIHt9XG5cbiAgX2FwcGx5U2VsZWN0aW9uKCkge1xuICAgIHRoaXMuX3RpbWVwaWNrZXIuX2FwcGx5UGVuZGluZ1NlbGVjdGlvbigpO1xuICAgIHRoaXMuX3RpbWVwaWNrZXIuY2xvc2UoKTtcbiAgfVxufVxuXG4vKiogQnV0dG9uIHRoYXQgd2lsbCBjbG9zZSB0aGUgdGltZXBpY2tlciBhbmQgZGlzY2FyZCB0aGUgY3VycmVudCBzZWxlY3Rpb24uICovXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbbWF0VGltZXBpY2tlckNhbmNlbF0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBob3N0OiB7XG4gICAgJyhjbGljayknOiAnY2xvc2UoKScsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdFRpbWVwaWNrZXJDYW5jZWwge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF90aW1lcGlja2VyOiBNYXRUaW1lcGlja2VyQmFzZTxNYXRUaW1lcGlja2VyQ29udHJvbDxhbnk+LCB1bmtub3duPikge31cblxuICBjbG9zZSgpIHtcbiAgICB0aGlzLl90aW1lcGlja2VyLmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBDb250YWluZXIgdGhhdCBjYW4gYmUgdXNlZCB0byBwcm9qZWN0IGEgcm93IG9mIGFjdGlvbiBidXR0b25zXG4gKiB0byB0aGUgYm90dG9tIG9mIGEgdGltZXBpY2tlci5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0LXRpbWVwaWNrZXItYWN0aW9ucycsXG4gIHN0YW5kYWxvbmU6IHRydWUsXG4gIHN0eWxlVXJsczogWyd0aW1lcGlja2VyLWFjdGlvbnMuc2NzcyddLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy10ZW1wbGF0ZT5cbiAgICAgIDxkaXYgY2xhc3M9XCJtYXQtdGltZXBpY2tlci1hY3Rpb25zXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvZGl2PlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtdGltZXBpY2tlci1hY3Rpb25zLWNvbnRhaW5lcicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdFRpbWVwaWNrZXJBY3Rpb25zIGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZChUZW1wbGF0ZVJlZikgX3RlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPjtcblxuICBwcml2YXRlIF9wb3J0YWw6IFRlbXBsYXRlUG9ydGFsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgX3RpbWVwaWNrZXI6IE1hdFRpbWVwaWNrZXJCYXNlPE1hdFRpbWVwaWNrZXJDb250cm9sPGFueT4sIHVua25vd24+LFxuICAgIHByaXZhdGUgX3ZpZXdDb250YWluZXJSZWY6IFZpZXdDb250YWluZXJSZWYsXG4gICkge31cblxuICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgdGhpcy5fcG9ydGFsID0gbmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMuX3RlbXBsYXRlLCB0aGlzLl92aWV3Q29udGFpbmVyUmVmKTtcbiAgICB0aGlzLl90aW1lcGlja2VyLnJlZ2lzdGVyQWN0aW9ucyh0aGlzLl9wb3J0YWwpO1xuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5fdGltZXBpY2tlci5yZW1vdmVBY3Rpb25zKHRoaXMuX3BvcnRhbCk7XG5cbiAgICAvLyBOZWVkcyB0byBiZSBudWxsIGNoZWNrZWQgc2luY2Ugd2UgaW5pdGlhbGl6ZSBpdCBpbiBgbmdBZnRlclZpZXdJbml0YC5cbiAgICBpZiAodGhpcy5fcG9ydGFsICYmIHRoaXMuX3BvcnRhbC5pc0F0dGFjaGVkKSB7XG4gICAgICB0aGlzLl9wb3J0YWw/LmRldGFjaCgpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCb2lsZXJwbGF0ZSBmb3IgYXBwbHlpbmcgbWl4aW5zIHRvIE1hdFRpbWVwaWNrZXJEZWZhdWx0QWN0aW9ucy5cbmNvbnN0IF9NYXRUaW1lcGlja2VyRGVmYXVsdEFjdGlvbnMgPSBtaXhpbkNvbG9yKFxuICBjbGFzcyB7XG4gICAgY29uc3RydWN0b3IocHVibGljIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxuICB9LFxuKTtcblxuLyoqXG4gKiBEZWZhdWx0IGFjdGlvbiBidXR0b25zIHRvIHRoZSBib3R0b20gb2YgYSB0aW1lcGlja2VyLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdtYXQtdGltZXBpY2tlci1kZWZhdWx0LWFjdGlvbnMnLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICBpbXBvcnRzOiBbTWF0QnV0dG9uTW9kdWxlLCBNYXRUaW1lcGlja2VyQXBwbHksIE1hdFRpbWVwaWNrZXJDYW5jZWxdLFxuICBzdHlsZVVybHM6IFsndGltZXBpY2tlci1hY3Rpb25zLnNjc3MnXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwibWF0LXRpbWVwaWNrZXItYWN0aW9uc1wiPlxuICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuICAgICAgPGJ1dHRvbiBbY29sb3JdPVwiY29sb3JcIiBtYXQtYnV0dG9uIG1hdFRpbWVwaWNrZXJDYW5jZWw+e3sgX2ludGwuY2FuY2VsQnV0dG9uIH19PC9idXR0b24+XG4gICAgICA8YnV0dG9uIFtjb2xvcl09XCJjb2xvclwiIG1hdC1idXR0b24gbWF0VGltZXBpY2tlckFwcGx5Pnt7IF9pbnRsLm9rQnV0dG9uIH19PC9idXR0b24+XG4gICAgPC9kaXY+XG4gIGAsXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBob3N0OiB7XG4gICAgY2xhc3M6ICdtYXQtdGltZXBpY2tlci1hY3Rpb25zLWNvbnRhaW5lcicsXG4gIH0sXG59KVxuZXhwb3J0IGNsYXNzIE1hdFRpbWVwaWNrZXJEZWZhdWx0QWN0aW9ucyBleHRlbmRzIF9NYXRUaW1lcGlja2VyRGVmYXVsdEFjdGlvbnMgaW1wbGVtZW50cyBPbkluaXQge1xuICBjb25zdHJ1Y3RvcihcbiAgICBlbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIHByaXZhdGUgX3RpbWVwaWNrZXI6IE1hdFRpbWVwaWNrZXJCYXNlPE1hdFRpbWVwaWNrZXJDb250cm9sPGFueT4sIHVua25vd24+LFxuICAgIHB1YmxpYyBfaW50bDogTWF0VGltZXBpY2tlckludGwsXG4gICkge1xuICAgIHN1cGVyKGVsZW1lbnRSZWYpO1xuICB9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5jb2xvciA9IHRoaXMuX3RpbWVwaWNrZXIuY29sb3I7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import { animate, state, style, transition, trigger, keyframes, } from '@angular/animations';
|
|
2
|
-
/** Animations used by the timepicker. */
|
|
3
|
-
export const matTimepickerAnimations = {
|
|
4
|
-
/** Transforms the height of the timepicker's. */
|
|
5
|
-
transformPanel: trigger('transformPanel', [
|
|
6
|
-
transition('void => enter-dropdown', animate('120ms cubic-bezier(0, 0, 0.2, 1)', keyframes([
|
|
7
|
-
style({ opacity: 0, transform: 'scale(1, 0.8)' }),
|
|
8
|
-
style({ opacity: 1, transform: 'scale(1, 1)' }),
|
|
9
|
-
]))),
|
|
10
|
-
transition('void => enter-dialog', animate('150ms cubic-bezier(0, 0, 0.2, 1)', keyframes([
|
|
11
|
-
style({ opacity: 0, transform: 'scale(0.7)' }),
|
|
12
|
-
style({ transform: 'none', opacity: 1 }),
|
|
13
|
-
]))),
|
|
14
|
-
transition('* => void', animate('100ms linear', style({ opacity: 0 }))),
|
|
15
|
-
]),
|
|
16
|
-
/** Fades in the content of the timepicker. */
|
|
17
|
-
fadeInTimepicker: trigger('fadeInTimepicker', [
|
|
18
|
-
state('void', style({ opacity: 0 })),
|
|
19
|
-
state('enter', style({ opacity: 1 })),
|
|
20
|
-
]),
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZXBpY2tlci1hbmltYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbWF0LXRpbWVwaWNrZXIvc3JjL2xpYi90aW1lcGlja2VyLWFuaW1hdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLE9BQU8sRUFDUCxLQUFLLEVBQ0wsS0FBSyxFQUNMLFVBQVUsRUFDVixPQUFPLEVBQ1AsU0FBUyxHQUVWLE1BQU0scUJBQXFCLENBQUM7QUFFN0IseUNBQXlDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUdoQztJQUNGLGlEQUFpRDtJQUNqRCxjQUFjLEVBQUUsT0FBTyxDQUFDLGdCQUFnQixFQUFFO1FBQ3hDLFVBQVUsQ0FDUix3QkFBd0IsRUFDeEIsT0FBTyxDQUNMLGtDQUFrQyxFQUNsQyxTQUFTLENBQUM7WUFDUixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQztZQUNqRCxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsQ0FBQztTQUNoRCxDQUFDLENBQ0gsQ0FDRjtRQUNELFVBQVUsQ0FDUixzQkFBc0IsRUFDdEIsT0FBTyxDQUNMLGtDQUFrQyxFQUNsQyxTQUFTLENBQUM7WUFDUixLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsQ0FBQztZQUM5QyxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztTQUN6QyxDQUFDLENBQ0gsQ0FDRjtRQUNELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLGNBQWMsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3hFLENBQUM7SUFFRiw4Q0FBOEM7SUFDOUMsZ0JBQWdCLEVBQUUsT0FBTyxDQUFDLGtCQUFrQixFQUFFO1FBQzVDLEtBQUssQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDcEMsS0FBSyxDQUFDLE9BQU8sRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUN0QyxDQUFDO0NBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIGFuaW1hdGUsXG4gIHN0YXRlLFxuICBzdHlsZSxcbiAgdHJhbnNpdGlvbixcbiAgdHJpZ2dlcixcbiAga2V5ZnJhbWVzLFxuICBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGEsXG59IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xuXG4vKiogQW5pbWF0aW9ucyB1c2VkIGJ5IHRoZSB0aW1lcGlja2VyLiAqL1xuZXhwb3J0IGNvbnN0IG1hdFRpbWVwaWNrZXJBbmltYXRpb25zOiB7XG4gIHJlYWRvbmx5IHRyYW5zZm9ybVBhbmVsOiBBbmltYXRpb25UcmlnZ2VyTWV0YWRhdGE7XG4gIHJlYWRvbmx5IGZhZGVJblRpbWVwaWNrZXI6IEFuaW1hdGlvblRyaWdnZXJNZXRhZGF0YTtcbn0gPSB7XG4gIC8qKiBUcmFuc2Zvcm1zIHRoZSBoZWlnaHQgb2YgdGhlIHRpbWVwaWNrZXIncy4gKi9cbiAgdHJhbnNmb3JtUGFuZWw6IHRyaWdnZXIoJ3RyYW5zZm9ybVBhbmVsJywgW1xuICAgIHRyYW5zaXRpb24oXG4gICAgICAndm9pZCA9PiBlbnRlci1kcm9wZG93bicsXG4gICAgICBhbmltYXRlKFxuICAgICAgICAnMTIwbXMgY3ViaWMtYmV6aWVyKDAsIDAsIDAuMiwgMSknLFxuICAgICAgICBrZXlmcmFtZXMoW1xuICAgICAgICAgIHN0eWxlKHsgb3BhY2l0eTogMCwgdHJhbnNmb3JtOiAnc2NhbGUoMSwgMC44KScgfSksXG4gICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAxLCB0cmFuc2Zvcm06ICdzY2FsZSgxLCAxKScgfSksXG4gICAgICAgIF0pXG4gICAgICApXG4gICAgKSxcbiAgICB0cmFuc2l0aW9uKFxuICAgICAgJ3ZvaWQgPT4gZW50ZXItZGlhbG9nJyxcbiAgICAgIGFuaW1hdGUoXG4gICAgICAgICcxNTBtcyBjdWJpYy1iZXppZXIoMCwgMCwgMC4yLCAxKScsXG4gICAgICAgIGtleWZyYW1lcyhbXG4gICAgICAgICAgc3R5bGUoeyBvcGFjaXR5OiAwLCB0cmFuc2Zvcm06ICdzY2FsZSgwLjcpJyB9KSxcbiAgICAgICAgICBzdHlsZSh7IHRyYW5zZm9ybTogJ25vbmUnLCBvcGFjaXR5OiAxIH0pLFxuICAgICAgICBdKVxuICAgICAgKVxuICAgICksXG4gICAgdHJhbnNpdGlvbignKiA9PiB2b2lkJywgYW5pbWF0ZSgnMTAwbXMgbGluZWFyJywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKSksXG4gIF0pLFxuXG4gIC8qKiBGYWRlcyBpbiB0aGUgY29udGVudCBvZiB0aGUgdGltZXBpY2tlci4gKi9cbiAgZmFkZUluVGltZXBpY2tlcjogdHJpZ2dlcignZmFkZUluVGltZXBpY2tlcicsIFtcbiAgICBzdGF0ZSgndm9pZCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSksXG4gICAgc3RhdGUoJ2VudGVyJywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKSxcbiAgXSksXG59O1xuIl19
|