@acorex/components 17.0.14 → 17.0.15
Sign up to get free protection for your applications and to get access to all the features.
- package/audio-wave/lib/audio-wave.component.d.ts +7 -2
- package/audio-wave/lib/audio-wave.module.d.ts +2 -1
- package/audio-wave/lib/interfaces/audio-wave.interface.d.ts +2 -1
- package/chat/lib/chat-messages/chat-messages-voice/chat-message-voice.component.d.ts +7 -1
- package/chat/lib/chat.module.d.ts +2 -1
- package/common/lib/components/base-component.class.d.ts +0 -4
- package/esm2022/audio-wave/lib/audio-wave.component.mjs +53 -27
- package/esm2022/audio-wave/lib/audio-wave.module.mjs +5 -4
- package/esm2022/audio-wave/lib/interfaces/audio-wave.interface.mjs +1 -1
- package/esm2022/button/lib/button.component.mjs +3 -3
- package/esm2022/chat/lib/chat-message/chat-message.component.mjs +12 -6
- package/esm2022/chat/lib/chat-messages/chat-messages-voice/chat-message-voice.component.mjs +46 -9
- package/esm2022/chat/lib/chat.module.mjs +7 -3
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +8 -12
- package/esm2022/common/lib/components/base-component.class.mjs +11 -14
- package/esm2022/dialog/lib/dialog.service.mjs +2 -2
- package/esm2022/list/lib/list.component.mjs +3 -3
- package/esm2022/select-box/lib/select-box.component.mjs +3 -3
- package/esm2022/side-menu/lib/side-menu.component.mjs +2 -2
- package/fesm2022/acorex-components-audio-wave.mjs +57 -30
- package/fesm2022/acorex-components-audio-wave.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +2 -2
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-chat.mjs +60 -13
- package/fesm2022/acorex-components-chat.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +4 -8
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +10 -13
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-dialog.mjs +1 -1
- package/fesm2022/acorex-components-dialog.mjs.map +1 -1
- package/fesm2022/acorex-components-list.mjs +2 -2
- package/fesm2022/acorex-components-list.mjs.map +1 -1
- package/fesm2022/acorex-components-select-box.mjs +2 -2
- package/fesm2022/acorex-components-select-box.mjs.map +1 -1
- package/fesm2022/acorex-components-side-menu.mjs.map +1 -1
- package/package.json +13 -13
@@ -1,4 +1,4 @@
|
|
1
|
-
import { ElementRef, InputSignal } from '@angular/core';
|
1
|
+
import { ElementRef, InputSignal, WritableSignal } from '@angular/core';
|
2
2
|
import WaveSurfer from 'wavesurfer.js';
|
3
3
|
import { AXAudioWaveChangeEvent, AXWaveConfig } from './interfaces/audio-wave.interface';
|
4
4
|
import * as i0 from "@angular/core";
|
@@ -6,14 +6,17 @@ export declare class AXAudioWaveComponent {
|
|
6
6
|
protected div: ElementRef<HTMLDivElement>;
|
7
7
|
config: InputSignal<AXWaveConfig>;
|
8
8
|
onStatusChanged: import("@angular/core").OutputEmitterRef<AXAudioWaveChangeEvent>;
|
9
|
-
|
9
|
+
audioState: WritableSignal<'playing' | 'paused' | 'loading' | 'ready' | 'error'>;
|
10
|
+
errorMessage: WritableSignal<string>;
|
10
11
|
protected audio: WaveSurfer;
|
11
12
|
private ngZone;
|
12
13
|
constructor();
|
14
|
+
load(url?: string): void;
|
13
15
|
play(): Promise<any>;
|
14
16
|
pause(): void;
|
15
17
|
getDuration(): number;
|
16
18
|
getMediaElement(): HTMLMediaElement;
|
19
|
+
setRate(rate: number): void;
|
17
20
|
protected bindEvents(): void;
|
18
21
|
/** When audio starts loading */
|
19
22
|
protected handleLoad(): void;
|
@@ -47,6 +50,8 @@ export declare class AXAudioWaveComponent {
|
|
47
50
|
protected handleZoom(): void;
|
48
51
|
/** Just before the waveform is destroyed so you can clean up your events */
|
49
52
|
protected handleDestroy(): void;
|
53
|
+
/** Just before the waveform is destroyed so you can clean up your events */
|
54
|
+
protected handleError(): void;
|
50
55
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXAudioWaveComponent, never>;
|
51
56
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXAudioWaveComponent, "ax-audio-wave", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "onStatusChanged": "onStatusChanged"; }, never, never, false, never>;
|
52
57
|
}
|
@@ -4,8 +4,9 @@ import * as i2 from "@angular/common";
|
|
4
4
|
import * as i3 from "@acorex/components/button";
|
5
5
|
import * as i4 from "@acorex/components/decorators";
|
6
6
|
import * as i5 from "@acorex/components/skeleton";
|
7
|
+
import * as i6 from "@acorex/core/translation";
|
7
8
|
export declare class AXAudioWaveModule {
|
8
9
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXAudioWaveModule, never>;
|
9
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXAudioWaveModule, [typeof i1.AXAudioWaveComponent], [typeof i2.CommonModule, typeof i3.AXButtonModule, typeof i4.AXDecoratorModule, typeof i5.AXSkeletonModule], [typeof i1.AXAudioWaveComponent]>;
|
10
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXAudioWaveModule, [typeof i1.AXAudioWaveComponent], [typeof i2.CommonModule, typeof i3.AXButtonModule, typeof i4.AXDecoratorModule, typeof i5.AXSkeletonModule, typeof i6.AXTranslationModule], [typeof i1.AXAudioWaveComponent]>;
|
10
11
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXAudioWaveModule>;
|
11
12
|
}
|
@@ -8,8 +8,9 @@ export interface AXWaveConfig {
|
|
8
8
|
barGap?: number;
|
9
9
|
barRadius?: number;
|
10
10
|
height?: number;
|
11
|
+
audioRate?: number;
|
11
12
|
}
|
12
13
|
export interface AXAudioWaveChangeEvent extends AXEvent {
|
13
|
-
status: 'load' | 'loading' | 'decode' | 'ready' | 'redrawcomplete' | 'play' | 'pause' | 'finish' | 'timeupdate' | 'seeking' | 'interaction' | 'click' | 'drag' | 'scroll' | 'zoom' | 'destroy';
|
14
|
+
status: 'load' | 'loading' | 'decode' | 'ready' | 'redrawcomplete' | 'play' | 'pause' | 'finish' | 'timeupdate' | 'seeking' | 'interaction' | 'click' | 'drag' | 'scroll' | 'zoom' | 'destroy' | 'error';
|
14
15
|
data: null | any;
|
15
16
|
}
|
@@ -5,7 +5,9 @@ import * as i0 from "@angular/core";
|
|
5
5
|
export declare class AXChatAudioMessageComponent extends AXChatMessageBaseComponent<string> {
|
6
6
|
audio: AXAudioWaveComponent;
|
7
7
|
config: AXWaveConfig;
|
8
|
-
audioState: WritableSignal<'playing' | 'paused' | 'loading' | 'ready'>;
|
8
|
+
audioState: WritableSignal<'playing' | 'paused' | 'loading' | 'ready' | 'error'>;
|
9
|
+
selectedRate: WritableSignal<number>;
|
10
|
+
selectedRateIndex: WritableSignal<number>;
|
9
11
|
protected audioProgress: WritableSignal<number>;
|
10
12
|
protected timeLeft: WritableSignal<number>;
|
11
13
|
protected currentTime: WritableSignal<number>;
|
@@ -14,6 +16,10 @@ export declare class AXChatAudioMessageComponent extends AXChatMessageBaseCompon
|
|
14
16
|
handlePauseClick(): void;
|
15
17
|
handlePlayClick(): void;
|
16
18
|
handleOnStatusChanged(e: AXAudioWaveChangeEvent): void;
|
19
|
+
handleLoadingProgress(): void;
|
20
|
+
handleCancelLoading(): void;
|
21
|
+
handleReloadClick(): void;
|
22
|
+
handleRateClick(): void;
|
17
23
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXChatAudioMessageComponent, never>;
|
18
24
|
static ɵcmp: i0.ɵɵComponentDeclaration<AXChatAudioMessageComponent, "ax-chat-message-audio", never, { "message": { "alias": "message"; "required": false; }; }, {}, never, never, false, never>;
|
19
25
|
}
|
@@ -18,6 +18,7 @@ import * as i14 from "@acorex/components/audio-wave";
|
|
18
18
|
import * as i15 from "@acorex/components/circular-progress";
|
19
19
|
import * as i16 from "@acorex/core/date-time";
|
20
20
|
import * as i17 from "@angular/cdk/portal";
|
21
|
+
import * as i18 from "@acorex/components/loading";
|
21
22
|
export interface AXChatModuleConfig {
|
22
23
|
types: AXChatMessageType[];
|
23
24
|
}
|
@@ -29,6 +30,6 @@ export declare class AXChatModule {
|
|
29
30
|
*/
|
30
31
|
constructor(instances: any[]);
|
31
32
|
static ɵfac: i0.ɵɵFactoryDeclaration<AXChatModule, [{ optional: true; }]>;
|
32
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<AXChatModule, [typeof i1.AXChatViewComponent, typeof i2.AXChatInputComponent, typeof i3.AXChatMessageComponent, typeof i4.AXChatTextMessageComponent, typeof i5.AXChatAudioMessageComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i6.AsyncPipe, typeof i8.AXRippleDirective, typeof i9.AXButtonModule, typeof i10.AXDecoratorModule, typeof i11.AXTranslationModule, typeof i12.AXDropdownModule, typeof i13.AXFormatModule, typeof i14.AXAudioWaveModule, typeof i15.AXCircularProgressModule, typeof i16.AXDateTimeModule, typeof i17.CdkPortalOutlet], [typeof i1.AXChatViewComponent, typeof i2.AXChatInputComponent, typeof i3.AXChatMessageComponent, typeof i4.AXChatTextMessageComponent, typeof i5.AXChatAudioMessageComponent]>;
|
33
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<AXChatModule, [typeof i1.AXChatViewComponent, typeof i2.AXChatInputComponent, typeof i3.AXChatMessageComponent, typeof i4.AXChatTextMessageComponent, typeof i5.AXChatAudioMessageComponent], [typeof i6.CommonModule, typeof i7.FormsModule, typeof i6.AsyncPipe, typeof i8.AXRippleDirective, typeof i9.AXButtonModule, typeof i10.AXDecoratorModule, typeof i11.AXTranslationModule, typeof i12.AXDropdownModule, typeof i13.AXFormatModule, typeof i14.AXAudioWaveModule, typeof i15.AXCircularProgressModule, typeof i16.AXDateTimeModule, typeof i17.CdkPortalOutlet, typeof i18.AXLoadingModule], [typeof i1.AXChatViewComponent, typeof i2.AXChatInputComponent, typeof i3.AXChatMessageComponent, typeof i4.AXChatTextMessageComponent, typeof i5.AXChatAudioMessageComponent]>;
|
33
34
|
static ɵinj: i0.ɵɵInjectorDeclaration<AXChatModule>;
|
34
35
|
}
|
@@ -26,10 +26,6 @@ export declare abstract class MXBaseComponent {
|
|
26
26
|
protected getViewContainer(): ViewContainerRef;
|
27
27
|
protected internalOptionChanging(option: MXComponentOptionChanging): any;
|
28
28
|
protected internalOptionChanged(option: MXComponentOptionChanged): void;
|
29
|
-
/**
|
30
|
-
*
|
31
|
-
*/
|
32
|
-
constructor();
|
33
29
|
protected ngOnInit(): void;
|
34
30
|
onOptionChanged: EventEmitter<AXOptionChangedEvent>;
|
35
31
|
setOption<T = any>(option: MXComponentSetOption<T>): void;
|
@@ -1,11 +1,14 @@
|
|
1
1
|
import { Component, ElementRef, NgZone, ViewChild, ViewEncapsulation, afterNextRender, inject, input, output, signal, } from '@angular/core';
|
2
2
|
import WaveSurfer from 'wavesurfer.js';
|
3
3
|
import * as i0 from "@angular/core";
|
4
|
+
import * as i1 from "@angular/common";
|
5
|
+
import * as i2 from "@acorex/core/translation";
|
4
6
|
export class AXAudioWaveComponent {
|
5
7
|
constructor() {
|
6
8
|
this.config = input();
|
7
9
|
this.onStatusChanged = output();
|
8
|
-
this.
|
10
|
+
this.audioState = signal('paused');
|
11
|
+
this.errorMessage = signal('');
|
9
12
|
this.ngZone = inject(NgZone);
|
10
13
|
afterNextRender(() => {
|
11
14
|
const primary500 = getComputedStyle(document.body).getPropertyValue('--ax-color-primary-200');
|
@@ -17,21 +20,31 @@ export class AXAudioWaveComponent {
|
|
17
20
|
url: this.config()?.url || '',
|
18
21
|
barWidth: this.config()?.barWidth || 2,
|
19
22
|
barRadius: this.config()?.barRadius || 2,
|
20
|
-
barGap: this.config()?.barGap ||
|
23
|
+
barGap: this.config()?.barGap || 2,
|
21
24
|
height: this.config()?.height || 18,
|
22
25
|
});
|
23
|
-
this.
|
24
|
-
this.audio
|
25
|
-
this.
|
26
|
+
this.load();
|
27
|
+
this.audio?.on('loading', () => {
|
28
|
+
this.audioState.set('loading');
|
29
|
+
});
|
30
|
+
this.audio?.on('ready', () => {
|
31
|
+
this.audioState.set('ready');
|
32
|
+
});
|
33
|
+
this.audio?.on('error', (e) => {
|
34
|
+
this.errorMessage.set(e.message);
|
35
|
+
this.audioState.set('error');
|
26
36
|
});
|
27
37
|
this.bindEvents();
|
28
38
|
});
|
29
39
|
}
|
40
|
+
load(url = this.config().url) {
|
41
|
+
this.audio.load(url);
|
42
|
+
}
|
30
43
|
play() {
|
31
|
-
return this.audio
|
44
|
+
return this.audio?.play();
|
32
45
|
}
|
33
46
|
pause() {
|
34
|
-
this.audio
|
47
|
+
this.audio?.pause();
|
35
48
|
}
|
36
49
|
getDuration() {
|
37
50
|
return this.audio?.getDuration() ?? 0;
|
@@ -39,7 +52,11 @@ export class AXAudioWaveComponent {
|
|
39
52
|
getMediaElement() {
|
40
53
|
return this.audio?.getMediaElement();
|
41
54
|
}
|
55
|
+
setRate(rate) {
|
56
|
+
this.audio.setPlaybackRate(rate);
|
57
|
+
}
|
42
58
|
bindEvents() {
|
59
|
+
console.log('bind Events');
|
43
60
|
this.handleLoad();
|
44
61
|
this.handleLoading();
|
45
62
|
this.handleDecode();
|
@@ -56,10 +73,11 @@ export class AXAudioWaveComponent {
|
|
56
73
|
this.handleScroll();
|
57
74
|
this.handleZoom();
|
58
75
|
this.handleDestroy();
|
76
|
+
this.handleError();
|
59
77
|
}
|
60
78
|
/** When audio starts loading */
|
61
79
|
handleLoad() {
|
62
|
-
this.audio
|
80
|
+
this.audio?.on('load', (url) => {
|
63
81
|
this.ngZone.run(() => {
|
64
82
|
this.onStatusChanged.emit({ component: this, data: { url: url }, status: 'load', isUserInteraction: false });
|
65
83
|
});
|
@@ -67,7 +85,7 @@ export class AXAudioWaveComponent {
|
|
67
85
|
}
|
68
86
|
/** During audio loading */
|
69
87
|
handleLoading() {
|
70
|
-
this.audio
|
88
|
+
this.audio?.on('loading', (percent) => {
|
71
89
|
this.ngZone.run(() => {
|
72
90
|
this.onStatusChanged.emit({ component: this, data: { percent: percent }, status: 'loading', isUserInteraction: false });
|
73
91
|
});
|
@@ -75,7 +93,7 @@ export class AXAudioWaveComponent {
|
|
75
93
|
}
|
76
94
|
/** When the audio has been decoded */
|
77
95
|
handleDecode() {
|
78
|
-
this.audio
|
96
|
+
this.audio?.on('decode', (duration) => {
|
79
97
|
this.ngZone.run(() => {
|
80
98
|
this.onStatusChanged.emit({ component: this, data: { duration: duration }, status: 'decode', isUserInteraction: false });
|
81
99
|
});
|
@@ -83,7 +101,7 @@ export class AXAudioWaveComponent {
|
|
83
101
|
}
|
84
102
|
/** When the audio is both decoded and can play */
|
85
103
|
handleReady() {
|
86
|
-
this.audio
|
104
|
+
this.audio?.on('ready', (duration) => {
|
87
105
|
this.ngZone.run(() => {
|
88
106
|
this.onStatusChanged.emit({ component: this, data: { duration: duration }, status: 'ready', isUserInteraction: false });
|
89
107
|
});
|
@@ -91,7 +109,7 @@ export class AXAudioWaveComponent {
|
|
91
109
|
}
|
92
110
|
/** When all audio channel chunks of the waveform have drawn */
|
93
111
|
handleRedRawComplete() {
|
94
|
-
this.audio
|
112
|
+
this.audio?.on('redrawcomplete', () => {
|
95
113
|
this.ngZone.run(() => {
|
96
114
|
this.onStatusChanged.emit({ component: this, data: null, status: 'redrawcomplete', isUserInteraction: false });
|
97
115
|
});
|
@@ -99,7 +117,7 @@ export class AXAudioWaveComponent {
|
|
99
117
|
}
|
100
118
|
/** When the audio starts playing */
|
101
119
|
handlePlay() {
|
102
|
-
this.audio
|
120
|
+
this.audio?.on('play', () => {
|
103
121
|
this.ngZone.run(() => {
|
104
122
|
this.onStatusChanged.emit({ component: this, data: null, status: 'play', isUserInteraction: false });
|
105
123
|
});
|
@@ -107,7 +125,7 @@ export class AXAudioWaveComponent {
|
|
107
125
|
}
|
108
126
|
/** When the audio pauses */
|
109
127
|
handlePause() {
|
110
|
-
this.audio
|
128
|
+
this.audio?.on('pause', () => {
|
111
129
|
this.ngZone.run(() => {
|
112
130
|
this.onStatusChanged.emit({ component: this, data: null, status: 'pause', isUserInteraction: false });
|
113
131
|
});
|
@@ -115,7 +133,7 @@ export class AXAudioWaveComponent {
|
|
115
133
|
}
|
116
134
|
/** When the audio finishes playing */
|
117
135
|
handleFinish() {
|
118
|
-
this.audio
|
136
|
+
this.audio?.on('finish', () => {
|
119
137
|
this.ngZone.run(() => {
|
120
138
|
this.onStatusChanged.emit({ component: this, data: null, status: 'finish', isUserInteraction: false });
|
121
139
|
});
|
@@ -123,7 +141,7 @@ export class AXAudioWaveComponent {
|
|
123
141
|
}
|
124
142
|
/** On audio position change, fires continuously during playback */
|
125
143
|
handleTimeUpdate() {
|
126
|
-
this.audio
|
144
|
+
this.audio?.on('timeupdate', (currentTime) => {
|
127
145
|
this.ngZone.run(() => {
|
128
146
|
this.onStatusChanged.emit({ component: this, data: { currentTime: currentTime }, status: 'timeupdate', isUserInteraction: false });
|
129
147
|
});
|
@@ -131,7 +149,7 @@ export class AXAudioWaveComponent {
|
|
131
149
|
}
|
132
150
|
/** When the user seeks to a new position */
|
133
151
|
handleSeeking() {
|
134
|
-
this.audio
|
152
|
+
this.audio?.on('seeking', (currentTime) => {
|
135
153
|
this.ngZone.run(() => {
|
136
154
|
this.onStatusChanged.emit({ component: this, data: { currentTime: currentTime }, status: 'seeking', isUserInteraction: false });
|
137
155
|
});
|
@@ -139,7 +157,7 @@ export class AXAudioWaveComponent {
|
|
139
157
|
}
|
140
158
|
/** When the user interacts with the waveform (i.g. clicks or drags on it) */
|
141
159
|
handleInteraction() {
|
142
|
-
this.audio
|
160
|
+
this.audio?.on('interaction', (newTime) => {
|
143
161
|
this.ngZone.run(() => {
|
144
162
|
this.onStatusChanged.emit({ component: this, data: { newTime: newTime }, status: 'interaction', isUserInteraction: false });
|
145
163
|
});
|
@@ -147,7 +165,7 @@ export class AXAudioWaveComponent {
|
|
147
165
|
}
|
148
166
|
/** When the user clicks on the waveform */
|
149
167
|
handleClick() {
|
150
|
-
this.audio
|
168
|
+
this.audio?.on('click', (relativeX) => {
|
151
169
|
this.ngZone.run(() => {
|
152
170
|
this.onStatusChanged.emit({ component: this, data: { relativeX: relativeX }, status: 'click', isUserInteraction: false });
|
153
171
|
});
|
@@ -155,7 +173,7 @@ export class AXAudioWaveComponent {
|
|
155
173
|
}
|
156
174
|
/** When the user drags the cursor */
|
157
175
|
handleDrag() {
|
158
|
-
this.audio
|
176
|
+
this.audio?.on('drag', (relativeX) => {
|
159
177
|
this.ngZone.run(() => {
|
160
178
|
this.onStatusChanged.emit({ component: this, data: { relativeX: relativeX }, status: 'drag', isUserInteraction: false });
|
161
179
|
});
|
@@ -163,7 +181,7 @@ export class AXAudioWaveComponent {
|
|
163
181
|
}
|
164
182
|
/** When the waveform is scrolled (panned) */
|
165
183
|
handleScroll() {
|
166
|
-
this.audio
|
184
|
+
this.audio?.on('scroll', (visibleStartTime, visibleEndTime) => {
|
167
185
|
this.ngZone.run(() => {
|
168
186
|
this.onStatusChanged.emit({
|
169
187
|
component: this,
|
@@ -176,7 +194,7 @@ export class AXAudioWaveComponent {
|
|
176
194
|
}
|
177
195
|
/** When the zoom level changes */
|
178
196
|
handleZoom() {
|
179
|
-
this.audio
|
197
|
+
this.audio?.on('zoom', (minPxPerSec) => {
|
180
198
|
this.ngZone.run(() => {
|
181
199
|
this.onStatusChanged.emit({ component: this, data: { minPxPerSec: minPxPerSec }, status: 'zoom', isUserInteraction: false });
|
182
200
|
});
|
@@ -184,20 +202,28 @@ export class AXAudioWaveComponent {
|
|
184
202
|
}
|
185
203
|
/** Just before the waveform is destroyed so you can clean up your events */
|
186
204
|
handleDestroy() {
|
187
|
-
this.audio
|
205
|
+
this.audio?.on('destroy', () => {
|
188
206
|
this.ngZone.run(() => {
|
189
207
|
this.onStatusChanged.emit({ component: this, data: null, status: 'destroy', isUserInteraction: false });
|
190
208
|
});
|
191
209
|
});
|
192
210
|
}
|
211
|
+
/** Just before the waveform is destroyed so you can clean up your events */
|
212
|
+
handleError() {
|
213
|
+
this.audio?.on('error', (e) => {
|
214
|
+
this.ngZone.run(() => {
|
215
|
+
this.onStatusChanged.emit({ component: this, data: e, status: 'error', isUserInteraction: false });
|
216
|
+
});
|
217
|
+
});
|
218
|
+
}
|
193
219
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
194
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onStatusChanged: "onStatusChanged" }, viewQueries: [{ propertyName: "div", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "@
|
220
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.2", type: AXAudioWaveComponent, selector: "ax-audio-wave", inputs: { config: { classPropertyName: "config", publicName: "config", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { onStatusChanged: "onStatusChanged" }, viewQueries: [{ propertyName: "div", first: true, predicate: ["d"], descendants: true }], ngImport: i0, template: "<div class=\"ax-audio-wave\" #d [ngStyle]=\"{'display': audioState() === 'ready' ? 'block' : 'none' }\"></div>\n\n@switch (audioState()) {\n@case ('loading') {\n<div class=\"ax-audio-skeleton\"></div>\n}\n@case ('error') {\n<div class=\"ax-wave-message\">\n {{'error.message' | translate:{ params:{ message: errorMessage() } } | async }}\n</div>\n}\n}", styles: ["ax-audio-wave{display:block;width:100%;flex:1;--ax-audio-skeleton-bg: rgba(var(--ax-color-primary-200))}ax-audio-wave .ax-audio-skeleton{position:relative;display:block;overflow:hidden;background-color:var(--ax-audio-skeleton-bg);height:1.125rem;border-radius:999rem}ax-audio-wave .ax-audio-skeleton:before{position:absolute;inset-inline-start:-13rem;top:0;display:block;height:100%;width:14rem;content:\"\";background:linear-gradient(to right,transparent 0%,rgba(var(--ax-color-black),20%) 50%,transparent 100%);animation:load 1s cubic-bezier(.4,0,.2,1) infinite}@keyframes load{0%{inset-inline-start:-13rem}to{inset-inline-start:100%}}ax-audio-wave .ax-wave-message{padding-inline-start:.5rem}\n"], dependencies: [{ kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "pipe", type: i2.AXTranslatorPipe, name: "translate" }], encapsulation: i0.ViewEncapsulation.None }); }
|
195
221
|
}
|
196
222
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveComponent, decorators: [{
|
197
223
|
type: Component,
|
198
|
-
args: [{ selector: 'ax-audio-wave', encapsulation: ViewEncapsulation.None, template: "@
|
224
|
+
args: [{ selector: 'ax-audio-wave', encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-audio-wave\" #d [ngStyle]=\"{'display': audioState() === 'ready' ? 'block' : 'none' }\"></div>\n\n@switch (audioState()) {\n@case ('loading') {\n<div class=\"ax-audio-skeleton\"></div>\n}\n@case ('error') {\n<div class=\"ax-wave-message\">\n {{'error.message' | translate:{ params:{ message: errorMessage() } } | async }}\n</div>\n}\n}", styles: ["ax-audio-wave{display:block;width:100%;flex:1;--ax-audio-skeleton-bg: rgba(var(--ax-color-primary-200))}ax-audio-wave .ax-audio-skeleton{position:relative;display:block;overflow:hidden;background-color:var(--ax-audio-skeleton-bg);height:1.125rem;border-radius:999rem}ax-audio-wave .ax-audio-skeleton:before{position:absolute;inset-inline-start:-13rem;top:0;display:block;height:100%;width:14rem;content:\"\";background:linear-gradient(to right,transparent 0%,rgba(var(--ax-color-black),20%) 50%,transparent 100%);animation:load 1s cubic-bezier(.4,0,.2,1) infinite}@keyframes load{0%{inset-inline-start:-13rem}to{inset-inline-start:100%}}ax-audio-wave .ax-wave-message{padding-inline-start:.5rem}\n"] }]
|
199
225
|
}], ctorParameters: () => [], propDecorators: { div: [{
|
200
226
|
type: ViewChild,
|
201
|
-
args: ['d']
|
227
|
+
args: ['d', { static: false }]
|
202
228
|
}] } });
|
203
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDOztBQVN2QyxNQUFNLE9BQU8sb0JBQW9CO0lBVy9CO1FBVEEsV0FBTSxHQUE4QixLQUFLLEVBQWdCLENBQUM7UUFFMUQsb0JBQWUsR0FBRyxNQUFNLEVBQTBCLENBQUM7UUFFbkQsaUJBQVksR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFHckIsV0FBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUc5QixlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ25CLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBQzlGLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1lBRTlGLElBQUksQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztnQkFDN0IsU0FBUyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYTtnQkFDakMsU0FBUyxF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QUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUMvSCxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELDRFQUE0RTtJQUNsRSxhQUFhO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7WUFDNUIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDMUcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OEdBdk5VLG9CQUFvQjtrR0FBcEIsb0JBQW9CLHVVQ3RCakMsMEhBSUM7OzJGRGtCWSxvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsZUFBZSxpQkFHVixpQkFBaUIsQ0FBQyxJQUFJO3dEQUdYLEdBQUc7c0JBQTVCLFNBQVM7dUJBQUMsR0FBRyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXRTaWduYWwsXG4gIE5nWm9uZSxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgYWZ0ZXJOZXh0UmVuZGVyLFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBvdXRwdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgV2F2ZVN1cmZlciBmcm9tICd3YXZlc3VyZmVyLmpzJztcbmltcG9ydCB7IEFYQXVkaW9XYXZlQ2hhbmdlRXZlbnQsIEFYV2F2ZUNvbmZpZyB9IGZyb20gJy4vaW50ZXJmYWNlcy9hdWRpby13YXZlLmludGVyZmFjZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWF1ZGlvLXdhdmUnLFxuICB0ZW1wbGF0ZVVybDogJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2F1ZGlvLXdhdmUuY29tcG9uZW50LnNjc3MnXSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhBdWRpb1dhdmVDb21wb25lbnQge1xuICBAVmlld0NoaWxkKCdkJykgcHJvdGVjdGVkIGRpdjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIGNvbmZpZzogSW5wdXRTaWduYWw8QVhXYXZlQ29uZmlnPiA9IGlucHV0PEFYV2F2ZUNvbmZpZz4oKTtcblxuICBvblN0YXR1c0NoYW5nZWQgPSBvdXRwdXQ8QVhBdWRpb1dhdmVDaGFuZ2VFdmVudD4oKTtcblxuICBhdWRpb0lzUmVhZHkgPSBzaWduYWwoZmFsc2UpO1xuXG4gIHByb3RlY3RlZCBhdWRpbzogV2F2ZVN1cmZlcjtcbiAgcHJpdmF0ZSBuZ1pvbmUgPSBpbmplY3QoTmdab25lKTtcblxuICBjb25zdHJ1Y3RvcigpIHtcbiAgICBhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuICAgICAgY29uc3QgcHJpbWFyeTUwMCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1heC1jb2xvci1wcmltYXJ5LTIwMCcpO1xuICAgICAgY29uc3QgcHJpbWFyeTcwMCA9IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuYm9keSkuZ2V0UHJvcGVydHlWYWx1ZSgnLS1heC1jb2xvci1wcmltYXJ5LTUwMCcpO1xuXG4gICAgICB0aGlzLmF1ZGlvID0gV2F2ZVN1cmZlci5jcmVhdGUoe1xuICAgICAgICBjb250YWluZXI6IHRoaXMuZGl2Lm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIHdhdmVDb2xvcjogdGhpcy5jb25maWcoKT8ud2F2ZUNvbG9yIHx8IGByZ2JhKCR7cHJpbWFyeTUwMH0pYCxcbiAgICAgICAgcHJvZ3Jlc3NDb2xvcjogdGhpcy5jb25maWcoKT8ucHJvZ3Jlc3NDb2xvciB8fCBgcmdiYSgke3ByaW1hcnk3MDB9KWAsXG4gICAgICAgIHVybDogdGhpcy5jb25maWcoKT8udXJsIHx8ICcnLFxuICAgICAgICBiYXJXaWR0aDogdGhpcy5jb25maWcoKT8uYmFyV2lkdGggfHwgMixcbiAgICAgICAgYmFyUmFkaXVzOiB0aGlzLmNvbmZpZygpPy5iYXJSYWRpdXMgfHwgMixcbiAgICAgICAgYmFyR2FwOiB0aGlzLmNvbmZpZygpPy5iYXJHYXAgfHwgMSxcbiAgICAgICAgaGVpZ2h0OiB0aGlzLmNvbmZpZygpPy5oZWlnaHQgfHwgMTgsXG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8ubG9hZCh0aGlzLmNvbmZpZygpPy51cmwpO1xuICAgICAgdGhpcy5hdWRpby5vbigncmVhZHknLCAoKSA9PiB7XG4gICAgICAgIHRoaXMuYXVkaW9Jc1JlYWR5LnNldCh0cnVlKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5iaW5kRXZlbnRzKCk7XG4gICAgfSk7XG4gIH1cblxuICBwbGF5KCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8ucGxheSgpO1xuICB9XG5cbiAgcGF1c2UoKTogdm9pZCB7XG4gICAgdGhpcy5hdWRpby5wYXVzZSgpO1xuICB9XG5cbiAgZ2V0RHVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LmdldER1cmF0aW9uKCkgPz8gMDtcbiAgfVxuXG4gIGdldE1lZGlhRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0TWVkaWFFbGVtZW50KCk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYmluZEV2ZW50cygpIHtcbiAgICB0aGlzLmhhbmRsZUxvYWQoKTtcbiAgICB0aGlzLmhhbmRsZUxvYWRpbmcoKTtcbiAgICB0aGlzLmhhbmRsZURlY29kZSgpO1xuICAgIHRoaXMuaGFuZGxlUmVhZHkoKTtcbiAgICB0aGlzLmhhbmRsZVJlZFJhd0NvbXBsZXRlKCk7XG4gICAgdGhpcy5oYW5kbGVQbGF5KCk7XG4gICAgdGhpcy5oYW5kbGVQYXVzZSgpO1xuICAgIHRoaXMuaGFuZGxlRmluaXNoKCk7XG4gICAgdGhpcy5oYW5kbGVUaW1lVXBkYXRlKCk7XG4gICAgdGhpcy5oYW5kbGVTZWVraW5nKCk7XG4gICAgdGhpcy5oYW5kbGVJbnRlcmFjdGlvbigpO1xuICAgIHRoaXMuaGFuZGxlQ2xpY2soKTtcbiAgICB0aGlzLmhhbmRsZURyYWcoKTtcbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICAgIHRoaXMuaGFuZGxlWm9vbSgpO1xuICAgIHRoaXMuaGFuZGxlRGVzdHJveSgpO1xuICB9XG4gIC8qKiBXaGVuIGF1ZGlvIHN0YXJ0cyBsb2FkaW5nICovXG4gIHByb3RlY3RlZCBoYW5kbGVMb2FkKCkge1xuICAgIHRoaXMuYXVkaW8ub24oJ2xvYWQnLCAodXJsKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IHVybDogdXJsIH0sIHN0YXR1czogJ2xvYWQnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBEdXJpbmcgYXVkaW8gbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZGluZygpIHtcbiAgICB0aGlzLmF1ZGlvLm9uKCdsb2FkaW5nJywgKHBlcmNlbnQpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgcGVyY2VudDogcGVyY2VudCB9LCBzdGF0dXM6ICdsb2FkaW5nJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gaGFzIGJlZW4gZGVjb2RlZCAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRGVjb2RlKCkge1xuICAgIHRoaXMuYXVkaW8ub24oJ2RlY29kZScsIChkdXJhdGlvbikgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSwgc3RhdHVzOiAnZGVjb2RlJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gaXMgYm90aCBkZWNvZGVkIGFuZCBjYW4gcGxheSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUmVhZHkoKSB7XG4gICAgdGhpcy5hdWRpby5vbigncmVhZHknLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgZHVyYXRpb246IGR1cmF0aW9uIH0sIHN0YXR1czogJ3JlYWR5JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiBhbGwgYXVkaW8gY2hhbm5lbCBjaHVua3Mgb2YgdGhlIHdhdmVmb3JtIGhhdmUgZHJhd24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlZFJhd0NvbXBsZXRlKCkge1xuICAgIHRoaXMuYXVkaW8ub24oJ3JlZHJhd2NvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAncmVkcmF3Y29tcGxldGUnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBzdGFydHMgcGxheWluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUGxheSgpIHtcbiAgICB0aGlzLmF1ZGlvLm9uKCdwbGF5JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAncGxheScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIHBhdXNlcyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUGF1c2UoKSB7XG4gICAgdGhpcy5hdWRpby5vbigncGF1c2UnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdwYXVzZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGZpbmlzaGVzIHBsYXlpbmcgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUZpbmlzaCgpIHtcbiAgICB0aGlzLmF1ZGlvLm9uKCdmaW5pc2gnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdmaW5pc2gnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBPbiBhdWRpbyBwb3NpdGlvbiBjaGFuZ2UsIGZpcmVzIGNvbnRpbnVvdXNseSBkdXJpbmcgcGxheWJhY2sgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVRpbWVVcGRhdGUoKSB7XG4gICAgdGhpcy5hdWRpby5vbigndGltZXVwZGF0ZScsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSwgc3RhdHVzOiAndGltZXVwZGF0ZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgc2Vla3MgdG8gYSBuZXcgcG9zaXRpb24gKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVNlZWtpbmcoKSB7XG4gICAgdGhpcy5hdWRpby5vbignc2Vla2luZycsIChjdXJyZW50VGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBjdXJyZW50VGltZTogY3VycmVudFRpbWUgfSwgc3RhdHVzOiAnc2Vla2luZycsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgaW50ZXJhY3RzIHdpdGggdGhlIHdhdmVmb3JtIChpLmcuIGNsaWNrcyBvciBkcmFncyBvbiBpdCkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZUludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuYXVkaW8ub24oJ2ludGVyYWN0aW9uJywgKG5ld1RpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgbmV3VGltZTogbmV3VGltZSB9LCBzdGF0dXM6ICdpbnRlcmFjdGlvbicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoZSB3YXZlZm9ybSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soKSB7XG4gICAgdGhpcy5hdWRpby5vbignY2xpY2snLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sIHN0YXR1czogJ2NsaWNrJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBkcmFncyB0aGUgY3Vyc29yICovXG4gIHByb3RlY3RlZCBoYW5kbGVEcmFnKCkge1xuICAgIHRoaXMuYXVkaW8ub24oJ2RyYWcnLCAocmVsYXRpdmVYKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IHJlbGF0aXZlWDogcmVsYXRpdmVYIH0sIHN0YXR1czogJ2RyYWcnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB3YXZlZm9ybSBpcyBzY3JvbGxlZCAocGFubmVkKSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlU2Nyb2xsKCkge1xuICAgIHRoaXMuYXVkaW8ub24oJ3Njcm9sbCcsICh2aXNpYmxlU3RhcnRUaW1lLCB2aXNpYmxlRW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgdmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICdzY3JvbGwnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB6b29tIGxldmVsIGNoYW5nZXMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVpvb20oKSB7XG4gICAgdGhpcy5hdWRpby5vbignem9vbScsIChtaW5QeFBlclNlYykgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBtaW5QeFBlclNlYzogbWluUHhQZXJTZWMgfSwgc3RhdHVzOiAnem9vbScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIEp1c3QgYmVmb3JlIHRoZSB3YXZlZm9ybSBpcyBkZXN0cm95ZWQgc28geW91IGNhbiBjbGVhbiB1cCB5b3VyIGV2ZW50cyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRGVzdHJveSgpIHtcbiAgICB0aGlzLmF1ZGlvLm9uKCdkZXN0cm95JywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAnZGVzdHJveScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iLCJAaWYodGhpcy5hdWRpb0lzUmVhZHkoKSl7XG48ZGl2IGNsYXNzPVwiYXgtYXVkaW8td2F2ZVwiICNkPjwvZGl2PlxufSBAZWxzZSB7XG48ZGl2IGNsYXNzPVwiYXgtYXVkaW8tc2tlbGV0b25cIj48L2Rpdj5cbn0iXX0=
|
229
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2F1ZGlvLXdhdmUvc3JjL2xpYi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsVUFBVSxFQUVWLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEVBRWpCLGVBQWUsRUFDZixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxVQUFVLE1BQU0sZUFBZSxDQUFDOzs7O0FBU3ZDLE1BQU0sT0FBTyxvQkFBb0I7SUFhL0I7UUFYQSxXQUFNLEdBQThCLEtBQUssRUFBZ0IsQ0FBQztRQUUxRCxvQkFBZSxHQUFHLE1BQU0sRUFBMEIsQ0FBQztRQUVuRCxlQUFVLEdBQXlFLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUVwRyxpQkFBWSxHQUFHLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUdsQixXQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRzlCLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDbkIsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFDOUYsTUFBTSxVQUFVLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLGdCQUFnQixDQUFDLHdCQUF3QixDQUFDLENBQUM7WUFFOUYsSUFBSSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO2dCQUM3QixTQUFT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QUMsR0FBRyxFQUFFO2dCQUNuQixJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUFFLEtBQUssRUFBRSxDQUFDLENBQUM7WUFDMUcsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCw0RUFBNEU7SUFDbEUsV0FBVztRQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTtZQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLENBQUMsQ0FBQztZQUNyRyxDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0FuUFUsb0JBQW9CO2tHQUFwQixvQkFBb0IsdVVDdkJqQyxvV0FXQzs7MkZEWVksb0JBQW9CO2tCQU5oQyxTQUFTOytCQUNFLGVBQWUsaUJBR1YsaUJBQWlCLENBQUMsSUFBSTt3REFHUSxHQUFHO3NCQUEvQyxTQUFTO3VCQUFDLEdBQUcsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDb21wb25lbnQsXG4gIEVsZW1lbnRSZWYsXG4gIElucHV0U2lnbmFsLFxuICBOZ1pvbmUsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG4gIFdyaXRhYmxlU2lnbmFsLFxuICBhZnRlck5leHRSZW5kZXIsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIG91dHB1dCxcbiAgc2lnbmFsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCBXYXZlU3VyZmVyIGZyb20gJ3dhdmVzdXJmZXIuanMnO1xuaW1wb3J0IHsgQVhBdWRpb1dhdmVDaGFuZ2VFdmVudCwgQVhXYXZlQ29uZmlnIH0gZnJvbSAnLi9pbnRlcmZhY2VzL2F1ZGlvLXdhdmUuaW50ZXJmYWNlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYXVkaW8td2F2ZScsXG4gIHRlbXBsYXRlVXJsOiAnLi9hdWRpby13YXZlLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYXVkaW8td2F2ZS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBBWEF1ZGlvV2F2ZUNvbXBvbmVudCB7XG4gIEBWaWV3Q2hpbGQoJ2QnLCB7IHN0YXRpYzogZmFsc2UgfSkgcHJvdGVjdGVkIGRpdjogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIGNvbmZpZzogSW5wdXRTaWduYWw8QVhXYXZlQ29uZmlnPiA9IGlucHV0PEFYV2F2ZUNvbmZpZz4oKTtcblxuICBvblN0YXR1c0NoYW5nZWQgPSBvdXRwdXQ8QVhBdWRpb1dhdmVDaGFuZ2VFdmVudD4oKTtcblxuICBhdWRpb1N0YXRlOiBXcml0YWJsZVNpZ25hbDwncGxheWluZycgfCAncGF1c2VkJyB8ICdsb2FkaW5nJyB8ICdyZWFkeScgfCAnZXJyb3InPiA9IHNpZ25hbCgncGF1c2VkJyk7XG5cbiAgZXJyb3JNZXNzYWdlID0gc2lnbmFsKCcnKTtcblxuICBwcm90ZWN0ZWQgYXVkaW86IFdhdmVTdXJmZXI7XG4gIHByaXZhdGUgbmdab25lID0gaW5qZWN0KE5nWm9uZSk7XG5cbiAgY29uc3RydWN0b3IoKSB7XG4gICAgYWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcbiAgICAgIGNvbnN0IHByaW1hcnk1MDAgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtY29sb3ItcHJpbWFyeS0yMDAnKTtcbiAgICAgIGNvbnN0IHByaW1hcnk3MDAgPSBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmJvZHkpLmdldFByb3BlcnR5VmFsdWUoJy0tYXgtY29sb3ItcHJpbWFyeS01MDAnKTtcblxuICAgICAgdGhpcy5hdWRpbyA9IFdhdmVTdXJmZXIuY3JlYXRlKHtcbiAgICAgICAgY29udGFpbmVyOiB0aGlzLmRpdi5uYXRpdmVFbGVtZW50LFxuICAgICAgICB3YXZlQ29sb3I6IHRoaXMuY29uZmlnKCk/LndhdmVDb2xvciB8fCBgcmdiYSgke3ByaW1hcnk1MDB9KWAsXG4gICAgICAgIHByb2dyZXNzQ29sb3I6IHRoaXMuY29uZmlnKCk/LnByb2dyZXNzQ29sb3IgfHwgYHJnYmEoJHtwcmltYXJ5NzAwfSlgLFxuICAgICAgICB1cmw6IHRoaXMuY29uZmlnKCk/LnVybCB8fCAnJyxcbiAgICAgICAgYmFyV2lkdGg6IHRoaXMuY29uZmlnKCk/LmJhcldpZHRoIHx8IDIsXG4gICAgICAgIGJhclJhZGl1czogdGhpcy5jb25maWcoKT8uYmFyUmFkaXVzIHx8IDIsXG4gICAgICAgIGJhckdhcDogdGhpcy5jb25maWcoKT8uYmFyR2FwIHx8IDIsXG4gICAgICAgIGhlaWdodDogdGhpcy5jb25maWcoKT8uaGVpZ2h0IHx8IDE4LFxuICAgICAgfSk7XG4gICAgICB0aGlzLmxvYWQoKTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdsb2FkaW5nJywgKCkgPT4ge1xuICAgICAgICB0aGlzLmF1ZGlvU3RhdGUuc2V0KCdsb2FkaW5nJyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWFkeScsICgpID0+IHtcbiAgICAgICAgdGhpcy5hdWRpb1N0YXRlLnNldCgncmVhZHknKTtcbiAgICAgIH0pO1xuICAgICAgdGhpcy5hdWRpbz8ub24oJ2Vycm9yJywgKGUpID0+IHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2Uuc2V0KGUubWVzc2FnZSk7XG4gICAgICAgIHRoaXMuYXVkaW9TdGF0ZS5zZXQoJ2Vycm9yJyk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMuYmluZEV2ZW50cygpO1xuICAgIH0pO1xuICB9XG5cbiAgbG9hZCh1cmwgPSB0aGlzLmNvbmZpZygpLnVybCkge1xuICAgIHRoaXMuYXVkaW8ubG9hZCh1cmwpO1xuICB9XG5cbiAgcGxheSgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybiB0aGlzLmF1ZGlvPy5wbGF5KCk7XG4gIH1cblxuICBwYXVzZSgpOiB2b2lkIHtcbiAgICB0aGlzLmF1ZGlvPy5wYXVzZSgpO1xuICB9XG5cbiAgZ2V0RHVyYXRpb24oKSB7XG4gICAgcmV0dXJuIHRoaXMuYXVkaW8/LmdldER1cmF0aW9uKCkgPz8gMDtcbiAgfVxuXG4gIGdldE1lZGlhRWxlbWVudCgpIHtcbiAgICByZXR1cm4gdGhpcy5hdWRpbz8uZ2V0TWVkaWFFbGVtZW50KCk7XG4gIH1cblxuICBzZXRSYXRlKHJhdGU6IG51bWJlcikge1xuICAgIHRoaXMuYXVkaW8uc2V0UGxheWJhY2tSYXRlKHJhdGUpO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJpbmRFdmVudHMoKSB7XG4gICAgY29uc29sZS5sb2coJ2JpbmQgRXZlbnRzJyk7XG5cbiAgICB0aGlzLmhhbmRsZUxvYWQoKTtcbiAgICB0aGlzLmhhbmRsZUxvYWRpbmcoKTtcbiAgICB0aGlzLmhhbmRsZURlY29kZSgpO1xuICAgIHRoaXMuaGFuZGxlUmVhZHkoKTtcbiAgICB0aGlzLmhhbmRsZVJlZFJhd0NvbXBsZXRlKCk7XG4gICAgdGhpcy5oYW5kbGVQbGF5KCk7XG4gICAgdGhpcy5oYW5kbGVQYXVzZSgpO1xuICAgIHRoaXMuaGFuZGxlRmluaXNoKCk7XG4gICAgdGhpcy5oYW5kbGVUaW1lVXBkYXRlKCk7XG4gICAgdGhpcy5oYW5kbGVTZWVraW5nKCk7XG4gICAgdGhpcy5oYW5kbGVJbnRlcmFjdGlvbigpO1xuICAgIHRoaXMuaGFuZGxlQ2xpY2soKTtcbiAgICB0aGlzLmhhbmRsZURyYWcoKTtcbiAgICB0aGlzLmhhbmRsZVNjcm9sbCgpO1xuICAgIHRoaXMuaGFuZGxlWm9vbSgpO1xuICAgIHRoaXMuaGFuZGxlRGVzdHJveSgpO1xuICAgIHRoaXMuaGFuZGxlRXJyb3IoKTtcbiAgfVxuICAvKiogV2hlbiBhdWRpbyBzdGFydHMgbG9hZGluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlTG9hZCgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignbG9hZCcsICh1cmwpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgdXJsOiB1cmwgfSwgc3RhdHVzOiAnbG9hZCcsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIER1cmluZyBhdWRpbyBsb2FkaW5nICovXG4gIHByb3RlY3RlZCBoYW5kbGVMb2FkaW5nKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdsb2FkaW5nJywgKHBlcmNlbnQpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgcGVyY2VudDogcGVyY2VudCB9LCBzdGF0dXM6ICdsb2FkaW5nJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gaGFzIGJlZW4gZGVjb2RlZCAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRGVjb2RlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdkZWNvZGUnLCAoZHVyYXRpb24pID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgZHVyYXRpb246IGR1cmF0aW9uIH0sIHN0YXR1czogJ2RlY29kZScsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIGF1ZGlvIGlzIGJvdGggZGVjb2RlZCBhbmQgY2FuIHBsYXkgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVJlYWR5KCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdyZWFkeScsIChkdXJhdGlvbikgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyBkdXJhdGlvbjogZHVyYXRpb24gfSwgc3RhdHVzOiAncmVhZHknLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIGFsbCBhdWRpbyBjaGFubmVsIGNodW5rcyBvZiB0aGUgd2F2ZWZvcm0gaGF2ZSBkcmF3biAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUmVkUmF3Q29tcGxldGUoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3JlZHJhd2NvbXBsZXRlJywgKCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogbnVsbCwgc3RhdHVzOiAncmVkcmF3Y29tcGxldGUnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBzdGFydHMgcGxheWluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlUGxheSgpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbigncGxheScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IG51bGwsIHN0YXR1czogJ3BsYXknLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSBhdWRpbyBwYXVzZXMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVBhdXNlKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdwYXVzZScsICgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IG51bGwsIHN0YXR1czogJ3BhdXNlJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgYXVkaW8gZmluaXNoZXMgcGxheWluZyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRmluaXNoKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdmaW5pc2gnLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdmaW5pc2gnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBPbiBhdWRpbyBwb3NpdGlvbiBjaGFuZ2UsIGZpcmVzIGNvbnRpbnVvdXNseSBkdXJpbmcgcGxheWJhY2sgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVRpbWVVcGRhdGUoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3RpbWV1cGRhdGUnLCAoY3VycmVudFRpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgY3VycmVudFRpbWU6IGN1cnJlbnRUaW1lIH0sIHN0YXR1czogJ3RpbWV1cGRhdGUnLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB1c2VyIHNlZWtzIHRvIGEgbmV3IHBvc2l0aW9uICovXG4gIHByb3RlY3RlZCBoYW5kbGVTZWVraW5nKCkge1xuICAgIHRoaXMuYXVkaW8/Lm9uKCdzZWVraW5nJywgKGN1cnJlbnRUaW1lKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiB7IGN1cnJlbnRUaW1lOiBjdXJyZW50VGltZSB9LCBzdGF0dXM6ICdzZWVraW5nJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICAvKiogV2hlbiB0aGUgdXNlciBpbnRlcmFjdHMgd2l0aCB0aGUgd2F2ZWZvcm0gKGkuZy4gY2xpY2tzIG9yIGRyYWdzIG9uIGl0KSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlSW50ZXJhY3Rpb24oKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2ludGVyYWN0aW9uJywgKG5ld1RpbWUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgbmV3VGltZTogbmV3VGltZSB9LCBzdGF0dXM6ICdpbnRlcmFjdGlvbicsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgY2xpY2tzIG9uIHRoZSB3YXZlZm9ybSAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlQ2xpY2soKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2NsaWNrJywgKHJlbGF0aXZlWCkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7IGNvbXBvbmVudDogdGhpcywgZGF0YTogeyByZWxhdGl2ZVg6IHJlbGF0aXZlWCB9LCBzdGF0dXM6ICdjbGljaycsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHVzZXIgZHJhZ3MgdGhlIGN1cnNvciAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRHJhZygpIHtcbiAgICB0aGlzLmF1ZGlvPy5vbignZHJhZycsIChyZWxhdGl2ZVgpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgcmVsYXRpdmVYOiByZWxhdGl2ZVggfSwgc3RhdHVzOiAnZHJhZycsIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSB9KTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgLyoqIFdoZW4gdGhlIHdhdmVmb3JtIGlzIHNjcm9sbGVkIChwYW5uZWQpICovXG4gIHByb3RlY3RlZCBoYW5kbGVTY3JvbGwoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3Njcm9sbCcsICh2aXNpYmxlU3RhcnRUaW1lLCB2aXNpYmxlRW5kVGltZSkgPT4ge1xuICAgICAgdGhpcy5uZ1pvbmUucnVuKCgpID0+IHtcbiAgICAgICAgdGhpcy5vblN0YXR1c0NoYW5nZWQuZW1pdCh7XG4gICAgICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgICAgIGRhdGE6IHsgdmlzaWJsZVN0YXJ0VGltZSwgdmlzaWJsZUVuZFRpbWUgfSxcbiAgICAgICAgICBzdGF0dXM6ICdzY3JvbGwnLFxuICAgICAgICAgIGlzVXNlckludGVyYWN0aW9uOiBmYWxzZSxcbiAgICAgICAgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBXaGVuIHRoZSB6b29tIGxldmVsIGNoYW5nZXMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZVpvb20oKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ3pvb20nLCAobWluUHhQZXJTZWMpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IHsgbWluUHhQZXJTZWM6IG1pblB4UGVyU2VjIH0sIHN0YXR1czogJ3pvb20nLCBpc1VzZXJJbnRlcmFjdGlvbjogZmFsc2UgfSk7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qKiBKdXN0IGJlZm9yZSB0aGUgd2F2ZWZvcm0gaXMgZGVzdHJveWVkIHNvIHlvdSBjYW4gY2xlYW4gdXAgeW91ciBldmVudHMgKi9cbiAgcHJvdGVjdGVkIGhhbmRsZURlc3Ryb3koKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2Rlc3Ryb3knLCAoKSA9PiB7XG4gICAgICB0aGlzLm5nWm9uZS5ydW4oKCkgPT4ge1xuICAgICAgICB0aGlzLm9uU3RhdHVzQ2hhbmdlZC5lbWl0KHsgY29tcG9uZW50OiB0aGlzLCBkYXRhOiBudWxsLCBzdGF0dXM6ICdkZXN0cm95JywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbiAgLyoqIEp1c3QgYmVmb3JlIHRoZSB3YXZlZm9ybSBpcyBkZXN0cm95ZWQgc28geW91IGNhbiBjbGVhbiB1cCB5b3VyIGV2ZW50cyAqL1xuICBwcm90ZWN0ZWQgaGFuZGxlRXJyb3IoKSB7XG4gICAgdGhpcy5hdWRpbz8ub24oJ2Vycm9yJywgKGUpID0+IHtcbiAgICAgIHRoaXMubmdab25lLnJ1bigoKSA9PiB7XG4gICAgICAgIHRoaXMub25TdGF0dXNDaGFuZ2VkLmVtaXQoeyBjb21wb25lbnQ6IHRoaXMsIGRhdGE6IGUsIHN0YXR1czogJ2Vycm9yJywgaXNVc2VySW50ZXJhY3Rpb246IGZhbHNlIH0pO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJheC1hdWRpby13YXZlXCIgI2QgW25nU3R5bGVdPVwieydkaXNwbGF5JzogYXVkaW9TdGF0ZSgpID09PSAncmVhZHknID8gJ2Jsb2NrJyA6ICdub25lJyB9XCI+PC9kaXY+XG5cbkBzd2l0Y2ggKGF1ZGlvU3RhdGUoKSkge1xuQGNhc2UgKCdsb2FkaW5nJykge1xuPGRpdiBjbGFzcz1cImF4LWF1ZGlvLXNrZWxldG9uXCI+PC9kaXY+XG59XG5AY2FzZSAoJ2Vycm9yJykge1xuPGRpdiBjbGFzcz1cImF4LXdhdmUtbWVzc2FnZVwiPlxuICAgIHt7J2Vycm9yLm1lc3NhZ2UnIHwgdHJhbnNsYXRlOnsgcGFyYW1zOnsgbWVzc2FnZTogZXJyb3JNZXNzYWdlKCkgfSB9IHwgYXN5bmMgfX1cbjwvZGl2PlxufVxufSJdfQ==
|
@@ -1,21 +1,22 @@
|
|
1
1
|
import { AXButtonModule } from '@acorex/components/button';
|
2
2
|
import { AXDecoratorModule } from '@acorex/components/decorators';
|
3
3
|
import { AXSkeletonModule } from '@acorex/components/skeleton';
|
4
|
+
import { AXTranslationModule } from '@acorex/core/translation';
|
4
5
|
import { CommonModule } from '@angular/common';
|
5
6
|
import { NgModule } from '@angular/core';
|
6
7
|
import { AXAudioWaveComponent } from './audio-wave.component';
|
7
8
|
import * as i0 from "@angular/core";
|
8
9
|
export class AXAudioWaveModule {
|
9
10
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
10
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveModule, declarations: [AXAudioWaveComponent], imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXSkeletonModule], exports: [AXAudioWaveComponent] }); }
|
11
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveModule, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXSkeletonModule] }); }
|
11
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveModule, declarations: [AXAudioWaveComponent], imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXSkeletonModule, AXTranslationModule], exports: [AXAudioWaveComponent] }); }
|
12
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveModule, imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXSkeletonModule, AXTranslationModule] }); }
|
12
13
|
}
|
13
14
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXAudioWaveModule, decorators: [{
|
14
15
|
type: NgModule,
|
15
16
|
args: [{
|
16
17
|
declarations: [AXAudioWaveComponent],
|
17
|
-
imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXSkeletonModule],
|
18
18
|
exports: [AXAudioWaveComponent],
|
19
|
+
imports: [CommonModule, AXButtonModule, AXDecoratorModule, AXSkeletonModule, AXTranslationModule],
|
19
20
|
}]
|
20
21
|
}] });
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2F1ZGlvLXdhdmUubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUNsRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN6QyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFPOUQsTUFBTSxPQUFPLGlCQUFpQjs4R0FBakIsaUJBQWlCOytHQUFqQixpQkFBaUIsaUJBSmIsb0JBQW9CLGFBRXpCLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1CLGFBRHRGLG9CQUFvQjsrR0FHbkIsaUJBQWlCLFlBRmxCLFlBQVksRUFBRSxjQUFjLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsbUJBQW1COzsyRkFFckYsaUJBQWlCO2tCQUw3QixRQUFRO21CQUFDO29CQUNSLFlBQVksRUFBRSxDQUFDLG9CQUFvQixDQUFDO29CQUNwQyxPQUFPLEVBQUUsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDL0IsT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxtQkFBbUIsQ0FBQztpQkFDbEciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWEJ1dHRvbk1vZHVsZSB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9idXR0b24nO1xuaW1wb3J0IHsgQVhEZWNvcmF0b3JNb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvZGVjb3JhdG9ycyc7XG5pbXBvcnQgeyBBWFNrZWxldG9uTW9kdWxlIH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL3NrZWxldG9uJztcbmltcG9ydCB7IEFYVHJhbnNsYXRpb25Nb2R1bGUgfSBmcm9tICdAYWNvcmV4L2NvcmUvdHJhbnNsYXRpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWEF1ZGlvV2F2ZUNvbXBvbmVudCB9IGZyb20gJy4vYXVkaW8td2F2ZS5jb21wb25lbnQnO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtBWEF1ZGlvV2F2ZUNvbXBvbmVudF0sXG4gIGV4cG9ydHM6IFtBWEF1ZGlvV2F2ZUNvbXBvbmVudF0sXG4gIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIEFYQnV0dG9uTW9kdWxlLCBBWERlY29yYXRvck1vZHVsZSwgQVhTa2VsZXRvbk1vZHVsZSwgQVhUcmFuc2xhdGlvbk1vZHVsZV0sXG59KVxuZXhwb3J0IGNsYXNzIEFYQXVkaW9XYXZlTW9kdWxlIHt9XG4iXX0=
|
@@ -1,2 +1,2 @@
|
|
1
1
|
export {};
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2ludGVyZmFjZXMvYXVkaW8td2F2ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFdhdmVDb25maWcge1xuICBjb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgd2F2ZUNvbG9yPzogc3RyaW5nO1xuICBwcm9ncmVzc0NvbG9yPzogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYmFyV2lkdGg/OiBudW1iZXI7XG4gIGJhckdhcD86IG51bWJlcjtcbiAgYmFyUmFkaXVzPzogbnVtYmVyO1xuICBoZWlnaHQ/
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXVkaW8td2F2ZS5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYXVkaW8td2F2ZS9zcmMvbGliL2ludGVyZmFjZXMvYXVkaW8td2F2ZS5pbnRlcmZhY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcblxuZXhwb3J0IGludGVyZmFjZSBBWFdhdmVDb25maWcge1xuICBjb250YWluZXI/OiBIVE1MRWxlbWVudDtcbiAgd2F2ZUNvbG9yPzogc3RyaW5nO1xuICBwcm9ncmVzc0NvbG9yPzogc3RyaW5nO1xuICB1cmw6IHN0cmluZztcbiAgYmFyV2lkdGg/OiBudW1iZXI7XG4gIGJhckdhcD86IG51bWJlcjtcbiAgYmFyUmFkaXVzPzogbnVtYmVyO1xuICBoZWlnaHQ/OiBudW1iZXI7XG4gIGF1ZGlvUmF0ZT86IG51bWJlcjtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgQVhBdWRpb1dhdmVDaGFuZ2VFdmVudCBleHRlbmRzIEFYRXZlbnQge1xuICBzdGF0dXM6XG4gICAgfCAnbG9hZCdcbiAgICB8ICdsb2FkaW5nJ1xuICAgIHwgJ2RlY29kZSdcbiAgICB8ICdyZWFkeSdcbiAgICB8ICdyZWRyYXdjb21wbGV0ZSdcbiAgICB8ICdwbGF5J1xuICAgIHwgJ3BhdXNlJ1xuICAgIHwgJ2ZpbmlzaCdcbiAgICB8ICd0aW1ldXBkYXRlJ1xuICAgIHwgJ3NlZWtpbmcnXG4gICAgfCAnaW50ZXJhY3Rpb24nXG4gICAgfCAnY2xpY2snXG4gICAgfCAnZHJhZydcbiAgICB8ICdzY3JvbGwnXG4gICAgfCAnem9vbSdcbiAgICB8ICdkZXN0cm95J1xuICAgIHwgJ2Vycm9yJztcbiAgZGF0YTogbnVsbCB8IGFueTtcbn1cbiJdfQ==
|
@@ -62,7 +62,7 @@ export class AXButtonComponent extends MXButtonBaseComponent {
|
|
62
62
|
{ provide: AXComponent, useExisting: AXButtonComponent },
|
63
63
|
{ provide: AXButtonItemComponent, useExisting: AXButtonComponent },
|
64
64
|
{ provide: AXFocusableComponent, useExisting: AXButtonComponent },
|
65
|
-
], usesInheritance: true, ngImport: i0, template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"], dependencies: [{ kind: "directive", type: i1.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
65
|
+
], usesInheritance: true, ngImport: i0, template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type()\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"], dependencies: [{ kind: "directive", type: i1.AXRippleDirective, selector: "[axRipple]", inputs: ["axRipple", "axRippleColor"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
66
66
|
}
|
67
67
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImport: i0, type: AXButtonComponent, decorators: [{
|
68
68
|
type: Component,
|
@@ -70,9 +70,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.2", ngImpor
|
|
70
70
|
{ provide: AXComponent, useExisting: AXButtonComponent },
|
71
71
|
{ provide: AXButtonItemComponent, useExisting: AXButtonComponent },
|
72
72
|
{ provide: AXFocusableComponent, useExisting: AXButtonComponent },
|
73
|
-
], template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
|
73
|
+
], template: "<button [axRipple] [disabled]=\"disabled\" [attr.tabindex]=\"tabIndex\" (focus)=\"emitOnFocusEvent($event)\"\n (blur)=\"emitOnBlurEvent($event)\" (click)=\"_handleClick($event)\" [attr.type]=\"type()\">\n <ng-content select=\"ax-prefix, ax-loading, ax-loading-spinner, ax-icon\"> </ng-content>\n <ng-content select=\"ax-content\"> </ng-content>\n\n @if(text){\n <span class=\"ax-button-text\">{{ text }}</span>\n }\n\n <ng-content select=\"ax-suffix\"> </ng-content>\n <ng-content select=\"ax-dropdown-panel\"> </ng-content>\n <ng-content select=\".tab-content\"> </ng-content>\n</button>", styles: ["ax-button{position:relative;display:inline-flex;height:var(--ax-size-default);cursor:pointer;align-items:center;justify-content:center;border-radius:var(--ax-rounded-border-default);font-size:.875rem;line-height:1.25rem;outline:2px solid transparent;outline-offset:2px;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}ax-button.ax-xs{font-size:.75rem;line-height:1rem}ax-button.ax-xs>button{padding-left:.25rem;padding-right:.25rem}ax-button.ax-sm>button{padding-left:.5rem;padding-right:.5rem}ax-button.ax-sm,ax-button.ax-md{font-size:.875rem;line-height:1.25rem}ax-button.ax-lg{font-size:1rem;line-height:1.25rem}ax-button.ax-lg>button{padding-left:1.5rem;padding-right:1.5rem}ax-button.ax-xl{font-size:1.125rem;line-height:1.75rem}ax-button.ax-xl>button{padding-left:2rem;padding-right:2rem}ax-button.ax-xl.ax-button-icon{font-size:1.5rem}ax-button.ax-xs.ax-button-icon,ax-button.ax-sm.ax-button-icon{font-size:1rem}ax-button.ax-button-icon{height:var(--ax-size-default);width:var(--ax-size-default);font-size:1.25rem}ax-button.ax-state-disabled,ax-button.ax-state-loading{opacity:.5}ax-button.ax-state-disabled>button,ax-button.ax-state-loading>button{cursor:not-allowed}ax-button>button{position:relative;display:inline-flex;height:100%;width:100%;align-items:center;justify-content:center;overflow:hidden;border-radius:var(--ax-rounded-border-default);padding-left:1rem;padding-right:1rem;outline-color:transparent}ax-button>button.ax-state-focus:focus,ax-button>button:focus-visible{outline-width:2px;outline-offset:2px;outline-color:#000;border-radius:inherit}ax-button>button .ax-button-text{white-space:nowrap;padding-left:.5rem;padding-right:.5rem;font-weight:500;line-height:1}ax-button ax-button-item.ax-divided{border-bottom-width:1px!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
|
74
74
|
}], propDecorators: { __hostClass: [{
|
75
75
|
type: HostBinding,
|
76
76
|
args: ['class']
|
77
77
|
}] } });
|
78
|
-
//# sourceMappingURL=data:application/json;base64,
|
78
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvY29tcG9uZW50cy9idXR0b24vc3JjL2xpYi9idXR0b24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2J1dHRvbi9zcmMvbGliL2J1dHRvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQWdCLFdBQVcsRUFBRSxvQkFBb0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ25ILE9BQU8sRUFBaUIsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXZJLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7QUFFaEU7Ozs7R0FJRztBQWVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxxQkFBcUI7SUFkNUQ7O1FBZUU7OztXQUdHO1FBQ0gsWUFBTyxHQUErQixJQUFJLFlBQVksRUFBZ0IsQ0FBQztRQUV2RSxTQUFJLEdBQUcsS0FBSyxDQUFlLFFBQVEsQ0FBQyxDQUFDO0tBZ0R0QztJQTlDQyxlQUFlO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGVBQWUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBRU8sU0FBUztRQUNmLE9BQU8sSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDLGlCQUFzQyxDQUFDO0lBQ3RFLENBQUM7SUFFRCxZQUFZLENBQUMsQ0FBYTtRQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNsQixDQUFDLENBQUMsY0FBYyxFQUFFLENBQUM7WUFDbkIsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNqQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7WUFDaEIsU0FBUyxFQUFFLElBQUk7WUFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtZQUNsQyxXQUFXLEVBQUUsQ0FBQztTQUNmLENBQUMsQ0FBQztRQUVILDZCQUE2QjtRQUM3QixVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQ2QsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxLQUFLLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRUQsSUFDWSxXQUFXO1FBQ3JCLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDO2FBQ25DLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO2FBQ25CLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDdEIsQ0FBQztJQUVRLEtBQUs7UUFDWixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsS0FBSyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUNuRCxDQUFDO0lBQ1EsSUFBSTtRQUNYLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLGdCQUFnQixDQUFDLENBQUM7SUFDdEQsQ0FBQzs4R0F0RFUsaUJBQWlCO2tHQUFqQixpQkFBaUIsNDZDQU5qQjtZQUNULEVBQUUsT0FBTyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUU7WUFDeEQsRUFBRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFO1lBQ2xFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRTtTQUNsRSxpREN0QkgsdWxCQVlTOzsyRkRZSSxpQkFBaUI7a0JBZDdCLFNBQVM7K0JBQ0UsV0FBVyxVQUdiLENBQUMsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFVBQVUsQ0FBQyxXQUNsRixDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLFlBQVksRUFBRSxhQUFhLEVBQUUsZ0JBQWdCLENBQUMsbUJBQzdHLHVCQUF1QixDQUFDLE1BQU0saUJBQ2hDLGlCQUFpQixDQUFDLElBQUksYUFDMUI7d0JBQ1QsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsbUJBQW1CLEVBQUU7d0JBQ3hELEVBQUUsT0FBTyxFQUFFLHFCQUFxQixFQUFFLFdBQVcsbUJBQW1CLEVBQUU7d0JBQ2xFLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFdBQVcsbUJBQW1CLEVBQUU7cUJBQ2xFOzhCQTRDVyxXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBWENsaWNrRXZlbnQsIEFYQ29tcG9uZW50LCBBWEZvY3VzYWJsZUNvbXBvbmVudCwgTVhCdXR0b25CYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBWaWV3RW5jYXBzdWxhdGlvbiwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFYQnV0dG9uVHlwZSB9IGZyb20gJy4vYnV0dG9uLWl0ZW0uY2xhc3MnO1xuaW1wb3J0IHsgQVhCdXR0b25JdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9idXR0b24taXRlbS5jb21wb25lbnQnO1xuXG4vKipcbiAqIFRoZSBCdXR0b24gaXMgYSBjb21wb25lbnQgd2hpY2ggZGV0ZWN0cyB1c2VyIGludGVyYWN0aW9uIGFuZCB0cmlnZ2VycyBhIGNvcnJlc3BvbmRpbmcgZXZlbnRcbiAqXG4gKiBAY2F0ZWdvcnkgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1idXR0b24nLFxuICB0ZW1wbGF0ZVVybDogJy4vYnV0dG9uLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLmNvbXBvbmVudC5zY3NzJ10sXG4gIGlucHV0czogWydkaXNhYmxlZCcsICdzaXplJywgJ3RhYkluZGV4JywgJ2NvbG9yJywgJ2xvb2snLCAndGV4dCcsICd0b2dnbGVhYmxlJywgJ3NlbGVjdGVkJ10sXG4gIG91dHB1dHM6IFsnb25CbHVyJywgJ29uRm9jdXMnLCAnb25DbGljaycsICdzZWxlY3RlZENoYW5nZScsICd0b2dnbGVhYmxlQ2hhbmdlJywgJ2xvb2tDaGFuZ2UnLCAnY29sb3JDaGFuZ2UnLCAnZGlzYWJsZWRDaGFuZ2UnXSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gIHByb3ZpZGVyczogW1xuICAgIHsgcHJvdmlkZTogQVhDb21wb25lbnQsIHVzZUV4aXN0aW5nOiBBWEJ1dHRvbkNvbXBvbmVudCB9LFxuICAgIHsgcHJvdmlkZTogQVhCdXR0b25JdGVtQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhCdXR0b25Db21wb25lbnQgfSxcbiAgICB7IHByb3ZpZGU6IEFYRm9jdXNhYmxlQ29tcG9uZW50LCB1c2VFeGlzdGluZzogQVhCdXR0b25Db21wb25lbnQgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhCdXR0b25Db21wb25lbnQgZXh0ZW5kcyBNWEJ1dHRvbkJhc2VDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlclZpZXdJbml0IHtcbiAgLyoqXG4gICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2tzIHRoZSBidXR0b24uXG4gICAqICBAZXZlbnRcbiAgICovXG4gIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENsaWNrRXZlbnQ+KCk7XG5cbiAgdHlwZSA9IGlucHV0PEFYQnV0dG9uVHlwZT4oJ2J1dHRvbicpO1xuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmdldEhvc3RFbGVtZW50KCkucmVtb3ZlQXR0cmlidXRlKCd0YWJpbmRleCcpO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRCdXR0b24oKTogSFRNTEJ1dHRvbkVsZW1lbnQge1xuICAgIHJldHVybiB0aGlzLmdldEhvc3RFbGVtZW50KCkuZmlyc3RFbGVtZW50Q2hpbGQgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gIH1cblxuICBfaGFuZGxlQ2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnRvZ2dsZWFibGUpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWQgPSAhdGhpcy5zZWxlY3RlZDtcbiAgICB9XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgIH0pO1xuXG4gICAgLy8gVE9ETzogY2hlY2sga2V5Ym9hcmQgZXZlbnRcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuYmx1cigpO1xuICAgIH0pO1xuICB9XG5cbiAgY2xpY2soKSB7XG4gICAgdGhpcy5nZXRCdXR0b24oKT8uY2xpY2soKTtcbiAgfVxuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwcml2YXRlIGdldCBfX2hvc3RDbGFzcygpOiBzdHJpbmdbXSB7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKHRoaXMuY3NzQ2xhc3NlcylcbiAgICAgIC5maWx0ZXIoKGMpID0+IGNbMV0pXG4gICAgICAubWFwKChjKSA9PiBjWzBdKTtcbiAgfVxuXG4gIG92ZXJyaWRlIGZvY3VzKCkge1xuICAgIHRoaXMuZ2V0QnV0dG9uKCk/LmZvY3VzKCk7XG4gICAgdGhpcy5nZXRCdXR0b24oKS5jbGFzc0xpc3QuYWRkKCdheC1zdGF0ZS1mb2N1cycpO1xuICB9XG4gIG92ZXJyaWRlIGJsdXIoKSB7XG4gICAgdGhpcy5nZXRCdXR0b24oKS5jbGFzc0xpc3QucmVtb3ZlKCdheC1zdGF0ZS1mb2N1cycpO1xuICB9XG59XG4iLCI8YnV0dG9uIFtheFJpcHBsZV0gW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgW2F0dHIudGFiaW5kZXhdPVwidGFiSW5kZXhcIiAoZm9jdXMpPVwiZW1pdE9uRm9jdXNFdmVudCgkZXZlbnQpXCJcbiAgKGJsdXIpPVwiZW1pdE9uQmx1ckV2ZW50KCRldmVudClcIiAoY2xpY2spPVwiX2hhbmRsZUNsaWNrKCRldmVudClcIiBbYXR0ci50eXBlXT1cInR5cGUoKVwiPlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXgsIGF4LWxvYWRpbmcsIGF4LWxvYWRpbmctc3Bpbm5lciwgYXgtaWNvblwiPiA8L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNvbnRlbnRcIj4gPC9uZy1jb250ZW50PlxuXG4gIEBpZih0ZXh0KXtcbiAgPHNwYW4gY2xhc3M9XCJheC1idXR0b24tdGV4dFwiPnt7IHRleHQgfX08L3NwYW4+XG4gIH1cblxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1kcm9wZG93bi1wYW5lbFwiPiA8L25nLWNvbnRlbnQ+XG4gIDxuZy1jb250ZW50IHNlbGVjdD1cIi50YWItY29udGVudFwiPiA8L25nLWNvbnRlbnQ+XG48L2J1dHRvbj4iXX0=
|