matcha-components 18.3.3 → 18.3.5
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/matcha-stepper/stepper/stepper.component.mjs +47 -0
- package/esm2022/lib/matcha-stepper/stepper-pagination/stepper-pagination.component.mjs +36 -0
- package/esm2022/lib/matcha-stepper/stepper-step/stepper-step.component.mjs +18 -0
- package/esm2022/lib/matcha-stepper/stepper.module.mjs +22 -6
- package/esm2022/lib/matcha-stepper/stepper.service.mjs +33 -0
- package/esm2022/lib/matcha-toolbar/toolbar-button/toolbar-button.component.mjs +1 -1
- package/esm2022/lib/matcha-tooltip/tooltip.directive.mjs +7 -7
- package/esm2022/lib/matcha-tooltip/tooltip.module.mjs +5 -5
- package/esm2022/public-api.mjs +4 -2
- package/fesm2022/matcha-components.mjs +155 -216
- package/fesm2022/matcha-components.mjs.map +1 -1
- package/lib/matcha-stepper/stepper/stepper.component.d.ts +16 -0
- package/lib/matcha-stepper/stepper-pagination/stepper-pagination.component.d.ts +16 -0
- package/lib/matcha-stepper/stepper-step/stepper-step.component.d.ts +7 -0
- package/lib/matcha-stepper/stepper.module.d.ts +5 -3
- package/lib/matcha-stepper/stepper.service.d.ts +15 -0
- package/lib/matcha-tooltip/tooltip.directive.d.ts +1 -1
- package/lib/matcha-tooltip/tooltip.module.d.ts +3 -4
- package/package.json +1 -1
- package/public-api.d.ts +3 -1
- package/esm2022/lib/matcha-tooltip/tooltip/tooltip.component.mjs +0 -198
- package/lib/matcha-tooltip/tooltip/tooltip.component.d.ts +0 -23
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { QueryList, AfterContentInit } from '@angular/core';
|
|
2
|
+
import { MatchaStepComponent } from '../stepper-step/stepper-step.component';
|
|
3
|
+
import { MatchaStepperService } from '../stepper.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class MatchaStepperComponent implements AfterContentInit {
|
|
6
|
+
private stepperService;
|
|
7
|
+
steps: QueryList<MatchaStepComponent>;
|
|
8
|
+
currentStepIndex: number;
|
|
9
|
+
constructor(stepperService: MatchaStepperService);
|
|
10
|
+
ngAfterContentInit(): void;
|
|
11
|
+
next(): void;
|
|
12
|
+
previous(): void;
|
|
13
|
+
private activateStep;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaStepperComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatchaStepperComponent, "matcha-stepper", never, {}, {}, ["steps"], ["[matcha-stepper-header]", "*", "[matcha-stepper-footer]"], false, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Subscription } from 'rxjs';
|
|
2
|
+
import { OnInit, OnDestroy } from '@angular/core';
|
|
3
|
+
import { MatchaStepperService, StepData } from '../stepper.service';
|
|
4
|
+
import * as i0 from "@angular/core";
|
|
5
|
+
export declare class MatchaStepperPaginationComponent implements OnInit, OnDestroy {
|
|
6
|
+
private stepperService;
|
|
7
|
+
steps: StepData[];
|
|
8
|
+
currentStep: number;
|
|
9
|
+
subscription: Subscription;
|
|
10
|
+
constructor(stepperService: MatchaStepperService);
|
|
11
|
+
ngOnInit(): void;
|
|
12
|
+
goToStep(index: number): void;
|
|
13
|
+
ngOnDestroy(): void;
|
|
14
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaStepperPaginationComponent, never>;
|
|
15
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatchaStepperPaginationComponent, "matcha-stepper-pagination", never, {}, {}, never, never, false, never>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
export declare class MatchaStepComponent {
|
|
3
|
+
title: string;
|
|
4
|
+
active: boolean;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaStepComponent, never>;
|
|
6
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<MatchaStepComponent, "matcha-step", never, { "title": { "alias": "title"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
7
|
+
}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./stepper.
|
|
3
|
-
import * as i2 from "
|
|
2
|
+
import * as i1 from "./stepper-step/stepper-step.component";
|
|
3
|
+
import * as i2 from "./stepper/stepper.component";
|
|
4
|
+
import * as i3 from "./stepper-pagination/stepper-pagination.component";
|
|
5
|
+
import * as i4 from "@angular/common";
|
|
4
6
|
export declare class MatchaStepperModule {
|
|
5
7
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaStepperModule, never>;
|
|
6
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MatchaStepperModule, [typeof i1.
|
|
8
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MatchaStepperModule, [typeof i1.MatchaStepComponent, typeof i2.MatchaStepperComponent, typeof i3.MatchaStepperPaginationComponent], [typeof i4.CommonModule], [typeof i1.MatchaStepComponent, typeof i2.MatchaStepperComponent, typeof i3.MatchaStepperPaginationComponent]>;
|
|
7
9
|
static ɵinj: i0.ɵɵInjectorDeclaration<MatchaStepperModule>;
|
|
8
10
|
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { EventEmitter } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export interface StepData {
|
|
4
|
+
title: string;
|
|
5
|
+
visited: boolean;
|
|
6
|
+
}
|
|
7
|
+
export declare class MatchaStepperService {
|
|
8
|
+
currentStep: number;
|
|
9
|
+
steps: StepData[];
|
|
10
|
+
stepChanged: EventEmitter<number>;
|
|
11
|
+
setSteps(steps: StepData[]): void;
|
|
12
|
+
setCurrentStep(index: number): void;
|
|
13
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaStepperService, never>;
|
|
14
|
+
static ɵprov: i0.ɵɵInjectableDeclaration<MatchaStepperService>;
|
|
15
|
+
}
|
|
@@ -19,5 +19,5 @@ export declare class MatchaTooltipDirective {
|
|
|
19
19
|
private createTooltip;
|
|
20
20
|
private destroyTooltip;
|
|
21
21
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaTooltipDirective, never>;
|
|
22
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<MatchaTooltipDirective, "[matcha-tooltip]", never, { "tooltipText": { "alias": "matcha-tooltip"; "required": false; }; "tooltipDisabled": { "alias": "tooltip-disabled"; "required": false; }; "preferAbove": { "alias": "
|
|
22
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<MatchaTooltipDirective, "[matcha-tooltip]", never, { "tooltipText": { "alias": "matcha-tooltip"; "required": false; }; "tooltipDisabled": { "alias": "matcha-tooltip-disabled"; "required": false; }; "preferAbove": { "alias": "matcha-tooltip-above"; "required": false; }; "preferBelow": { "alias": "matcha-tooltip-below"; "required": false; }; "preferLeft": { "alias": "matcha-tooltip-left"; "required": false; }; "preferRight": { "alias": "matcha-tooltip-right"; "required": false; }; "tooltipEnableClose": { "alias": "tooltip-enable-close"; "required": false; }; }, {}, never, never, false, never>;
|
|
23
23
|
}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import * as i0 from "@angular/core";
|
|
2
|
-
import * as i1 from "./tooltip
|
|
3
|
-
import * as i2 from "
|
|
4
|
-
import * as i3 from "@angular/common";
|
|
2
|
+
import * as i1 from "./tooltip.directive";
|
|
3
|
+
import * as i2 from "@angular/common";
|
|
5
4
|
export declare class MatchaTooltipModule {
|
|
6
5
|
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaTooltipModule, never>;
|
|
7
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<MatchaTooltipModule, [typeof i1.
|
|
6
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<MatchaTooltipModule, [typeof i1.MatchaTooltipDirective], [typeof i2.CommonModule], [typeof i1.MatchaTooltipDirective]>;
|
|
8
7
|
static ɵinj: i0.ɵɵInjectorDeclaration<MatchaTooltipModule>;
|
|
9
8
|
}
|
package/package.json
CHANGED
package/public-api.d.ts
CHANGED
|
@@ -11,7 +11,9 @@ export * from './lib/matcha-modal/modal-footer/modal-footer.component';
|
|
|
11
11
|
export * from './lib/matcha-modal/modal-options/modal-options.component';
|
|
12
12
|
export * from './lib/matcha-modal/modal/modal.component';
|
|
13
13
|
export * from './lib/matcha-menu/menu.component';
|
|
14
|
-
export * from './lib/matcha-
|
|
14
|
+
export * from './lib/matcha-stepper/stepper/stepper.component';
|
|
15
|
+
export * from './lib/matcha-stepper/stepper-pagination/stepper-pagination.component';
|
|
16
|
+
export * from './lib/matcha-stepper/stepper-step/stepper-step.component';
|
|
15
17
|
export * from './lib/matcha-toolbar/toolbar/toolbar.component';
|
|
16
18
|
export * from './lib/matcha-toolbar/toolbar-button/toolbar-button.component';
|
|
17
19
|
export * from './lib/matcha-toolbar/toolbar-content/toolbar-content.component';
|
|
@@ -1,198 +0,0 @@
|
|
|
1
|
-
import { Component, HostListener, Input } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export class MatchaTooltipComponent {
|
|
4
|
-
constructor(el, renderer) {
|
|
5
|
-
this.el = el;
|
|
6
|
-
this.renderer = renderer;
|
|
7
|
-
this.tooltipText = '';
|
|
8
|
-
this.tooltipDisabled = false;
|
|
9
|
-
// Inputs para displayência de posição (true = displayência ativa)
|
|
10
|
-
this.displayAbove = false;
|
|
11
|
-
this.displayBelow = false;
|
|
12
|
-
this.displayLeft = false;
|
|
13
|
-
this.displayRight = false;
|
|
14
|
-
// Input para exibir botão de fechar (útil para mobile)
|
|
15
|
-
this.tooltipEnableClose = false;
|
|
16
|
-
this.tooltipElement = null;
|
|
17
|
-
this.documentClickListener = null;
|
|
18
|
-
}
|
|
19
|
-
// Para desktop: usamos mouseenter se não estivermos no modo "close-enabled"
|
|
20
|
-
onMouseEnter() {
|
|
21
|
-
if (this.tooltipEnableClose) {
|
|
22
|
-
// Se estiver em modo de clique/tap para mobile, não abre via hover.
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
if (this.tooltipDisabled || this.tooltipElement || !this.tooltipText) {
|
|
26
|
-
return;
|
|
27
|
-
}
|
|
28
|
-
this.createTooltip();
|
|
29
|
-
}
|
|
30
|
-
// Em modo desktop, fecha ao sair do hover, exceto se tooltipEnableClose for true
|
|
31
|
-
onMouseLeave() {
|
|
32
|
-
if (!this.tooltipEnableClose && this.tooltipElement) {
|
|
33
|
-
this.destroyTooltip();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
// Para mobile ou quando tooltipEnableClose está ativo, abrimos o tooltip com clique/tap
|
|
37
|
-
onClick(event) {
|
|
38
|
-
if (!this.tooltipEnableClose) {
|
|
39
|
-
// Se não estiver no modo de fechar com clique, ignora o click
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
event.stopPropagation();
|
|
43
|
-
// Se o tooltip já estiver aberto, não faz nada (ou pode implementar toggle)
|
|
44
|
-
if (!this.tooltipElement && !this.tooltipDisabled && this.tooltipText) {
|
|
45
|
-
this.createTooltip();
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
createTooltip() {
|
|
49
|
-
// Cria o tooltip e adiciona a classe base
|
|
50
|
-
this.tooltipElement = this.renderer.createElement('div');
|
|
51
|
-
this.renderer.addClass(this.tooltipElement, 'matcha-tooltip-content');
|
|
52
|
-
// Define o texto do tooltip (aqui não usamos innerHTML, permitindo que o botão seja inserido depois)
|
|
53
|
-
this.tooltipElement.textContent = this.tooltipText;
|
|
54
|
-
// Define estilos iniciais para posicionamento e medição
|
|
55
|
-
this.renderer.setStyle(this.tooltipElement, 'position', 'absolute');
|
|
56
|
-
this.renderer.setStyle(this.tooltipElement, 'top', '0');
|
|
57
|
-
this.renderer.setStyle(this.tooltipElement, 'left', '0');
|
|
58
|
-
this.renderer.setStyle(this.tooltipElement, 'visibility', 'hidden');
|
|
59
|
-
this.renderer.appendChild(document.body, this.tooltipElement);
|
|
60
|
-
// Se tooltipEnableClose estiver true, adiciona o botão de fechar
|
|
61
|
-
if (this.tooltipEnableClose) {
|
|
62
|
-
const closeButton = this.renderer.createElement('div');
|
|
63
|
-
this.renderer.addClass(closeButton, 'matcha-tooltip-close');
|
|
64
|
-
// O botão de fechar fica dentro do tooltip
|
|
65
|
-
this.renderer.appendChild(this.tooltipElement, closeButton);
|
|
66
|
-
// Ao clicar no botão X, fecha o tooltip
|
|
67
|
-
this.renderer.listen(closeButton, 'click', (e) => {
|
|
68
|
-
e.stopPropagation();
|
|
69
|
-
this.destroyTooltip();
|
|
70
|
-
});
|
|
71
|
-
// Adiciona listener global para fechar o tooltip quando clicar fora dele
|
|
72
|
-
this.documentClickListener = this.renderer.listen('document', 'click', (e) => {
|
|
73
|
-
if (this.tooltipElement && !this.tooltipElement.contains(e.target)) {
|
|
74
|
-
this.destroyTooltip();
|
|
75
|
-
}
|
|
76
|
-
});
|
|
77
|
-
}
|
|
78
|
-
// Medidas para posicionamento
|
|
79
|
-
const margin = 8;
|
|
80
|
-
const hostRect = this.el.nativeElement.getBoundingClientRect();
|
|
81
|
-
const tooltipRect = this.tooltipElement.getBoundingClientRect();
|
|
82
|
-
// Verifica se há espaço suficiente para cada posição
|
|
83
|
-
const hasSpaceAbove = hostRect.top >= tooltipRect.height + margin;
|
|
84
|
-
const hasSpaceBelow = (window.innerHeight - hostRect.bottom) >= tooltipRect.height + margin;
|
|
85
|
-
const hasSpaceLeft = hostRect.left >= tooltipRect.width + margin;
|
|
86
|
-
const hasSpaceRight = (window.innerWidth - hostRect.right) >= tooltipRect.width + margin;
|
|
87
|
-
// Determina a posição desejada com base na displayência do usuário e disponibilidade
|
|
88
|
-
let chosenPosition = 'above';
|
|
89
|
-
if (this.displayAbove && hasSpaceAbove) {
|
|
90
|
-
chosenPosition = 'above';
|
|
91
|
-
}
|
|
92
|
-
else if (this.displayBelow && hasSpaceBelow) {
|
|
93
|
-
chosenPosition = 'below';
|
|
94
|
-
}
|
|
95
|
-
else if (this.displayLeft && hasSpaceLeft) {
|
|
96
|
-
chosenPosition = 'left';
|
|
97
|
-
}
|
|
98
|
-
else if (this.displayRight && hasSpaceRight) {
|
|
99
|
-
chosenPosition = 'right';
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
chosenPosition = hasSpaceAbove ? 'above' : (hasSpaceBelow ? 'below' : 'above');
|
|
103
|
-
}
|
|
104
|
-
// Calcula a posição (top e left) de acordo com a posição escolhida
|
|
105
|
-
let top = 0;
|
|
106
|
-
let left = 0;
|
|
107
|
-
switch (chosenPosition) {
|
|
108
|
-
case 'above':
|
|
109
|
-
top = hostRect.top + window.scrollY - tooltipRect.height - margin;
|
|
110
|
-
left = hostRect.left + window.scrollX + (hostRect.width - tooltipRect.width) / 2;
|
|
111
|
-
break;
|
|
112
|
-
case 'below':
|
|
113
|
-
top = hostRect.bottom + window.scrollY + margin;
|
|
114
|
-
left = hostRect.left + window.scrollX + (hostRect.width - tooltipRect.width) / 2;
|
|
115
|
-
break;
|
|
116
|
-
case 'left':
|
|
117
|
-
top = hostRect.top + window.scrollY + (hostRect.height - tooltipRect.height) / 2;
|
|
118
|
-
left = hostRect.left + window.scrollX - tooltipRect.width - margin;
|
|
119
|
-
break;
|
|
120
|
-
case 'right':
|
|
121
|
-
top = hostRect.top + window.scrollY + (hostRect.height - tooltipRect.height) / 2;
|
|
122
|
-
left = hostRect.right + window.scrollX + margin;
|
|
123
|
-
break;
|
|
124
|
-
}
|
|
125
|
-
// Ajusta horizontalmente para não ultrapassar os limites da tela
|
|
126
|
-
if (left < margin) {
|
|
127
|
-
left = margin;
|
|
128
|
-
}
|
|
129
|
-
else if (left + tooltipRect.width > window.innerWidth - margin) {
|
|
130
|
-
left = window.innerWidth - tooltipRect.width - margin;
|
|
131
|
-
}
|
|
132
|
-
// Aplica os estilos calculados e torna o tooltip visível
|
|
133
|
-
this.renderer.setStyle(this.tooltipElement, 'top', `${top}px`);
|
|
134
|
-
this.renderer.setStyle(this.tooltipElement, 'left', `${left}px`);
|
|
135
|
-
this.renderer.setStyle(this.tooltipElement, 'visibility', 'visible');
|
|
136
|
-
// Adiciona classes específicas para customizar a seta de acordo com a posição
|
|
137
|
-
this.renderer.removeClass(this.tooltipElement, 'matcha-tooltip-content_below');
|
|
138
|
-
this.renderer.removeClass(this.tooltipElement, 'matcha-tooltip-content_left');
|
|
139
|
-
this.renderer.removeClass(this.tooltipElement, 'matcha-tooltip-content_right');
|
|
140
|
-
if (chosenPosition === 'below') {
|
|
141
|
-
this.renderer.addClass(this.tooltipElement, 'matcha-tooltip-content_below');
|
|
142
|
-
}
|
|
143
|
-
else if (chosenPosition === 'left') {
|
|
144
|
-
this.renderer.addClass(this.tooltipElement, 'matcha-tooltip-content_left');
|
|
145
|
-
}
|
|
146
|
-
else if (chosenPosition === 'right') {
|
|
147
|
-
this.renderer.addClass(this.tooltipElement, 'matcha-tooltip-content_right');
|
|
148
|
-
}
|
|
149
|
-
// Para a posição 'above', mantém o estilo padrão
|
|
150
|
-
}
|
|
151
|
-
destroyTooltip() {
|
|
152
|
-
if (this.tooltipElement) {
|
|
153
|
-
this.renderer.removeChild(document.body, this.tooltipElement);
|
|
154
|
-
this.tooltipElement = null;
|
|
155
|
-
}
|
|
156
|
-
if (this.documentClickListener) {
|
|
157
|
-
this.documentClickListener(); // Remove o listener global
|
|
158
|
-
this.documentClickListener = null;
|
|
159
|
-
}
|
|
160
|
-
}
|
|
161
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaTooltipComponent, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
162
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: MatchaTooltipComponent, selector: "matcha-tooltip", inputs: { tooltipText: ["matcha-tooltip", "tooltipText"], tooltipDisabled: ["tooltip-disabled", "tooltipDisabled"], displayAbove: ["display-above", "displayAbove"], displayBelow: ["display-below", "displayBelow"], displayLeft: ["display-left", "displayLeft"], displayRight: ["display-right", "displayRight"], tooltipEnableClose: ["tooltip-enable-close", "tooltipEnableClose"] }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "click": "onClick($event)" } }, ngImport: i0, template: "<ng-content></ng-content>\n", styles: [""] }); }
|
|
163
|
-
}
|
|
164
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: MatchaTooltipComponent, decorators: [{
|
|
165
|
-
type: Component,
|
|
166
|
-
args: [{ selector: 'matcha-tooltip', template: "<ng-content></ng-content>\n" }]
|
|
167
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipText: [{
|
|
168
|
-
type: Input,
|
|
169
|
-
args: ['matcha-tooltip']
|
|
170
|
-
}], tooltipDisabled: [{
|
|
171
|
-
type: Input,
|
|
172
|
-
args: ['tooltip-disabled']
|
|
173
|
-
}], displayAbove: [{
|
|
174
|
-
type: Input,
|
|
175
|
-
args: ['display-above']
|
|
176
|
-
}], displayBelow: [{
|
|
177
|
-
type: Input,
|
|
178
|
-
args: ['display-below']
|
|
179
|
-
}], displayLeft: [{
|
|
180
|
-
type: Input,
|
|
181
|
-
args: ['display-left']
|
|
182
|
-
}], displayRight: [{
|
|
183
|
-
type: Input,
|
|
184
|
-
args: ['display-right']
|
|
185
|
-
}], tooltipEnableClose: [{
|
|
186
|
-
type: Input,
|
|
187
|
-
args: ['tooltip-enable-close']
|
|
188
|
-
}], onMouseEnter: [{
|
|
189
|
-
type: HostListener,
|
|
190
|
-
args: ['mouseenter']
|
|
191
|
-
}], onMouseLeave: [{
|
|
192
|
-
type: HostListener,
|
|
193
|
-
args: ['mouseleave']
|
|
194
|
-
}], onClick: [{
|
|
195
|
-
type: HostListener,
|
|
196
|
-
args: ['click', ['$event']]
|
|
197
|
-
}] } });
|
|
198
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS10b29sdGlwL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9tYXRjaGEtY29tcG9uZW50cy9zcmMvbGliL21hdGNoYS10b29sdGlwL3Rvb2x0aXAvdG9vbHRpcC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxlQUFlLENBQUM7O0FBT3RGLE1BQU0sT0FBTyxzQkFBc0I7SUFnQmpDLFlBQW9CLEVBQWMsRUFBVSxRQUFtQjtRQUEzQyxPQUFFLEdBQUYsRUFBRSxDQUFZO1FBQVUsYUFBUSxHQUFSLFFBQVEsQ0FBVztRQWZ0QyxnQkFBVyxHQUFXLEVBQUUsQ0FBQztRQUN2QixvQkFBZSxHQUFZLEtBQUssQ0FBQztRQUU1RCxrRUFBa0U7UUFDMUMsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDOUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFDL0IsZ0JBQVcsR0FBWSxLQUFLLENBQUM7UUFDNUIsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFFdEQsdURBQXVEO1FBQ3hCLHVCQUFrQixHQUFZLEtBQUssQ0FBQztRQUUzRCxtQkFBYyxHQUF1QixJQUFJLENBQUM7UUFDMUMsMEJBQXFCLEdBQXdCLElBQUksQ0FBQztJQUVRLENBQUM7SUFFbkUsNEVBQTRFO0lBQ2hELFlBQVk7UUFDdEMsSUFBSSxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztZQUM1QixvRUFBb0U7WUFDcEUsT0FBTztRQUNULENBQUM7UUFDRCxJQUFJLElBQUksQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGNBQWMsSUFBSSxDQUFDLElBQUksQ0FB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QXNCO2tCQUxsQyxTQUFTOytCQUNFLGdCQUFnQjt1R0FLRCxXQUFXO3NCQUFuQyxLQUFLO3VCQUFDLGdCQUFnQjtnQkFDSSxlQUFlO3NCQUF6QyxLQUFLO3VCQUFDLGtCQUFrQjtnQkFHRCxZQUFZO3NCQUFuQyxLQUFLO3VCQUFDLGVBQWU7Z0JBQ0UsWUFBWTtzQkFBbkMsS0FBSzt1QkFBQyxlQUFlO2dCQUNDLFdBQVc7c0JBQWpDLEtBQUs7dUJBQUMsY0FBYztnQkFDRyxZQUFZO3NCQUFuQyxLQUFLO3VCQUFDLGVBQWU7Z0JBR1Msa0JBQWtCO3NCQUFoRCxLQUFLO3VCQUFDLHNCQUFzQjtnQkFRRCxZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVk7Z0JBWUUsWUFBWTtzQkFBdkMsWUFBWTt1QkFBQyxZQUFZO2dCQVExQixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBIb3N0TGlzdGVuZXIsIElucHV0LCBSZW5kZXJlcjIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbWF0Y2hhLXRvb2x0aXAnLCAvLyBVc2FkbyBjb21vIGF0cmlidXRvXG4gIHRlbXBsYXRlVXJsOiAnLi90b29sdGlwLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdG9vbHRpcC5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIE1hdGNoYVRvb2x0aXBDb21wb25lbnQge1xuICBASW5wdXQoJ21hdGNoYS10b29sdGlwJykgdG9vbHRpcFRleHQ6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoJ3Rvb2x0aXAtZGlzYWJsZWQnKSB0b29sdGlwRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBJbnB1dHMgcGFyYSBkaXNwbGF5w6puY2lhIGRlIHBvc2nDp8OjbyAodHJ1ZSA9IGRpc3BsYXnDqm5jaWEgYXRpdmEpXG4gIEBJbnB1dCgnZGlzcGxheS1hYm92ZScpIGRpc3BsYXlBYm92ZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ2Rpc3BsYXktYmVsb3cnKSBkaXNwbGF5QmVsb3c6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCdkaXNwbGF5LWxlZnQnKSBkaXNwbGF5TGVmdDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoJ2Rpc3BsYXktcmlnaHQnKSBkaXNwbGF5UmlnaHQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAvLyBJbnB1dCBwYXJhIGV4aWJpciBib3TDo28gZGUgZmVjaGFyICjDunRpbCBwYXJhIG1vYmlsZSlcbiAgQElucHV0KCd0b29sdGlwLWVuYWJsZS1jbG9zZScpIHRvb2x0aXBFbmFibGVDbG9zZTogYm9vbGVhbiA9IGZhbHNlO1xuXG4gIHByaXZhdGUgdG9vbHRpcEVsZW1lbnQ6IEhUTUxFbGVtZW50IHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgZG9jdW1lbnRDbGlja0xpc3RlbmVyOiAoKCkgPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIpIHt9XG5cbiAgLy8gUGFyYSBkZXNrdG9wOiB1c2Ftb3MgbW91c2VlbnRlciBzZSBuw6NvIGVzdGl2ZXJtb3Mgbm8gbW9kbyBcImNsb3NlLWVuYWJsZWRcIlxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJykgb25Nb3VzZUVudGVyKCkge1xuICAgIGlmICh0aGlzLnRvb2x0aXBFbmFibGVDbG9zZSkge1xuICAgICAgLy8gU2UgZXN0aXZlciBlbSBtb2RvIGRlIGNsaXF1ZS90YXAgcGFyYSBtb2JpbGUsIG7Do28gYWJyZSB2aWEgaG92ZXIuXG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIGlmICh0aGlzLnRvb2x0aXBEaXNhYmxlZCB8fCB0aGlzLnRvb2x0aXBFbGVtZW50IHx8ICF0aGlzLnRvb2x0aXBUZXh0KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICB9XG5cbiAgLy8gRW0gbW9kbyBkZXNrdG9wLCBmZWNoYSBhbyBzYWlyIGRvIGhvdmVyLCBleGNldG8gc2UgdG9vbHRpcEVuYWJsZUNsb3NlIGZvciB0cnVlXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKSBvbk1vdXNlTGVhdmUoKSB7XG4gICAgaWYgKCF0aGlzLnRvb2x0aXBFbmFibGVDbG9zZSAmJiB0aGlzLnRvb2x0aXBFbGVtZW50KSB7XG4gICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyYSBtb2JpbGUgb3UgcXVhbmRvIHRvb2x0aXBFbmFibGVDbG9zZSBlc3TDoSBhdGl2bywgYWJyaW1vcyBvIHRvb2x0aXAgY29tIGNsaXF1ZS90YXBcbiAgQEhvc3RMaXN0ZW5lcignY2xpY2snLCBbJyRldmVudCddKVxuICBvbkNsaWNrKGV2ZW50OiBFdmVudCkge1xuICAgIGlmICghdGhpcy50b29sdGlwRW5hYmxlQ2xvc2UpIHtcbiAgICAgIC8vIFNlIG7Do28gZXN0aXZlciBubyBtb2RvIGRlIGZlY2hhciBjb20gY2xpcXVlLCBpZ25vcmEgbyBjbGlja1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAvLyBTZSBvIHRvb2x0aXAgasOhIGVzdGl2ZXIgYWJlcnRvLCBuw6NvIGZheiBuYWRhIChvdSBwb2RlIGltcGxlbWVudGFyIHRvZ2dsZSlcbiAgICBpZiAoIXRoaXMudG9vbHRpcEVsZW1lbnQgJiYgIXRoaXMudG9vbHRpcERpc2FibGVkICYmIHRoaXMudG9vbHRpcFRleHQpIHtcbiAgICAgIHRoaXMuY3JlYXRlVG9vbHRpcCgpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlVG9vbHRpcCgpIHtcbiAgICAvLyBDcmlhIG8gdG9vbHRpcCBlIGFkaWNpb25hIGEgY2xhc3NlIGJhc2VcbiAgICB0aGlzLnRvb2x0aXBFbGVtZW50ID0gdGhpcy5yZW5kZXJlci5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMudG9vbHRpcEVsZW1lbnQsICdtYXRjaGEtdG9vbHRpcC1jb250ZW50Jyk7XG4gICAgLy8gRGVmaW5lIG8gdGV4dG8gZG8gdG9vbHRpcCAoYXF1aSBuw6NvIHVzYW1vcyBpbm5lckhUTUwsIHBlcm1pdGluZG8gcXVlIG8gYm90w6NvIHNlamEgaW5zZXJpZG8gZGVwb2lzKVxuICAgIHRoaXMudG9vbHRpcEVsZW1lbnQhLnRleHRDb250ZW50ID0gdGhpcy50b29sdGlwVGV4dDtcblxuICAgIC8vIERlZmluZSBlc3RpbG9zIGluaWNpYWlzIHBhcmEgcG9zaWNpb25hbWVudG8gZSBtZWRpw6fDo29cbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdwb3NpdGlvbicsICdhYnNvbHV0ZScpO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3RvcCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbGVmdCcsICcwJyk7XG4gICAgdGhpcy5yZW5kZXJlci5zZXRTdHlsZSh0aGlzLnRvb2x0aXBFbGVtZW50LCAndmlzaWJpbGl0eScsICdoaWRkZW4nKTtcbiAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGRvY3VtZW50LmJvZHksIHRoaXMudG9vbHRpcEVsZW1lbnQpO1xuXG4gICAgLy8gU2UgdG9vbHRpcEVuYWJsZUNsb3NlIGVzdGl2ZXIgdHJ1ZSwgYWRpY2lvbmEgbyBib3TDo28gZGUgZmVjaGFyXG4gICAgaWYgKHRoaXMudG9vbHRpcEVuYWJsZUNsb3NlKSB7XG4gICAgICBjb25zdCBjbG9zZUJ1dHRvbiA9IHRoaXMucmVuZGVyZXIuY3JlYXRlRWxlbWVudCgnZGl2Jyk7XG4gICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGNsb3NlQnV0dG9uLCAnbWF0Y2hhLXRvb2x0aXAtY2xvc2UnKTtcbiAgICAgIC8vIE8gYm90w6NvIGRlIGZlY2hhciBmaWNhIGRlbnRybyBkbyB0b29sdGlwXG4gICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMudG9vbHRpcEVsZW1lbnQsIGNsb3NlQnV0dG9uKTtcbiAgICAgIC8vIEFvIGNsaWNhciBubyBib3TDo28gWCwgZmVjaGEgbyB0b29sdGlwXG4gICAgICB0aGlzLnJlbmRlcmVyLmxpc3RlbihjbG9zZUJ1dHRvbiwgJ2NsaWNrJywgKGU6IEV2ZW50KSA9PiB7XG4gICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveVRvb2x0aXAoKTtcbiAgICAgIH0pO1xuICAgICAgLy8gQWRpY2lvbmEgbGlzdGVuZXIgZ2xvYmFsIHBhcmEgZmVjaGFyIG8gdG9vbHRpcCBxdWFuZG8gY2xpY2FyIGZvcmEgZGVsZVxuICAgICAgdGhpcy5kb2N1bWVudENsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZTogRXZlbnQpID0+IHtcbiAgICAgICAgaWYgKHRoaXMudG9vbHRpcEVsZW1lbnQgJiYgIXRoaXMudG9vbHRpcEVsZW1lbnQuY29udGFpbnMoZS50YXJnZXQgYXMgTm9kZSkpIHtcbiAgICAgICAgICB0aGlzLmRlc3Ryb3lUb29sdGlwKCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgIH1cblxuICAgIC8vIE1lZGlkYXMgcGFyYSBwb3NpY2lvbmFtZW50b1xuICAgIGNvbnN0IG1hcmdpbiA9IDg7XG4gICAgY29uc3QgaG9zdFJlY3QgPSB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgY29uc3QgdG9vbHRpcFJlY3QgPSB0aGlzLnRvb2x0aXBFbGVtZW50IS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcblxuICAgIC8vIFZlcmlmaWNhIHNlIGjDoSBlc3Bhw6dvIHN1ZmljaWVudGUgcGFyYSBjYWRhIHBvc2nDp8Ojb1xuICAgIGNvbnN0IGhhc1NwYWNlQWJvdmUgPSBob3N0UmVjdC50b3AgPj0gdG9vbHRpcFJlY3QuaGVpZ2h0ICsgbWFyZ2luO1xuICAgIGNvbnN0IGhhc1NwYWNlQmVsb3cgPSAod2luZG93LmlubmVySGVpZ2h0IC0gaG9zdFJlY3QuYm90dG9tKSA+PSB0b29sdGlwUmVjdC5oZWlnaHQgKyBtYXJnaW47XG4gICAgY29uc3QgaGFzU3BhY2VMZWZ0ICA9IGhvc3RSZWN0LmxlZnQgPj0gdG9vbHRpcFJlY3Qud2lkdGggKyBtYXJnaW47XG4gICAgY29uc3QgaGFzU3BhY2VSaWdodCA9ICh3aW5kb3cuaW5uZXJXaWR0aCAtIGhvc3RSZWN0LnJpZ2h0KSA+PSB0b29sdGlwUmVjdC53aWR0aCArIG1hcmdpbjtcblxuICAgIC8vIERldGVybWluYSBhIHBvc2nDp8OjbyBkZXNlamFkYSBjb20gYmFzZSBuYSBkaXNwbGF5w6puY2lhIGRvIHVzdcOhcmlvIGUgZGlzcG9uaWJpbGlkYWRlXG4gICAgbGV0IGNob3NlblBvc2l0aW9uOiAnYWJvdmUnIHwgJ2JlbG93JyB8ICdsZWZ0JyB8ICdyaWdodCcgPSAnYWJvdmUnO1xuICAgIGlmICh0aGlzLmRpc3BsYXlBYm92ZSAmJiBoYXNTcGFjZUFib3ZlKSB7XG4gICAgICBjaG9zZW5Qb3NpdGlvbiA9ICdhYm92ZSc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRpc3BsYXlCZWxvdyAmJiBoYXNTcGFjZUJlbG93KSB7XG4gICAgICBjaG9zZW5Qb3NpdGlvbiA9ICdiZWxvdyc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRpc3BsYXlMZWZ0ICYmIGhhc1NwYWNlTGVmdCkge1xuICAgICAgY2hvc2VuUG9zaXRpb24gPSAnbGVmdCc7XG4gICAgfSBlbHNlIGlmICh0aGlzLmRpc3BsYXlSaWdodCAmJiBoYXNTcGFjZVJpZ2h0KSB7XG4gICAgICBjaG9zZW5Qb3NpdGlvbiA9ICdyaWdodCc7XG4gICAgfSBlbHNlIHtcbiAgICAgIGNob3NlblBvc2l0aW9uID0gaGFzU3BhY2VBYm92ZSA/ICdhYm92ZScgOiAoaGFzU3BhY2VCZWxvdyA/ICdiZWxvdycgOiAnYWJvdmUnKTtcbiAgICB9XG5cbiAgICAvLyBDYWxjdWxhIGEgcG9zacOnw6NvICh0b3AgZSBsZWZ0KSBkZSBhY29yZG8gY29tIGEgcG9zacOnw6NvIGVzY29saGlkYVxuICAgIGxldCB0b3A6IG51bWJlciA9IDA7XG4gICAgbGV0IGxlZnQ6IG51bWJlciA9IDA7XG4gICAgc3dpdGNoIChjaG9zZW5Qb3NpdGlvbikge1xuICAgICAgY2FzZSAnYWJvdmUnOlxuICAgICAgICB0b3AgPSBob3N0UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWSAtIHRvb2x0aXBSZWN0LmhlaWdodCAtIG1hcmdpbjtcbiAgICAgICAgbGVmdCA9IGhvc3RSZWN0LmxlZnQgKyB3aW5kb3cuc2Nyb2xsWCArIChob3N0UmVjdC53aWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoKSAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnYmVsb3cnOlxuICAgICAgICB0b3AgPSBob3N0UmVjdC5ib3R0b20gKyB3aW5kb3cuc2Nyb2xsWSArIG1hcmdpbjtcbiAgICAgICAgbGVmdCA9IGhvc3RSZWN0LmxlZnQgKyB3aW5kb3cuc2Nyb2xsWCArIChob3N0UmVjdC53aWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoKSAvIDI7XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHRvcCA9IGhvc3RSZWN0LnRvcCArIHdpbmRvdy5zY3JvbGxZICsgKGhvc3RSZWN0LmhlaWdodCAtIHRvb2x0aXBSZWN0LmhlaWdodCkgLyAyO1xuICAgICAgICBsZWZ0ID0gaG9zdFJlY3QubGVmdCArIHdpbmRvdy5zY3JvbGxYIC0gdG9vbHRpcFJlY3Qud2lkdGggLSBtYXJnaW47XG4gICAgICAgIGJyZWFrO1xuICAgICAgY2FzZSAncmlnaHQnOlxuICAgICAgICB0b3AgPSBob3N0UmVjdC50b3AgKyB3aW5kb3cuc2Nyb2xsWSArIChob3N0UmVjdC5oZWlnaHQgLSB0b29sdGlwUmVjdC5oZWlnaHQpIC8gMjtcbiAgICAgICAgbGVmdCA9IGhvc3RSZWN0LnJpZ2h0ICsgd2luZG93LnNjcm9sbFggKyBtYXJnaW47XG4gICAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIC8vIEFqdXN0YSBob3Jpem9udGFsbWVudGUgcGFyYSBuw6NvIHVsdHJhcGFzc2FyIG9zIGxpbWl0ZXMgZGEgdGVsYVxuICAgIGlmIChsZWZ0IDwgbWFyZ2luKSB7XG4gICAgICBsZWZ0ID0gbWFyZ2luO1xuICAgIH0gZWxzZSBpZiAobGVmdCArIHRvb2x0aXBSZWN0LndpZHRoID4gd2luZG93LmlubmVyV2lkdGggLSBtYXJnaW4pIHtcbiAgICAgIGxlZnQgPSB3aW5kb3cuaW5uZXJXaWR0aCAtIHRvb2x0aXBSZWN0LndpZHRoIC0gbWFyZ2luO1xuICAgIH1cblxuICAgIC8vIEFwbGljYSBvcyBlc3RpbG9zIGNhbGN1bGFkb3MgZSB0b3JuYSBvIHRvb2x0aXAgdmlzw612ZWxcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICd0b3AnLCBgJHt0b3B9cHhgKTtcbiAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMudG9vbHRpcEVsZW1lbnQsICdsZWZ0JywgYCR7bGVmdH1weGApO1xuICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy50b29sdGlwRWxlbWVudCwgJ3Zpc2liaWxpdHknLCAndmlzaWJsZScpO1xuXG4gICAgLy8gQWRpY2lvbmEgY2xhc3NlcyBlc3BlY8OtZmljYXMgcGFyYSBjdXN0b21pemFyIGEgc2V0YSBkZSBhY29yZG8gY29tIGEgcG9zacOnw6NvXG4gICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLnRvb2x0aXBFbGVtZW50LCAnbWF0Y2hhLXRvb2x0aXAtY29udGVudF9iZWxvdycpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ21hdGNoYS10b29sdGlwLWNvbnRlbnRfbGVmdCcpO1xuICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ21hdGNoYS10b29sdGlwLWNvbnRlbnRfcmlnaHQnKTtcbiAgICBpZiAoY2hvc2VuUG9zaXRpb24gPT09ICdiZWxvdycpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ21hdGNoYS10b29sdGlwLWNvbnRlbnRfYmVsb3cnKTtcbiAgICB9IGVsc2UgaWYgKGNob3NlblBvc2l0aW9uID09PSAnbGVmdCcpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ21hdGNoYS10b29sdGlwLWNvbnRlbnRfbGVmdCcpO1xuICAgIH0gZWxzZSBpZiAoY2hvc2VuUG9zaXRpb24gPT09ICdyaWdodCcpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy50b29sdGlwRWxlbWVudCwgJ21hdGNoYS10b29sdGlwLWNvbnRlbnRfcmlnaHQnKTtcbiAgICB9XG4gICAgLy8gUGFyYSBhIHBvc2nDp8OjbyAnYWJvdmUnLCBtYW50w6ltIG8gZXN0aWxvIHBhZHLDo29cbiAgfVxuXG4gIHByaXZhdGUgZGVzdHJveVRvb2x0aXAoKSB7XG4gICAgaWYgKHRoaXMudG9vbHRpcEVsZW1lbnQpIHtcbiAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQoZG9jdW1lbnQuYm9keSwgdGhpcy50b29sdGlwRWxlbWVudCk7XG4gICAgICB0aGlzLnRvb2x0aXBFbGVtZW50ID0gbnVsbDtcbiAgICB9XG4gICAgaWYgKHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyKSB7XG4gICAgICB0aGlzLmRvY3VtZW50Q2xpY2tMaXN0ZW5lcigpOyAvLyBSZW1vdmUgbyBsaXN0ZW5lciBnbG9iYWxcbiAgICAgIHRoaXMuZG9jdW1lbnRDbGlja0xpc3RlbmVyID0gbnVsbDtcbiAgICB9XG4gIH1cbn1cbiIsIjxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiJdfQ==
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { ElementRef, Renderer2 } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class MatchaTooltipComponent {
|
|
4
|
-
private el;
|
|
5
|
-
private renderer;
|
|
6
|
-
tooltipText: string;
|
|
7
|
-
tooltipDisabled: boolean;
|
|
8
|
-
displayAbove: boolean;
|
|
9
|
-
displayBelow: boolean;
|
|
10
|
-
displayLeft: boolean;
|
|
11
|
-
displayRight: boolean;
|
|
12
|
-
tooltipEnableClose: boolean;
|
|
13
|
-
private tooltipElement;
|
|
14
|
-
private documentClickListener;
|
|
15
|
-
constructor(el: ElementRef, renderer: Renderer2);
|
|
16
|
-
onMouseEnter(): void;
|
|
17
|
-
onMouseLeave(): void;
|
|
18
|
-
onClick(event: Event): void;
|
|
19
|
-
private createTooltip;
|
|
20
|
-
private destroyTooltip;
|
|
21
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<MatchaTooltipComponent, never>;
|
|
22
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<MatchaTooltipComponent, "matcha-tooltip", never, { "tooltipText": { "alias": "matcha-tooltip"; "required": false; }; "tooltipDisabled": { "alias": "tooltip-disabled"; "required": false; }; "displayAbove": { "alias": "display-above"; "required": false; }; "displayBelow": { "alias": "display-below"; "required": false; }; "displayLeft": { "alias": "display-left"; "required": false; }; "displayRight": { "alias": "display-right"; "required": false; }; "tooltipEnableClose": { "alias": "tooltip-enable-close"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
23
|
-
}
|