@cqa-lib/cqa-ui 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +90 -4
- package/esm2020/lib/button/button.component.mjs +5 -13
- package/esm2020/lib/dialog/dialog.component.mjs +5 -13
- package/esm2020/lib/search-bar/search-bar.component.mjs +5 -21
- package/esm2020/lib/segment-control/segment-control.component.mjs +5 -13
- package/fesm2015/cqa-lib-cqa-ui.mjs +13 -53
- package/fesm2015/cqa-lib-cqa-ui.mjs.map +1 -1
- package/fesm2020/cqa-lib-cqa-ui.mjs +13 -53
- package/fesm2020/cqa-lib-cqa-ui.mjs.map +1 -1
- package/lib/button/button.component.d.ts +0 -2
- package/lib/dialog/dialog.component.d.ts +0 -2
- package/lib/search-bar/search-bar.component.d.ts +0 -3
- package/lib/segment-control/segment-control.component.d.ts +0 -2
- package/package.json +1 -1
- package/styles.css +1 -1
package/README.md
CHANGED
|
@@ -7,24 +7,26 @@ Component library for Angular 13+, built with Tailwind CSS tokens and Storybook-
|
|
|
7
7
|
## 📦 Installation
|
|
8
8
|
|
|
9
9
|
```bash
|
|
10
|
-
npm install cqa-ui
|
|
10
|
+
npm install @cqa-lib/cqa-ui
|
|
11
11
|
```
|
|
12
12
|
|
|
13
13
|
### Peer dependencies
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
npm install @angular/common@^13.4.0 @angular/core@^13.4.0 @angular/forms@^13.4.0 @angular/material@^13.3.9 rxjs@^7.5.0
|
|
16
|
+
npm install @angular/common@^13.4.0 @angular/core@^13.4.0 @angular/forms@^13.4.0 @angular/material@^13.3.9 @angular/cdk@^13.3.9 rxjs@^6.6.7 || ^7.5.0
|
|
17
17
|
```
|
|
18
18
|
|
|
19
19
|
---
|
|
20
20
|
|
|
21
21
|
## 🚀 Quick Start
|
|
22
22
|
|
|
23
|
+
### Step 1: Import the Module
|
|
24
|
+
|
|
23
25
|
```ts
|
|
24
26
|
// app.module.ts
|
|
25
27
|
import { NgModule } from '@angular/core';
|
|
26
28
|
import { BrowserModule } from '@angular/platform-browser';
|
|
27
|
-
import { UiKitModule } from 'cqa-ui';
|
|
29
|
+
import { UiKitModule } from '@cqa-lib/cqa-ui';
|
|
28
30
|
|
|
29
31
|
import { AppComponent } from './app.component';
|
|
30
32
|
|
|
@@ -39,6 +41,49 @@ import { AppComponent } from './app.component';
|
|
|
39
41
|
export class AppModule {}
|
|
40
42
|
```
|
|
41
43
|
|
|
44
|
+
### Step 2: Import the Styles
|
|
45
|
+
|
|
46
|
+
**Option A: In `angular.json`** (Recommended)
|
|
47
|
+
|
|
48
|
+
```json
|
|
49
|
+
{
|
|
50
|
+
"projects": {
|
|
51
|
+
"your-project": {
|
|
52
|
+
"architect": {
|
|
53
|
+
"build": {
|
|
54
|
+
"options": {
|
|
55
|
+
"styles": [
|
|
56
|
+
"node_modules/@cqa-lib/cqa-ui/styles.css",
|
|
57
|
+
"src/styles.css"
|
|
58
|
+
]
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
**Option B: In `styles.css`**
|
|
68
|
+
|
|
69
|
+
```css
|
|
70
|
+
@import '@cqa-lib/cqa-ui/styles.css';
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
### Step 3: Add Angular Material Icon Font
|
|
74
|
+
|
|
75
|
+
Add this to your `index.html`:
|
|
76
|
+
|
|
77
|
+
```html
|
|
78
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
Or in `styles.css`:
|
|
82
|
+
|
|
83
|
+
```css
|
|
84
|
+
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');
|
|
85
|
+
```
|
|
86
|
+
|
|
42
87
|
---
|
|
43
88
|
|
|
44
89
|
## 💡 Usage Examples
|
|
@@ -84,7 +129,7 @@ export class AppModule {}
|
|
|
84
129
|
### Dialog
|
|
85
130
|
|
|
86
131
|
```ts
|
|
87
|
-
import { DialogService } from 'cqa-ui';
|
|
132
|
+
import { DialogService } from '@cqa-lib/cqa-ui';
|
|
88
133
|
|
|
89
134
|
constructor(private readonly dialog: DialogService) {}
|
|
90
135
|
|
|
@@ -107,6 +152,47 @@ openDialog(): void {
|
|
|
107
152
|
|
|
108
153
|
---
|
|
109
154
|
|
|
155
|
+
## 🔧 Troubleshooting
|
|
156
|
+
|
|
157
|
+
### Component renders as empty tag (no inner HTML)
|
|
158
|
+
|
|
159
|
+
If you see `<cqa-search-bar></cqa-search-bar>` without any inner content, check:
|
|
160
|
+
|
|
161
|
+
1. **Missing styles import** - Add to `angular.json`:
|
|
162
|
+
```json
|
|
163
|
+
"styles": [
|
|
164
|
+
"node_modules/@cqa-lib/cqa-ui/styles.css",
|
|
165
|
+
"src/styles.css"
|
|
166
|
+
]
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
2. **Missing Angular Material Icon font** - Add to `index.html`:
|
|
170
|
+
```html
|
|
171
|
+
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
|
|
172
|
+
```
|
|
173
|
+
|
|
174
|
+
3. **Check browser console** for errors:
|
|
175
|
+
- Missing peer dependencies (`@angular/material`, `@angular/cdk`)
|
|
176
|
+
- Module import errors
|
|
177
|
+
- Template compilation errors
|
|
178
|
+
|
|
179
|
+
4. **Verify module import** in your `app.module.ts`:
|
|
180
|
+
```ts
|
|
181
|
+
import { UiKitModule } from '@cqa-lib/cqa-ui';
|
|
182
|
+
|
|
183
|
+
@NgModule({
|
|
184
|
+
imports: [UiKitModule, ...]
|
|
185
|
+
})
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
5. **Clear Angular cache and rebuild**:
|
|
189
|
+
```bash
|
|
190
|
+
rm -rf .angular
|
|
191
|
+
npm start # or ng serve
|
|
192
|
+
```
|
|
193
|
+
|
|
194
|
+
---
|
|
195
|
+
|
|
110
196
|
## 📚 Storybook
|
|
111
197
|
|
|
112
198
|
```bash
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, HostListener
|
|
1
|
+
import { Component, Input, Output, EventEmitter, HostListener } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
import * as i2 from "@angular/common";
|
|
5
5
|
export class ButtonComponent {
|
|
6
6
|
constructor() {
|
|
7
|
-
this.id = 'cqa-ui-root';
|
|
8
|
-
this.display = 'contents';
|
|
9
7
|
this.variant = 'filled';
|
|
10
8
|
this.disabled = false;
|
|
11
9
|
this.iconPosition = 'start';
|
|
@@ -221,17 +219,11 @@ export class ButtonComponent {
|
|
|
221
219
|
}
|
|
222
220
|
}
|
|
223
221
|
ButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
224
|
-
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ButtonComponent, selector: "cqa-button", inputs: { variant: "variant", disabled: "disabled", icon: "icon", iconPosition: "iconPosition", type: "type" }, outputs: { clicked: "clicked" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()", "focus": "onFocus()", "blur": "onBlur()" },
|
|
222
|
+
ButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: ButtonComponent, selector: "cqa-button", inputs: { variant: "variant", disabled: "disabled", icon: "icon", iconPosition: "iconPosition", type: "type" }, outputs: { clicked: "clicked" }, host: { listeners: { "mouseenter": "onMouseEnter()", "mouseleave": "onMouseLeave()", "mousedown": "onMouseDown()", "mouseup": "onMouseUp()", "focus": "onFocus()", "blur": "onBlur()" } }, ngImport: i0, template: "<div id=\"cqa-ui-root\" style=\"display: inline-block; width: auto;\">\n <button\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [class]=\"buttonClasses\"\n (click)=\"onClick($event)\"\n >\n <span [class]=\"stateLayerClasses\">\n <span *ngIf=\"icon && iconPosition === 'start'\" [class]=\"iconClasses\" [ngClass]=\"textClass\">\n <mat-icon class=\"text-[18px] leading-[18px] w-[18px] h-[18px]\">\n {{ icon }}\n </mat-icon>\n </span>\n <span [class]=\"labelClasses\" [ngClass]=\"textClass\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"icon && iconPosition === 'end'\" [class]=\"iconClasses\" [ngClass]=\"textClass\">\n <mat-icon class=\"text-[18px] leading-[18px] w-[18px] h-[18px]\">\n {{ icon }}\n </mat-icon>\n </span>\n </span>\n </button>\n</div>\n\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
|
|
225
223
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: ButtonComponent, decorators: [{
|
|
226
224
|
type: Component,
|
|
227
|
-
args: [{ selector: 'cqa-button', template: "<button\n
|
|
228
|
-
}], propDecorators: {
|
|
229
|
-
type: HostBinding,
|
|
230
|
-
args: ['attr.id']
|
|
231
|
-
}], display: [{
|
|
232
|
-
type: HostBinding,
|
|
233
|
-
args: ['style.display']
|
|
234
|
-
}], variant: [{
|
|
225
|
+
args: [{ selector: 'cqa-button', template: "<div id=\"cqa-ui-root\" style=\"display: inline-block; width: auto;\">\n <button\n [type]=\"type\"\n [disabled]=\"disabled\"\n [attr.aria-disabled]=\"disabled\"\n [class]=\"buttonClasses\"\n (click)=\"onClick($event)\"\n >\n <span [class]=\"stateLayerClasses\">\n <span *ngIf=\"icon && iconPosition === 'start'\" [class]=\"iconClasses\" [ngClass]=\"textClass\">\n <mat-icon class=\"text-[18px] leading-[18px] w-[18px] h-[18px]\">\n {{ icon }}\n </mat-icon>\n </span>\n <span [class]=\"labelClasses\" [ngClass]=\"textClass\">\n <ng-content></ng-content>\n </span>\n <span *ngIf=\"icon && iconPosition === 'end'\" [class]=\"iconClasses\" [ngClass]=\"textClass\">\n <mat-icon class=\"text-[18px] leading-[18px] w-[18px] h-[18px]\">\n {{ icon }}\n </mat-icon>\n </span>\n </span>\n </button>\n</div>\n\n", styles: [] }]
|
|
226
|
+
}], propDecorators: { variant: [{
|
|
235
227
|
type: Input
|
|
236
228
|
}], disabled: [{
|
|
237
229
|
type: Input
|
|
@@ -262,4 +254,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
262
254
|
type: HostListener,
|
|
263
255
|
args: ['blur']
|
|
264
256
|
}] } });
|
|
265
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBU2xHLE1BQU0sT0FBTyxlQUFlO0lBTDVCO1FBTTBCLE9BQUUsR0FBRyxhQUFhLENBQUM7UUFDYixZQUFPLEdBQUcsVUFBVSxDQUFDO1FBRTFDLFlBQU8sR0FBa0IsUUFBUSxDQUFDO1FBQ2xDLGFBQVEsR0FBWSxLQUFLLENBQUM7UUFFMUIsaUJBQVksR0FBb0IsT0FBTyxDQUFDO1FBQ3hDLFNBQUksR0FBa0MsUUFBUSxDQUFDO1FBQzlDLFlBQU8sR0FBRyxJQUFJLFlBQVksRUFBYyxDQUFDO1FBRW5ELDBCQUEwQjtRQUMxQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7UUFDM0IsY0FBUyxHQUFZLEtBQUssQ0FBQztLQTBONUI7SUF4TkMsSUFBSSxPQUFPO1FBQ1QsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsTUFBTSxXQUFXLEdBQUc7WUFDbEIsTUFBTTtZQUNOLFVBQVU7WUFDVixnQkFBZ0I7WUFDaEIsY0FBYztZQUNkLEtBQUs7WUFDTCxPQUFPO1lBQ1AsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixZQUFZO1lBQ1osZUFBZTtZQUNmLFNBQVM7WUFDVCxnQkFBZ0I7WUFDaEIsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxjQUFjO1NBQ2YsQ0FBQztRQUVGLElBQUksSUFB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c291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIEhvc3RMaXN0ZW5lciwgSG9zdEJpbmRpbmcgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuZXhwb3J0IHR5cGUgQnV0dG9uVmFyaWFudCA9ICdmaWxsZWQnIHwgJ291dGxpbmVkJyB8ICd0ZXh0JyB8ICdlbGV2YXRlZCcgfCAndG9uYWwnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtYnV0dG9uJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW11cbn0pXG5leHBvcnQgY2xhc3MgQnV0dG9uQ29tcG9uZW50IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWQgPSAnY3FhLXVpLXJvb3QnO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5ID0gJ2NvbnRlbnRzJztcblxuICBASW5wdXQoKSB2YXJpYW50OiBCdXR0b25WYXJpYW50ID0gJ2ZpbGxlZCc7XG4gIEBJbnB1dCgpIGRpc2FibGVkOiBib29sZWFuID0gZmFsc2U7XG4gIEBJbnB1dCgpIGljb24/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGljb25Qb3NpdGlvbjogJ3N0YXJ0JyB8ICdlbmQnID0gJ3N0YXJ0JztcbiAgQElucHV0KCkgdHlwZTogJ2J1dHRvbicgfCAnc3VibWl0JyB8ICdyZXNldCcgPSAnYnV0dG9uJztcbiAgQE91dHB1dCgpIGNsaWNrZWQgPSBuZXcgRXZlbnRFbWl0dGVyPE1vdXNlRXZlbnQ+KCk7XG5cbiAgLy8gSW50ZXJuYWwgc3RhdGUgdHJhY2tpbmdcbiAgaXNIb3ZlcmVkOiBib29sZWFuID0gZmFsc2U7XG4gIGlzRm9jdXNlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc1ByZXNzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBnZXQgaGFzSWNvbigpOiBib29sZWFuIHtcbiAgICByZXR1cm4gISF0aGlzLmljb247XG4gIH1cblxuICBnZXQgYnV0dG9uQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzID0gW1xuICAgICAgJ2ZsZXgnLFxuICAgICAgJ2ZsZXgtY29sJyxcbiAgICAgICdqdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnaXRlbXMtY2VudGVyJyxcbiAgICAgICdwLTAnLFxuICAgICAgJ2dhcC0yJyxcbiAgICAgICdyb3VuZGVkLWxnJyxcbiAgICAgICdjdXJzb3ItcG9pbnRlcicsXG4gICAgICAnZm9udC1pbnRlcicsXG4gICAgICAnZm9udC1zZW1pYm9sZCcsXG4gICAgICAndGV4dC1zbScsXG4gICAgICAnbGVhZGluZy1bMTRweF0nLFxuICAgICAgJ3RyYW5zaXRpb24tYWxsJyxcbiAgICAgICdkdXJhdGlvbi0yMDAnLFxuICAgICAgJ291dGxpbmUtbm9uZSdcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGJhc2VDbGFzc2VzLnB1c2goJ2N1cnNvci1ub3QtYWxsb3dlZCcpO1xuICAgIH1cblxuICAgIC8vIEFkZCB2YXJpYW50IGFuZCBzdGF0ZSBzcGVjaWZpYyBjbGFzc2VzXG4gICAgY29uc3QgdmFyaWFudENsYXNzZXMgPSB0aGlzLmdldFZhcmlhbnRDbGFzc2VzKCk7XG4gICAgXG4gICAgcmV0dXJuIFsuLi5iYXNlQ2xhc3NlcywgLi4udmFyaWFudENsYXNzZXNdLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBzdGF0ZUxheWVyQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbXG4gICAgICAnZmxleCcsXG4gICAgICAnZmxleC1yb3cnLFxuICAgICAgJ2p1c3RpZnktY2VudGVyJyxcbiAgICAgICdpdGVtcy1jZW50ZXInLFxuICAgICAgJ2dhcC0yJyxcbiAgICAgICd3LWZ1bGwnLFxuICAgICAgJ2gtZnVsbCcsXG4gICAgICAncHktWzEwcHhdJyxcbiAgICAgICdweC02JyxcbiAgICBdO1xuXG4gICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IGxhYmVsQ2xhc3NlcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXMgPSBbXG4gICAgICAnZmxleCcsXG4gICAgICAnaXRlbXMtY2VudGVyJyxcbiAgICAgICd0ZXh0LWNlbnRlcicsXG4gICAgICAnZm9udC1pbnRlcicsXG4gICAgICAnZm9udC1zZW1pYm9sZCcsXG4gICAgICAndGV4dC1zbScsXG4gICAgICAnbGVhZGluZy1bMTRweF0nLFxuICAgICAgJ2ZsZXgtbm9uZScsXG4gICAgICB0aGlzLnRleHRDbGFzcyxcbiAgICBdO1xuXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGNsYXNzZXMucHVzaCgnb3BhY2l0eS1bMC4zOF0nKTtcbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgaWNvbkNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzID0gW1xuICAgICAgJ2ZsZXgnLFxuICAgICAgJ2l0ZW1zLWNlbnRlcicsXG4gICAgICAnanVzdGlmeS1jZW50ZXInLFxuICAgICAgJ3ctWzE0cHhdJyxcbiAgICAgICdoLVsxNHB4XScsXG4gICAgICAnc2hyaW5rLTAnLFxuICAgICAgJ2ZsZXgtbm9uZSdcbiAgICBdO1xuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ29wYWNpdHktWzAuMzhdJyk7XG4gICAgfVxuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0VmFyaWFudENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW107XG5cbiAgICBpZiAodGhpcy52YXJpYW50ID09PSAnZmlsbGVkJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LW11dGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnknKTtcbiAgICAgICAgaWYgKHRoaXMuaXNIb3ZlcmVkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdzaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMXB4XzNweF8xcHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnb3V0bGluZWQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXRyYW5zcGFyZW50JywgJ2JvcmRlcicsICdib3JkZXItcHJpbWFyeS1tdXRlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LXN1cmZhY2UtYWx0JywgJ2JvcmRlcicsICdib3JkZXItcHJpbWFyeS1ob3ZlcicsICdzaGFkb3ctWzBweF80cHhfNHB4X3JnYmEoMCwwLDAsMC4yNSldJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0hvdmVyZWQgfHwgdGhpcy5pc1ByZXNzZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktc3VyZmFjZScsICdib3JkZXInLCAnYm9yZGVyLXByaW1hcnknKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXRyYW5zcGFyZW50JywgJ2JvcmRlcicsICdib3JkZXItc2xhdGUnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAndGV4dCcpIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnYmctdHJhbnNwYXJlbnQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnYmctdHJhbnNwYXJlbnQnKTtcbiAgICAgICAgaWYgKHRoaXMuaXNIb3ZlcmVkIHx8IHRoaXMuaXNGb2N1c2VkIHx8IHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LXN1cmZhY2UnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAnZWxldmF0ZWQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktbXV0ZWQnLCAnc2hhZG93LW5vbmUnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnYmctcHJpbWFyeS1zdXJmYWNlLWFsdCcsICdzaGFkb3ctWzBweF80cHhfNHB4X3JnYmEoMCwwLDAsMC4yNSldJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1ByZXNzZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktc3VyZmFjZScsICdzaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMXB4XzNweF8xcHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnYmctcHJpbWFyeS1zdXJmYWNlLWFsdCcsICdzaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMnB4XzZweF8ycHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktc3VyZmFjZScsICdzaGFkb3ctWzBweF8xcHhfMnB4X3JnYmEoMCwwLDAsMC4zKSwwcHhfMXB4XzNweF8xcHhfcmdiYSgwLDAsMCwwLjE1KV0nKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodGhpcy52YXJpYW50ID09PSAndG9uYWwnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktbXV0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnYmctdG9uYWwtaG92ZXInLCAnc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzFweF8zcHhfMXB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LXN1cmZhY2UtYWx0Jyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICByZXR1cm4gY2xhc3NlcztcbiAgfVxuXG4gIGdldCB0ZXh0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ291dGxpbmVkJyB8fCB0aGlzLnZhcmlhbnQgPT09ICd0ZXh0Jykge1xuICAgICAgICByZXR1cm4gJ3RleHQtaW5rJztcbiAgICAgIH1cbiAgICAgIHJldHVybiAndGV4dC1pbmstbXV0ZWQnO1xuICAgIH1cblxuICAgIHN3aXRjaCAodGhpcy52YXJpYW50KSB7XG4gICAgICBjYXNlICdmaWxsZWQnOlxuICAgICAgICByZXR1cm4gJ3RleHQtc3VyZmFjZS1kZWZhdWx0JztcbiAgICAgIGNhc2UgJ291dGxpbmVkJzpcbiAgICAgICAgaWYgKHRoaXMuaXNGb2N1c2VkIHx8IHRoaXMuaXNIb3ZlcmVkIHx8IHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgcmV0dXJuICd0ZXh0LXByaW1hcnktaG92ZXInO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiAndGV4dC1zbGF0ZSc7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgIGNhc2UgJ2VsZXZhdGVkJzpcbiAgICAgICAgcmV0dXJuICd0ZXh0LXByaW1hcnktaG92ZXInO1xuICAgICAgY2FzZSAndG9uYWwnOlxuICAgICAgICByZXR1cm4gJ3RleHQtaW5rJztcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnJztcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWVudGVyJylcbiAgb25Nb3VzZUVudGVyKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0hvdmVyZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxuICBvbk1vdXNlTGVhdmUoKSB7XG4gICAgdGhpcy5pc0hvdmVyZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzUHJlc3NlZCA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2Vkb3duJylcbiAgb25Nb3VzZURvd24oKSB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlzUHJlc3NlZCA9IHRydWU7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2V1cCcpXG4gIG9uTW91c2VVcCgpIHtcbiAgICB0aGlzLmlzUHJlc3NlZCA9IGZhbHNlO1xuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnKVxuICBvbkZvY3VzKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc0ZvY3VzZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInKVxuICBvbkJsdXIoKSB7XG4gICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcbiAgICB0aGlzLmlzUHJlc3NlZCA9IGZhbHNlO1xuICB9XG5cbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5jbGlja2VkLmVtaXQoZXZlbnQpO1xuICAgIH1cbiAgfVxufVxuXG4iLCI8YnV0dG9uXG4gIFt0eXBlXT1cInR5cGVcIlxuICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgW2NsYXNzXT1cImJ1dHRvbkNsYXNzZXNcIlxuICAoY2xpY2spPVwib25DbGljaygkZXZlbnQpXCJcbj5cbiAgICA8c3BhbiBbY2xhc3NdPVwic3RhdGVMYXllckNsYXNzZXNcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdzdGFydCdcIiBbY2xhc3NdPVwiaWNvbkNsYXNzZXNcIiBbbmdDbGFzc109XCJ0ZXh0Q2xhc3NcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC1bMThweF0gbGVhZGluZy1bMThweF0gdy1bMThweF0gaC1bMThweF1cIj5cbiAgICAgICAgICB7eyBpY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBbY2xhc3NdPVwibGFiZWxDbGFzc2VzXCIgW25nQ2xhc3NdPVwidGV4dENsYXNzXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdlbmQnXCIgW2NsYXNzXT1cImljb25DbGFzc2VzXCIgW25nQ2xhc3NdPVwidGV4dENsYXNzXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRleHQtWzE4cHhdIGxlYWRpbmctWzE4cHhdIHctWzE4cHhdIGgtWzE4cHhdXCI+XG4gICAgICAgICAge3sgaWNvbiB9fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbjwvYnV0dG9uPlxuXG4iXX0=
|
|
257
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvYnV0dG9uL2J1dHRvbi5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2J1dHRvbi9idXR0b24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsTUFBTSxlQUFlLENBQUM7Ozs7QUFTckYsTUFBTSxPQUFPLGVBQWU7SUFMNUI7UUFPVyxZQUFPLEdBQWtCLFFBQVEsQ0FBQztRQUNsQyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBRTFCLGlCQUFZLEdBQW9CLE9BQU8sQ0FBQztRQUN4QyxTQUFJLEdBQWtDLFFBQVEsQ0FBQztRQUM5QyxZQUFPLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUVuRCwwQkFBMEI7UUFDMUIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMzQixjQUFTLEdBQVksS0FBSyxDQUFDO1FBQzNCLGNBQVMsR0FBWSxLQUFLLENBQUM7S0EwTjVCO0lBeE5DLElBQUksT0FBTztRQUNULE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDckIsQ0FBQztJQUVELElBQUksYUFBYTtRQUNmLE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE1BQU07WUFDTixVQUFVO1lBQ1YsZ0JBQWdCO1lBQ2hCLGNBQWM7WUFDZCxLQUFLO1lBQ0wsT0FBTztZQUNQLFlBQVk7WUFDWixnQkFBZ0I7WUFDaEIsWUFBWTtZQUNaLGVBQWU7WUFDZixTQUFTO1lBQ1QsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixjQUFjO1lBQ2QsY0FBYztTQUNmLENBQUM7UUFFRixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsV0FBVyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1NB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LElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFHRCxPQUFPO1FBQ0wsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7U0FDdkI7SUFDSCxDQUFDO0lBR0QsTUFBTTtRQUNKLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO1FBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ3pCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBaUI7UUFDdkIsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDbEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDMUI7SUFDSCxDQUFDOzs0R0FyT1UsZUFBZTtnR0FBZixlQUFlLDhYQ1Q1Qiw0NEJBMEJBOzJGRGpCYSxlQUFlO2tCQUwzQixTQUFTOytCQUNFLFlBQVk7OEJBTWIsT0FBTztzQkFBZixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNJLE9BQU87c0JBQWhCLE1BQU07Z0JBcUxQLFlBQVk7c0JBRFgsWUFBWTt1QkFBQyxZQUFZO2dCQVExQixZQUFZO3NCQURYLFlBQVk7dUJBQUMsWUFBWTtnQkFPMUIsV0FBVztzQkFEVixZQUFZO3VCQUFDLFdBQVc7Z0JBUXpCLFNBQVM7c0JBRFIsWUFBWTt1QkFBQyxTQUFTO2dCQU12QixPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTztnQkFRckIsTUFBTTtzQkFETCxZQUFZO3VCQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSG9zdExpc3RlbmVyIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbmV4cG9ydCB0eXBlIEJ1dHRvblZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAndGV4dCcgfCAnZWxldmF0ZWQnIHwgJ3RvbmFsJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3FhLWJ1dHRvbicsXG4gIHRlbXBsYXRlVXJsOiAnLi9idXR0b24uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFtdXG59KVxuZXhwb3J0IGNsYXNzIEJ1dHRvbkNvbXBvbmVudCB7XG5cbiAgQElucHV0KCkgdmFyaWFudDogQnV0dG9uVmFyaWFudCA9ICdmaWxsZWQnO1xuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBpY29uPzogc3RyaW5nO1xuICBASW5wdXQoKSBpY29uUG9zaXRpb246ICdzdGFydCcgfCAnZW5kJyA9ICdzdGFydCc7XG4gIEBJbnB1dCgpIHR5cGU6ICdidXR0b24nIHwgJ3N1Ym1pdCcgfCAncmVzZXQnID0gJ2J1dHRvbic7XG4gIEBPdXRwdXQoKSBjbGlja2VkID0gbmV3IEV2ZW50RW1pdHRlcjxNb3VzZUV2ZW50PigpO1xuXG4gIC8vIEludGVybmFsIHN0YXRlIHRyYWNraW5nXG4gIGlzSG92ZXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBpc0ZvY3VzZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgaXNQcmVzc2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZ2V0IGhhc0ljb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuICEhdGhpcy5pY29uO1xuICB9XG5cbiAgZ2V0IGJ1dHRvbkNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBiYXNlQ2xhc3NlcyA9IFtcbiAgICAgICdmbGV4JyxcbiAgICAgICdmbGV4LWNvbCcsXG4gICAgICAnanVzdGlmeS1jZW50ZXInLFxuICAgICAgJ2l0ZW1zLWNlbnRlcicsXG4gICAgICAncC0wJyxcbiAgICAgICdnYXAtMicsXG4gICAgICAncm91bmRlZC1sZycsXG4gICAgICAnY3Vyc29yLXBvaW50ZXInLFxuICAgICAgJ2ZvbnQtaW50ZXInLFxuICAgICAgJ2ZvbnQtc2VtaWJvbGQnLFxuICAgICAgJ3RleHQtc20nLFxuICAgICAgJ2xlYWRpbmctWzE0cHhdJyxcbiAgICAgICd0cmFuc2l0aW9uLWFsbCcsXG4gICAgICAnZHVyYXRpb24tMjAwJyxcbiAgICAgICdvdXRsaW5lLW5vbmUnXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBiYXNlQ2xhc3Nlcy5wdXNoKCdjdXJzb3Itbm90LWFsbG93ZWQnKTtcbiAgICB9XG5cbiAgICAvLyBBZGQgdmFyaWFudCBhbmQgc3RhdGUgc3BlY2lmaWMgY2xhc3Nlc1xuICAgIGNvbnN0IHZhcmlhbnRDbGFzc2VzID0gdGhpcy5nZXRWYXJpYW50Q2xhc3NlcygpO1xuICAgIFxuICAgIHJldHVybiBbLi4uYmFzZUNsYXNzZXMsIC4uLnZhcmlhbnRDbGFzc2VzXS5qb2luKCcgJyk7XG4gIH1cblxuICBnZXQgc3RhdGVMYXllckNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzID0gW1xuICAgICAgJ2ZsZXgnLFxuICAgICAgJ2ZsZXgtcm93JyxcbiAgICAgICdqdXN0aWZ5LWNlbnRlcicsXG4gICAgICAnaXRlbXMtY2VudGVyJyxcbiAgICAgICdnYXAtMicsXG4gICAgICAndy1mdWxsJyxcbiAgICAgICdoLWZ1bGwnLFxuICAgICAgJ3B5LVsxMHB4XScsXG4gICAgICAncHgtNicsXG4gICAgXTtcblxuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIGdldCBsYWJlbENsYXNzZXMoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjbGFzc2VzID0gW1xuICAgICAgJ2ZsZXgnLFxuICAgICAgJ2l0ZW1zLWNlbnRlcicsXG4gICAgICAndGV4dC1jZW50ZXInLFxuICAgICAgJ2ZvbnQtaW50ZXInLFxuICAgICAgJ2ZvbnQtc2VtaWJvbGQnLFxuICAgICAgJ3RleHQtc20nLFxuICAgICAgJ2xlYWRpbmctWzE0cHhdJyxcbiAgICAgICdmbGV4LW5vbmUnLFxuICAgICAgdGhpcy50ZXh0Q2xhc3MsXG4gICAgXTtcblxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICBjbGFzc2VzLnB1c2goJ29wYWNpdHktWzAuMzhdJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpO1xuICB9XG5cbiAgZ2V0IGljb25DbGFzc2VzKCk6IHN0cmluZyB7XG4gICAgY29uc3QgY2xhc3NlcyA9IFtcbiAgICAgICdmbGV4JyxcbiAgICAgICdpdGVtcy1jZW50ZXInLFxuICAgICAgJ2p1c3RpZnktY2VudGVyJyxcbiAgICAgICd3LVsxNHB4XScsXG4gICAgICAnaC1bMTRweF0nLFxuICAgICAgJ3Nocmluay0wJyxcbiAgICAgICdmbGV4LW5vbmUnXG4gICAgXTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgY2xhc3Nlcy5wdXNoKCdvcGFjaXR5LVswLjM4XScpO1xuICAgIH1cbiAgICByZXR1cm4gY2xhc3Nlcy5qb2luKCcgJyk7XG4gIH1cblxuICBwcml2YXRlIGdldFZhcmlhbnRDbGFzc2VzKCk6IHN0cmluZ1tdIHtcbiAgICBjb25zdCBjbGFzc2VzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2ZpbGxlZCcpIHtcbiAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgIGNsYXNzZXMucHVzaCgnYmctcHJpbWFyeS1tdXRlZCcpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5Jyk7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzFweF8zcHhfMXB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ291dGxpbmVkJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy10cmFuc3BhcmVudCcsICdib3JkZXInLCAnYm9yZGVyLXByaW1hcnktbXV0ZWQnKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnYmctcHJpbWFyeS1zdXJmYWNlLWFsdCcsICdib3JkZXInLCAnYm9yZGVyLXByaW1hcnktaG92ZXInLCAnc2hhZG93LVswcHhfNHB4XzRweF9yZ2JhKDAsMCwwLDAuMjUpXScpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNIb3ZlcmVkIHx8IHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LXN1cmZhY2UnLCAnYm9yZGVyJywgJ2JvcmRlci1wcmltYXJ5Jyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy10cmFuc3BhcmVudCcsICdib3JkZXInLCAnYm9yZGVyLXNsYXRlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3RleHQnKSB7XG4gICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXRyYW5zcGFyZW50Jyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXRyYW5zcGFyZW50Jyk7XG4gICAgICAgIGlmICh0aGlzLmlzSG92ZXJlZCB8fCB0aGlzLmlzRm9jdXNlZCB8fCB0aGlzLmlzUHJlc3NlZCkge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnYmctcHJpbWFyeS1zdXJmYWNlJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ2VsZXZhdGVkJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LW11dGVkJywgJ3NoYWRvdy1ub25lJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pc0ZvY3VzZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktc3VyZmFjZS1hbHQnLCAnc2hhZG93LVswcHhfNHB4XzRweF9yZ2JhKDAsMCwwLDAuMjUpXScpO1xuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuaXNQcmVzc2VkKSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LXN1cmZhY2UnLCAnc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzFweF8zcHhfMXB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXByaW1hcnktc3VyZmFjZS1hbHQnLCAnc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzJweF82cHhfMnB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LXN1cmZhY2UnLCAnc2hhZG93LVswcHhfMXB4XzJweF9yZ2JhKDAsMCwwLDAuMyksMHB4XzFweF8zcHhfMXB4X3JnYmEoMCwwLDAsMC4xNSldJyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHRoaXMudmFyaWFudCA9PT0gJ3RvbmFsJykge1xuICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgY2xhc3Nlcy5wdXNoKCdiZy1wcmltYXJ5LW11dGVkJyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpZiAodGhpcy5pc0hvdmVyZWQpIHtcbiAgICAgICAgICBjbGFzc2VzLnB1c2goJ2JnLXRvbmFsLWhvdmVyJywgJ3NoYWRvdy1bMHB4XzFweF8ycHhfcmdiYSgwLDAsMCwwLjMpLDBweF8xcHhfM3B4XzFweF9yZ2JhKDAsMCwwLDAuMTUpXScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIGNsYXNzZXMucHVzaCgnYmctcHJpbWFyeS1zdXJmYWNlLWFsdCcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGNsYXNzZXM7XG4gIH1cblxuICBnZXQgdGV4dENsYXNzKCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIGlmICh0aGlzLnZhcmlhbnQgPT09ICdvdXRsaW5lZCcgfHwgdGhpcy52YXJpYW50ID09PSAndGV4dCcpIHtcbiAgICAgICAgcmV0dXJuICd0ZXh0LWluayc7XG4gICAgICB9XG4gICAgICByZXR1cm4gJ3RleHQtaW5rLW11dGVkJztcbiAgICB9XG5cbiAgICBzd2l0Y2ggKHRoaXMudmFyaWFudCkge1xuICAgICAgY2FzZSAnZmlsbGVkJzpcbiAgICAgICAgcmV0dXJuICd0ZXh0LXN1cmZhY2UtZGVmYXVsdCc7XG4gICAgICBjYXNlICdvdXRsaW5lZCc6XG4gICAgICAgIGlmICh0aGlzLmlzRm9jdXNlZCB8fCB0aGlzLmlzSG92ZXJlZCB8fCB0aGlzLmlzUHJlc3NlZCkge1xuICAgICAgICAgIHJldHVybiAndGV4dC1wcmltYXJ5LWhvdmVyJztcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gJ3RleHQtc2xhdGUnO1xuICAgICAgY2FzZSAndGV4dCc6XG4gICAgICBjYXNlICdlbGV2YXRlZCc6XG4gICAgICAgIHJldHVybiAndGV4dC1wcmltYXJ5LWhvdmVyJztcbiAgICAgIGNhc2UgJ3RvbmFsJzpcbiAgICAgICAgcmV0dXJuICd0ZXh0LWluayc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJyc7XG4gICAgfVxuICB9XG5cbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicpXG4gIG9uTW91c2VFbnRlcigpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaXNIb3ZlcmVkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJylcbiAgb25Nb3VzZUxlYXZlKCkge1xuICAgIHRoaXMuaXNIb3ZlcmVkID0gZmFsc2U7XG4gICAgdGhpcy5pc1ByZXNzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlZG93bicpXG4gIG9uTW91c2VEb3duKCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5pc1ByZXNzZWQgPSB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNldXAnKVxuICBvbk1vdXNlVXAoKSB7XG4gICAgdGhpcy5pc1ByZXNzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2ZvY3VzJylcbiAgb25Gb2N1cygpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdibHVyJylcbiAgb25CbHVyKCkge1xuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XG4gICAgdGhpcy5pc1ByZXNzZWQgPSBmYWxzZTtcbiAgfVxuXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcbiAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgIHRoaXMuY2xpY2tlZC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbn1cblxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCIgc3R5bGU9XCJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHdpZHRoOiBhdXRvO1wiPlxuICA8YnV0dG9uXG4gICAgW3R5cGVdPVwidHlwZVwiXG4gICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICBbY2xhc3NdPVwiYnV0dG9uQ2xhc3Nlc1wiXG4gICAgKGNsaWNrKT1cIm9uQ2xpY2soJGV2ZW50KVwiXG4gID5cbiAgICA8c3BhbiBbY2xhc3NdPVwic3RhdGVMYXllckNsYXNzZXNcIj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdzdGFydCdcIiBbY2xhc3NdPVwiaWNvbkNsYXNzZXNcIiBbbmdDbGFzc109XCJ0ZXh0Q2xhc3NcIj5cbiAgICAgICAgPG1hdC1pY29uIGNsYXNzPVwidGV4dC1bMThweF0gbGVhZGluZy1bMThweF0gdy1bMThweF0gaC1bMThweF1cIj5cbiAgICAgICAgICB7eyBpY29uIH19XG4gICAgICAgIDwvbWF0LWljb24+XG4gICAgICA8L3NwYW4+XG4gICAgICA8c3BhbiBbY2xhc3NdPVwibGFiZWxDbGFzc2VzXCIgW25nQ2xhc3NdPVwidGV4dENsYXNzXCI+XG4gICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxzcGFuICpuZ0lmPVwiaWNvbiAmJiBpY29uUG9zaXRpb24gPT09ICdlbmQnXCIgW2NsYXNzXT1cImljb25DbGFzc2VzXCIgW25nQ2xhc3NdPVwidGV4dENsYXNzXCI+XG4gICAgICAgIDxtYXQtaWNvbiBjbGFzcz1cInRleHQtWzE4cHhdIGxlYWRpbmctWzE4cHhdIHctWzE4cHhdIGgtWzE4cHhdXCI+XG4gICAgICAgICAge3sgaWNvbiB9fVxuICAgICAgICA8L21hdC1pY29uPlxuICAgICAgPC9zcGFuPlxuICAgIDwvc3Bhbj5cbiAgPC9idXR0b24+XG48L2Rpdj5cblxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ViewChild,
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ViewChild, } from '@angular/core';
|
|
2
2
|
import { CdkPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "../button/button.component";
|
|
@@ -8,8 +8,6 @@ export class DialogComponent {
|
|
|
8
8
|
constructor(viewContainerRef, cdr) {
|
|
9
9
|
this.viewContainerRef = viewContainerRef;
|
|
10
10
|
this.cdr = cdr;
|
|
11
|
-
this.id = 'cqa-ui-root';
|
|
12
|
-
this.display = 'block';
|
|
13
11
|
this.contentAttached = false;
|
|
14
12
|
}
|
|
15
13
|
attachTemplate(template, context) {
|
|
@@ -118,18 +116,12 @@ export class DialogComponent {
|
|
|
118
116
|
}
|
|
119
117
|
}
|
|
120
118
|
DialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DialogComponent, deps: [{ token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
121
|
-
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DialogComponent, selector: "cqa-dialog",
|
|
119
|
+
DialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: DialogComponent, selector: "cqa-dialog", viewQueries: [{ propertyName: "portalOutlet", first: true, predicate: CdkPortalOutlet, descendants: true, static: true }], ngImport: i0, template: "<div id=\"cqa-ui-root\" style=\"display: block;\">\n <div class=\"flex w-full justify-center px-4 sm:px-6\">\n <div [ngClass]=\"panelClassList\" [ngStyle]=\"panelStyles\">\n <div class=\"flex flex-col gap-5\">\n <div class=\"flex flex-col gap-3\">\n <h2 class=\"text-lg font-semibold text-[#111827]\">\n {{ config.title }}\n </h2>\n\n <p *ngIf=\"config.description\" class=\"text-sm leading-6 text-[#4B5563]\">\n {{ config.description }}\n </p>\n\n <div\n *ngIf=\"config.warning\"\n class=\"rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm leading-5 text-red-700\"\n >\n {{ config.warning }}\n </div>\n </div>\n\n <div class=\"text-sm text-[#111827]\" [class.hidden]=\"!contentAttached\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"mt-4 flex flex-wrap gap-3\" [ngClass]=\"buttonAlignmentClass\">\n <cqa-button\n *ngFor=\"let button of config.buttons\"\n type=\"button\"\n [variant]=\"buttonVariant(button)\"\n [ngClass]=\"buttonHostClasses(button)\"\n (clicked)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n", components: [{ type: i1.ButtonComponent, selector: "cqa-button", inputs: ["variant", "disabled", "icon", "iconPosition", "type"], outputs: ["clicked"] }], directives: [{ type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i2.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3.CdkPortalOutlet, selector: "[cdkPortalOutlet]", inputs: ["cdkPortalOutlet"], outputs: ["attached"], exportAs: ["cdkPortalOutlet"] }, { type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
122
120
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: DialogComponent, decorators: [{
|
|
123
121
|
type: Component,
|
|
124
|
-
args: [{ selector: 'cqa-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"flex w-full justify-center px-4 sm:px-6\">\n <div [ngClass]=\"panelClassList\" [ngStyle]=\"panelStyles\">\n <div class=\"flex flex-col gap-5\">\n <div class=\"flex flex-col gap-3\">\n <h2 class=\"text-lg font-semibold text-[#111827]\">\n {{ config.title }}\n </h2>\n\n <p *ngIf=\"config.description\" class=\"text-sm leading-6 text-[#4B5563]\">\n {{ config.description }}\n </p>\n\n <div\n *ngIf=\"config.warning\"\n class=\"rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm leading-5 text-red-700\"\n >\n {{ config.warning }}\n </div>\n </div>\n\n <div class=\"text-sm text-[#111827]\" [class.hidden]=\"!contentAttached\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"mt-4 flex flex-wrap gap-3\" [ngClass]=\"buttonAlignmentClass\">\n <cqa-button\n *ngFor=\"let button of config.buttons\"\n type=\"button\"\n [variant]=\"buttonVariant(button)\"\n [ngClass]=\"buttonHostClasses(button)\"\n (clicked)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </cqa-button>\n </div>\n </div>\n </div>\n</div>\n\n\n", styles: [] }]
|
|
125
|
-
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: {
|
|
126
|
-
type: HostBinding,
|
|
127
|
-
args: ['attr.id']
|
|
128
|
-
}], display: [{
|
|
129
|
-
type: HostBinding,
|
|
130
|
-
args: ['style.display']
|
|
131
|
-
}], portalOutlet: [{
|
|
122
|
+
args: [{ selector: 'cqa-dialog', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div id=\"cqa-ui-root\" style=\"display: block;\">\n <div class=\"flex w-full justify-center px-4 sm:px-6\">\n <div [ngClass]=\"panelClassList\" [ngStyle]=\"panelStyles\">\n <div class=\"flex flex-col gap-5\">\n <div class=\"flex flex-col gap-3\">\n <h2 class=\"text-lg font-semibold text-[#111827]\">\n {{ config.title }}\n </h2>\n\n <p *ngIf=\"config.description\" class=\"text-sm leading-6 text-[#4B5563]\">\n {{ config.description }}\n </p>\n\n <div\n *ngIf=\"config.warning\"\n class=\"rounded-xl border border-red-200 bg-red-50 px-4 py-3 text-sm leading-5 text-red-700\"\n >\n {{ config.warning }}\n </div>\n </div>\n\n <div class=\"text-sm text-[#111827]\" [class.hidden]=\"!contentAttached\">\n <ng-template cdkPortalOutlet></ng-template>\n </div>\n\n <div class=\"mt-4 flex flex-wrap gap-3\" [ngClass]=\"buttonAlignmentClass\">\n <cqa-button\n *ngFor=\"let button of config.buttons\"\n type=\"button\"\n [variant]=\"buttonVariant(button)\"\n [ngClass]=\"buttonHostClasses(button)\"\n (clicked)=\"onButtonClick(button)\"\n >\n {{ button.label }}\n </cqa-button>\n </div>\n </div>\n </div>\n </div>\n</div>\n\n\n", styles: [] }]
|
|
123
|
+
}], ctorParameters: function () { return [{ type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { portalOutlet: [{
|
|
132
124
|
type: ViewChild,
|
|
133
125
|
args: [CdkPortalOutlet, { static: true }]
|
|
134
126
|
}] } });
|
|
135
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBR1QsU0FBUyxFQUVULFdBQVcsR0FDWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsZUFBZSxFQUFtQixjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7QUFXdkYsTUFBTSxPQUFPLGVBQWU7SUFXMUIsWUFBNkIsZ0JBQWtDLEVBQW1CLEdBQXNCO1FBQTNFLHFCQUFnQixHQUFoQixnQkFBZ0IsQ0FBa0I7UUFBbUIsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFWaEYsT0FBRSxHQUFHLGFBQWEsQ0FBQztRQUNiLFlBQU8sR0FBRyxPQUFPLENBQUM7UUFPaEQsb0JBQWUsR0FBRyxLQUFLLENBQUM7SUFFbUYsQ0FBQztJQUU1RyxjQUFjLENBQUMsUUFBOEIsRUFBRSxPQUFpQztRQUM5RSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRTtZQUN0QixPQUFPO1NBQ1I7UUFFRCxNQUFNLGVBQWUsR0FDbkIsT0FBTztZQUNQO2dCQUNFLFNBQVMsRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUk7Z0JBQzVCLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUk7YUFDeEIsQ0FBQztRQUNKLE1BQU0sTUFBTSxHQUFHLElBQUksY0FBYyxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsZUFBZSxDQUFDLENBQUM7UUFDcEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsbUJBQW1CLEVB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O1lBQ25CLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1NBQ2hDO1FBRUQsT0FBTyxFQUFFLENBQUM7SUFDWixDQUFDO0lBRU8sbUJBQW1CLENBQUMsU0FBZ0M7UUFDMUQsUUFBUSxTQUFTLEVBQUU7WUFDakIsS0FBSyxNQUFNO2dCQUNULE9BQU8sZUFBZSxDQUFDO1lBQ3pCLEtBQUssUUFBUTtnQkFDWCxPQUFPLGdCQUFnQixDQUFDO1lBQzFCLEtBQUssT0FBTyxDQUFDO1lBQ2I7Z0JBQ0UsT0FBTyxhQUFhLENBQUM7U0FDeEI7SUFDSCxDQUFDO0lBRU8sbUJBQW1CO1FBQ3pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVPLGFBQWEsQ0FBQyxJQUF3QjtRQUM1QyxPQUFPLENBQUMsSUFBSSxJQUFJLFdBQVcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN0RCxDQUFDOzs0R0EzSVUsZUFBZTtnR0FBZixlQUFlLGlMQUlmLGVBQWUsOERDekI1Qix5ekNBd0NBOzJGRG5CYSxlQUFlO2tCQU4zQixTQUFTOytCQUNFLFlBQVksbUJBR0wsdUJBQXVCLENBQUMsTUFBTTt1SUFHdkIsRUFBRTtzQkFBekIsV0FBVzt1QkFBQyxTQUFTO2dCQUNRLE9BQU87c0JBQXBDLFdBQVc7dUJBQUMsZUFBZTtnQkFFa0IsWUFBWTtzQkFBekQsU0FBUzt1QkFBQyxlQUFlLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENoYW5nZURldGVjdG9yUmVmLFxuICBDb21wb25lbnQsXG4gIENvbXBvbmVudFJlZixcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZixcbiAgSG9zdEJpbmRpbmcsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0LCBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBEaWFsb2dCdXR0b25BbGlnbm1lbnQsIERpYWxvZ0J1dHRvbkNvbmZpZywgRGlhbG9nQ29uZmlnLCBEaWFsb2dDb250ZW50Q29uZmlnIH0gZnJvbSAnLi9kaWFsb2cubW9kZWxzJztcbmltcG9ydCB7IEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb21wb25lbnQ8VFJlc3VsdCA9IHVua25vd24+IHtcbiAgQEhvc3RCaW5kaW5nKCdhdHRyLmlkJykgaWQgPSAnY3FhLXVpLXJvb3QnO1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmRpc3BsYXknKSBkaXNwbGF5ID0gJ2Jsb2NrJztcblxuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IHRydWUgfSkgcG9ydGFsT3V0bGV0PzogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gIGNvbmZpZyE6IERpYWxvZ0NvbmZpZzxEaWFsb2dDb250ZW50Q29uZmlnLCBUUmVzdWx0PjtcbiAgZGlhbG9nUmVmITogRGlhbG9nUmVmPFRSZXN1bHQ+O1xuXG4gIGNvbnRlbnRBdHRhY2hlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGF0dGFjaFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiwgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBvcnRhbE91dGxldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBsYXRlQ29udGV4dCA9XG4gICAgICBjb250ZXh0ID8/XG4gICAgICB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5jb25maWc/LmRhdGEsXG4gICAgICAgIGRhdGE6IHRoaXMuY29uZmlnPy5kYXRhLFxuICAgICAgfTtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGVtcGxhdGVDb250ZXh0KTtcbiAgICB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgIHRoaXMubWFya0NvbnRlbnRBdHRhY2hlZCgpO1xuICB9XG5cbiAgYXR0YWNoQ29tcG9uZW50KGNvbXBvbmVudDogQ29tcG9uZW50UG9ydGFsPHVua25vd24+KTogQ29tcG9uZW50UmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMucG9ydGFsT3V0bGV0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChjb21wb25lbnQpO1xuICAgIHRoaXMubWFya0NvbnRlbnRBdHRhY2hlZCgpO1xuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICBhc3luYyBvbkJ1dHRvbkNsaWNrKGJ1dHRvbjogRGlhbG9nQnV0dG9uQ29uZmlnPFRSZXN1bHQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xvc2VPbkNsaWNrID0gYnV0dG9uLmNsb3NlT25DbGljayA/PyB0cnVlO1xuICAgIGxldCBoYW5kbGVyUmVzdWx0OiBUUmVzdWx0IHwgZmFsc2UgfCB2b2lkIHwgUHJvbWlzZTxUUmVzdWx0IHwgZmFsc2UgfCB2b2lkPiA9IHVuZGVmaW5lZDtcblxuICAgIGlmIChidXR0b24uaGFuZGxlcikge1xuICAgICAgaGFuZGxlclJlc3VsdCA9IGJ1dHRvbi5oYW5kbGVyKHRoaXMuZGlhbG9nUmVmKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvbHZlZCA9IGhhbmRsZXJSZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlID8gYXdhaXQgaGFuZGxlclJlc3VsdCA6IGhhbmRsZXJSZXN1bHQ7XG5cbiAgICBpZiAoIWNsb3NlT25DbGljayB8fCByZXNvbHZlZCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXNvbHZlZCBhcyBUUmVzdWx0IHwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIGdldCBidXR0b25BbGlnbm1lbnRDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsaWdubWVudCA9IHRoaXMuY29uZmlnPy5idXR0b25BbGlnbm1lbnQgPz8gJ3JpZ2h0JztcbiAgICByZXR1cm4gdGhpcy5tYXBBbGlnbm1lbnRUb0NsYXNzKGFsaWdubWVudCk7XG4gIH1cblxuICBnZXQgcGFuZWxDbGFzc0xpc3QoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzID0gW1xuICAgICAgJ3JlbGF0aXZlJyxcbiAgICAgICd3LWZ1bGwnLFxuICAgICAgJ2JnLXdoaXRlJyxcbiAgICAgICdyb3VuZGVkLTJ4bCcsXG4gICAgICAnc2hhZG93LW1kJyxcbiAgICAgICdib3JkZXInLFxuICAgICAgJ2JvcmRlci1bI0U1RTdFQl0nLFxuICAgICAgJ3AtNicsXG4gICAgICAndGV4dC1sZWZ0JyxcbiAgICBdO1xuXG4gICAgY29uc3QgY3VzdG9tID0gdGhpcy5jb25maWc/LnBhbmVsQ2xhc3M7XG5cbiAgICBpZiAoIWN1c3RvbSkge1xuICAgICAgcmV0dXJuIGJhc2VDbGFzc2VzO1xuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGN1c3RvbSkgPyBbLi4uYmFzZUNsYXNzZXMsIC4uLmN1c3RvbV0gOiBbLi4uYmFzZUNsYXNzZXMsIGN1c3RvbV07XG4gIH1cblxuICBnZXQgcGFuZWxTdHlsZXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB0aGlzLmNvbmZpZz8ud2lkdGgsXG4gICAgICBtYXhXaWR0aDogdGhpcy5jb25maWc/Lm1heFdpZHRoID8/ICc0ODBweCcsXG4gICAgfTtcbiAgfVxuXG4gIGJ1dHRvblZhcmlhbnQoYnV0dG9uOiBEaWFsb2dCdXR0b25Db25maWc8VFJlc3VsdD4pOiBCdXR0b25WYXJpYW50IHtcbiAgICBjb25zdCByb2xlID0gdGhpcy5ub3JtYWxpemVSb2xlKGJ1dHRvbi5yb2xlKTtcblxuICAgIHN3aXRjaCAocm9sZSkge1xuICAgICAgY2FzZSAnc2Vjb25kYXJ5JzpcbiAgICAgICAgcmV0dXJuICdvdXRsaW5lZCc7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICAgIGNhc2UgJ3RvbmFsJzpcbiAgICAgICAgcmV0dXJuICd0b25hbCc7XG4gICAgICBjYXNlICdlbGV2YXRlZCc6XG4gICAgICAgIHJldHVybiAnZWxldmF0ZWQnO1xuICAgICAgY2FzZSAnZmlsbGVkJzpcbiAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgY2FzZSAnd2Fybic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2ZpbGxlZCc7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uSG9zdENsYXNzZXMoYnV0dG9uOiBEaWFsb2dCdXR0b25Db25maWc8VFJlc3VsdD4pOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgcm9sZSA9IHRoaXMubm9ybWFsaXplUm9sZShidXR0b24ucm9sZSk7XG5cbiAgICBpZiAocm9sZSA9PT0gJ3dhcm4nKSB7XG4gICAgICByZXR1cm4gWydjcWEtZGlhbG9nLWJ0bi13YXJuJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBBbGlnbm1lbnRUb0NsYXNzKGFsaWdubWVudDogRGlhbG9nQnV0dG9uQWxpZ25tZW50KTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGFsaWdubWVudCkge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiAnanVzdGlmeS1zdGFydCc7XG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICByZXR1cm4gJ2p1c3RpZnktY2VudGVyJztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnanVzdGlmeS1lbmQnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWFya0NvbnRlbnRBdHRhY2hlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnRBdHRhY2hlZCA9IHRydWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVJvbGUocm9sZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHJvbGUgPz8gJ3NlY29uZGFyeScpLnRyaW0oKS5zcGxpdCgvXFxzKy8pWzBdO1xuICB9XG59XG5cblxuIiwiPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktY2VudGVyIHB4LTQgc206cHgtNlwiPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwicGFuZWxDbGFzc0xpc3RcIiBbbmdTdHlsZV09XCJwYW5lbFN0eWxlc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC1bIzExMTgyN11cIj5cbiAgICAgICAgICAgIHt7IGNvbmZpZy50aXRsZSB9fVxuICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICA8cCAqbmdJZj1cImNvbmZpZy5kZXNjcmlwdGlvblwiIGNsYXNzPVwidGV4dC1zbSBsZWFkaW5nLTYgdGV4dC1bIzRCNTU2M11cIj5cbiAgICAgICAgICAgIHt7IGNvbmZpZy5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLndhcm5pbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLXhsIGJvcmRlciBib3JkZXItcmVkLTIwMCBiZy1yZWQtNTAgcHgtNCBweS0zIHRleHQtc20gbGVhZGluZy01IHRleHQtcmVkLTcwMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgY29uZmlnLndhcm5pbmcgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bIzExMTgyN11cIiBbY2xhc3MuaGlkZGVuXT1cIiFjb250ZW50QXR0YWNoZWRcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC00IGZsZXggZmxleC13cmFwIGdhcC0zXCIgW25nQ2xhc3NdPVwiYnV0dG9uQWxpZ25tZW50Q2xhc3NcIj5cbiAgICAgICAgICA8Y3FhLWJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBjb25maWcuYnV0dG9uc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFt2YXJpYW50XT1cImJ1dHRvblZhcmlhbnQoYnV0dG9uKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJidXR0b25Ib3N0Q2xhc3NlcyhidXR0b24pXCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soYnV0dG9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgPC9jcWEtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+XG5cblxuIl19
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGlhbG9nLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvZGlhbG9nL2RpYWxvZy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL2RpYWxvZy9kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHVCQUF1QixFQUV2QixTQUFTLEVBR1QsU0FBUyxHQUVWLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQW1CLGNBQWMsRUFBRSxNQUFNLHFCQUFxQixDQUFDOzs7OztBQVd2RixNQUFNLE9BQU8sZUFBZTtJQVMxQixZQUE2QixnQkFBa0MsRUFBbUIsR0FBc0I7UUFBM0UscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQUFtQixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUZ4RyxvQkFBZSxHQUFHLEtBQUssQ0FBQztJQUVtRixDQUFDO0lBRTVHLGNBQWMsQ0FBQyxRQUE4QixFQUFFLE9BQWlDO1FBQzlFLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1lBQ3RCLE9BQU87U0FDUjtRQUVELE1BQU0sZUFBZSxHQUNuQixPQUFPO1lBQ1A7Z0JBQ0UsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSTtnQkFDNUIsSUFBSSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSTthQUN4QixDQUFDO1FBQ0osTUFBTSxNQUFNLEdBQUcsSUFBSSxjQUFjLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUNwRixJQUFJLENBQUMsWUFBWSxDQUFDLG9CQUFvQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO0lBQzdCLENBQUM7SUFFRCxlQUFlLENBQUMsU0FBbUM7UUFDakQsSUFBSSxDQUFDLElBQUks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QUNaLENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxTQUFnQztRQUMxRCxRQUFRLFNBQVMsRUFBRTtZQUNqQixLQUFLLE1BQU07Z0JBQ1QsT0FBTyxlQUFlLENBQUM7WUFDekIsS0FBSyxRQUFRO2dCQUNYLE9BQU8sZ0JBQWdCLENBQUM7WUFDMUIsS0FBSyxPQUFPLENBQUM7WUFDYjtnQkFDRSxPQUFPLGFBQWEsQ0FBQztTQUN4QjtJQUNILENBQUM7SUFFTyxtQkFBbUI7UUFDekIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUM7UUFDNUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMxQixDQUFDO0lBRU8sYUFBYSxDQUFDLElBQXdCO1FBQzVDLE9BQU8sQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RELENBQUM7OzRHQXpJVSxlQUFlO2dHQUFmLGVBQWUsZ0dBRWYsZUFBZSw4REN0QjVCLHkzQ0EwQ0E7MkZEdEJhLGVBQWU7a0JBTjNCLFNBQVM7K0JBQ0UsWUFBWSxtQkFHTCx1QkFBdUIsQ0FBQyxNQUFNO3VJQUlELFlBQVk7c0JBQXpELFNBQVM7dUJBQUMsZUFBZSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBDb21wb25lbnRSZWYsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3Q2hpbGQsXG4gIFZpZXdDb250YWluZXJSZWYsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2RrUG9ydGFsT3V0bGV0LCBDb21wb25lbnRQb3J0YWwsIFRlbXBsYXRlUG9ydGFsIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL3BvcnRhbCc7XG5pbXBvcnQgeyBEaWFsb2dCdXR0b25BbGlnbm1lbnQsIERpYWxvZ0J1dHRvbkNvbmZpZywgRGlhbG9nQ29uZmlnLCBEaWFsb2dDb250ZW50Q29uZmlnIH0gZnJvbSAnLi9kaWFsb2cubW9kZWxzJztcbmltcG9ydCB7IEJ1dHRvblZhcmlhbnQgfSBmcm9tICcuLi9idXR0b24vYnV0dG9uLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBEaWFsb2dSZWYgfSBmcm9tICcuL2RpYWxvZy1yZWYnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtZGlhbG9nJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2RpYWxvZy5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogW10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBEaWFsb2dDb21wb25lbnQ8VFJlc3VsdCA9IHVua25vd24+IHtcblxuICBAVmlld0NoaWxkKENka1BvcnRhbE91dGxldCwgeyBzdGF0aWM6IHRydWUgfSkgcG9ydGFsT3V0bGV0PzogQ2RrUG9ydGFsT3V0bGV0O1xuXG4gIGNvbmZpZyE6IERpYWxvZ0NvbmZpZzxEaWFsb2dDb250ZW50Q29uZmlnLCBUUmVzdWx0PjtcbiAgZGlhbG9nUmVmITogRGlhbG9nUmVmPFRSZXN1bHQ+O1xuXG4gIGNvbnRlbnRBdHRhY2hlZCA9IGZhbHNlO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZiwgcHJpdmF0ZSByZWFkb25seSBjZHI6IENoYW5nZURldGVjdG9yUmVmKSB7fVxuXG4gIGF0dGFjaFRlbXBsYXRlKHRlbXBsYXRlOiBUZW1wbGF0ZVJlZjx1bmtub3duPiwgY29udGV4dD86IFJlY29yZDxzdHJpbmcsIHVua25vd24+KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnBvcnRhbE91dGxldCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHRlbXBsYXRlQ29udGV4dCA9XG4gICAgICBjb250ZXh0ID8/XG4gICAgICB7XG4gICAgICAgICRpbXBsaWNpdDogdGhpcy5jb25maWc/LmRhdGEsXG4gICAgICAgIGRhdGE6IHRoaXMuY29uZmlnPy5kYXRhLFxuICAgICAgfTtcbiAgICBjb25zdCBwb3J0YWwgPSBuZXcgVGVtcGxhdGVQb3J0YWwodGVtcGxhdGUsIHRoaXMudmlld0NvbnRhaW5lclJlZiwgdGVtcGxhdGVDb250ZXh0KTtcbiAgICB0aGlzLnBvcnRhbE91dGxldC5hdHRhY2hUZW1wbGF0ZVBvcnRhbChwb3J0YWwpO1xuICAgIHRoaXMubWFya0NvbnRlbnRBdHRhY2hlZCgpO1xuICB9XG5cbiAgYXR0YWNoQ29tcG9uZW50KGNvbXBvbmVudDogQ29tcG9uZW50UG9ydGFsPHVua25vd24+KTogQ29tcG9uZW50UmVmPHVua25vd24+IHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoIXRoaXMucG9ydGFsT3V0bGV0KSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cblxuICAgIGNvbnN0IGNvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsT3V0bGV0LmF0dGFjaENvbXBvbmVudFBvcnRhbChjb21wb25lbnQpO1xuICAgIHRoaXMubWFya0NvbnRlbnRBdHRhY2hlZCgpO1xuICAgIHJldHVybiBjb21wb25lbnRSZWY7XG4gIH1cblxuICBhc3luYyBvbkJ1dHRvbkNsaWNrKGJ1dHRvbjogRGlhbG9nQnV0dG9uQ29uZmlnPFRSZXN1bHQ+KTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgY2xvc2VPbkNsaWNrID0gYnV0dG9uLmNsb3NlT25DbGljayA/PyB0cnVlO1xuICAgIGxldCBoYW5kbGVyUmVzdWx0OiBUUmVzdWx0IHwgZmFsc2UgfCB2b2lkIHwgUHJvbWlzZTxUUmVzdWx0IHwgZmFsc2UgfCB2b2lkPiA9IHVuZGVmaW5lZDtcblxuICAgIGlmIChidXR0b24uaGFuZGxlcikge1xuICAgICAgaGFuZGxlclJlc3VsdCA9IGJ1dHRvbi5oYW5kbGVyKHRoaXMuZGlhbG9nUmVmKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXNvbHZlZCA9IGhhbmRsZXJSZXN1bHQgaW5zdGFuY2VvZiBQcm9taXNlID8gYXdhaXQgaGFuZGxlclJlc3VsdCA6IGhhbmRsZXJSZXN1bHQ7XG5cbiAgICBpZiAoIWNsb3NlT25DbGljayB8fCByZXNvbHZlZCA9PT0gZmFsc2UpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXNvbHZlZCBhcyBUUmVzdWx0IHwgdW5kZWZpbmVkKTtcbiAgfVxuXG4gIGdldCBidXR0b25BbGlnbm1lbnRDbGFzcygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGFsaWdubWVudCA9IHRoaXMuY29uZmlnPy5idXR0b25BbGlnbm1lbnQgPz8gJ3JpZ2h0JztcbiAgICByZXR1cm4gdGhpcy5tYXBBbGlnbm1lbnRUb0NsYXNzKGFsaWdubWVudCk7XG4gIH1cblxuICBnZXQgcGFuZWxDbGFzc0xpc3QoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGJhc2VDbGFzc2VzID0gW1xuICAgICAgJ3JlbGF0aXZlJyxcbiAgICAgICd3LWZ1bGwnLFxuICAgICAgJ2JnLXdoaXRlJyxcbiAgICAgICdyb3VuZGVkLTJ4bCcsXG4gICAgICAnc2hhZG93LW1kJyxcbiAgICAgICdib3JkZXInLFxuICAgICAgJ2JvcmRlci1bI0U1RTdFQl0nLFxuICAgICAgJ3AtNicsXG4gICAgICAndGV4dC1sZWZ0JyxcbiAgICBdO1xuXG4gICAgY29uc3QgY3VzdG9tID0gdGhpcy5jb25maWc/LnBhbmVsQ2xhc3M7XG5cbiAgICBpZiAoIWN1c3RvbSkge1xuICAgICAgcmV0dXJuIGJhc2VDbGFzc2VzO1xuICAgIH1cblxuICAgIHJldHVybiBBcnJheS5pc0FycmF5KGN1c3RvbSkgPyBbLi4uYmFzZUNsYXNzZXMsIC4uLmN1c3RvbV0gOiBbLi4uYmFzZUNsYXNzZXMsIGN1c3RvbV07XG4gIH1cblxuICBnZXQgcGFuZWxTdHlsZXMoKTogUmVjb3JkPHN0cmluZywgc3RyaW5nIHwgdW5kZWZpbmVkPiB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHdpZHRoOiB0aGlzLmNvbmZpZz8ud2lkdGgsXG4gICAgICBtYXhXaWR0aDogdGhpcy5jb25maWc/Lm1heFdpZHRoID8/ICc0ODBweCcsXG4gICAgfTtcbiAgfVxuXG4gIGJ1dHRvblZhcmlhbnQoYnV0dG9uOiBEaWFsb2dCdXR0b25Db25maWc8VFJlc3VsdD4pOiBCdXR0b25WYXJpYW50IHtcbiAgICBjb25zdCByb2xlID0gdGhpcy5ub3JtYWxpemVSb2xlKGJ1dHRvbi5yb2xlKTtcblxuICAgIHN3aXRjaCAocm9sZSkge1xuICAgICAgY2FzZSAnc2Vjb25kYXJ5JzpcbiAgICAgICAgcmV0dXJuICdvdXRsaW5lZCc7XG4gICAgICBjYXNlICd0ZXh0JzpcbiAgICAgICAgcmV0dXJuICd0ZXh0JztcbiAgICAgIGNhc2UgJ3RvbmFsJzpcbiAgICAgICAgcmV0dXJuICd0b25hbCc7XG4gICAgICBjYXNlICdlbGV2YXRlZCc6XG4gICAgICAgIHJldHVybiAnZWxldmF0ZWQnO1xuICAgICAgY2FzZSAnZmlsbGVkJzpcbiAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgY2FzZSAnd2Fybic6XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gJ2ZpbGxlZCc7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uSG9zdENsYXNzZXMoYnV0dG9uOiBEaWFsb2dCdXR0b25Db25maWc8VFJlc3VsdD4pOiBzdHJpbmdbXSB7XG4gICAgY29uc3Qgcm9sZSA9IHRoaXMubm9ybWFsaXplUm9sZShidXR0b24ucm9sZSk7XG5cbiAgICBpZiAocm9sZSA9PT0gJ3dhcm4nKSB7XG4gICAgICByZXR1cm4gWydjcWEtZGlhbG9nLWJ0bi13YXJuJ107XG4gICAgfVxuXG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBtYXBBbGlnbm1lbnRUb0NsYXNzKGFsaWdubWVudDogRGlhbG9nQnV0dG9uQWxpZ25tZW50KTogc3RyaW5nIHtcbiAgICBzd2l0Y2ggKGFsaWdubWVudCkge1xuICAgICAgY2FzZSAnbGVmdCc6XG4gICAgICAgIHJldHVybiAnanVzdGlmeS1zdGFydCc7XG4gICAgICBjYXNlICdjZW50ZXInOlxuICAgICAgICByZXR1cm4gJ2p1c3RpZnktY2VudGVyJztcbiAgICAgIGNhc2UgJ3JpZ2h0JzpcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiAnanVzdGlmeS1lbmQnO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbWFya0NvbnRlbnRBdHRhY2hlZCgpOiB2b2lkIHtcbiAgICB0aGlzLmNvbnRlbnRBdHRhY2hlZCA9IHRydWU7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICBwcml2YXRlIG5vcm1hbGl6ZVJvbGUocm9sZTogc3RyaW5nIHwgdW5kZWZpbmVkKTogc3RyaW5nIHtcbiAgICByZXR1cm4gKHJvbGUgPz8gJ3NlY29uZGFyeScpLnRyaW0oKS5zcGxpdCgvXFxzKy8pWzBdO1xuICB9XG59XG5cblxuIiwiPGRpdiBpZD1cImNxYS11aS1yb290XCIgc3R5bGU9XCJkaXNwbGF5OiBibG9jaztcIj5cbiAgPGRpdiBjbGFzcz1cImZsZXggdy1mdWxsIGp1c3RpZnktY2VudGVyIHB4LTQgc206cHgtNlwiPlxuICAgIDxkaXYgW25nQ2xhc3NdPVwicGFuZWxDbGFzc0xpc3RcIiBbbmdTdHlsZV09XCJwYW5lbFN0eWxlc1wiPlxuICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTVcIj5cbiAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggZmxleC1jb2wgZ2FwLTNcIj5cbiAgICAgICAgICA8aDIgY2xhc3M9XCJ0ZXh0LWxnIGZvbnQtc2VtaWJvbGQgdGV4dC1bIzExMTgyN11cIj5cbiAgICAgICAgICAgIHt7IGNvbmZpZy50aXRsZSB9fVxuICAgICAgICAgIDwvaDI+XG5cbiAgICAgICAgICA8cCAqbmdJZj1cImNvbmZpZy5kZXNjcmlwdGlvblwiIGNsYXNzPVwidGV4dC1zbSBsZWFkaW5nLTYgdGV4dC1bIzRCNTU2M11cIj5cbiAgICAgICAgICAgIHt7IGNvbmZpZy5kZXNjcmlwdGlvbiB9fVxuICAgICAgICAgIDwvcD5cblxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLndhcm5pbmdcIlxuICAgICAgICAgICAgY2xhc3M9XCJyb3VuZGVkLXhsIGJvcmRlciBib3JkZXItcmVkLTIwMCBiZy1yZWQtNTAgcHgtNCBweS0zIHRleHQtc20gbGVhZGluZy01IHRleHQtcmVkLTcwMFwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgY29uZmlnLndhcm5pbmcgfX1cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtc20gdGV4dC1bIzExMTgyN11cIiBbY2xhc3MuaGlkZGVuXT1cIiFjb250ZW50QXR0YWNoZWRcIj5cbiAgICAgICAgICA8bmctdGVtcGxhdGUgY2RrUG9ydGFsT3V0bGV0PjwvbmctdGVtcGxhdGU+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC00IGZsZXggZmxleC13cmFwIGdhcC0zXCIgW25nQ2xhc3NdPVwiYnV0dG9uQWxpZ25tZW50Q2xhc3NcIj5cbiAgICAgICAgICA8Y3FhLWJ1dHRvblxuICAgICAgICAgICAgKm5nRm9yPVwibGV0IGJ1dHRvbiBvZiBjb25maWcuYnV0dG9uc1wiXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgIFt2YXJpYW50XT1cImJ1dHRvblZhcmlhbnQoYnV0dG9uKVwiXG4gICAgICAgICAgICBbbmdDbGFzc109XCJidXR0b25Ib3N0Q2xhc3NlcyhidXR0b24pXCJcbiAgICAgICAgICAgIChjbGlja2VkKT1cIm9uQnV0dG9uQ2xpY2soYnV0dG9uKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgYnV0dG9uLmxhYmVsIH19XG4gICAgICAgICAgPC9jcWEtYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG5cbiJdfQ==
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { Component, EventEmitter, Input, Output
|
|
1
|
+
import { Component, EventEmitter, Input, Output } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/material/icon";
|
|
4
4
|
import * as i2 from "@angular/forms";
|
|
5
5
|
import * as i3 from "@angular/common";
|
|
6
6
|
export class SearchBarComponent {
|
|
7
7
|
constructor() {
|
|
8
|
-
this.id = 'cqa-ui-root';
|
|
9
8
|
/** Placeholder text for the input */
|
|
10
9
|
this.placeholder = 'Search';
|
|
11
10
|
/** Initial value or externally controlled value */
|
|
@@ -35,12 +34,6 @@ export class SearchBarComponent {
|
|
|
35
34
|
lg: 'w-[495px]',
|
|
36
35
|
};
|
|
37
36
|
}
|
|
38
|
-
get displayStyle() {
|
|
39
|
-
return this.fullWidth ? 'block' : 'inline-block';
|
|
40
|
-
}
|
|
41
|
-
get widthStyle() {
|
|
42
|
-
return this.fullWidth ? '100%' : 'auto';
|
|
43
|
-
}
|
|
44
37
|
ngOnChanges(changes) {
|
|
45
38
|
if (changes['value'] && changes['value'].currentValue !== undefined) {
|
|
46
39
|
const newValue = changes['value'].currentValue ?? '';
|
|
@@ -72,20 +65,11 @@ export class SearchBarComponent {
|
|
|
72
65
|
}
|
|
73
66
|
}
|
|
74
67
|
SearchBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SearchBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
-
SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SearchBarComponent, selector: "cqa-search-bar", inputs: { placeholder: "placeholder", value: "value", disabled: "disabled", showClear: "showClear", ariaLabel: "ariaLabel", autoFocus: "autoFocus", size: "size", fullWidth: "fullWidth" }, outputs: { valueChange: "valueChange", search: "search", cleared: "cleared" },
|
|
68
|
+
SearchBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.4.0", type: SearchBarComponent, selector: "cqa-search-bar", inputs: { placeholder: "placeholder", value: "value", disabled: "disabled", showClear: "showClear", ariaLabel: "ariaLabel", autoFocus: "autoFocus", size: "size", fullWidth: "fullWidth" }, outputs: { valueChange: "valueChange", search: "search", cleared: "cleared" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"cqa-ui-root\" [style.display]=\"fullWidth ? 'block' : 'inline-block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <form\n class=\"inline-flex items-center gap-2 px-6 py-3 text-[14px] border border-gray-200 rounded-md bg-white shadow-sm transition-colors\"\n [ngClass]=\"fullWidth ? 'w-full' : widthClasses[size]\"\n (submit)=\"onSubmit($event)\"\n >\n <span\n class=\"flex-none flex items-center justify-center text-gray-400 w-4 h-4\"\n [ngClass]=\"{ 'opacity-[0.38]': disabled }\"\n >\n <mat-icon\n class=\"flex items-center justify-center leading-none p-0\"\n [style.width.px]=\"16\"\n [style.height.px]=\"16\"\n [style.fontSize.px]=\"16\"\n >\n search\n </mat-icon>\n </span>\n\n <input\n type=\"text\"\n class=\"flex-1 min-w-[180px] border-none outline-none bg-transparent placeholder:text-gray-400 disabled:text-gray-400 disabled:cursor-not-allowed font-['SF_Pro_Text'] font-normal text-[12.3px] leading-none tracking-normal align-middle text-[#99999E]\"\n style=\"font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: 0;\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n autocomplete=\"off\"\n autocapitalize=\"none\"\n spellcheck=\"false\"\n [attr.autofocus]=\"autoFocus ? '' : null\"\n />\n\n <button\n *ngIf=\"showClear && inputValue\"\n type=\"button\"\n class=\"flex items-center justify-center p-0 w-4 h-4 border-0 bg-transparent cursor-pointer text-gray-500 hover:text-gray-700 disabled:text-gray-300 transition-colors leading-none\"\n (click)=\"clear()\"\n [disabled]=\"disabled\"\n aria-label=\"Clear search\"\n >\n <mat-icon\n class=\"flex items-center justify-center leading-none p-0\"\n [style.width.px]=\"16\"\n [style.height.px]=\"16\"\n [style.fontSize.px]=\"16\"\n [ngClass]=\"{ 'opacity-[0.38]': disabled }\"\n >\n close\n </mat-icon>\n </button>\n </form>\n</div>\n", components: [{ type: i1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i2.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
76
69
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImport: i0, type: SearchBarComponent, decorators: [{
|
|
77
70
|
type: Component,
|
|
78
|
-
args: [{ selector: 'cqa-search-bar', template: "<form\n
|
|
79
|
-
}], propDecorators: {
|
|
80
|
-
type: HostBinding,
|
|
81
|
-
args: ['attr.id']
|
|
82
|
-
}], displayStyle: [{
|
|
83
|
-
type: HostBinding,
|
|
84
|
-
args: ['style.display']
|
|
85
|
-
}], widthStyle: [{
|
|
86
|
-
type: HostBinding,
|
|
87
|
-
args: ['style.width']
|
|
88
|
-
}], placeholder: [{
|
|
71
|
+
args: [{ selector: 'cqa-search-bar', template: "<div id=\"cqa-ui-root\" [style.display]=\"fullWidth ? 'block' : 'inline-block'\" [style.width]=\"fullWidth ? '100%' : 'auto'\">\n <form\n class=\"inline-flex items-center gap-2 px-6 py-3 text-[14px] border border-gray-200 rounded-md bg-white shadow-sm transition-colors\"\n [ngClass]=\"fullWidth ? 'w-full' : widthClasses[size]\"\n (submit)=\"onSubmit($event)\"\n >\n <span\n class=\"flex-none flex items-center justify-center text-gray-400 w-4 h-4\"\n [ngClass]=\"{ 'opacity-[0.38]': disabled }\"\n >\n <mat-icon\n class=\"flex items-center justify-center leading-none p-0\"\n [style.width.px]=\"16\"\n [style.height.px]=\"16\"\n [style.fontSize.px]=\"16\"\n >\n search\n </mat-icon>\n </span>\n\n <input\n type=\"text\"\n class=\"flex-1 min-w-[180px] border-none outline-none bg-transparent placeholder:text-gray-400 disabled:text-gray-400 disabled:cursor-not-allowed font-['SF_Pro_Text'] font-normal text-[12.3px] leading-none tracking-normal align-middle text-[#99999E]\"\n style=\"font-family: 'SF Pro Text', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif; letter-spacing: 0;\"\n [placeholder]=\"placeholder\"\n [value]=\"inputValue\"\n (input)=\"onInput($event)\"\n [disabled]=\"disabled\"\n [attr.aria-label]=\"ariaLabel\"\n autocomplete=\"off\"\n autocapitalize=\"none\"\n spellcheck=\"false\"\n [attr.autofocus]=\"autoFocus ? '' : null\"\n />\n\n <button\n *ngIf=\"showClear && inputValue\"\n type=\"button\"\n class=\"flex items-center justify-center p-0 w-4 h-4 border-0 bg-transparent cursor-pointer text-gray-500 hover:text-gray-700 disabled:text-gray-300 transition-colors leading-none\"\n (click)=\"clear()\"\n [disabled]=\"disabled\"\n aria-label=\"Clear search\"\n >\n <mat-icon\n class=\"flex items-center justify-center leading-none p-0\"\n [style.width.px]=\"16\"\n [style.height.px]=\"16\"\n [style.fontSize.px]=\"16\"\n [ngClass]=\"{ 'opacity-[0.38]': disabled }\"\n >\n close\n </mat-icon>\n </button>\n </form>\n</div>\n", styles: [] }]
|
|
72
|
+
}], propDecorators: { placeholder: [{
|
|
89
73
|
type: Input
|
|
90
74
|
}], value: [{
|
|
91
75
|
type: Input
|
|
@@ -108,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.4.0", ngImpor
|
|
|
108
92
|
}], cleared: [{
|
|
109
93
|
type: Output
|
|
110
94
|
}] } });
|
|
111
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWJhci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlYXJjaC1iYXIvc2VhcmNoLWJhci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQWEsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7Ozs7QUFTakcsTUFBTSxPQUFPLGtCQUFrQjtJQUwvQjtRQU9FLHFDQUFxQztRQUM1QixnQkFBVyxHQUFHLFFBQVEsQ0FBQztRQUVoQyxtREFBbUQ7UUFDMUMsVUFBSyxHQUFHLEVBQUUsQ0FBQztRQUVwQiwyQkFBMkI7UUFDbEIsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUUxQixvRUFBb0U7UUFDM0QsY0FBUyxHQUFHLElBQUksQ0FBQztRQUUxQixxQ0FBcUM7UUFDNUIsY0FBUyxHQUFHLFFBQVEsQ0FBQztRQUU5QixrREFBa0Q7UUFDekMsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQixzQkFBc0I7UUFDYixTQUFJLEdBQWtCLElBQUksQ0FBQztRQUVwQyxzQ0FBc0M7UUFDN0IsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUUzQix1REFBdUQ7UUFDN0MsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO1FBRW5ELCtEQUErRDtRQUNyRCxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUU5QywwREFBMEQ7UUFDaEQsWUFBTyxHQUFHLElBQUksWUFBWSxFQUFRLENBQUM7UUFFN0MsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQVdQLGlCQUFZLEdBQWtDO1lBQ3JELEVBQUUsRUFBRSxXQUFXO1lBQ2YsRUFBRSxFQUFFLFdBQVc7WUFDZixFQUFFLEVBQUUsV0FBVztTQUNoQixDQUFDO0tBMkJIO0lBeENDLFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxLQUFLLFNBQVMsRUFBRTtZQUNuRSxNQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsWUFBWSxJQUFJLEVBQUUsQ0FBQztZQUNyRCxJQUFJLFFBQVEsS0FBSyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLFFBQVEsQ0FBQzthQUM1QjtTQUNGO0lBQ0gsQ0FBQztJQVFELE9BQU8sQ0FBQyxLQUFZO1FBQ2xCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFpQyxDQUFDO1FBQ3ZELE1BQU0sU0FBUyxHQUFHLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsU0FBUyxDQUFDO1FBQzVCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVk7UUFDbkIsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUNqQixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7SUFDM0MsQ0FBQztJQUVELEtBQUs7UUFDSCxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUU7WUFDM0MsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUN0QixDQUFDOzsrR0E1RVUsa0JBQWtCO21HQUFsQixrQkFBa0Isc1ZDVC9CLHdwRUF1REE7MkZEOUNhLGtCQUFrQjtrQkFMOUIsU0FBUzsrQkFDRSxnQkFBZ0I7OEJBT2pCLFdBQVc7c0JBQW5CLEtBQUs7Z0JBR0csS0FBSztzQkFBYixLQUFLO2dCQUdHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBR0csU0FBUztzQkFBakIsS0FBSztnQkFHRyxTQUFTO3NCQUFqQixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0csSUFBSTtzQkFBWixLQUFLO2dCQUdHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBR0ksV0FBVztzQkFBcEIsTUFBTTtnQkFHRyxNQUFNO3NCQUFmLE1BQU07Z0JBR0csT0FBTztzQkFBaEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbnB1dCwgT25DaGFuZ2VzLCBPdXRwdXQsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxudHlwZSBTZWFyY2hCYXJTaXplID0gJ3NtJyB8ICdtZCcgfCAnbGcnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcWEtc2VhcmNoLWJhcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zZWFyY2gtYmFyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbXVxufSlcbmV4cG9ydCBjbGFzcyBTZWFyY2hCYXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xuXG4gIC8qKiBQbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQgKi9cbiAgQElucHV0KCkgcGxhY2Vob2xkZXIgPSAnU2VhcmNoJztcblxuICAvKiogSW5pdGlhbCB2YWx1ZSBvciBleHRlcm5hbGx5IGNvbnRyb2xsZWQgdmFsdWUgKi9cbiAgQElucHV0KCkgdmFsdWUgPSAnJztcblxuICAvKiogRGlzYWJsZSBpbnRlcmFjdGlvbnMgKi9cbiAgQElucHV0KCkgZGlzYWJsZWQgPSBmYWxzZTtcblxuICAvKiogV2hldGhlciB0aGUgY2xlYXIgYnV0dG9uIHNob3VsZCBiZSB2aXNpYmxlIHdoZW4gdGhlcmUgaXMgdGV4dCAqL1xuICBASW5wdXQoKSBzaG93Q2xlYXIgPSB0cnVlO1xuXG4gIC8qKiBBY2Nlc3NpYmxlIGxhYmVsIGZvciB0aGUgaW5wdXQgKi9cbiAgQElucHV0KCkgYXJpYUxhYmVsID0gJ1NlYXJjaCc7XG5cbiAgLyoqIEF1dG9tYXRpY2FsbHkgZm9jdXMgdGhlIGlucHV0IHdoZW4gcmVuZGVyZWQgKi9cbiAgQElucHV0KCkgYXV0b0ZvY3VzID0gZmFsc2U7XG5cbiAgLyoqIFNlYXJjaCBiYXIgc2l6ZSAqL1xuICBASW5wdXQoKSBzaXplOiBTZWFyY2hCYXJTaXplID0gJ21kJztcblxuICAvKiogU3RyZXRjaCB0byBmaWxsIGNvbnRhaW5lciB3aWR0aCAqL1xuICBASW5wdXQoKSBmdWxsV2lkdGggPSBmYWxzZTtcblxuICAvKiogRW1pdCBvbiB2YWx1ZSBjaGFuZ2VzIChlLmcuIGZvciB0d28td2F5IGJpbmRpbmcpICovXG4gIEBPdXRwdXQoKSB2YWx1ZUNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xuXG4gIC8qKiBFbWl0IHdoZW4gdXNlciBzdWJtaXRzIHNlYXJjaCAoRW50ZXIga2V5IG9yIGZvcm0gc3VibWl0KSAqL1xuICBAT3V0cHV0KCkgc2VhcmNoID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XG5cbiAgLyoqIEVtaXQgd2hlbiB0aGUgdmFsdWUgaXMgY2xlYXJlZCB2aWEgdGhlIGNsZWFyIGJ1dHRvbiAqL1xuICBAT3V0cHV0KCkgY2xlYXJlZCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcblxuICBpbnB1dFZhbHVlID0gJyc7XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWyd2YWx1ZSddICYmIGNoYW5nZXNbJ3ZhbHVlJ10uY3VycmVudFZhbHVlICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IG5ld1ZhbHVlID0gY2hhbmdlc1sndmFsdWUnXS5jdXJyZW50VmFsdWUgPz8gJyc7XG4gICAgICBpZiAobmV3VmFsdWUgIT09IHRoaXMuaW5wdXRWYWx1ZSkge1xuICAgICAgICB0aGlzLmlucHV0VmFsdWUgPSBuZXdWYWx1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICByZWFkb25seSB3aWR0aENsYXNzZXM6IFJlY29yZDxTZWFyY2hCYXJTaXplLCBzdHJpbmc+ID0ge1xuICAgIHNtOiAndy1bMjk1cHhdJyxcbiAgICBtZDogJ3ctWzM5NXB4XScsXG4gICAgbGc6ICd3LVs0OTVweF0nLFxuICB9O1xuXG4gIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQgfCBudWxsO1xuICAgIGNvbnN0IG5leHRWYWx1ZSA9IHRhcmdldD8udmFsdWUgPz8gJyc7XG4gICAgdGhpcy5pbnB1dFZhbHVlID0gbmV4dFZhbHVlO1xuICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdCh0aGlzLmlucHV0VmFsdWUpO1xuICB9XG5cbiAgb25TdWJtaXQoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuc2VhcmNoLmVtaXQodGhpcy5pbnB1dFZhbHVlLnRyaW0oKSk7XG4gIH1cblxuICBjbGVhcigpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmlucHV0VmFsdWUgPT09ICcnKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnB1dFZhbHVlID0gJyc7XG4gICAgdGhpcy52YWx1ZUNoYW5nZS5lbWl0KCcnKTtcbiAgICB0aGlzLmNsZWFyZWQuZW1pdCgpO1xuICB9XG59XG4iLCI8ZGl2IGlkPVwiY3FhLXVpLXJvb3RcIiBbc3R5bGUuZGlzcGxheV09XCJmdWxsV2lkdGggPyAnYmxvY2snIDogJ2lubGluZS1ibG9jaydcIiBbc3R5bGUud2lkdGhdPVwiZnVsbFdpZHRoID8gJzEwMCUnIDogJ2F1dG8nXCI+XG4gIDxmb3JtXG4gICAgY2xhc3M9XCJpbmxpbmUtZmxleCBpdGVtcy1jZW50ZXIgZ2FwLTIgcHgtNiBweS0zIHRleHQtWzE0cHhdIGJvcmRlciBib3JkZXItZ3JheS0yMDAgcm91bmRlZC1tZCBiZy13aGl0ZSBzaGFkb3ctc20gdHJhbnNpdGlvbi1jb2xvcnNcIlxuICAgIFtuZ0NsYXNzXT1cImZ1bGxXaWR0aCA/ICd3LWZ1bGwnIDogd2lkdGhDbGFzc2VzW3NpemVdXCJcbiAgICAoc3VibWl0KT1cIm9uU3VibWl0KCRldmVudClcIlxuICA+XG4gICAgPHNwYW5cbiAgICAgIGNsYXNzPVwiZmxleC1ub25lIGZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIHRleHQtZ3JheS00MDAgdy00IGgtNFwiXG4gICAgICBbbmdDbGFzc109XCJ7ICdvcGFjaXR5LVswLjM4XSc6IGRpc2FibGVkIH1cIlxuICAgID5cbiAgICAgIDxtYXQtaWNvblxuICAgICAgICBjbGFzcz1cImZsZXggaXRlbXMtY2VudGVyIGp1c3RpZnktY2VudGVyIGxlYWRpbmctbm9uZSBwLTBcIlxuICAgICAgICBbc3R5bGUud2lkdGgucHhdPVwiMTZcIlxuICAgICAgICBbc3R5bGUuaGVpZ2h0LnB4XT1cIjE2XCJcbiAgICAgICAgW3N0eWxlLmZvbnRTaXplLnB4XT1cIjE2XCJcbiAgICAgID5cbiAgICAgICAgc2VhcmNoXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvc3Bhbj5cblxuICAgIDxpbnB1dFxuICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgY2xhc3M9XCJmbGV4LTEgbWluLXctWzE4MHB4XSBib3JkZXItbm9uZSBvdXRsaW5lLW5vbmUgYmctdHJhbnNwYXJlbnQgcGxhY2Vob2xkZXI6dGV4dC1ncmF5LTQwMCBkaXNhYmxlZDp0ZXh0LWdyYXktNDAwIGRpc2FibGVkOmN1cnNvci1ub3QtYWxsb3dlZCBmb250LVsnU0ZfUHJvX1RleHQnXSBmb250LW5vcm1hbCB0ZXh0LVsxMi4zcHhdIGxlYWRpbmctbm9uZSB0cmFja2luZy1ub3JtYWwgYWxpZ24tbWlkZGxlIHRleHQtWyM5OTk5OUVdXCJcbiAgICAgIHN0eWxlPVwiZm9udC1mYW1pbHk6ICdTRiBQcm8gVGV4dCcsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZjsgbGV0dGVyLXNwYWNpbmc6IDA7XCJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXG4gICAgICBbdmFsdWVdPVwiaW5wdXRWYWx1ZVwiXG4gICAgICAoaW5wdXQpPVwib25JbnB1dCgkZXZlbnQpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cImFyaWFMYWJlbFwiXG4gICAgICBhdXRvY29tcGxldGU9XCJvZmZcIlxuICAgICAgYXV0b2NhcGl0YWxpemU9XCJub25lXCJcbiAgICAgIHNwZWxsY2hlY2s9XCJmYWxzZVwiXG4gICAgICBbYXR0ci5hdXRvZm9jdXNdPVwiYXV0b0ZvY3VzID8gJycgOiBudWxsXCJcbiAgICAvPlxuXG4gICAgPGJ1dHRvblxuICAgICAgKm5nSWY9XCJzaG93Q2xlYXIgJiYgaW5wdXRWYWx1ZVwiXG4gICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgIGNsYXNzPVwiZmxleCBpdGVtcy1jZW50ZXIganVzdGlmeS1jZW50ZXIgcC0wIHctNCBoLTQgYm9yZGVyLTAgYmctdHJhbnNwYXJlbnQgY3Vyc29yLXBvaW50ZXIgdGV4dC1ncmF5LTUwMCBob3Zlcjp0ZXh0LWdyYXktNzAwIGRpc2FibGVkOnRleHQtZ3JheS0zMDAgdHJhbnNpdGlvbi1jb2xvcnMgbGVhZGluZy1ub25lXCJcbiAgICAgIChjbGljayk9XCJjbGVhcigpXCJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICBhcmlhLWxhYmVsPVwiQ2xlYXIgc2VhcmNoXCJcbiAgICA+XG4gICAgICA8bWF0LWljb25cbiAgICAgICAgY2xhc3M9XCJmbGV4IGl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNlbnRlciBsZWFkaW5nLW5vbmUgcC0wXCJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cIjE2XCJcbiAgICAgICAgW3N0eWxlLmhlaWdodC5weF09XCIxNlwiXG4gICAgICAgIFtzdHlsZS5mb250U2l6ZS5weF09XCIxNlwiXG4gICAgICAgIFtuZ0NsYXNzXT1cInsgJ29wYWNpdHktWzAuMzhdJzogZGlzYWJsZWQgfVwiXG4gICAgICA+XG4gICAgICAgIGNsb3NlXG4gICAgICA8L21hdC1pY29uPlxuICAgIDwvYnV0dG9uPlxuICA8L2Zvcm0+XG48L2Rpdj5cbiJdfQ==
|