valtech-components 2.0.590 → 2.0.591
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/esm2022/lib/components/organisms/rotating-text/rotating-text.component.mjs +180 -0
- package/esm2022/lib/components/organisms/rotating-text/types.mjs +2 -0
- package/esm2022/lib/services/auth/auth.service.mjs +4 -4
- package/esm2022/lib/services/auth/index.mjs +1 -3
- package/esm2022/lib/services/auth/types.mjs +1 -1
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/valtech-components.mjs +180 -219
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +1 -1
- package/lib/components/atoms/text/text.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +4 -4
- package/lib/components/organisms/rotating-text/rotating-text.component.d.ts +47 -0
- package/lib/components/organisms/rotating-text/types.d.ts +28 -0
- package/lib/components/organisms/toolbar/toolbar.component.d.ts +1 -1
- package/lib/services/auth/auth.service.d.ts +3 -3
- package/lib/services/auth/index.d.ts +0 -1
- package/lib/services/auth/types.d.ts +0 -52
- package/package.json +1 -7
- package/public-api.d.ts +2 -0
- package/esm2022/lib/services/auth/google-auth.service.mjs +0 -221
- package/lib/services/auth/google-auth.service.d.ts +0 -102
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import { CommonModule } from '@angular/common';
|
|
2
|
+
import { Component, Input, signal, computed } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
import * as i1 from "@angular/common";
|
|
5
|
+
/**
|
|
6
|
+
* val-rotating-text
|
|
7
|
+
*
|
|
8
|
+
* A component that rotates through an array of text messages with smooth animations.
|
|
9
|
+
* Features entrance/exit animations with fade, blur, and scale effects.
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* <val-rotating-text
|
|
13
|
+
* [props]="{
|
|
14
|
+
* messages: [
|
|
15
|
+
* { aboveTitle: 'Welcome', title: 'Hello World' },
|
|
16
|
+
* { aboveTitle: 'Tip:', title: 'Stay curious' }
|
|
17
|
+
* ],
|
|
18
|
+
* interval: 4000,
|
|
19
|
+
* showDots: true
|
|
20
|
+
* }"
|
|
21
|
+
* ></val-rotating-text>
|
|
22
|
+
*
|
|
23
|
+
* @input props - Configuration for the rotating text component
|
|
24
|
+
*/
|
|
25
|
+
export class RotatingTextComponent {
|
|
26
|
+
constructor() {
|
|
27
|
+
this.intervalId = null;
|
|
28
|
+
/**
|
|
29
|
+
* Component configuration.
|
|
30
|
+
*/
|
|
31
|
+
this.props = {
|
|
32
|
+
messages: [],
|
|
33
|
+
interval: 4000,
|
|
34
|
+
showDots: true,
|
|
35
|
+
aboveTitleColor: 'medium',
|
|
36
|
+
titleColor: 'dark',
|
|
37
|
+
};
|
|
38
|
+
// Animation state
|
|
39
|
+
this.currentIndex = signal(0);
|
|
40
|
+
this.isEntering = signal(true);
|
|
41
|
+
this.isExiting = signal(false);
|
|
42
|
+
// Current message computed from index
|
|
43
|
+
this.currentMessage = computed(() => this.props.messages[this.currentIndex()]);
|
|
44
|
+
}
|
|
45
|
+
// Color values
|
|
46
|
+
get aboveTitleColorValue() {
|
|
47
|
+
const color = this.props.aboveTitleColor || 'medium';
|
|
48
|
+
return color.startsWith('--') || color.startsWith('#') || color.startsWith('rgb')
|
|
49
|
+
? color
|
|
50
|
+
: `var(--ion-color-${color})`;
|
|
51
|
+
}
|
|
52
|
+
get titleColorValue() {
|
|
53
|
+
const color = this.props.titleColor || 'dark';
|
|
54
|
+
return color.startsWith('--') || color.startsWith('#') || color.startsWith('rgb')
|
|
55
|
+
? color
|
|
56
|
+
: `var(--ion-color-${color})`;
|
|
57
|
+
}
|
|
58
|
+
ngOnInit() {
|
|
59
|
+
if (this.props.messages.length > 1) {
|
|
60
|
+
this.startRotation();
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
ngOnDestroy() {
|
|
64
|
+
this.stopRotation();
|
|
65
|
+
}
|
|
66
|
+
startRotation() {
|
|
67
|
+
const interval = this.props.interval ?? 4000;
|
|
68
|
+
this.intervalId = setInterval(() => {
|
|
69
|
+
this.rotateToNext();
|
|
70
|
+
}, interval);
|
|
71
|
+
}
|
|
72
|
+
stopRotation() {
|
|
73
|
+
if (this.intervalId) {
|
|
74
|
+
clearInterval(this.intervalId);
|
|
75
|
+
this.intervalId = null;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
rotateToNext() {
|
|
79
|
+
// Start exit animation
|
|
80
|
+
this.isEntering.set(false);
|
|
81
|
+
this.isExiting.set(true);
|
|
82
|
+
// After exit animation, change text and start enter animation
|
|
83
|
+
setTimeout(() => {
|
|
84
|
+
this.currentIndex.update((i) => (i + 1) % this.props.messages.length);
|
|
85
|
+
this.isExiting.set(false);
|
|
86
|
+
this.isEntering.set(true);
|
|
87
|
+
}, 400); // Match exit animation duration
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Navigate to a specific message by index.
|
|
91
|
+
*/
|
|
92
|
+
goToMessage(index) {
|
|
93
|
+
if (index === this.currentIndex())
|
|
94
|
+
return;
|
|
95
|
+
this.stopRotation();
|
|
96
|
+
this.isEntering.set(false);
|
|
97
|
+
this.isExiting.set(true);
|
|
98
|
+
setTimeout(() => {
|
|
99
|
+
this.currentIndex.set(index);
|
|
100
|
+
this.isExiting.set(false);
|
|
101
|
+
this.isEntering.set(true);
|
|
102
|
+
if (this.props.messages.length > 1) {
|
|
103
|
+
this.startRotation();
|
|
104
|
+
}
|
|
105
|
+
}, 400);
|
|
106
|
+
}
|
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RotatingTextComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
108
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.14", type: RotatingTextComponent, isStandalone: true, selector: "val-rotating-text", inputs: { props: "props" }, ngImport: i0, template: `
|
|
109
|
+
<div
|
|
110
|
+
class="rotating-banner"
|
|
111
|
+
[ngStyle]="{ background: props.backgroundColor || 'transparent' }"
|
|
112
|
+
>
|
|
113
|
+
<div
|
|
114
|
+
class="rotating-text"
|
|
115
|
+
[class.text-enter]="isEntering()"
|
|
116
|
+
[class.text-exit]="isExiting()"
|
|
117
|
+
>
|
|
118
|
+
<div
|
|
119
|
+
class="above-title"
|
|
120
|
+
[ngStyle]="{ color: aboveTitleColorValue }"
|
|
121
|
+
>
|
|
122
|
+
{{ currentMessage()?.aboveTitle }}
|
|
123
|
+
</div>
|
|
124
|
+
<div
|
|
125
|
+
class="title"
|
|
126
|
+
[ngStyle]="{ color: titleColorValue }"
|
|
127
|
+
>
|
|
128
|
+
{{ currentMessage()?.title }}
|
|
129
|
+
</div>
|
|
130
|
+
</div>
|
|
131
|
+
<div class="progress-dots" *ngIf="props.showDots !== false">
|
|
132
|
+
<div
|
|
133
|
+
*ngFor="let message of props.messages; let i = index"
|
|
134
|
+
class="progress-dot"
|
|
135
|
+
[class.active]="i === currentIndex()"
|
|
136
|
+
(click)="goToMessage(i)"
|
|
137
|
+
></div>
|
|
138
|
+
</div>
|
|
139
|
+
</div>
|
|
140
|
+
`, isInline: true, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }] }); }
|
|
141
|
+
}
|
|
142
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImport: i0, type: RotatingTextComponent, decorators: [{
|
|
143
|
+
type: Component,
|
|
144
|
+
args: [{ selector: 'val-rotating-text', standalone: true, imports: [CommonModule], template: `
|
|
145
|
+
<div
|
|
146
|
+
class="rotating-banner"
|
|
147
|
+
[ngStyle]="{ background: props.backgroundColor || 'transparent' }"
|
|
148
|
+
>
|
|
149
|
+
<div
|
|
150
|
+
class="rotating-text"
|
|
151
|
+
[class.text-enter]="isEntering()"
|
|
152
|
+
[class.text-exit]="isExiting()"
|
|
153
|
+
>
|
|
154
|
+
<div
|
|
155
|
+
class="above-title"
|
|
156
|
+
[ngStyle]="{ color: aboveTitleColorValue }"
|
|
157
|
+
>
|
|
158
|
+
{{ currentMessage()?.aboveTitle }}
|
|
159
|
+
</div>
|
|
160
|
+
<div
|
|
161
|
+
class="title"
|
|
162
|
+
[ngStyle]="{ color: titleColorValue }"
|
|
163
|
+
>
|
|
164
|
+
{{ currentMessage()?.title }}
|
|
165
|
+
</div>
|
|
166
|
+
</div>
|
|
167
|
+
<div class="progress-dots" *ngIf="props.showDots !== false">
|
|
168
|
+
<div
|
|
169
|
+
*ngFor="let message of props.messages; let i = index"
|
|
170
|
+
class="progress-dot"
|
|
171
|
+
[class.active]="i === currentIndex()"
|
|
172
|
+
(click)="goToMessage(i)"
|
|
173
|
+
></div>
|
|
174
|
+
</div>
|
|
175
|
+
</div>
|
|
176
|
+
`, styles: [".rotating-banner{text-align:center;padding:2rem 1rem;min-height:120px;display:flex;flex-direction:column;justify-content:center;align-items:center}.rotating-text{position:relative;overflow:hidden}.rotating-text .above-title{font-size:1.125rem;margin-bottom:.75rem;font-family:monospace}.rotating-text .title{font-size:2rem;font-weight:900}.text-enter{animation:textEnter .6s ease-out forwards}.text-exit{animation:textExit .4s ease-in forwards}@keyframes textEnter{0%{opacity:0;transform:translateY(20px) scale(.95);filter:blur(4px)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}}@keyframes textExit{0%{opacity:1;transform:translateY(0) scale(1);filter:blur(0)}to{opacity:0;transform:translateY(-20px) scale(.95);filter:blur(4px)}}.progress-dots{display:flex;gap:8px;margin-top:1.5rem}.progress-dot{width:8px;height:8px;border-radius:50%;background:var(--ion-color-medium-tint);transition:all .3s ease;cursor:pointer}.progress-dot.active{background:var(--ion-color-dark);transform:scale(1.3)}\n"] }]
|
|
177
|
+
}], propDecorators: { props: [{
|
|
178
|
+
type: Input
|
|
179
|
+
}] } });
|
|
180
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm90YXRpbmctdGV4dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3JvdGF0aW5nLXRleHQvcm90YXRpbmctdGV4dC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFHdEY7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0FtQkc7QUEwSEgsTUFBTSxPQUFPLHFCQUFxQjtJQXpIbEM7UUEwSFUsZUFBVSxHQUEwQyxJQUFJLENBQUM7UUFFakU7O1dBRUc7UUFDTSxVQUFLLEdBQXlCO1lBQ3JDLFFBQVEsRUFBRSxFQUFFO1lBQ1osUUFBUSxFQUFFLElBQUk7WUFDZCxRQUFRLEVBQUUsSUFBSTtZQUNkLGVBQWUsRUFBRSxRQUFRO1lBQ3pCLFVBQVUsRUFBRSxNQUFNO1NBQ25CLENBQUM7UUFFRixrQkFBa0I7UUFDbEIsaUJBQVksR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDekIsZUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUMxQixjQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBRTFCLHNDQUFzQztRQUN0QyxtQkFBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBeUUzRTtJQXZFQyxlQUFlO0lBQ2YsSUFBSSxvQkFBb0I7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLElBQUksUUFBUSxDQUFDO1FBQ3JELE9BQU8s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Q0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ3ZCLENBQUM7UUFDSCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDVixDQUFDOytHQTVGVSxxQkFBcUI7bUdBQXJCLHFCQUFxQix5R0FsQ3RCOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQWdDVCwwakNBcEhTLFlBQVk7OzRGQXNIWCxxQkFBcUI7a0JBekhqQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBQ1AsQ0FBQyxZQUFZLENBQUMsWUFvRmI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBZ0NUOzhCQVFRLEtBQUs7c0JBQWIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCwgc2lnbmFsLCBjb21wdXRlZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgUm90YXRpbmdUZXh0TWV0YWRhdGEsIFJvdGF0aW5nVGV4dE1lc3NhZ2UgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiB2YWwtcm90YXRpbmctdGV4dFxuICpcbiAqIEEgY29tcG9uZW50IHRoYXQgcm90YXRlcyB0aHJvdWdoIGFuIGFycmF5IG9mIHRleHQgbWVzc2FnZXMgd2l0aCBzbW9vdGggYW5pbWF0aW9ucy5cbiAqIEZlYXR1cmVzIGVudHJhbmNlL2V4aXQgYW5pbWF0aW9ucyB3aXRoIGZhZGUsIGJsdXIsIGFuZCBzY2FsZSBlZmZlY3RzLlxuICpcbiAqIEBleGFtcGxlXG4gKiA8dmFsLXJvdGF0aW5nLXRleHRcbiAqICAgW3Byb3BzXT1cIntcbiAqICAgICBtZXNzYWdlczogW1xuICogICAgICAgeyBhYm92ZVRpdGxlOiAnV2VsY29tZScsIHRpdGxlOiAnSGVsbG8gV29ybGQnIH0sXG4gKiAgICAgICB7IGFib3ZlVGl0bGU6ICdUaXA6JywgdGl0bGU6ICdTdGF5IGN1cmlvdXMnIH1cbiAqICAgICBdLFxuICogICAgIGludGVydmFsOiA0MDAwLFxuICogICAgIHNob3dEb3RzOiB0cnVlXG4gKiAgIH1cIlxuICogPjwvdmFsLXJvdGF0aW5nLXRleHQ+XG4gKlxuICogQGlucHV0IHByb3BzIC0gQ29uZmlndXJhdGlvbiBmb3IgdGhlIHJvdGF0aW5nIHRleHQgY29tcG9uZW50XG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZhbC1yb3RhdGluZy10ZXh0JyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW0NvbW1vbk1vZHVsZV0sXG4gIHN0eWxlczogW1xuICAgIGBcbiAgICAgIC5yb3RhdGluZy1iYW5uZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMTIwcHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuXG4gICAgICAucm90YXRpbmctdGV4dCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLmFib3ZlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbiAgICAgIH1cblxuICAgICAgLnJvdGF0aW5nLXRleHQgLnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgfVxuXG4gICAgICAudGV4dC1lbnRlciB7XG4gICAgICAgIGFuaW1hdGlvbjogdGV4dEVudGVyIDAuNnMgZWFzZS1vdXQgZm9yd2FyZHM7XG4gICAgICB9XG5cbiAgICAgIC50ZXh0LWV4aXQge1xuICAgICAgICBhbmltYXRpb246IHRleHRFeGl0IDAuNHMgZWFzZS1pbiBmb3J3YXJkcztcbiAgICAgIH1cblxuICAgICAgQGtleWZyYW1lcyB0ZXh0RW50ZXIge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDRweCk7XG4gICAgICAgIH1cbiAgICAgICAgMTAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBrZXlmcmFtZXMgdGV4dEV4aXQge1xuICAgICAgICAwJSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgICAgICAgZmlsdGVyOiBibHVyKDApO1xuICAgICAgICB9XG4gICAgICAgIDEwMCUge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yMHB4KSBzY2FsZSgwLjk1KTtcbiAgICAgICAgICBmaWx0ZXI6IGJsdXIoNHB4KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAucHJvZ3Jlc3MtZG90cyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3Qge1xuICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICBoZWlnaHQ6IDhweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1pb24tY29sb3ItbWVkaXVtLXRpbnQpO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG5cbiAgICAgIC5wcm9ncmVzcy1kb3QuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0taW9uLWNvbG9yLWRhcmspO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMyk7XG4gICAgICB9XG4gICAgYCxcbiAgXSxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2XG4gICAgICBjbGFzcz1cInJvdGF0aW5nLWJhbm5lclwiXG4gICAgICBbbmdTdHlsZV09XCJ7IGJhY2tncm91bmQ6IHByb3BzLmJhY2tncm91bmRDb2xvciB8fCAndHJhbnNwYXJlbnQnIH1cIlxuICAgID5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJyb3RhdGluZy10ZXh0XCJcbiAgICAgICAgW2NsYXNzLnRleHQtZW50ZXJdPVwiaXNFbnRlcmluZygpXCJcbiAgICAgICAgW2NsYXNzLnRleHQtZXhpdF09XCJpc0V4aXRpbmcoKVwiXG4gICAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cImFib3ZlLXRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiBhYm92ZVRpdGxlQ29sb3JWYWx1ZSB9XCJcbiAgICAgICAgPlxuICAgICAgICAgIHt7IGN1cnJlbnRNZXNzYWdlKCk/LmFib3ZlVGl0bGUgfX1cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBjbGFzcz1cInRpdGxlXCJcbiAgICAgICAgICBbbmdTdHlsZV09XCJ7IGNvbG9yOiB0aXRsZUNvbG9yVmFsdWUgfVwiXG4gICAgICAgID5cbiAgICAgICAgICB7eyBjdXJyZW50TWVzc2FnZSgpPy50aXRsZSB9fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdiBjbGFzcz1cInByb2dyZXNzLWRvdHNcIiAqbmdJZj1cInByb3BzLnNob3dEb3RzICE9PSBmYWxzZVwiPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgKm5nRm9yPVwibGV0IG1lc3NhZ2Ugb2YgcHJvcHMubWVzc2FnZXM7IGxldCBpID0gaW5kZXhcIlxuICAgICAgICAgIGNsYXNzPVwicHJvZ3Jlc3MtZG90XCJcbiAgICAgICAgICBbY2xhc3MuYWN0aXZlXT1cImkgPT09IGN1cnJlbnRJbmRleCgpXCJcbiAgICAgICAgICAoY2xpY2spPVwiZ29Ub01lc3NhZ2UoaSlcIlxuICAgICAgICA+PC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgYCxcbn0pXG5leHBvcnQgY2xhc3MgUm90YXRpbmdUZXh0Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xuICBwcml2YXRlIGludGVydmFsSWQ6IFJldHVyblR5cGU8dHlwZW9mIHNldEludGVydmFsPiB8IG51bGwgPSBudWxsO1xuXG4gIC8qKlxuICAgKiBDb21wb25lbnQgY29uZmlndXJhdGlvbi5cbiAgICovXG4gIEBJbnB1dCgpIHByb3BzOiBSb3RhdGluZ1RleHRNZXRhZGF0YSA9IHtcbiAgICBtZXNzYWdlczogW10sXG4gICAgaW50ZXJ2YWw6IDQwMDAsXG4gICAgc2hvd0RvdHM6IHRydWUsXG4gICAgYWJvdmVUaXRsZUNvbG9yOiAnbWVkaXVtJyxcbiAgICB0aXRsZUNvbG9yOiAnZGFyaycsXG4gIH07XG5cbiAgLy8gQW5pbWF0aW9uIHN0YXRlXG4gIGN1cnJlbnRJbmRleCA9IHNpZ25hbCgwKTtcbiAgaXNFbnRlcmluZyA9IHNpZ25hbCh0cnVlKTtcbiAgaXNFeGl0aW5nID0gc2lnbmFsKGZhbHNlKTtcblxuICAvLyBDdXJyZW50IG1lc3NhZ2UgY29tcHV0ZWQgZnJvbSBpbmRleFxuICBjdXJyZW50TWVzc2FnZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMucHJvcHMubWVzc2FnZXNbdGhpcy5jdXJyZW50SW5kZXgoKV0pO1xuXG4gIC8vIENvbG9yIHZhbHVlc1xuICBnZXQgYWJvdmVUaXRsZUNvbG9yVmFsdWUoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjb2xvciA9IHRoaXMucHJvcHMuYWJvdmVUaXRsZUNvbG9yIHx8ICdtZWRpdW0nO1xuICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKVxuICAgICAgPyBjb2xvclxuICAgICAgOiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICBnZXQgdGl0bGVDb2xvclZhbHVlKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY29sb3IgPSB0aGlzLnByb3BzLnRpdGxlQ29sb3IgfHwgJ2RhcmsnO1xuICAgIHJldHVybiBjb2xvci5zdGFydHNXaXRoKCctLScpIHx8IGNvbG9yLnN0YXJ0c1dpdGgoJyMnKSB8fCBjb2xvci5zdGFydHNXaXRoKCdyZ2InKVxuICAgICAgPyBjb2xvclxuICAgICAgOiBgdmFyKC0taW9uLWNvbG9yLSR7Y29sb3J9KWA7XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICB0aGlzLnN0YXJ0Um90YXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnN0b3BSb3RhdGlvbigpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdGFydFJvdGF0aW9uKCk6IHZvaWQge1xuICAgIGNvbnN0IGludGVydmFsID0gdGhpcy5wcm9wcy5pbnRlcnZhbCA/PyA0MDAwO1xuICAgIHRoaXMuaW50ZXJ2YWxJZCA9IHNldEludGVydmFsKCgpID0+IHtcbiAgICAgIHRoaXMucm90YXRlVG9OZXh0KCk7XG4gICAgfSwgaW50ZXJ2YWwpO1xuICB9XG5cbiAgcHJpdmF0ZSBzdG9wUm90YXRpb24oKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaW50ZXJ2YWxJZCkge1xuICAgICAgY2xlYXJJbnRlcnZhbCh0aGlzLmludGVydmFsSWQpO1xuICAgICAgdGhpcy5pbnRlcnZhbElkID0gbnVsbDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHJvdGF0ZVRvTmV4dCgpOiB2b2lkIHtcbiAgICAvLyBTdGFydCBleGl0IGFuaW1hdGlvblxuICAgIHRoaXMuaXNFbnRlcmluZy5zZXQoZmFsc2UpO1xuICAgIHRoaXMuaXNFeGl0aW5nLnNldCh0cnVlKTtcblxuICAgIC8vIEFmdGVyIGV4aXQgYW5pbWF0aW9uLCBjaGFuZ2UgdGV4dCBhbmQgc3RhcnQgZW50ZXIgYW5pbWF0aW9uXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC51cGRhdGUoKGkpID0+IChpICsgMSkgJSB0aGlzLnByb3BzLm1lc3NhZ2VzLmxlbmd0aCk7XG4gICAgICB0aGlzLmlzRXhpdGluZy5zZXQoZmFsc2UpO1xuICAgICAgdGhpcy5pc0VudGVyaW5nLnNldCh0cnVlKTtcbiAgICB9LCA0MDApOyAvLyBNYXRjaCBleGl0IGFuaW1hdGlvbiBkdXJhdGlvblxuICB9XG5cbiAgLyoqXG4gICAqIE5hdmlnYXRlIHRvIGEgc3BlY2lmaWMgbWVzc2FnZSBieSBpbmRleC5cbiAgICovXG4gIGdvVG9NZXNzYWdlKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICBpZiAoaW5kZXggPT09IHRoaXMuY3VycmVudEluZGV4KCkpIHJldHVybjtcblxuICAgIHRoaXMuc3RvcFJvdGF0aW9uKCk7XG4gICAgdGhpcy5pc0VudGVyaW5nLnNldChmYWxzZSk7XG4gICAgdGhpcy5pc0V4aXRpbmcuc2V0KHRydWUpO1xuXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmN1cnJlbnRJbmRleC5zZXQoaW5kZXgpO1xuICAgICAgdGhpcy5pc0V4aXRpbmcuc2V0KGZhbHNlKTtcbiAgICAgIHRoaXMuaXNFbnRlcmluZy5zZXQodHJ1ZSk7XG4gICAgICBpZiAodGhpcy5wcm9wcy5tZXNzYWdlcy5sZW5ndGggPiAxKSB7XG4gICAgICAgIHRoaXMuc3RhcnRSb3RhdGlvbigpO1xuICAgICAgfVxuICAgIH0sIDQwMCk7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export {};
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL2NvbXBvbmVudHMvb3JnYW5pc21zL3JvdGF0aW5nLXRleHQvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQSBzaW5nbGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSByb3RhdGluZyB0ZXh0IGNvbXBvbmVudC5cbiAqXG4gKiBAcHJvcGVydHkgYWJvdmVUaXRsZSAtIFNtYWxsIHRleHQgZGlzcGxheWVkIGFib3ZlIHRoZSBtYWluIHRpdGxlLlxuICogQHByb3BlcnR5IHRpdGxlIC0gVGhlIG1haW4gdGl0bGUgdGV4dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSb3RhdGluZ1RleHRNZXNzYWdlIHtcbiAgYWJvdmVUaXRsZTogc3RyaW5nO1xuICB0aXRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3BzIGZvciB2YWwtcm90YXRpbmctdGV4dCBjb21wb25lbnQuXG4gKlxuICogQHByb3BlcnR5IG1lc3NhZ2VzIC0gQXJyYXkgb2YgbWVzc2FnZXMgdG8gcm90YXRlIHRocm91Z2guXG4gKiBAcHJvcGVydHkgaW50ZXJ2YWwgLSBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZXR3ZWVuIHJvdGF0aW9ucyAoZGVmYXVsdDogNDAwMCkuXG4gKiBAcHJvcGVydHkgc2hvd0RvdHMgLSBXaGV0aGVyIHRvIHNob3cgbmF2aWdhdGlvbiBkb3RzIChkZWZhdWx0OiB0cnVlKS5cbiAqIEBwcm9wZXJ0eSBhYm92ZVRpdGxlQ29sb3IgLSBDb2xvciBmb3IgYWJvdmUgdGl0bGUgdGV4dCAoZGVmYXVsdDogJ21lZGl1bScpLlxuICogQHByb3BlcnR5IHRpdGxlQ29sb3IgLSBDb2xvciBmb3IgbWFpbiB0aXRsZSB0ZXh0IChkZWZhdWx0OiAnZGFyaycpLlxuICogQHByb3BlcnR5IGJhY2tncm91bmRDb2xvciAtIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzZWN0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJvdGF0aW5nVGV4dE1ldGFkYXRhIHtcbiAgbWVzc2FnZXM6IFJvdGF0aW5nVGV4dE1lc3NhZ2VbXTtcbiAgaW50ZXJ2YWw/OiBudW1iZXI7XG4gIHNob3dEb3RzPzogYm9vbGVhbjtcbiAgYWJvdmVUaXRsZUNvbG9yPzogc3RyaW5nO1xuICB0aXRsZUNvbG9yPzogc3RyaW5nO1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG4iXX0=
|