verben-ng-ui 0.0.3 → 0.0.4
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/Verbena-input/verbena-input.component.mjs +44 -23
- package/esm2022/lib/components/card-data-view/card-data-view.component.mjs +59 -5
- package/esm2022/lib/components/card-data-view/card-data.mjs +3 -1
- package/esm2022/lib/components/card-data-view/left-card-data/left-card-data.component.mjs +33 -3
- package/esm2022/lib/components/card-data-view/right-card-data-view/right-card-data-view.component.mjs +26 -5
- package/esm2022/lib/components/data-view/data-view.component.mjs +1 -1
- package/esm2022/lib/components/notification/notification.component.mjs +1 -1
- package/esm2022/lib/components/verben-dialogue/verben-dialogue.component.mjs +107 -0
- package/esm2022/lib/components/verben-dialogue/verben-dialogue.module.mjs +20 -0
- package/esm2022/lib/verbena-button/verbena-button.component.mjs +9 -3
- package/esm2022/lib/verbena-switch/verbena-switch.component.mjs +15 -3
- package/esm2022/lib/verbena-textarea/verbena-textarea.component.mjs +2 -2
- package/esm2022/public-api.mjs +3 -1
- package/fesm2022/verben-ng-ui.mjs +325 -64
- package/fesm2022/verben-ng-ui.mjs.map +1 -1
- package/lib/Verbena-input/verbena-input.component.d.ts +6 -3
- package/lib/components/card-data-view/card-data-view.component.d.ts +9 -1
- package/lib/components/card-data-view/card-data.d.ts +2 -0
- package/lib/components/card-data-view/left-card-data/left-card-data.component.d.ts +9 -1
- package/lib/components/card-data-view/right-card-data-view/right-card-data-view.component.d.ts +8 -1
- package/lib/components/verben-dialogue/verben-dialogue.component.d.ts +32 -0
- package/lib/components/verben-dialogue/verben-dialogue.module.d.ts +10 -0
- package/lib/verbena-button/verbena-button.component.d.ts +3 -1
- package/lib/verbena-switch/verbena-switch.component.d.ts +5 -1
- package/package.json +1 -1
- package/public-api.d.ts +2 -0
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Component, Input, Output, EventEmitter, forwardRef } from '@angular/core';
|
|
2
|
-
import {
|
|
1
|
+
import { Component, Input, Output, EventEmitter, Optional, Self, Inject, forwardRef } from '@angular/core';
|
|
2
|
+
import { NgControl } from '@angular/forms';
|
|
3
3
|
import * as i0 from "@angular/core";
|
|
4
4
|
import * as i1 from "@angular/common";
|
|
5
5
|
import * as i2 from "@angular/forms";
|
|
6
6
|
import * as i3 from "../components/tooltip/tooltip.component";
|
|
7
7
|
export class VerbenaInputComponent {
|
|
8
|
+
ngControl;
|
|
8
9
|
label = '';
|
|
9
10
|
placeHolder = '';
|
|
10
11
|
required = false;
|
|
@@ -13,7 +14,7 @@ export class VerbenaInputComponent {
|
|
|
13
14
|
maxLength;
|
|
14
15
|
type = 'text';
|
|
15
16
|
bgColor = '#f9f9f9';
|
|
16
|
-
border = '
|
|
17
|
+
border = '';
|
|
17
18
|
borderRadius = '5px';
|
|
18
19
|
textColor = '#333';
|
|
19
20
|
value = '';
|
|
@@ -25,7 +26,7 @@ export class VerbenaInputComponent {
|
|
|
25
26
|
showBorder = true;
|
|
26
27
|
showErrorMessage = true;
|
|
27
28
|
errorMessageColor = 'red';
|
|
28
|
-
errorBorderColor
|
|
29
|
+
errorBorderColor;
|
|
29
30
|
errorPosition = 'bottom';
|
|
30
31
|
svg = '';
|
|
31
32
|
svgWidth = 20;
|
|
@@ -43,6 +44,18 @@ export class VerbenaInputComponent {
|
|
|
43
44
|
inputId = '';
|
|
44
45
|
onChange = () => { };
|
|
45
46
|
onTouch = () => { };
|
|
47
|
+
isInvalid = false;
|
|
48
|
+
constructor(ngControl) {
|
|
49
|
+
this.ngControl = ngControl;
|
|
50
|
+
if (this.ngControl) {
|
|
51
|
+
this.ngControl.valueAccessor = this;
|
|
52
|
+
this.ngControl?.statusChanges?.subscribe((status) => {
|
|
53
|
+
this.isInvalid = this.ngControl.touched
|
|
54
|
+
? status === 'INVALID' && this.ngControl.touched
|
|
55
|
+
: false;
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
}
|
|
46
59
|
ngOnInit() {
|
|
47
60
|
this.inputId = `verbena-input-${Math.random().toString(36).substr(2, 9)}`;
|
|
48
61
|
}
|
|
@@ -50,8 +63,8 @@ export class VerbenaInputComponent {
|
|
|
50
63
|
const target = event.target;
|
|
51
64
|
if (this.type === 'file' && target.files) {
|
|
52
65
|
const files = target.files;
|
|
53
|
-
this.onChange(files);
|
|
54
|
-
this.valueChange.emit(files);
|
|
66
|
+
this.onChange(files);
|
|
67
|
+
this.valueChange.emit(files);
|
|
55
68
|
}
|
|
56
69
|
else {
|
|
57
70
|
this.value = target.value.trim();
|
|
@@ -82,14 +95,17 @@ export class VerbenaInputComponent {
|
|
|
82
95
|
this.errorMessage = '';
|
|
83
96
|
if (this.required && !this.value) {
|
|
84
97
|
this.errorMessage = this.customErrorMessages.required || 'This field is required.';
|
|
98
|
+
this.isInvalid = true;
|
|
85
99
|
return;
|
|
86
100
|
}
|
|
87
101
|
if (this.minLength && this.value.length < this.minLength) {
|
|
88
102
|
this.errorMessage = this.customErrorMessages.minLength || `Minimum length is ${this.minLength}.`;
|
|
103
|
+
this.isInvalid = true;
|
|
89
104
|
return;
|
|
90
105
|
}
|
|
91
106
|
if (this.maxLength && this.value.length > this.maxLength) {
|
|
92
107
|
this.errorMessage = this.customErrorMessages.maxLength || `Maximum length is ${this.maxLength}.`;
|
|
108
|
+
this.isInvalid = true;
|
|
93
109
|
return;
|
|
94
110
|
}
|
|
95
111
|
const sanitizedValue = this.sanitizeValue(this.value);
|
|
@@ -97,41 +113,51 @@ export class VerbenaInputComponent {
|
|
|
97
113
|
if (['integer', 'number', 'decimal'].includes(this.type)) {
|
|
98
114
|
if (this.min !== undefined && numericValue < this.min) {
|
|
99
115
|
this.errorMessage = this.customErrorMessages.minValue || `Minimum value is ${this.min}.`;
|
|
116
|
+
this.isInvalid = true;
|
|
100
117
|
return;
|
|
101
118
|
}
|
|
102
119
|
else if (this.max !== undefined && numericValue > this.max) {
|
|
103
120
|
this.errorMessage = this.customErrorMessages.maxValue || `Maximum value is ${this.max}.`;
|
|
121
|
+
this.isInvalid = true;
|
|
104
122
|
return;
|
|
105
123
|
}
|
|
106
124
|
}
|
|
107
125
|
if (this.type === 'integer' && !/^\d+$/.test(this.value)) {
|
|
108
126
|
this.errorMessage = this.customErrorMessages.integer || 'Please enter a valid integer.';
|
|
127
|
+
this.isInvalid = true;
|
|
109
128
|
return;
|
|
110
129
|
}
|
|
111
130
|
if (this.type === 'number' && !/^\d+(\.\d+)?$/.test(this.value)) {
|
|
112
131
|
this.errorMessage = this.customErrorMessages.number || 'Please enter a valid number.';
|
|
132
|
+
this.isInvalid = true;
|
|
113
133
|
return;
|
|
114
134
|
}
|
|
115
135
|
if (this.type === 'decimal' && !/^\d+(\.\d+)?$/.test(this.value)) {
|
|
116
136
|
this.errorMessage = this.customErrorMessages.decimal || 'Please enter a valid decimal.';
|
|
137
|
+
this.isInvalid = true;
|
|
117
138
|
return;
|
|
118
139
|
}
|
|
119
140
|
if (this.type === 'email' && !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(this.value)) {
|
|
120
141
|
this.errorMessage = this.customErrorMessages.email || 'Please enter a valid email address.';
|
|
142
|
+
this.isInvalid = true;
|
|
121
143
|
return;
|
|
122
144
|
}
|
|
123
145
|
if (this.type === 'password' && this.value.length < 8) {
|
|
124
146
|
this.errorMessage = this.customErrorMessages.password || 'Password must be at least 8 characters long.';
|
|
147
|
+
this.isInvalid = true;
|
|
125
148
|
return;
|
|
126
149
|
}
|
|
127
150
|
if (this.type === 'tel' && !/^\+?[1-9]\d{1,14}$/.test(this.value)) {
|
|
128
151
|
this.errorMessage = this.customErrorMessages.tel || 'Please enter a valid telephone number.';
|
|
152
|
+
this.isInvalid = true;
|
|
129
153
|
return;
|
|
130
154
|
}
|
|
131
155
|
if (this.type === 'url' && !/^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$/.test(this.value)) {
|
|
132
156
|
this.errorMessage = this.customErrorMessages.url || 'Please enter a valid URL.';
|
|
157
|
+
this.isInvalid = true;
|
|
133
158
|
return;
|
|
134
159
|
}
|
|
160
|
+
this.isInvalid = false;
|
|
135
161
|
}
|
|
136
162
|
writeValue(value) {
|
|
137
163
|
this.value = value ? this.applyCapitalization(value.trim(), this.capitalization) : '';
|
|
@@ -145,25 +171,20 @@ export class VerbenaInputComponent {
|
|
|
145
171
|
setDisabledState(isDisabled) {
|
|
146
172
|
this.disable = isDisabled;
|
|
147
173
|
}
|
|
148
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenaInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
149
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VerbenaInputComponent, selector: "verbena-input", inputs: { label: "label", placeHolder: "placeHolder", required: "required", svgPosition: "svgPosition", minLength: "minLength", maxLength: "maxLength", type: "type", bgColor: "bgColor", border: "border", borderRadius: "borderRadius", textColor: "textColor", value: "value", labelPosition: "labelPosition", labelColor: "labelColor", disable: "disable", min: "min", max: "max", showBorder: "showBorder", showErrorMessage: "showErrorMessage", errorMessageColor: "errorMessageColor", errorBorderColor: "errorBorderColor", errorPosition: "errorPosition", svg: "svg", svgWidth: "svgWidth", svgHeight: "svgHeight", svgColor: "svgColor", capitalization: "capitalization", inputContainerClass: "inputContainerClass", inputFieldClass: "inputFieldClass", inputWrapperClass: "inputWrapperClass", customErrorMessages: "customErrorMessages" }, outputs: { valueChange: "valueChange" },
|
|
150
|
-
{
|
|
151
|
-
provide: NG_VALUE_ACCESSOR,
|
|
152
|
-
useExisting: forwardRef(() => VerbenaInputComponent),
|
|
153
|
-
multi: true
|
|
154
|
-
}
|
|
155
|
-
], ngImport: i0, template: "<div class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column',\n\n }\"\n>\n <div\n [ngStyle]=\"{\n 'display': 'flex',\n 'justify-content': labelPosition,\n 'color': labelColor,\n 'padding': '0'\n }\"\n class=\"input-field\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <div class=\"input-wrapper {{ inputWrapperClass }}\">\n <input\n [id]=\"label\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeHolder\"\n [required]=\"required\"\n [attr.minlength]=\"minLength?.toString()\"\n [attr.maxlength]=\"maxLength?.toString()\"\n (input)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [ngStyle]=\"{\n 'background-color': bgColor,\n 'border': showBorder ? (errorMessage ? '1px solid ' + errorBorderColor : border) : 'none',\n 'border-radius': borderRadius,\n 'color': textColor\n }\"\n class=\"input-field\"\n />\n\n <!-- Conditional red dot for error when showErrorMessage is false -->\n <verben-tooltip *ngIf=\"errorMessage && !showErrorMessage\"\n [tooltipContent]=\"tooltipTemplate\"\n customClass=\"error-tooltip\">\n <div class=\"error-dot\"\n [ngStyle]=\"{ 'background-color': errorBorderColor }\">\n </div>\n </verben-tooltip>\n\n <!-- Tooltip template for error message -->\n <ng-template #tooltipTemplate>\n {{ errorMessage }}\n </ng-template>\n\n <!-- Conditional error message display -->\n <span *ngIf=\"errorMessage && showErrorMessage\"\n [ngStyle]=\"{ 'color': errorMessageColor }\"\n [ngClass]=\"{'error-message': true,\n 'error-top': errorPosition === 'top',\n 'error-bottom': errorPosition === 'bottom',\n 'error-left': errorPosition === 'left',\n 'error-right': errorPosition === 'right'}\">\n {{ errorMessage }}\n </span>\n </div>\n</div>\n", styles: [".input-container{display:flex;flex-direction:column;gap:5px;position:relative}.input-field{width:100%;padding:6px}.error-message{font-size:12px;margin:0}.error-top{position:absolute;top:0;left:50%}.error-bottom{position:relative;margin-top:5px}.error-left{position:absolute;left:-10px}.error-right{position:absolute;right:-10px;top:0}.input-wrapper{position:relative}.input-field{width:100%;padding:8px}.error-dot{position:absolute;top:0%;right:-10px;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;cursor:pointer}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "verben-tooltip", inputs: ["tooltipContent", "customClass", "backgroundColor", "textColor", "padding", "borderRadius", "border", "width", "top", "bottom", "left", "right"] }] });
|
|
174
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenaInputComponent, deps: [{ token: forwardRef(() => NgControl), optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
|
|
175
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: VerbenaInputComponent, selector: "verbena-input", inputs: { label: "label", placeHolder: "placeHolder", required: "required", svgPosition: "svgPosition", minLength: "minLength", maxLength: "maxLength", type: "type", bgColor: "bgColor", border: "border", borderRadius: "borderRadius", textColor: "textColor", value: "value", labelPosition: "labelPosition", labelColor: "labelColor", disable: "disable", min: "min", max: "max", showBorder: "showBorder", showErrorMessage: "showErrorMessage", errorMessageColor: "errorMessageColor", errorBorderColor: "errorBorderColor", errorPosition: "errorPosition", svg: "svg", svgWidth: "svgWidth", svgHeight: "svgHeight", svgColor: "svgColor", capitalization: "capitalization", inputContainerClass: "inputContainerClass", inputFieldClass: "inputFieldClass", inputWrapperClass: "inputWrapperClass", customErrorMessages: "customErrorMessages" }, outputs: { valueChange: "valueChange" }, ngImport: i0, template: "<div class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column',\n\n }\"\n>\n <div\n [ngStyle]=\"{\n 'display': 'flex',\n 'justify-content': labelPosition,\n 'color': labelColor,\n 'padding': '0'\n }\"\n class=\"input-field\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <div class=\"input-wrapper {{ inputWrapperClass }}\">\n <input\n [ngClass]=\"{'ng-invalid': isInvalid}\"\n [id]=\"label\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeHolder\"\n\n [attr.minlength]=\"minLength?.toString()\"\n [attr.maxlength]=\"maxLength?.toString()\"\n (input)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [ngStyle]=\"{\n 'background-color': bgColor,\n 'border': isInvalid && errorBorderColor? '1px solid ' + errorBorderColor : border ,\n 'border-radius': borderRadius,\n 'color': textColor\n }\"\n class=\"input-field verben-input\"\n />\n\n <!-- Conditional red dot for error when showErrorMessage is false -->\n <verben-tooltip *ngIf=\"errorMessage && !showErrorMessage\"\n [tooltipContent]=\"tooltipTemplate\"\n customClass=\"error-tooltip\">\n <div class=\"error-dot\"\n [ngStyle]=\"{ 'background-color': errorBorderColor }\">\n </div>\n </verben-tooltip>\n\n <!-- Tooltip template for error message -->\n <ng-template #tooltipTemplate>\n {{ errorMessage }}\n </ng-template>\n\n <!-- Conditional error message display -->\n <span *ngIf=\"errorMessage && showErrorMessage\"\n [ngStyle]=\"{ 'color': errorMessageColor }\"\n [ngClass]=\"{'verben-error-message': true,\n 'top-error': errorPosition === 'top',\n 'left-error': errorPosition === 'left',\n 'right-error': errorPosition === 'right'}\"\n class=\"verben-error-message \"\n >\n\n {{ errorMessage }}\n\n </span>\n </div>\n</div>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{display:flex;flex-direction:column;gap:5px;position:relative}.input-field{width:100%;padding:6px}.error-message-text{font-size:12px;margin:0}.error-top{position:absolute;top:0;left:50%}.error-bottom{position:relative;margin-top:5px}.error-left{position:absolute;left:-10px}.error-right{position:absolute;right:-10px;top:0}.input-wrapper{position:relative}.input-field{width:100%;padding:8px}.error-dot{position:absolute;top:0%;right:-10px;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;cursor:pointer}.error-message{position:absolute;z-index:1;left:0;right:0;bottom:-20px}.top-error .error-message{position:absolute!important;top:-20px!important;bottom:initial!important}.left-error{position:absolute!important;bottom:50%!important;right:calc(100% + 10px)!important;width:max-content;left:initial!important;transform:translateY(50%);top:-100px}.right-error .error-message{position:absolute!important;bottom:50%!important;left:calc(100% + 10px)!important;width:max-content;right:initial!important;transform:translateY(50%)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.TooltipComponent, selector: "verben-tooltip", inputs: ["tooltipContent", "customClass", "backgroundColor", "textColor", "padding", "borderRadius", "border", "width", "top", "bottom", "left", "right"] }] });
|
|
156
176
|
}
|
|
157
177
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: VerbenaInputComponent, decorators: [{
|
|
158
178
|
type: Component,
|
|
159
|
-
args: [{ selector: 'verbena-input',
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
179
|
+
args: [{ selector: 'verbena-input', template: "<div class=\"input-container {{ inputContainerClass }}\"\n [ngStyle]=\"{\n 'display': 'flex',\n 'flex-direction': 'column',\n\n }\"\n>\n <div\n [ngStyle]=\"{\n 'display': 'flex',\n 'justify-content': labelPosition,\n 'color': labelColor,\n 'padding': '0'\n }\"\n class=\"input-field\"\n >\n <label [for]=\"label\">{{ label }}</label>\n </div>\n\n <div class=\"input-wrapper {{ inputWrapperClass }}\">\n <input\n [ngClass]=\"{'ng-invalid': isInvalid}\"\n [id]=\"label\"\n [attr.type]=\"type\"\n [attr.placeholder]=\"placeHolder\"\n\n [attr.minlength]=\"minLength?.toString()\"\n [attr.maxlength]=\"maxLength?.toString()\"\n (input)=\"onInput($event)\"\n [(ngModel)]=\"value\"\n [ngStyle]=\"{\n 'background-color': bgColor,\n 'border': isInvalid && errorBorderColor? '1px solid ' + errorBorderColor : border ,\n 'border-radius': borderRadius,\n 'color': textColor\n }\"\n class=\"input-field verben-input\"\n />\n\n <!-- Conditional red dot for error when showErrorMessage is false -->\n <verben-tooltip *ngIf=\"errorMessage && !showErrorMessage\"\n [tooltipContent]=\"tooltipTemplate\"\n customClass=\"error-tooltip\">\n <div class=\"error-dot\"\n [ngStyle]=\"{ 'background-color': errorBorderColor }\">\n </div>\n </verben-tooltip>\n\n <!-- Tooltip template for error message -->\n <ng-template #tooltipTemplate>\n {{ errorMessage }}\n </ng-template>\n\n <!-- Conditional error message display -->\n <span *ngIf=\"errorMessage && showErrorMessage\"\n [ngStyle]=\"{ 'color': errorMessageColor }\"\n [ngClass]=\"{'verben-error-message': true,\n 'top-error': errorPosition === 'top',\n 'left-error': errorPosition === 'left',\n 'right-error': errorPosition === 'right'}\"\n class=\"verben-error-message \"\n >\n\n {{ errorMessage }}\n\n </span>\n </div>\n</div>\n", styles: ["*{font-family:sans-serif;font-size:.9rem}.w-100{width:100%}.h-100{height:100%}.flex{display:flex}.flex-col{flex-direction:column}.font-bold{font-weight:700}.justify-center{justify-content:center}.justify-end{justify-content:end}.align-items-center{align-items:center}.grid{display:grid}.verben-error-message{font-size:.8rem;color:red}.verben-input{border:1px solid #cbd5e1;outline:none;border-radius:5px;color:#334155;transition:background-color .2s,color .2s,border-color .2s,box-shadow .2s,outline-color .2s}.verben-input::placeholder{color:#64748b}.verben-input:hover{border:1px solid #697e97}.verben-input.disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input:disabled{opacity:1;background-color:light-dark(rgba(239,239,239,.3),rgba(59,59,59,.3));pointer-events:none;color:#64748b}.verben-input.focused{border-color:#3b82f6;outline:none}.verben-input:focus{border-color:#3b82f6;outline:none}.verben-input.ng-invalid{border-color:red}.verben-button{padding:8px 15px;border-radius:4px;border:none;text-align:center}.verben-button.primary{background-color:#ffe681}.verben-button.secondary{background-color:#d9d9d940}.input-container{display:flex;flex-direction:column;gap:5px;position:relative}.input-field{width:100%;padding:6px}.error-message-text{font-size:12px;margin:0}.error-top{position:absolute;top:0;left:50%}.error-bottom{position:relative;margin-top:5px}.error-left{position:absolute;left:-10px}.error-right{position:absolute;right:-10px;top:0}.input-wrapper{position:relative}.input-field{width:100%;padding:8px}.error-dot{position:absolute;top:0%;right:-10px;transform:translateY(-50%);width:8px;height:8px;border-radius:50%;cursor:pointer}.error-message{position:absolute;z-index:1;left:0;right:0;bottom:-20px}.top-error .error-message{position:absolute!important;top:-20px!important;bottom:initial!important}.left-error{position:absolute!important;bottom:50%!important;right:calc(100% + 10px)!important;width:max-content;left:initial!important;transform:translateY(50%);top:-100px}.right-error .error-message{position:absolute!important;bottom:50%!important;left:calc(100% + 10px)!important;width:max-content;right:initial!important;transform:translateY(50%)}\n"] }]
|
|
180
|
+
}], ctorParameters: () => [{ type: i2.NgControl, decorators: [{
|
|
181
|
+
type: Optional
|
|
182
|
+
}, {
|
|
183
|
+
type: Self
|
|
184
|
+
}, {
|
|
185
|
+
type: Inject,
|
|
186
|
+
args: [forwardRef(() => NgControl)]
|
|
187
|
+
}] }], propDecorators: { label: [{
|
|
167
188
|
type: Input
|
|
168
189
|
}], placeHolder: [{
|
|
169
190
|
type: Input
|
|
@@ -228,4 +249,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
228
249
|
}], valueChange: [{
|
|
229
250
|
type: Output
|
|
230
251
|
}] } });
|
|
231
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmVuYS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9WZXJiZW5hLWlucHV0L3ZlcmJlbmEtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvVmVyYmVuYS1pbnB1dC92ZXJiZW5hLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNGLE9BQU8sRUFBd0IsaUJBQWlCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7QUFjekUsTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixXQUFXLEdBQXFCLE1BQU0sQ0FBQztJQUN2QyxTQUFTLENBQVU7SUFDbkIsU0FBUyxDQUFVO0lBQ25CLElBQUksR0FBaUgsTUFBTSxDQUFDO0lBQzVILE9BQU8sR0FBVyxTQUFTLENBQUM7SUFDNUIsTUFBTSxHQUFXLGdCQUFnQixDQUFDO0lBQ2xDLFlBQVksR0FBVyxLQUFLLENBQUM7SUFDN0IsU0FBUyxHQUFXLE1BQU0sQ0FBQztJQUMzQixLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLGFBQWEsR0FBVyxPQUFPLENBQUM7SUFDaEMsVUFBVSxHQUFXLE9BQU8sQ0FBQztJQUM3QixPQUFPLEdBQVksS0FBSyxDQUFDO0lBQ3pCLEdBQUcsQ0FBVTtJQUNiLEdBQUcsQ0FBVTtJQUViLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFDM0IsZ0JBQWdCLEdBQVksSUFBSSxDQUFDO0lBQ2pDLGlCQUFp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LCBFdmVudEVtaXR0ZXIsIE9uSW5pdCwgZm9yd2FyZFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW5hLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3ZlcmJlbmEtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi92ZXJiZW5hLWlucHV0LmNvbXBvbmVudC5jc3MnXSxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBWZXJiZW5hSW5wdXRDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgVmVyYmVuYUlucHV0Q29tcG9uZW50IGltcGxlbWVudHMgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcGxhY2VIb2xkZXI6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSByZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBzdmdQb3NpdGlvbjogJ2xlZnQnIHwgJ3JpZ2h0JyA9ICdsZWZ0JztcbiAgQElucHV0KCkgbWluTGVuZ3RoPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXhMZW5ndGg/OiBudW1iZXI7XG4gIEBJbnB1dCgpIHR5cGU6ICd0ZXh0JyB8ICdwYXNzd29yZCcgfCAnaW50ZWdlcicgfCAnbnVtYmVyJyB8ICdkZWNpbWFsJyB8ICdlbWFpbCcgfCAnZGF0ZScgfCAndGVsJyB8ICd1cmwnIHwgJ2ZpbGUnIHwgJ2NvbG9yJyA9ICd0ZXh0JztcbiAgQElucHV0KCkgYmdDb2xvcjogc3RyaW5nID0gJyNmOWY5ZjknO1xuICBASW5wdXQoKSBib3JkZXI6IHN0cmluZyA9ICcxcHggc29saWQgI2NjYyc7XG4gIEBJbnB1dCgpIGJvcmRlclJhZGl1czogc3RyaW5nID0gJzVweCc7XG4gIEBJbnB1dCgpIHRleHRDb2xvcjogc3RyaW5nID0gJyMzMzMnO1xuICBASW5wdXQoKSB2YWx1ZTogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIGxhYmVsUG9zaXRpb246IHN0cmluZyA9ICdzdGFydCc7XG4gIEBJbnB1dCgpIGxhYmVsQ29sb3I6IHN0cmluZyA9ICdibGFjayc7XG4gIEBJbnB1dCgpIGRpc2FibGU6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgbWluPzogbnVtYmVyO1xuICBASW5wdXQoKSBtYXg/OiBudW1iZXI7XG5cbiAgQElucHV0KCkgc2hvd0JvcmRlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dFcnJvck1lc3NhZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VDb2xvcjogc3RyaW5nID0gJ3JlZCc7XG4gIEBJbnB1dCgpIGVycm9yQm9yZGVyQ29sb3I6IHN0cmluZyA9ICdyZWQnO1xuICBASW5wdXQoKSBlcnJvclBvc2l0aW9uOiAnbGVmdCcgfCAncmlnaHQnIHwgJ3RvcCcgfCAnYm90dG9tJyA9ICdib3R0b20nO1xuXG4gIEBJbnB1dCgpIHN2Zzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHN2Z1dpZHRoOiBudW1iZXIgPSAyMDtcbiAgQElucHV0KCkgc3ZnSGVpZ2h0OiBudW1iZXIgPSAyMDtcbiAgQElucHV0KCkgc3ZnQ29sb3I6IHN0cmluZyA9ICcnO1xuXG4gIEBJbnB1dCgpIGNhcGl0YWxpemF0aW9uOiAnbm9uZScgfCAndXBwZXJjYXNlJyB8ICdsb3dlcmNhc2UnIHwgJ3NlbnRlbmNlY2FzZScgfCAncGFzY2FsY2FzZScgfCAnY2FtZWxjYXNlJyA9ICdub25lJztcblxuICAgLy8gTmV3IGlucHV0IHByb3BlcnRpZXMgdG8gZXhwb3NlIGN1c3RvbSBjbGFzc2VzXG4gICBASW5wdXQoKSBpbnB1dENvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSAnJzsgLy8gRXhwb3NlIGN1c3RvbSBjbGFzcyBmb3IgaW5wdXQgY29udGFpbmVyXG4gICBASW5wdXQoKSBpbnB1dEZpZWxkQ2xhc3M6IHN0cmluZyA9ICcnOyAvLyBFeHBvc2UgY3VzdG9tIGNsYXNzIGZvciBpbnB1dCBmaWVsZFxuICAgQElucHV0KCkgaW5wdXRXcmFwcGVyQ2xhc3M6IHN0cmluZyA9ICcnOyAvLyBFeHBvc2UgY3VzdG9tIGNsYXNzIGZvciBpbnB1dCB3cmFwcGVyXG4gXG5cbiAgLy8gTmV3IHByb3BlcnR5IGZvciBjdXN0b20gZXJyb3IgbWVzc2FnZXNcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlczoge1xuICAgIHJlcXVpcmVkPzogc3RyaW5nO1xuICAgIG1pbkxlbmd0aD86IHN0cmluZztcbiAgICBtYXhMZW5ndGg/OiBzdHJpbmc7XG4gICAgbWluVmFsdWU/OiBzdHJpbmc7XG4gICAgbWF4VmFsdWU/OiBzdHJpbmc7XG4gICAgaW50ZWdlcj86IHN0cmluZztcbiAgICBudW1iZXI/OiBzdHJpbmc7XG4gICAgZGVjaW1hbD86IHN0cmluZztcbiAgICBlbWFpbD86IHN0cmluZztcbiAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICB0ZWw/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICB9ID0ge307XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBGaWxlTGlzdD4oKTtcblxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgaW5wdXRJZDogc3RyaW5nID0gJyc7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcblxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLmlucHV0SWQgPSBgdmVyYmVuYS1pbnB1dC0ke01hdGgucmFuZG9tKCkudG9TdHJpbmcoMzYpLnN1YnN0cigyLCA5KX1gO1xuICB9XG5cbiAgb25JbnB1dChldmVudDogRXZlbnQpIHtcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdmaWxlJyAmJiB0YXJnZXQuZmlsZXMpIHtcbiAgICAgIGNvbnN0IGZpbGVzID0gdGFyZ2V0LmZpbGVzO1xuICAgICAgdGhpcy5vbkNoYW5nZShmaWxlcyk7IC8vIEVtaXQgdGhlIHNlbGVjdGVkIGZpbGVzXG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoZmlsZXMpOyAvLyBFbWl0IHNlbGVjdGVkIGZpbGVzXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0YXJnZXQudmFsdWUudHJpbSgpO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuYXBwbHlDYXBpdGFsaXphdGlvbih0aGlzLnZhbHVlLCB0aGlzLmNhcGl0YWxpemF0aW9uKTtcbiAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIGNvbnN0IHNhbml0aXplZFZhbHVlID0gdGhpcy5zYW5pdGl6ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZShzYW5pdGl6ZWRWYWx1ZSk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoc2FuaXRpemVkVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGFwcGx5Q2FwaXRhbGl6YXRpb24odmFsdWU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgICBjYXNlICd1cHBlcmNhc2UnOiByZXR1cm4gdmFsdWUudG9VcHBlckNhc2UoKTtcbiAgICAgIGNhc2UgJ2xvd2VyY2FzZSc6IHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY2FzZSAnc2VudGVuY2VjYXNlJzogcmV0dXJuIHZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdmFsdWUuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNhc2UgJ3Bhc2NhbGNhc2UnOiByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFx3Ky9nLCAodykgPT4gd1swXS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGNhc2UgJ2NhbWVsY2FzZSc6IHJldHVybiB2YWx1ZS5yZXBsYWNlKC8oPzpeXFx3fFtBLVpdfFxcYlxcd3xcXHMrKS9nLCAobWF0Y2gsIGluZGV4KSA9PlxuICAgICAgICBpbmRleCA9PT0gMCA/IG1hdGNoLnRvTG93ZXJDYXNlKCkgOiBtYXRjaC50b1VwcGVyQ2FzZSgpKS5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgICAgIGRlZmF1bHQ6IHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBzYW5pdGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChbJ251bWJlcicsICdkZWNpbWFsJywgJ2ludGVnZXInXS5pbmNsdWRlcyh0aGlzLnR5cGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvLC9nLCAnJyk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG5cbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMucmVxdWlyZWQgfHwgJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgdGhpcy52YWx1ZS5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMubWluTGVuZ3RoIHx8IGBNaW5pbXVtIGxlbmd0aCBpcyAke3RoaXMubWluTGVuZ3RofS5gO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy5tYXhMZW5ndGggfHwgYE1heGltdW0gbGVuZ3RoIGlzICR7dGhpcy5tYXhMZW5ndGh9LmA7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2FuaXRpemVkVmFsdWUgPSB0aGlzLnNhbml0aXplVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gcGFyc2VGbG9hdChzYW5pdGl6ZWRWYWx1ZSk7XG5cbiAgICBpZiAoWydpbnRlZ2VyJywgJ251bWJlcicsICdkZWNpbWFsJ10uaW5jbHVkZXModGhpcy50eXBlKSkge1xuICAgICAgaWYgKHRoaXMubWluICE9PSB1bmRlZmluZWQgJiYgbnVtZXJpY1ZhbHVlIDwgdGhpcy5taW4pIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMubWluVmFsdWUgfHwgYE1pbmltdW0gdmFsdWUgaXMgJHt0aGlzLm1pbn0uYDtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLm1heCAhPT0gdW5kZWZpbmVkICYmIG51bWVyaWNWYWx1ZSA+IHRoaXMubWF4KSB7XG4gICAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLm1heFZhbHVlIHx8IGBNYXhpbXVtIHZhbHVlIGlzICR7dGhpcy5tYXh9LmA7XG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy50eXBlID09PSAnaW50ZWdlcicgJiYgIS9eXFxkKyQvLnRlc3QodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLmludGVnZXIgfHwgJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGludGVnZXIuJztcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eXBlID09PSAnbnVtYmVyJyAmJiAhL15cXGQrKFxcLlxcZCspPyQvLnRlc3QodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLm51bWJlciB8fCAnUGxlYXNlIGVudGVyIGEgdmFsaWQgbnVtYmVyLic7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RlY2ltYWwnICYmICEvXlxcZCsoXFwuXFxkKyk/JC8udGVzdCh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMuZGVjaW1hbCB8fCAnUGxlYXNlIGVudGVyIGEgdmFsaWQgZGVjaW1hbC4nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdlbWFpbCcgJiYgIS9eW15cXHNAXStAW15cXHNAXStcXC5bXlxcc0BdKyQvLnRlc3QodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLmVtYWlsIHx8ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBlbWFpbCBhZGRyZXNzLic7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3Bhc3N3b3JkJyAmJiB0aGlzLnZhbHVlLmxlbmd0aCA8IDgpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLnBhc3N3b3JkIHx8ICdQYXNzd29yZCBtdXN0IGJlIGF0IGxlYXN0IDggY2hhcmFjdGVycyBsb25nLic7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3RlbCcgJiYgIS9eXFwrP1sxLTldXFxkezEsMTR9JC8udGVzdCh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMudGVsIHx8ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCB0ZWxlcGhvbmUgbnVtYmVyLic7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ3VybCcgJiYgIS9eKGh0dHBzP3xmdHApOlxcL1xcL1teXFxzLyQuPyNdLlteXFxzXSokLy50ZXN0KHRoaXMudmFsdWUpKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy51cmwgfHwgJ1BsZWFzZSBlbnRlciBhIHZhbGlkIFVSTC4nO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgfVxuXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSk6IHZvaWQge1xuICAgIHRoaXMudmFsdWUgPSB2YWx1ZSA/IHRoaXMuYXBwbHlDYXBpdGFsaXphdGlvbih2YWx1ZS50cmltKCksIHRoaXMuY2FwaXRhbGl6YXRpb24pIDogJyc7XG4gIH1cblxuICByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gIH1cblxuICByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vblRvdWNoID0gZm47XG4gIH1cblxuICBzZXREaXNhYmxlZFN0YXRlKGlzRGlzYWJsZWQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICB0aGlzLmRpc2FibGUgPSBpc0Rpc2FibGVkO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiaW5wdXQtY29udGFpbmVyIHt7IGlucHV0Q29udGFpbmVyQ2xhc3MgfX1cIlxuICAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAnZGlzcGxheSc6ICdmbGV4JyxcbiAgICAgICdmbGV4LWRpcmVjdGlvbic6ICdjb2x1bW4nLFxuXG4gICAgIH1cIlxuPlxuICA8ZGl2XG4gICAgW25nU3R5bGVdPVwie1xuICAgICAgJ2Rpc3BsYXknOiAnZmxleCcsXG4gICAgICAnanVzdGlmeS1jb250ZW50JzogbGFiZWxQb3NpdGlvbixcbiAgICAgICdjb2xvcic6IGxhYmVsQ29sb3IsXG4gICAgICAncGFkZGluZyc6ICcwJ1xuICAgIH1cIlxuICAgIGNsYXNzPVwiaW5wdXQtZmllbGRcIlxuICA+XG4gICAgPGxhYmVsIFtmb3JdPVwibGFiZWxcIj57eyBsYWJlbCB9fTwvbGFiZWw+XG4gIDwvZGl2PlxuXG4gIDxkaXYgY2xhc3M9XCJpbnB1dC13cmFwcGVyIHt7IGlucHV0V3JhcHBlckNsYXNzIH19XCI+XG4gICAgPGlucHV0XG4gICAgICBbaWRdPVwibGFiZWxcIlxuICAgICAgW2F0dHIudHlwZV09XCJ0eXBlXCJcbiAgICAgIFthdHRyLnBsYWNlaG9sZGVyXT1cInBsYWNlSG9sZGVyXCJcbiAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWluTGVuZ3RoPy50b1N0cmluZygpXCJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGg/LnRvU3RyaW5nKClcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBiZ0NvbG9yLFxuICAgICAgICAnYm9yZGVyJzogc2hvd0JvcmRlciA/IChlcnJvck1lc3NhZ2UgPyAnMXB4IHNvbGlkICcgKyBlcnJvckJvcmRlckNvbG9yIDogYm9yZGVyKSA6ICdub25lJyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiBib3JkZXJSYWRpdXMsXG4gICAgICAgICdjb2xvcic6IHRleHRDb2xvclxuICAgICAgfVwiXG4gICAgICBjbGFzcz1cImlucHV0LWZpZWxkXCJcbiAgICAvPlxuXG4gICAgPCEtLSBDb25kaXRpb25hbCByZWQgZG90IGZvciBlcnJvciB3aGVuIHNob3dFcnJvck1lc3NhZ2UgaXMgZmFsc2UgLS0+XG4gICAgPHZlcmJlbi10b29sdGlwICpuZ0lmPVwiZXJyb3JNZXNzYWdlICYmICFzaG93RXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBDb250ZW50XT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwiZXJyb3ItdG9vbHRpcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWRvdFwiXG4gICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBlcnJvckJvcmRlckNvbG9yIH1cIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmVyYmVuLXRvb2x0aXA+XG5cbiAgICA8IS0tIFRvb2x0aXAgdGVtcGxhdGUgZm9yIGVycm9yIG1lc3NhZ2UgLS0+XG4gICAgPG5nLXRlbXBsYXRlICN0b29sdGlwVGVtcGxhdGU+XG4gICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBDb25kaXRpb25hbCBlcnJvciBtZXNzYWdlIGRpc3BsYXkgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJlcnJvck1lc3NhZ2UgJiYgc2hvd0Vycm9yTWVzc2FnZVwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyAnY29sb3InOiBlcnJvck1lc3NhZ2VDb2xvciB9XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J2Vycm9yLW1lc3NhZ2UnOiB0cnVlLFxuICAgICAgICAgICAgICAgICAgICAgICdlcnJvci10b3AnOiBlcnJvclBvc2l0aW9uID09PSAndG9wJyxcbiAgICAgICAgICAgICAgICAgICAgICAnZXJyb3ItYm90dG9tJzogZXJyb3JQb3NpdGlvbiA9PT0gJ2JvdHRvbScsXG4gICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yLWxlZnQnOiBlcnJvclBvc2l0aW9uID09PSAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgJ2Vycm9yLXJpZ2h0JzogZXJyb3JQb3NpdGlvbiA9PT0gJ3JpZ2h0J31cIj5cbiAgICAgIHt7IGVycm9yTWVzc2FnZSB9fVxuICAgIDwvc3Bhbj5cbiAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
|
|
252
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyYmVuYS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9WZXJiZW5hLWlucHV0L3ZlcmJlbmEtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvVmVyYmVuYS1pbnB1dC92ZXJiZW5hLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQVUsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25ILE9BQU8sRUFBd0IsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBT2pFLE1BQU0sT0FBTyxxQkFBcUI7SUEyRDZDO0lBMURwRSxLQUFLLEdBQVcsRUFBRSxDQUFDO0lBQ25CLFdBQVcsR0FBVyxFQUFFLENBQUM7SUFDekIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixXQUFXLEdBQXFCLE1BQU0sQ0FBQztJQUN2QyxTQUFTLENBQVU7SUFDbkIsU0FBUyxDQUFVO0lBQ25CLElBQUksR0FBaUgsTUFBTSxDQUFDO0lBQzVILE9BQU8sR0FBVyxTQUFTLENBQUM7SUFDNUIsTUFBTSxHQUFXLEVBQUUsQ0FBQztJQUNwQixZQUFZLEdBQVcsS0FBSyxDQUFDO0lBQzdCLFNBQVMsR0FBVyxNQUFNLENBQUM7SUFDM0IsS0FBSyxHQUFXLEVBQUUsQ0FBQztJQUNuQixhQUFhLEdBQVcsT0FBTyxDQUFDO0lBQ2hDLFVBQVUsR0FBVyxPQUFPLENBQUM7SUFDN0IsT0FBTyxHQUFZLEtBQUssQ0FBQztJQUN6QixHQUFHLENBQVU7SUFDYixHQUFHLENBQVU7SUFDYixVQUFVLEdBQVksSUFBSSxDQUFDO0lBQzNC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QixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFVBQVU7c0JBQWxCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxHQUFHO3NCQUFYLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLEdBQUc7c0JBQVgsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUdHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGlCQUFpQjtzQkFBekIsS0FBSztnQkFHRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBZUksV0FBVztzQkFBcEIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBPbkluaXQsIE9wdGlvbmFsLCBTZWxmLCBJbmplY3QsIGZvcndhcmRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOZ0NvbnRyb2wgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3ZlcmJlbmEtaW5wdXQnLFxuICB0ZW1wbGF0ZVVybDogJy4vdmVyYmVuYS1pbnB1dC5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3ZlcmJlbmEtaW5wdXQuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIFZlcmJlbmFJbnB1dENvbXBvbmVudCBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQge1xuICBASW5wdXQoKSBsYWJlbDogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHBsYWNlSG9sZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgcmVxdWlyZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgQElucHV0KCkgc3ZnUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgPSAnbGVmdCc7XG4gIEBJbnB1dCgpIG1pbkxlbmd0aD86IG51bWJlcjtcbiAgQElucHV0KCkgbWF4TGVuZ3RoPzogbnVtYmVyO1xuICBASW5wdXQoKSB0eXBlOiAndGV4dCcgfCAncGFzc3dvcmQnIHwgJ2ludGVnZXInIHwgJ251bWJlcicgfCAnZGVjaW1hbCcgfCAnZW1haWwnIHwgJ2RhdGUnIHwgJ3RlbCcgfCAndXJsJyB8ICdmaWxlJyB8ICdjb2xvcicgPSAndGV4dCc7XG4gIEBJbnB1dCgpIGJnQ29sb3I6IHN0cmluZyA9ICcjZjlmOWY5JztcbiAgQElucHV0KCkgYm9yZGVyOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzOiBzdHJpbmcgPSAnNXB4JztcbiAgQElucHV0KCkgdGV4dENvbG9yOiBzdHJpbmcgPSAnIzMzMyc7XG4gIEBJbnB1dCgpIHZhbHVlOiBzdHJpbmcgPSAnJztcbiAgQElucHV0KCkgbGFiZWxQb3NpdGlvbjogc3RyaW5nID0gJ3N0YXJ0JztcbiAgQElucHV0KCkgbGFiZWxDb2xvcjogc3RyaW5nID0gJ2JsYWNrJztcbiAgQElucHV0KCkgZGlzYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xuICBASW5wdXQoKSBtaW4/OiBudW1iZXI7XG4gIEBJbnB1dCgpIG1heD86IG51bWJlcjtcbiAgQElucHV0KCkgc2hvd0JvcmRlcjogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIHNob3dFcnJvck1lc3NhZ2U6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBlcnJvck1lc3NhZ2VDb2xvcjogc3RyaW5nID0gJ3JlZCc7XG4gIEBJbnB1dCgpIGVycm9yQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIEBJbnB1dCgpIGVycm9yUG9zaXRpb246ICdsZWZ0JyB8ICdyaWdodCcgfCAndG9wJyB8ICdib3R0b20nID0gJ2JvdHRvbSc7XG4gIEBJbnB1dCgpIHN2Zzogc3RyaW5nID0gJyc7XG4gIEBJbnB1dCgpIHN2Z1dpZHRoOiBudW1iZXIgPSAyMDtcbiAgQElucHV0KCkgc3ZnSGVpZ2h0OiBudW1iZXIgPSAyMDtcbiAgQElucHV0KCkgc3ZnQ29sb3I6IHN0cmluZyA9ICcnO1xuICBASW5wdXQoKSBjYXBpdGFsaXphdGlvbjogJ25vbmUnIHwgJ3VwcGVyY2FzZScgfCAnbG93ZXJjYXNlJyB8ICdzZW50ZW5jZWNhc2UnIHwgJ3Bhc2NhbGNhc2UnIHwgJ2NhbWVsY2FzZScgPSAnbm9uZSc7XG5cbiAgLy8gTmV3IGlucHV0IHByb3BlcnRpZXMgdG8gZXhwb3NlIGN1c3RvbSBjbGFzc2VzXG4gIEBJbnB1dCgpIGlucHV0Q29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICcnOyAvLyBFeHBvc2UgY3VzdG9tIGNsYXNzIGZvciBpbnB1dCBjb250YWluZXJcbiAgQElucHV0KCkgaW5wdXRGaWVsZENsYXNzOiBzdHJpbmcgPSAnJzsgLy8gRXhwb3NlIGN1c3RvbSBjbGFzcyBmb3IgaW5wdXQgZmllbGRcbiAgQElucHV0KCkgaW5wdXRXcmFwcGVyQ2xhc3M6IHN0cmluZyA9ICcnOyAvLyBFeHBvc2UgY3VzdG9tIGNsYXNzIGZvciBpbnB1dCB3cmFwcGVyXG5cbiAgLy8gTmV3IHByb3BlcnR5IGZvciBjdXN0b20gZXJyb3IgbWVzc2FnZXNcbiAgQElucHV0KCkgY3VzdG9tRXJyb3JNZXNzYWdlczoge1xuICAgIHJlcXVpcmVkPzogc3RyaW5nO1xuICAgIG1pbkxlbmd0aD86IHN0cmluZztcbiAgICBtYXhMZW5ndGg/OiBzdHJpbmc7XG4gICAgbWluVmFsdWU/OiBzdHJpbmc7XG4gICAgbWF4VmFsdWU/OiBzdHJpbmc7XG4gICAgaW50ZWdlcj86IHN0cmluZztcbiAgICBudW1iZXI/OiBzdHJpbmc7XG4gICAgZGVjaW1hbD86IHN0cmluZztcbiAgICBlbWFpbD86IHN0cmluZztcbiAgICBwYXNzd29yZD86IHN0cmluZztcbiAgICB0ZWw/OiBzdHJpbmc7XG4gICAgdXJsPzogc3RyaW5nO1xuICB9ID0ge307XG5cbiAgQE91dHB1dCgpIHZhbHVlQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmcgfCBGaWxlTGlzdD4oKTtcblxuICBlcnJvck1lc3NhZ2U6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgaW5wdXRJZDogc3RyaW5nID0gJyc7XG5cbiAgb25DaGFuZ2U6IGFueSA9ICgpID0+IHt9O1xuICBvblRvdWNoOiBhbnkgPSAoKSA9PiB7fTtcbiAgaXNJbnZhbGlkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQFNlbGYoKSBASW5qZWN0KGZvcndhcmRSZWYoKCkgPT4gTmdDb250cm9sKSkgcHJpdmF0ZSBuZ0NvbnRyb2w6IE5nQ29udHJvbCkge1xuICAgIGlmICh0aGlzLm5nQ29udHJvbCkge1xuICAgICAgdGhpcy5uZ0NvbnRyb2wudmFsdWVBY2Nlc3NvciA9IHRoaXM7XG4gICAgICB0aGlzLm5nQ29udHJvbD8uc3RhdHVzQ2hhbmdlcz8uc3Vic2NyaWJlKChzdGF0dXMpID0+IHtcbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0aGlzLm5nQ29udHJvbC50b3VjaGVkXG4gICAgICAgICAgPyBzdGF0dXMgPT09ICdJTlZBTElEJyAmJiB0aGlzLm5nQ29udHJvbC50b3VjaGVkXG4gICAgICAgICAgOiBmYWxzZTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMuaW5wdXRJZCA9IGB2ZXJiZW5hLWlucHV0LSR7TWF0aC5yYW5kb20oKS50b1N0cmluZygzNikuc3Vic3RyKDIsIDkpfWA7XG4gIH1cblxuICBvbklucHV0KGV2ZW50OiBFdmVudCkge1xuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2ZpbGUnICYmIHRhcmdldC5maWxlcykge1xuICAgICAgY29uc3QgZmlsZXMgPSB0YXJnZXQuZmlsZXM7XG4gICAgICB0aGlzLm9uQ2hhbmdlKGZpbGVzKTtcbiAgICAgIHRoaXMudmFsdWVDaGFuZ2UuZW1pdChmaWxlcyk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudmFsdWUgPSB0YXJnZXQudmFsdWUudHJpbSgpO1xuICAgICAgdGhpcy52YWx1ZSA9IHRoaXMuYXBwbHlDYXBpdGFsaXphdGlvbih0aGlzLnZhbHVlLCB0aGlzLmNhcGl0YWxpemF0aW9uKTtcbiAgICAgIHRoaXMudmFsaWRhdGUoKTtcbiAgICAgIGNvbnN0IHNhbml0aXplZFZhbHVlID0gdGhpcy5zYW5pdGl6ZVZhbHVlKHRoaXMudmFsdWUpO1xuICAgICAgdGhpcy5vbkNoYW5nZShzYW5pdGl6ZWRWYWx1ZSk7XG4gICAgICB0aGlzLnZhbHVlQ2hhbmdlLmVtaXQoc2FuaXRpemVkVmFsdWUpO1xuICAgIH1cbiAgfVxuXG4gIGFwcGx5Q2FwaXRhbGl6YXRpb24odmFsdWU6IHN0cmluZywgZm9ybWF0OiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHN3aXRjaCAoZm9ybWF0KSB7XG4gICAgICBjYXNlICd1cHBlcmNhc2UnOiByZXR1cm4gdmFsdWUudG9VcHBlckNhc2UoKTtcbiAgICAgIGNhc2UgJ2xvd2VyY2FzZSc6IHJldHVybiB2YWx1ZS50b0xvd2VyQ2FzZSgpO1xuICAgICAgY2FzZSAnc2VudGVuY2VjYXNlJzogcmV0dXJuIHZhbHVlLmNoYXJBdCgwKS50b1VwcGVyQ2FzZSgpICsgdmFsdWUuc2xpY2UoMSkudG9Mb3dlckNhc2UoKTtcbiAgICAgIGNhc2UgJ3Bhc2NhbGNhc2UnOiByZXR1cm4gdmFsdWUucmVwbGFjZSgvXFx3Ky9nLCAodykgPT4gd1swXS50b1VwcGVyQ2FzZSgpICsgdy5zbGljZSgxKS50b0xvd2VyQ2FzZSgpKTtcbiAgICAgIGNhc2UgJ2NhbWVsY2FzZSc6IHJldHVybiB2YWx1ZS5yZXBsYWNlKC8oPzpeXFx3fFtBLVpdfFxcYlxcd3xcXHMrKS9nLCAobWF0Y2gsIGluZGV4KSA9PlxuICAgICAgICBpbmRleCA9PT0gMCA/IG1hdGNoLnRvTG93ZXJDYXNlKCkgOiBtYXRjaC50b1VwcGVyQ2FzZSgpKS5yZXBsYWNlKC9cXHMrL2csICcnKTtcbiAgICAgIGRlZmF1bHQ6IHJldHVybiB2YWx1ZTtcbiAgICB9XG4gIH1cblxuICBzYW5pdGl6ZVZhbHVlKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGlmIChbJ251bWJlcicsICdkZWNpbWFsJywgJ2ludGVnZXInXS5pbmNsdWRlcyh0aGlzLnR5cGUpKSB7XG4gICAgICByZXR1cm4gdmFsdWUucmVwbGFjZSgvLC9nLCAnJyk7XG4gICAgfVxuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuXG4gIHZhbGlkYXRlKCkge1xuICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gJyc7XG5cbiAgICBpZiAodGhpcy5yZXF1aXJlZCAmJiAhdGhpcy52YWx1ZSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMucmVxdWlyZWQgfHwgJ1RoaXMgZmllbGQgaXMgcmVxdWlyZWQuJztcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5taW5MZW5ndGggJiYgdGhpcy52YWx1ZS5sZW5ndGggPCB0aGlzLm1pbkxlbmd0aCkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMubWluTGVuZ3RoIHx8IGBNaW5pbXVtIGxlbmd0aCBpcyAke3RoaXMubWluTGVuZ3RofS5gO1xuICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1heExlbmd0aCAmJiB0aGlzLnZhbHVlLmxlbmd0aCA+IHRoaXMubWF4TGVuZ3RoKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy5tYXhMZW5ndGggfHwgYE1heGltdW0gbGVuZ3RoIGlzICR7dGhpcy5tYXhMZW5ndGh9LmA7XG4gICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3Qgc2FuaXRpemVkVmFsdWUgPSB0aGlzLnNhbml0aXplVmFsdWUodGhpcy52YWx1ZSk7XG4gICAgY29uc3QgbnVtZXJpY1ZhbHVlID0gcGFyc2VGbG9hdChzYW5pdGl6ZWRWYWx1ZSk7XG5cbiAgICBpZiAoWydpbnRlZ2VyJywgJ251bWJlcicsICdkZWNpbWFsJ10uaW5jbHVkZXModGhpcy50eXBlKSkge1xuICAgICAgaWYgKHRoaXMubWluICE9PSB1bmRlZmluZWQgJiYgbnVtZXJpY1ZhbHVlIDwgdGhpcy5taW4pIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMubWluVmFsdWUgfHwgYE1pbmltdW0gdmFsdWUgaXMgJHt0aGlzLm1pbn0uYDtcbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9IGVsc2UgaWYgKHRoaXMubWF4ICE9PSB1bmRlZmluZWQgJiYgbnVtZXJpY1ZhbHVlID4gdGhpcy5tYXgpIHtcbiAgICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMubWF4VmFsdWUgfHwgYE1heGltdW0gdmFsdWUgaXMgJHt0aGlzLm1heH0uYDtcbiAgICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2ludGVnZXInICYmICEvXlxcZCskLy50ZXN0KHRoaXMudmFsdWUpKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy5pbnRlZ2VyIHx8ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBpbnRlZ2VyLic7XG4gICAgICB0aGlzLmlzSW52YWxpZCA9IHRydWU7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicgJiYgIS9eXFxkKyhcXC5cXGQrKT8kLy50ZXN0KHRoaXMudmFsdWUpKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy5udW1iZXIgfHwgJ1BsZWFzZSBlbnRlciBhIHZhbGlkIG51bWJlci4nO1xuICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdkZWNpbWFsJyAmJiAhL15cXGQrKFxcLlxcZCspPyQvLnRlc3QodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLmRlY2ltYWwgfHwgJ1BsZWFzZSBlbnRlciBhIHZhbGlkIGRlY2ltYWwuJztcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50eXBlID09PSAnZW1haWwnICYmICEvXlteXFxzQF0rQFteXFxzQF0rXFwuW15cXHNAXSskLy50ZXN0KHRoaXMudmFsdWUpKSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy5lbWFpbCB8fCAnUGxlYXNlIGVudGVyIGEgdmFsaWQgZW1haWwgYWRkcmVzcy4nO1xuICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICdwYXNzd29yZCcgJiYgdGhpcy52YWx1ZS5sZW5ndGggPCA4KSB7XG4gICAgICB0aGlzLmVycm9yTWVzc2FnZSA9IHRoaXMuY3VzdG9tRXJyb3JNZXNzYWdlcy5wYXNzd29yZCB8fCAnUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA4IGNoYXJhY3RlcnMgbG9uZy4nO1xuICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICd0ZWwnICYmICEvXlxcKz9bMS05XVxcZHsxLDE0fSQvLnRlc3QodGhpcy52YWx1ZSkpIHtcbiAgICAgIHRoaXMuZXJyb3JNZXNzYWdlID0gdGhpcy5jdXN0b21FcnJvck1lc3NhZ2VzLnRlbCB8fCAnUGxlYXNlIGVudGVyIGEgdmFsaWQgdGVsZXBob25lIG51bWJlci4nO1xuICAgICAgdGhpcy5pc0ludmFsaWQgPSB0cnVlO1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnR5cGUgPT09ICd1cmwnICYmICEvXihodHRwcz98ZnRwKTpcXC9cXC9bXlxccy8kLj8jXS5bXlxcc10qJC8udGVzdCh0aGlzLnZhbHVlKSkge1xuICAgICAgdGhpcy5lcnJvck1lc3NhZ2UgPSB0aGlzLmN1c3RvbUVycm9yTWVzc2FnZXMudXJsIHx8ICdQbGVhc2UgZW50ZXIgYSB2YWxpZCBVUkwuJztcbiAgICAgIHRoaXMuaXNJbnZhbGlkID0gdHJ1ZTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzSW52YWxpZCA9IGZhbHNlO1xuICB9XG5cbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KTogdm9pZCB7XG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlID8gdGhpcy5hcHBseUNhcGl0YWxpemF0aW9uKHZhbHVlLnRyaW0oKSwgdGhpcy5jYXBpdGFsaXphdGlvbikgOiAnJztcbiAgfVxuXG4gIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgfVxuXG4gIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICB0aGlzLm9uVG91Y2ggPSBmbjtcbiAgfVxuXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgIHRoaXMuZGlzYWJsZSA9IGlzRGlzYWJsZWQ7XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJpbnB1dC1jb250YWluZXIge3sgaW5wdXRDb250YWluZXJDbGFzcyB9fVwiXG4gICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICdkaXNwbGF5JzogJ2ZsZXgnLFxuICAgICAgJ2ZsZXgtZGlyZWN0aW9uJzogJ2NvbHVtbicsXG5cbiAgICAgfVwiXG4+XG4gIDxkaXZcbiAgICBbbmdTdHlsZV09XCJ7XG4gICAgICAnZGlzcGxheSc6ICdmbGV4JyxcbiAgICAgICdqdXN0aWZ5LWNvbnRlbnQnOiBsYWJlbFBvc2l0aW9uLFxuICAgICAgJ2NvbG9yJzogbGFiZWxDb2xvcixcbiAgICAgICdwYWRkaW5nJzogJzAnXG4gICAgfVwiXG4gICAgY2xhc3M9XCJpbnB1dC1maWVsZFwiXG4gID5cbiAgICA8bGFiZWwgW2Zvcl09XCJsYWJlbFwiPnt7IGxhYmVsIH19PC9sYWJlbD5cbiAgPC9kaXY+XG5cbiAgPGRpdiBjbGFzcz1cImlucHV0LXdyYXBwZXIge3sgaW5wdXRXcmFwcGVyQ2xhc3MgfX1cIj5cbiAgICA8aW5wdXRcbiAgICBbbmdDbGFzc109XCJ7J25nLWludmFsaWQnOiBpc0ludmFsaWR9XCJcbiAgICAgIFtpZF09XCJsYWJlbFwiXG4gICAgICBbYXR0ci50eXBlXT1cInR5cGVcIlxuICAgICAgW2F0dHIucGxhY2Vob2xkZXJdPVwicGxhY2VIb2xkZXJcIlxuXG4gICAgICBbYXR0ci5taW5sZW5ndGhdPVwibWluTGVuZ3RoPy50b1N0cmluZygpXCJcbiAgICAgIFthdHRyLm1heGxlbmd0aF09XCJtYXhMZW5ndGg/LnRvU3RyaW5nKClcIlxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoJGV2ZW50KVwiXG4gICAgICBbKG5nTW9kZWwpXT1cInZhbHVlXCJcbiAgICAgIFtuZ1N0eWxlXT1cIntcbiAgICAgICAgJ2JhY2tncm91bmQtY29sb3InOiBiZ0NvbG9yLFxuICAgICAgICAnYm9yZGVyJzogaXNJbnZhbGlkICYmIGVycm9yQm9yZGVyQ29sb3I/ICcxcHggc29saWQgJyArIGVycm9yQm9yZGVyQ29sb3IgOiBib3JkZXIgLFxuICAgICAgICAnYm9yZGVyLXJhZGl1cyc6IGJvcmRlclJhZGl1cyxcbiAgICAgICAgJ2NvbG9yJzogdGV4dENvbG9yXG4gICAgICB9XCJcbiAgICAgIGNsYXNzPVwiaW5wdXQtZmllbGQgdmVyYmVuLWlucHV0XCJcbiAgICAvPlxuXG4gICAgPCEtLSBDb25kaXRpb25hbCByZWQgZG90IGZvciBlcnJvciB3aGVuIHNob3dFcnJvck1lc3NhZ2UgaXMgZmFsc2UgLS0+XG4gICAgPHZlcmJlbi10b29sdGlwICpuZ0lmPVwiZXJyb3JNZXNzYWdlICYmICFzaG93RXJyb3JNZXNzYWdlXCJcbiAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBDb250ZW50XT1cInRvb2x0aXBUZW1wbGF0ZVwiXG4gICAgICAgICAgICAgICAgICAgIGN1c3RvbUNsYXNzPVwiZXJyb3ItdG9vbHRpcFwiPlxuICAgICAgPGRpdiBjbGFzcz1cImVycm9yLWRvdFwiXG4gICAgICAgICAgIFtuZ1N0eWxlXT1cInsgJ2JhY2tncm91bmQtY29sb3InOiBlcnJvckJvcmRlckNvbG9yIH1cIj5cbiAgICAgIDwvZGl2PlxuICAgIDwvdmVyYmVuLXRvb2x0aXA+XG5cbiAgICA8IS0tIFRvb2x0aXAgdGVtcGxhdGUgZm9yIGVycm9yIG1lc3NhZ2UgLS0+XG4gICAgPG5nLXRlbXBsYXRlICN0b29sdGlwVGVtcGxhdGU+XG4gICAgICB7eyBlcnJvck1lc3NhZ2UgfX1cbiAgICA8L25nLXRlbXBsYXRlPlxuXG4gICAgPCEtLSBDb25kaXRpb25hbCBlcnJvciBtZXNzYWdlIGRpc3BsYXkgLS0+XG4gICAgPHNwYW4gKm5nSWY9XCJlcnJvck1lc3NhZ2UgJiYgc2hvd0Vycm9yTWVzc2FnZVwiXG4gICAgICAgICAgW25nU3R5bGVdPVwieyAnY29sb3InOiBlcnJvck1lc3NhZ2VDb2xvciB9XCJcbiAgICAgICAgICBbbmdDbGFzc109XCJ7J3ZlcmJlbi1lcnJvci1tZXNzYWdlJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAgICAgICAndG9wLWVycm9yJzogZXJyb3JQb3NpdGlvbiA9PT0gJ3RvcCcsXG4gICAgICAgICAgICAgICAgICAgICAgJ2xlZnQtZXJyb3InOiBlcnJvclBvc2l0aW9uID09PSAnbGVmdCcsXG4gICAgICAgICAgICAgICAgICAgICAgJ3JpZ2h0LWVycm9yJzogZXJyb3JQb3NpdGlvbiA9PT0gJ3JpZ2h0J31cIlxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJ2ZXJiZW4tZXJyb3ItbWVzc2FnZSBcIlxuICAgICAgICAgICAgICAgICAgICAgID5cblxuICAgICAge3sgZXJyb3JNZXNzYWdlIH19XG5cbiAgICA8L3NwYW4+XG4gIDwvZGl2PlxuPC9kaXY+XG4iXX0=
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Component, ContentChild, EventEmitter, Input, Output } from '@angular/core';
|
|
2
|
+
import { RightCardDataViewComponent } from './right-card-data-view/right-card-data-view.component';
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "@angular/common";
|
|
4
5
|
import * as i2 from "../svg/svg.component";
|
|
@@ -19,22 +20,34 @@ export class CardDataViewComponent {
|
|
|
19
20
|
inActiveCss;
|
|
20
21
|
displayAsRow = true;
|
|
21
22
|
cardDataList = [];
|
|
22
|
-
dataId;
|
|
23
|
+
dataId; //what to use to identify each data
|
|
23
24
|
totalRecords = 0;
|
|
24
25
|
footer = false;
|
|
26
|
+
noOfVisibleChildren = 3;
|
|
27
|
+
rightContent;
|
|
28
|
+
// @ContentChild(LeftCardDataComponent) left!:LeftCardDataComponent;
|
|
25
29
|
card;
|
|
26
30
|
// @ContentChild('content') content!: TemplateRef<any>;
|
|
27
31
|
currentItem = {};
|
|
32
|
+
currentChildItem = {};
|
|
28
33
|
hasCurrentItem() {
|
|
29
|
-
return !!Object.keys(this.currentItem).length;
|
|
34
|
+
return !!Object.keys(this.currentItem).length || !!Object.keys(this.currentChildItem).length;
|
|
30
35
|
}
|
|
31
36
|
clearData() {
|
|
32
37
|
this.currentItem = {};
|
|
38
|
+
this.currentChildItem = {};
|
|
33
39
|
this.cardDataList.forEach(_ => {
|
|
34
40
|
_.selected = false;
|
|
41
|
+
_.children.forEach(c => { c.selected = false; c.isChildrenExpanded = false; });
|
|
42
|
+
_.isChildrenExpanded = false;
|
|
35
43
|
});
|
|
36
44
|
}
|
|
45
|
+
setDetailData() {
|
|
46
|
+
this.rightContent.parentData = this.currentItem;
|
|
47
|
+
this.rightContent.chilData = this.currentChildItem;
|
|
48
|
+
}
|
|
37
49
|
onItemClick(item) {
|
|
50
|
+
this.resetChildren(item);
|
|
38
51
|
item.selected = true;
|
|
39
52
|
this.cardDataList.forEach(element => {
|
|
40
53
|
if (element.data[this.dataId] == item.data[this.dataId]) {
|
|
@@ -44,18 +57,52 @@ export class CardDataViewComponent {
|
|
|
44
57
|
element.selected = false;
|
|
45
58
|
}
|
|
46
59
|
});
|
|
60
|
+
this.setDetailData();
|
|
47
61
|
return this.currentItem;
|
|
48
62
|
}
|
|
63
|
+
resetChildren(newSelect) {
|
|
64
|
+
if (this.currentItem && this.currentItem.children?.length) {
|
|
65
|
+
this.currentItem.children.forEach(c => {
|
|
66
|
+
c.selected = false;
|
|
67
|
+
});
|
|
68
|
+
if (newSelect.data[this.dataId] != this.currentItem.data[this.dataId])
|
|
69
|
+
this.currentItem.isChildrenExpanded = false;
|
|
70
|
+
}
|
|
71
|
+
this.currentChildItem = null;
|
|
72
|
+
}
|
|
73
|
+
onCardChildClick(childIndex) {
|
|
74
|
+
var item = this.currentItem.children[childIndex];
|
|
75
|
+
this.currentItem.children.forEach(element => {
|
|
76
|
+
if (element.data[this.dataId] == item.data[this.dataId]) {
|
|
77
|
+
this.currentChildItem = item;
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
element.selected = false;
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
this.currentChildItem.selected = true;
|
|
84
|
+
this.setDetailData();
|
|
85
|
+
return this.currentChildItem;
|
|
86
|
+
}
|
|
87
|
+
showChildren(item) {
|
|
88
|
+
var currToggleState = item.isChildrenExpanded;
|
|
89
|
+
this.cardDataList.forEach(_ => {
|
|
90
|
+
_.isChildrenExpanded = false;
|
|
91
|
+
_.selected = false;
|
|
92
|
+
});
|
|
93
|
+
item.selected = true;
|
|
94
|
+
item.isChildrenExpanded = !currToggleState;
|
|
95
|
+
}
|
|
49
96
|
loadMoreClick = new EventEmitter();
|
|
50
97
|
onLoadMoreClick() {
|
|
51
98
|
this.loadMoreClick.emit();
|
|
52
99
|
}
|
|
53
100
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CardDataViewComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
54
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: CardDataViewComponent, selector: "verben-card-data-view", inputs: { pd: "pd", mg: "mg", lHeight: "lHeight", rHeight: "rHeight", rWidth: "rWidth", lWidth: "lWidth", textColor: "textColor", lbgColor: "lbgColor", rbgColor: "rbgColor", border: "border", display: "display", borderRadius: "borderRadius", activeCss: "activeCss", inActiveCss: "inActiveCss", displayAsRow: "displayAsRow", cardDataList: "cardDataList", dataId: "dataId", totalRecords: "totalRecords", footer: "footer", onItemClick: "onItemClick" }, outputs: { loadMoreClick: "loadMoreClick" }, queries: [{ propertyName: "card", first: true, predicate: ["card"], descendants: true }], ngImport: i0, template: "\n<div class=\"container flex-col\" [style.display]=\"'flex'\" [style.margin]=\"mg\" > \n <!-- Header -->\n <ng-container ngProjectAs=\"verben-card-data-view-header\">\n <ng-content select='verben-card-data-view-header'></ng-content>\n </ng-container>\n\n <div [style.padding]=\"pd\" [ngClass]=\"!hasCurrentItem()?'master-only-container':'master-detail-container'\" >\n <!-- Card and Footer -->\n <div [style.borderRadius]=\"borderRadius\" [style.backgroundColor]=\"lbgColor\" class=\"flex-col \">\n <!-- Card section -->\n <ng-container ngProjectAs=\"verben-left-card-data-view\">\n <ng-content select='verben-left-card-data-view'></ng-content>\n </ng-container>\n\n <!-- Footer-->\n <ng-container ngProjectAs=\"verben-card-data-view-footer\">\n <ng-content select='verben-card-data-view-footer'></ng-content>\n </ng-container>\n </div>\n <!-- Detail Section-->\n <div [style.backgroundColor]=\"rbgColor\" *ngIf=\"hasCurrentItem()\" [style.borderRadius]=\"borderRadius\">\n <verben-svg (click)=\"clearData()\" class=\"cursor-pointer toRight\" icon=\"close\" [width]=\"20\" [height]=\"20\" color=\"black\"></verben-svg> \n <ng-container
|
|
101
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.5", type: CardDataViewComponent, selector: "verben-card-data-view", inputs: { pd: "pd", mg: "mg", lHeight: "lHeight", rHeight: "rHeight", rWidth: "rWidth", lWidth: "lWidth", textColor: "textColor", lbgColor: "lbgColor", rbgColor: "rbgColor", border: "border", display: "display", borderRadius: "borderRadius", activeCss: "activeCss", inActiveCss: "inActiveCss", displayAsRow: "displayAsRow", cardDataList: "cardDataList", dataId: "dataId", totalRecords: "totalRecords", footer: "footer", noOfVisibleChildren: "noOfVisibleChildren", onItemClick: "onItemClick", onCardChildClick: "onCardChildClick" }, outputs: { loadMoreClick: "loadMoreClick" }, queries: [{ propertyName: "rightContent", first: true, predicate: RightCardDataViewComponent, descendants: true }, { propertyName: "card", first: true, predicate: ["card"], descendants: true }], ngImport: i0, template: "\n<div #main class=\"container flex-col\" [style.display]=\"'flex'\" [style.margin]=\"mg\" > \n <!-- Header -->\n <ng-container ngProjectAs=\"verben-card-data-view-header\">\n <ng-content select='verben-card-data-view-header'></ng-content>\n </ng-container>\n\n <div [style.padding]=\"pd\" [ngClass]=\"!hasCurrentItem()?'master-only-container':'master-detail-container'\" >\n <!-- Card and Footer -->\n <div [style.borderRadius]=\"borderRadius\" [style.backgroundColor]=\"lbgColor\" class=\"flex-col \">\n <!-- Card section -->\n <ng-container ngProjectAs=\"verben-left-card-data-view\">\n <ng-content select='verben-left-card-data-view'></ng-content>\n </ng-container>\n\n <!-- Footer-->\n <ng-container ngProjectAs=\"verben-card-data-view-footer\">\n <ng-content select='verben-card-data-view-footer'></ng-content>\n </ng-container>\n </div>\n <!-- Detail Section-->\n <div [style.backgroundColor]=\"rbgColor\" *ngIf=\"hasCurrentItem()\" [style.borderRadius]=\"borderRadius\">\n <verben-svg (click)=\"clearData()\" class=\"cursor-pointer toRight\" icon=\"close\" [width]=\"20\" [height]=\"20\" color=\"black\"></verben-svg> \n <ng-container #right ngProjectAs=\"verben-right-card-data-view\">\n <ng-content #rightContent select='verben-right-card-data-view'></ng-content>\n </ng-container>\n </div>\n </div>\n</div>", styles: [".container{gap:10px;min-height:100vh}:host{border-radius:12px}.master-detail-container{display:grid;grid-template-columns:30% 70%;gap:15px;justify-content:center;margin-top:20px}.master-only-container{display:grid;grid-template-columns:100%;justify-content:center;margin-top:20px}.paginator-text{margin-left:auto;margin-right:auto}.cursor-pointer{cursor:pointer}.toRight{float:right;margin:5px 10px 0 0}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2.SvgComponent, selector: "verben-svg", inputs: ["icon", "width", "height", "fill", "stroke", "size"] }] });
|
|
55
102
|
}
|
|
56
103
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: CardDataViewComponent, decorators: [{
|
|
57
104
|
type: Component,
|
|
58
|
-
args: [{ selector: 'verben-card-data-view', template: "\n<div class=\"container flex-col\" [style.display]=\"'flex'\" [style.margin]=\"mg\" > \n <!-- Header -->\n <ng-container ngProjectAs=\"verben-card-data-view-header\">\n <ng-content select='verben-card-data-view-header'></ng-content>\n </ng-container>\n\n <div [style.padding]=\"pd\" [ngClass]=\"!hasCurrentItem()?'master-only-container':'master-detail-container'\" >\n <!-- Card and Footer -->\n <div [style.borderRadius]=\"borderRadius\" [style.backgroundColor]=\"lbgColor\" class=\"flex-col \">\n <!-- Card section -->\n <ng-container ngProjectAs=\"verben-left-card-data-view\">\n <ng-content select='verben-left-card-data-view'></ng-content>\n </ng-container>\n\n <!-- Footer-->\n <ng-container ngProjectAs=\"verben-card-data-view-footer\">\n <ng-content select='verben-card-data-view-footer'></ng-content>\n </ng-container>\n </div>\n <!-- Detail Section-->\n <div [style.backgroundColor]=\"rbgColor\" *ngIf=\"hasCurrentItem()\" [style.borderRadius]=\"borderRadius\">\n <verben-svg (click)=\"clearData()\" class=\"cursor-pointer toRight\" icon=\"close\" [width]=\"20\" [height]=\"20\" color=\"black\"></verben-svg> \n <ng-container
|
|
105
|
+
args: [{ selector: 'verben-card-data-view', template: "\n<div #main class=\"container flex-col\" [style.display]=\"'flex'\" [style.margin]=\"mg\" > \n <!-- Header -->\n <ng-container ngProjectAs=\"verben-card-data-view-header\">\n <ng-content select='verben-card-data-view-header'></ng-content>\n </ng-container>\n\n <div [style.padding]=\"pd\" [ngClass]=\"!hasCurrentItem()?'master-only-container':'master-detail-container'\" >\n <!-- Card and Footer -->\n <div [style.borderRadius]=\"borderRadius\" [style.backgroundColor]=\"lbgColor\" class=\"flex-col \">\n <!-- Card section -->\n <ng-container ngProjectAs=\"verben-left-card-data-view\">\n <ng-content select='verben-left-card-data-view'></ng-content>\n </ng-container>\n\n <!-- Footer-->\n <ng-container ngProjectAs=\"verben-card-data-view-footer\">\n <ng-content select='verben-card-data-view-footer'></ng-content>\n </ng-container>\n </div>\n <!-- Detail Section-->\n <div [style.backgroundColor]=\"rbgColor\" *ngIf=\"hasCurrentItem()\" [style.borderRadius]=\"borderRadius\">\n <verben-svg (click)=\"clearData()\" class=\"cursor-pointer toRight\" icon=\"close\" [width]=\"20\" [height]=\"20\" color=\"black\"></verben-svg> \n <ng-container #right ngProjectAs=\"verben-right-card-data-view\">\n <ng-content #rightContent select='verben-right-card-data-view'></ng-content>\n </ng-container>\n </div>\n </div>\n</div>", styles: [".container{gap:10px;min-height:100vh}:host{border-radius:12px}.master-detail-container{display:grid;grid-template-columns:30% 70%;gap:15px;justify-content:center;margin-top:20px}.master-only-container{display:grid;grid-template-columns:100%;justify-content:center;margin-top:20px}.paginator-text{margin-left:auto;margin-right:auto}.cursor-pointer{cursor:pointer}.toRight{float:right;margin:5px 10px 0 0}\n"] }]
|
|
59
106
|
}], propDecorators: { pd: [{
|
|
60
107
|
type: Input
|
|
61
108
|
}], mg: [{
|
|
@@ -94,12 +141,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
94
141
|
type: Input
|
|
95
142
|
}], footer: [{
|
|
96
143
|
type: Input
|
|
144
|
+
}], noOfVisibleChildren: [{
|
|
145
|
+
type: Input
|
|
146
|
+
}], rightContent: [{
|
|
147
|
+
type: ContentChild,
|
|
148
|
+
args: [RightCardDataViewComponent]
|
|
97
149
|
}], card: [{
|
|
98
150
|
type: ContentChild,
|
|
99
151
|
args: ['card']
|
|
100
152
|
}], onItemClick: [{
|
|
101
153
|
type: Input
|
|
154
|
+
}], onCardChildClick: [{
|
|
155
|
+
type: Input
|
|
102
156
|
}], loadMoreClick: [{
|
|
103
157
|
type: Output
|
|
104
158
|
}] } });
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWRhdGEtdmlldy9jYXJkLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZGF0YS12aWV3L2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFFLFlBQVksRUFBYyxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBMEIsTUFBTSxlQUFlLENBQUM7Ozs7QUFVM0ksTUFBTSxPQUFPLHFCQUFxQjtJQUN2QixFQUFFLEdBQUcsTUFBTSxDQUFDO0lBQ1osRUFBRSxHQUFHLEtBQUssQ0FBQztJQUNYLE9BQU8sR0FBUyxNQUFNLENBQUM7SUFDdkIsT0FBTyxHQUFTLE1BQU0sQ0FBQztJQUN2QixNQUFNLEdBQVMsS0FBSyxDQUFDO0lBQ3JCLE1BQU0sR0FBUyxLQUFLLENBQUM7SUFDckIsU0FBUyxDQUFVO0lBQ25CLFFBQVEsQ0FBVTtJQUNsQixRQUFRLENBQVU7SUFDbEIsTUFBTSxDQUFVO0lBQ2hCLE9BQU8sQ0FBVTtJQUNqQixZQUFZLEdBQVMsTUFBTSxDQUFDO0lBQzVCLFNBQVMsQ0FBVTtJQUNuQixXQUFXLENBQVU7SUFDckIsWUFBWSxHQUFXLElBQUksQ0FBQztJQUM1QixZQUFZLEdBQVksRUFBRSxDQUFDO0lBQzNCLE1BQU0sQ0FBUztJQUNmLFlBQVksR0FBUSxDQUFDLENBQUM7SUFDdEIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUdSLElBQUksQ0FBb0I7SUFDOUMsdURBQXVEO0lBQ3ZELFdBQVcsR0FBSyxFQUFFLENBQUM7SUFDbkIsY0FBYztRQUVaLE9BQU8sQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtJQUMvQyxDQUFDO0lBQ0QsU0FBUztRQUVQLElBQUksQ0FBQyxXQUFXLEdBQUMsRUFBYyxDQUFBO1FBQy9CLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQSxFQUFFO1lBQzNCLENBQUMsQ0FBQyxRQUFRLEdBQUMsS0FBSyxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUNPLFdBQVcsQ0FBQyxJQUFhO1FBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUUsSUFBSSxDQUFDO1FBQ3BCLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ2xDLElBQUcsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQ3BELENBQUM7Z0JBQ0MsSUFBSSxDQUFDLFdBQVcsR0FBRSxJQUFJLENBQUM7WUFDekIsQ0FBQztpQkFFRCxDQUFDO2dCQUNDLE9BQU8sQ0FBQyxRQUFRLEdBQUMsS0FBSyxDQUFDO1lBQ3pCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQTtJQUN6QixDQUFDO0lBQ1MsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFFLENBQUM7SUFDN0MsZUFBZTtRQUViLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDNUIsQ0FBQzt1R0F0RFUscUJBQXFCOzJGQUFyQixxQkFBcUIsc29CQ1ZsQywrN0NBNEJNOzsyRkRsQk8scUJBQXFCO2tCQU5qQyxTQUFTOytCQUNFLHVCQUF1Qjs4QkFNeEIsRUFBRTtzQkFBVixLQUFLO2dCQUNHLEVBQUU7c0JBQVYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxRQUFRO3NCQUFoQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUdnQixJQUFJO3NCQUF6QixZQUFZO3VCQUFDLE1BQU07Z0JBY1gsV0FBVztzQkFBbkIsS0FBSztnQkFjSSxhQUFhO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWZ0ZXJDb250ZW50SW5pdCwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZERhdGEgfSBmcm9tICcuL2NhcmQtZGF0YSc7XG5pbXBvcnQgeyBUaXRsZSB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICd2ZXJiZW4tY2FyZC1kYXRhLXZpZXcnLFxuICB0ZW1wbGF0ZVVybDogJy4vY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50LmNzcydcbn0pXG5cbmV4cG9ydCBjbGFzcyBDYXJkRGF0YVZpZXdDb21wb25lbnQgIHtcbiAgQElucHV0KCkgcGQgPSAnMTBweCc7XG4gIEBJbnB1dCgpIG1nID0gJzBweCc7XG4gIEBJbnB1dCgpIGxIZWlnaHQ/OnN0cmluZz1cIjEwMCVcIjtcbiAgQElucHV0KCkgckhlaWdodD86c3RyaW5nPVwiMTAwJVwiO1xuICBASW5wdXQoKSByV2lkdGg/OnN0cmluZz1cIjcwJVwiO1xuICBASW5wdXQoKSBsV2lkdGg/OnN0cmluZz1cIjMwJVwiO1xuICBASW5wdXQoKSB0ZXh0Q29sb3I/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGxiZ0NvbG9yPzpzdHJpbmcgO1xuICBASW5wdXQoKSByYmdDb2xvcj86c3RyaW5nIDtcbiAgQElucHV0KCkgYm9yZGVyPzpzdHJpbmcgO1xuICBASW5wdXQoKSBkaXNwbGF5PzpzdHJpbmcgO1xuICBASW5wdXQoKSBib3JkZXJSYWRpdXM/OnN0cmluZz1cIjEycHhcIjtcbiAgQElucHV0KCkgYWN0aXZlQ3NzPzpzdHJpbmcgO1xuICBASW5wdXQoKSBpbkFjdGl2ZUNzcz86c3RyaW5nIDtcbiAgQElucHV0KCkgZGlzcGxheUFzUm93Pzpib29sZWFuID10cnVlO1xuICBASW5wdXQoKSBjYXJkRGF0YUxpc3Q6Q2FyZERhdGFbXT1bXTtcbiAgQElucHV0KCkgZGF0YUlkITpzdHJpbmc7XG4gIEBJbnB1dCgpIHRvdGFsUmVjb3JkczpudW1iZXI9MDtcbiAgQElucHV0KCkgZm9vdGVyOmJvb2xlYW49ZmFsc2U7XG5cblxuICBAQ29udGVudENoaWxkKCdjYXJkJykgY2FyZCE6IFRlbXBsYXRlUmVmPGFueT47XG4gIC8vIEBDb250ZW50Q2hpbGQoJ2NvbnRlbnQnKSBjb250ZW50ITogVGVtcGxhdGVSZWY8YW55PjtcbiAgY3VycmVudEl0ZW06YW55PXt9O1xuICBoYXNDdXJyZW50SXRlbSgpXG4gIHtcbiAgICByZXR1cm4gISFPYmplY3Qua2V5cyh0aGlzLmN1cnJlbnRJdGVtKS5sZW5ndGhcbiAgfVxuICBjbGVhckRhdGEoKVxuICAge1xuICAgIHRoaXMuY3VycmVudEl0ZW09e30gYXMgQ2FyZERhdGFcbiAgICB0aGlzLmNhcmREYXRhTGlzdC5mb3JFYWNoKF89PntcbiAgICAgIF8uc2VsZWN0ZWQ9ZmFsc2U7XG4gICAgfSk7XG4gICB9XG4gIEBJbnB1dCgpIG9uSXRlbUNsaWNrKGl0ZW06Q2FyZERhdGEpe1xuICAgIGl0ZW0uc2VsZWN0ZWQ9IHRydWU7XG4gICAgdGhpcy5jYXJkRGF0YUxpc3QuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGlmKGVsZW1lbnQuZGF0YVt0aGlzLmRhdGFJZF09PWl0ZW0uZGF0YVt0aGlzLmRhdGFJZF0pXG4gICAgICB7XG4gICAgICAgIHRoaXMuY3VycmVudEl0ZW09IGl0ZW07XG4gICAgICB9XG4gICAgICBlbHNlXG4gICAgICB7XG4gICAgICAgIGVsZW1lbnQuc2VsZWN0ZWQ9ZmFsc2U7XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEl0ZW1cbiAgfVxuICBAT3V0cHV0KCkgbG9hZE1vcmVDbGljayA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgb25Mb2FkTW9yZUNsaWNrKClcbiAge1xuICAgIHRoaXMubG9hZE1vcmVDbGljay5lbWl0KCk7XG4gIH1cbn1cbiIsIlxuPGRpdiBjbGFzcz1cImNvbnRhaW5lciBmbGV4LWNvbFwiIFtzdHlsZS5kaXNwbGF5XT1cIidmbGV4J1wiIFtzdHlsZS5tYXJnaW5dPVwibWdcIiA+IFxuICAgICA8IS0tIEhlYWRlciAtLT5cbiAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInZlcmJlbi1jYXJkLWRhdGEtdmlldy1oZWFkZXJcIj5cbiAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tY2FyZC1kYXRhLXZpZXctaGVhZGVyJz48L25nLWNvbnRlbnQ+XG4gICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgIDxkaXYgW3N0eWxlLnBhZGRpbmddPVwicGRcIiAgW25nQ2xhc3NdPVwiIWhhc0N1cnJlbnRJdGVtKCk/J21hc3Rlci1vbmx5LWNvbnRhaW5lcic6J21hc3Rlci1kZXRhaWwtY29udGFpbmVyJ1wiICA+XG4gICAgICA8IS0tIENhcmQgYW5kIEZvb3RlciAtLT5cbiAgICAgICAgPGRpdiBbc3R5bGUuYm9yZGVyUmFkaXVzXT1cImJvcmRlclJhZGl1c1wiIFtzdHlsZS5iYWNrZ3JvdW5kQ29sb3JdPVwibGJnQ29sb3JcIiBjbGFzcz1cImZsZXgtY29sIFwiPlxuICAgICAgICAgIDwhLS0gQ2FyZCBzZWN0aW9uIC0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ2ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlld1wiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tbGVmdC1jYXJkLWRhdGEtdmlldyc+PC9uZy1jb250ZW50PlxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuXG4gICAgICAgICAgPCEtLSBGb290ZXItLT5cbiAgICAgICAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidmVyYmVuLWNhcmQtZGF0YS12aWV3LWZvb3RlclwiPlxuICAgICAgICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyJz48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPCEtLSBEZXRhaWwgU2VjdGlvbi0tPlxuICAgICAgIDxkaXYgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJyYmdDb2xvclwiICpuZ0lmPVwiaGFzQ3VycmVudEl0ZW0oKVwiIFtzdHlsZS5ib3JkZXJSYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCI+XG4gICAgICAgICA8dmVyYmVuLXN2ZyAgKGNsaWNrKT1cImNsZWFyRGF0YSgpXCIgY2xhc3M9XCJjdXJzb3ItcG9pbnRlciB0b1JpZ2h0XCIgaWNvbj1cImNsb3NlXCIgW3dpZHRoXT1cIjIwXCIgW2hlaWdodF09XCIyMFwiICBjb2xvcj1cImJsYWNrXCI+PC92ZXJiZW4tc3ZnPiBcbiAgICAgICAgIDxuZy1jb250YWluZXIgICBuZ1Byb2plY3RBcz1cInZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlld1wiPlxuICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J3ZlcmJlbi1yaWdodC1jYXJkLWRhdGEtdmlldyc+PC9uZy1jb250ZW50PlxuICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgPC9kaXY+XG4gICAgIDwvZGl2PlxuPC9kaXY+Il19
|
|
159
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWRhdGEtdmlldy9jYXJkLWRhdGEtdmlldy5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZGF0YS12aWV3L2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBb0IsU0FBUyxFQUFnQixZQUFZLEVBQXNCLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQyxNQUFNLGVBQWUsQ0FBQztBQUc1SyxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSx1REFBdUQsQ0FBQzs7OztBQVNuRyxNQUFNLE9BQU8scUJBQXFCO0lBQ3ZCLEVBQUUsR0FBRyxNQUFNLENBQUM7SUFDWixFQUFFLEdBQUcsS0FBSyxDQUFDO0lBQ1gsT0FBTyxHQUFTLE1BQU0sQ0FBQztJQUN2QixPQUFPLEdBQVMsTUFBTSxDQUFDO0lBQ3ZCLE1BQU0sR0FBUyxLQUFLLENBQUM7SUFDckIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUNyQixTQUFTLENBQVU7SUFDbkIsUUFBUSxDQUFVO0lBQ2xCLFFBQVEsQ0FBVTtJQUNsQixNQUFNLENBQVU7SUFDaEIsT0FBTyxDQUFVO0lBQ2pCLFlBQVksR0FBUyxNQUFNLENBQUM7SUFDNUIsU0FBUyxDQUFVO0lBQ25CLFdBQVcsQ0FBVTtJQUNyQixZQUFZLEdBQVcsSUFBSSxDQUFDO0lBQzVCLFlBQVksR0FBWSxFQUFFLENBQUM7SUFDM0IsTUFBTSxDQUFTLENBQUMsbUNBQW1DO0lBQ25ELFlBQVksR0FBUSxDQUFDLENBQUM7SUFDdEIsTUFBTSxHQUFTLEtBQUssQ0FBQztJQUNyQixtQkFB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QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNvQyxZQUFZO3NCQUFyRCxZQUFZO3VCQUFDLDBCQUEwQjtnQkFFbEIsSUFBSTtzQkFBekIsWUFBWTt1QkFBQyxNQUFNO2dCQXdCWCxXQUFXO3NCQUFuQixLQUFLO2dCQTJCRyxnQkFBZ0I7c0JBQXhCLEtBQUs7Z0JBMkJJLGFBQWE7c0JBQXRCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBZnRlckNvbnRlbnRJbml0LCBDb21wb25lbnQsIGNvbnRlbnRDaGlsZCwgQ29udGVudENoaWxkLCBlZmZlY3QsIEVsZW1lbnRSZWYsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCwgVGVtcGxhdGVSZWYsIHZpZXdDaGlsZCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDYXJkRGF0YSB9IGZyb20gJy4vY2FyZC1kYXRhJztcbmltcG9ydCB7IFRpdGxlIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XG5pbXBvcnQgeyBSaWdodENhcmREYXRhVmlld0NvbXBvbmVudCB9IGZyb20gJy4vcmlnaHQtY2FyZC1kYXRhLXZpZXcvcmlnaHQtY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50JztcbmltcG9ydCB7IExlZnRDYXJkRGF0YUNvbXBvbmVudCB9IGZyb20gJy4vbGVmdC1jYXJkLWRhdGEvbGVmdC1jYXJkLWRhdGEuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWNhcmQtZGF0YS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2NhcmQtZGF0YS12aWV3LmNvbXBvbmVudC5jc3MnXG59KVxuXG5leHBvcnQgY2xhc3MgQ2FyZERhdGFWaWV3Q29tcG9uZW50ICB7XG4gIEBJbnB1dCgpIHBkID0gJzEwcHgnO1xuICBASW5wdXQoKSBtZyA9ICcwcHgnO1xuICBASW5wdXQoKSBsSGVpZ2h0PzpzdHJpbmc9XCIxMDAlXCI7XG4gIEBJbnB1dCgpIHJIZWlnaHQ/OnN0cmluZz1cIjEwMCVcIjtcbiAgQElucHV0KCkgcldpZHRoPzpzdHJpbmc9XCI3MCVcIjtcbiAgQElucHV0KCkgbFdpZHRoPzpzdHJpbmc9XCIzMCVcIjtcbiAgQElucHV0KCkgdGV4dENvbG9yPzpzdHJpbmcgO1xuICBASW5wdXQoKSBsYmdDb2xvcj86c3RyaW5nIDtcbiAgQElucHV0KCkgcmJnQ29sb3I/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGJvcmRlcj86c3RyaW5nIDtcbiAgQElucHV0KCkgZGlzcGxheT86c3RyaW5nIDtcbiAgQElucHV0KCkgYm9yZGVyUmFkaXVzPzpzdHJpbmc9XCIxMnB4XCI7XG4gIEBJbnB1dCgpIGFjdGl2ZUNzcz86c3RyaW5nIDtcbiAgQElucHV0KCkgaW5BY3RpdmVDc3M/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGRpc3BsYXlBc1Jvdz86Ym9vbGVhbiA9dHJ1ZTtcbiAgQElucHV0KCkgY2FyZERhdGFMaXN0OkNhcmREYXRhW109W107XG4gIEBJbnB1dCgpIGRhdGFJZCE6c3RyaW5nOyAvL3doYXQgdG8gdXNlIHRvIGlkZW50aWZ5IGVhY2ggZGF0YVxuICBASW5wdXQoKSB0b3RhbFJlY29yZHM6bnVtYmVyPTA7XG4gIEBJbnB1dCgpIGZvb3Rlcjpib29sZWFuPWZhbHNlO1xuICBASW5wdXQoKSBub09mVmlzaWJsZUNoaWxkcmVuOm51bWJlcj0zO1xuICBAQ29udGVudENoaWxkKFJpZ2h0Q2FyZERhdGFWaWV3Q29tcG9uZW50KSByaWdodENvbnRlbnQhOlJpZ2h0Q2FyZERhdGFWaWV3Q29tcG9uZW50OyBcbiAgLy8gQENvbnRlbnRDaGlsZChMZWZ0Q2FyZERhdGFDb21wb25lbnQpIGxlZnQhOkxlZnRDYXJkRGF0YUNvbXBvbmVudDsgXG4gIEBDb250ZW50Q2hpbGQoJ2NhcmQnKSBjYXJkITogVGVtcGxhdGVSZWY8YW55PjtcbiAgLy8gQENvbnRlbnRDaGlsZCgnY29udGVudCcpIGNvbnRlbnQhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICBjdXJyZW50SXRlbTphbnk9e307XG4gIGN1cnJlbnRDaGlsZEl0ZW06YW55PXt9O1xuXG4gIGhhc0N1cnJlbnRJdGVtKClcbiAge1xuICAgIHJldHVybiAhIU9iamVjdC5rZXlzKHRoaXMuY3VycmVudEl0ZW0pLmxlbmd0aCB8fCAhIU9iamVjdC5rZXlzKHRoaXMuY3VycmVudENoaWxkSXRlbSkubGVuZ3RoXG4gIH1cbiAgY2xlYXJEYXRhKClcbiAgIHtcbiAgICB0aGlzLmN1cnJlbnRJdGVtPXt9IGFzIENhcmREYXRhXG4gICAgdGhpcy5jdXJyZW50Q2hpbGRJdGVtPXt9IGFzIENhcmREYXRhXG4gICAgdGhpcy5jYXJkRGF0YUxpc3QuZm9yRWFjaChfPT57XG4gICAgICBfLnNlbGVjdGVkPWZhbHNlO1xuICAgICAgXy5jaGlsZHJlbi5mb3JFYWNoKGM9PntjLnNlbGVjdGVkPWZhbHNlO2MuaXNDaGlsZHJlbkV4cGFuZGVkPWZhbHNlfSlcbiAgICAgIF8uaXNDaGlsZHJlbkV4cGFuZGVkPWZhbHNlXG4gICAgfSk7XG4gICB9XG4gICBzZXREZXRhaWxEYXRhKClcbiAgIHtcbiAgICAgdGhpcy5yaWdodENvbnRlbnQucGFyZW50RGF0YT0gdGhpcy5jdXJyZW50SXRlbTtcbiAgICAgIHRoaXMucmlnaHRDb250ZW50LmNoaWxEYXRhPSB0aGlzLmN1cnJlbnRDaGlsZEl0ZW07XG4gICB9XG4gIEBJbnB1dCgpIG9uSXRlbUNsaWNrKGl0ZW06Q2FyZERhdGEpe1xuICAgIHRoaXMucmVzZXRDaGlsZHJlbihpdGVtKTtcbiAgICBpdGVtLnNlbGVjdGVkPSB0cnVlO1xuICAgIHRoaXMuY2FyZERhdGFMaXN0LmZvckVhY2goZWxlbWVudCA9PiB7XG4gICAgICBpZihlbGVtZW50LmRhdGFbdGhpcy5kYXRhSWRdPT1pdGVtLmRhdGFbdGhpcy5kYXRhSWRdKVxuICAgICAge1xuICAgICAgICB0aGlzLmN1cnJlbnRJdGVtPSBpdGVtO1xuICAgICAgfVxuICAgICAgZWxzZVxuICAgICAge1xuICAgICAgICBlbGVtZW50LnNlbGVjdGVkPWZhbHNlO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc2V0RGV0YWlsRGF0YSgpXG4gICAgcmV0dXJuIHRoaXMuY3VycmVudEl0ZW1cbiAgfVxuIHJlc2V0Q2hpbGRyZW4obmV3U2VsZWN0OkNhcmREYXRhKVxuICB7XG4gICAgaWYodGhpcy5jdXJyZW50SXRlbSAmJiB0aGlzLmN1cnJlbnRJdGVtLmNoaWxkcmVuPy5sZW5ndGgpe1xuICAgKHRoaXMuY3VycmVudEl0ZW0uY2hpbGRyZW4gYXMgYW55W10pLmZvckVhY2goYz0+e1xuICAgIGMuc2VsZWN0ZWQ9ZmFsc2U7XG4gIH0pXG4gIGlmKG5ld1NlbGVjdC5kYXRhW3RoaXMuZGF0YUlkXSE9dGhpcy5jdXJyZW50SXRlbS5kYXRhW3RoaXMuZGF0YUlkXSlcbiAgICB0aGlzLmN1cnJlbnRJdGVtLmlzQ2hpbGRyZW5FeHBhbmRlZD1mYWxzZTtcbn1cbiAgdGhpcy5jdXJyZW50Q2hpbGRJdGVtPSBudWxsO1xuICB9XG4gIEBJbnB1dCgpIG9uQ2FyZENoaWxkQ2xpY2soY2hpbGRJbmRleDpudW1iZXIpe1xuICAgIHZhciBpdGVtID0gdGhpcy5jdXJyZW50SXRlbS5jaGlsZHJlbltjaGlsZEluZGV4XTtcbiAgICAodGhpcy5jdXJyZW50SXRlbS5jaGlsZHJlbiBhcyBhbnlbXSkuZm9yRWFjaChlbGVtZW50ID0+IHtcbiAgICAgIGlmKGVsZW1lbnQuZGF0YVt0aGlzLmRhdGFJZF09PWl0ZW0uZGF0YVt0aGlzLmRhdGFJZF0pXG4gICAgICB7XG4gICAgICAgIHRoaXMuY3VycmVudENoaWxkSXRlbT0gaXRlbTtcbiAgICAgIH1cbiAgICAgIGVsc2VcbiAgICAgIHtcbiAgICAgICAgZWxlbWVudC5zZWxlY3RlZD1mYWxzZTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmN1cnJlbnRDaGlsZEl0ZW0uc2VsZWN0ZWQ9dHJ1ZTtcbiAgICB0aGlzLnNldERldGFpbERhdGEoKVxuICAgIHJldHVybiB0aGlzLmN1cnJlbnRDaGlsZEl0ZW1cbiAgfVxuICBzaG93Q2hpbGRyZW4oaXRlbTpDYXJkRGF0YSlcbiAge1xuICAgIHZhciBjdXJyVG9nZ2xlU3RhdGU9IGl0ZW0uaXNDaGlsZHJlbkV4cGFuZGVkO1xuICAgIHRoaXMuY2FyZERhdGFMaXN0LmZvckVhY2goXz0+e1xuICAgICAgXy5pc0NoaWxkcmVuRXhwYW5kZWQ9ZmFsc2VcbiAgICAgIF8uc2VsZWN0ZWQ9ZmFsc2U7XG4gICAgfSk7XG4gICAgaXRlbS5zZWxlY3RlZD10cnVlO1xuICAgIGl0ZW0uaXNDaGlsZHJlbkV4cGFuZGVkPSFjdXJyVG9nZ2xlU3RhdGVcbiAgfVxuXG4gIEBPdXRwdXQoKSBsb2FkTW9yZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBvbkxvYWRNb3JlQ2xpY2soKVxuICB7XG4gICAgdGhpcy5sb2FkTW9yZUNsaWNrLmVtaXQoKTtcbiAgfVxufVxuIiwiXG48ZGl2ICNtYWluIGNsYXNzPVwiY29udGFpbmVyIGZsZXgtY29sXCIgW3N0eWxlLmRpc3BsYXldPVwiJ2ZsZXgnXCIgW3N0eWxlLm1hcmdpbl09XCJtZ1wiID4gXG4gICAgIDwhLS0gSGVhZGVyIC0tPlxuICAgICA8bmctY29udGFpbmVyIG5nUHJvamVjdEFzPVwidmVyYmVuLWNhcmQtZGF0YS12aWV3LWhlYWRlclwiPlxuICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J3ZlcmJlbi1jYXJkLWRhdGEtdmlldy1oZWFkZXInPjwvbmctY29udGVudD5cbiAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgPGRpdiBbc3R5bGUucGFkZGluZ109XCJwZFwiICBbbmdDbGFzc109XCIhaGFzQ3VycmVudEl0ZW0oKT8nbWFzdGVyLW9ubHktY29udGFpbmVyJzonbWFzdGVyLWRldGFpbC1jb250YWluZXInXCIgID5cbiAgICAgIDwhLS0gQ2FyZCBhbmQgRm9vdGVyIC0tPlxuICAgICAgICA8ZGl2IFtzdHlsZS5ib3JkZXJSYWRpdXNdPVwiYm9yZGVyUmFkaXVzXCIgW3N0eWxlLmJhY2tncm91bmRDb2xvcl09XCJsYmdDb2xvclwiIGNsYXNzPVwiZmxleC1jb2wgXCI+XG4gICAgICAgICAgPCEtLSBDYXJkIHNlY3Rpb24gLS0+XG4gICAgICAgICAgPG5nLWNvbnRhaW5lciBuZ1Byb2plY3RBcz1cInZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3XCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J3ZlcmJlbi1sZWZ0LWNhcmQtZGF0YS12aWV3Jz48L25nLWNvbnRlbnQ+XG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XG5cbiAgICAgICAgICA8IS0tIEZvb3Rlci0tPlxuICAgICAgICAgIDxuZy1jb250YWluZXIgbmdQcm9qZWN0QXM9XCJ2ZXJiZW4tY2FyZC1kYXRhLXZpZXctZm9vdGVyXCI+XG4gICAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Q9J3ZlcmJlbi1jYXJkLWRhdGEtdmlldy1mb290ZXInPjwvbmctY29udGVudD5cbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPC9kaXY+XG4gICAgICA8IS0tIERldGFpbCBTZWN0aW9uLS0+XG4gICAgICAgPGRpdiBbc3R5bGUuYmFja2dyb3VuZENvbG9yXT1cInJiZ0NvbG9yXCIgKm5nSWY9XCJoYXNDdXJyZW50SXRlbSgpXCIgW3N0eWxlLmJvcmRlclJhZGl1c109XCJib3JkZXJSYWRpdXNcIj5cbiAgICAgICAgIDx2ZXJiZW4tc3ZnICAoY2xpY2spPVwiY2xlYXJEYXRhKClcIiBjbGFzcz1cImN1cnNvci1wb2ludGVyIHRvUmlnaHRcIiBpY29uPVwiY2xvc2VcIiBbd2lkdGhdPVwiMjBcIiBbaGVpZ2h0XT1cIjIwXCIgIGNvbG9yPVwiYmxhY2tcIj48L3ZlcmJlbi1zdmc+IFxuICAgICAgICAgPG5nLWNvbnRhaW5lciAjcmlnaHQgIG5nUHJvamVjdEFzPVwidmVyYmVuLXJpZ2h0LWNhcmQtZGF0YS12aWV3XCI+XG4gICAgICAgICAgIDxuZy1jb250ZW50ICNyaWdodENvbnRlbnQgc2VsZWN0PSd2ZXJiZW4tcmlnaHQtY2FyZC1kYXRhLXZpZXcnPjwvbmctY29udGVudD5cbiAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgIDwvZGl2PlxuICAgICA8L2Rpdj5cbjwvZGl2PiJdfQ==
|
|
@@ -3,5 +3,7 @@ export class CardData {
|
|
|
3
3
|
title = '';
|
|
4
4
|
body = [];
|
|
5
5
|
data;
|
|
6
|
+
children = [];
|
|
7
|
+
isChildrenExpanded = false;
|
|
6
8
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2FyZC1kYXRhLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWRhdGEtdmlldy9jYXJkLWRhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxPQUFPLFFBQVE7SUFFbkIsUUFBUSxHQUFTLEtBQUssQ0FBQztJQUN2QixLQUFLLEdBQVEsRUFBRSxDQUFDO0lBQ2hCLElBQUksR0FBK0IsRUFBRSxDQUFDO0lBQ3RDLElBQUksQ0FBTTtJQUNWLFFBQVEsR0FBWSxFQUFFLENBQUE7SUFDdEIsa0JBQWtCLEdBQVUsS0FBSyxDQUFBO0NBQ2xDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNsYXNzIENhcmREYXRhXG57XG4gIHNlbGVjdGVkOmJvb2xlYW49ZmFsc2U7XG4gIHRpdGxlOnN0cmluZz0nJztcbiAgYm9keTp7dGl0bGU6c3RyaW5nLHZhbHVlOnN0cmluZ31bXT1bXTtcbiAgZGF0YT86YW55O1xuICBjaGlsZHJlbjpDYXJkRGF0YVtdPVtdXG4gIGlzQ2hpbGRyZW5FeHBhbmRlZD86Ym9vbGVhbj1mYWxzZVxufSJdfQ==
|
|
@@ -9,13 +9,32 @@ export class LeftCardDataComponent {
|
|
|
9
9
|
activeCss;
|
|
10
10
|
inActiveCss;
|
|
11
11
|
cardDataList = [];
|
|
12
|
+
iconCollapse = "plus";
|
|
13
|
+
iconExpanded = "minus";
|
|
14
|
+
parent;
|
|
12
15
|
card;
|
|
16
|
+
cardChild;
|
|
17
|
+
dataId; //what to use to identify each data
|
|
18
|
+
// currentItem:any={};
|
|
19
|
+
showToggle(item) {
|
|
20
|
+
// showToggle() && item.children.length>0
|
|
21
|
+
return this.cardDataList.filter(_ => _.selected).length > 0 && item.children.length > 0;
|
|
22
|
+
}
|
|
23
|
+
showChildren(item) {
|
|
24
|
+
var currToggleState = item.isChildrenExpanded;
|
|
25
|
+
this.cardDataList.forEach(_ => {
|
|
26
|
+
_.isChildrenExpanded = false;
|
|
27
|
+
_.selected = false;
|
|
28
|
+
});
|
|
29
|
+
this.parent.onItemClick(item);
|
|
30
|
+
item.isChildrenExpanded = !currToggleState;
|
|
31
|
+
}
|
|
13
32
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LeftCardDataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
14
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: LeftCardDataComponent, selector: "verben-left-card-data", inputs: { pd: "pd", mg: "mg", height: "height", weight: "weight", activeCss: "activeCss", inActiveCss: "inActiveCss", cardDataList: "cardDataList" }, queries: [{ propertyName: "card", first: true, predicate: ["card"], descendants: true }], ngImport: i0, template: " @for (item of cardDataList; track
|
|
33
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.5", type: LeftCardDataComponent, selector: "verben-left-card-data", inputs: { pd: "pd", mg: "mg", height: "height", weight: "weight", activeCss: "activeCss", inActiveCss: "inActiveCss", cardDataList: "cardDataList", iconCollapse: "iconCollapse", iconExpanded: "iconExpanded", parent: "parent", dataId: "dataId" }, queries: [{ propertyName: "card", first: true, predicate: ["card"], descendants: true }, { propertyName: "cardChild", first: true, predicate: ["cardChild"], descendants: true }], ngImport: i0, template: " @for (item of cardDataList; track $index) {\n <div class=\"flex\">\n <div class=\"flex-col full-width\">\n <ng-content *ngTemplateOutlet=\"card;context: {$implicit: item}\"></ng-content>\n <!-- children -->\n <div class=\"childrenPadding flex-col flex\" *ngIf=\"item.children.length>0 && item.isChildrenExpanded\"> \n @for (child of item.children; track $index) {\n <ng-content *ngTemplateOutlet=\"cardChild;context: {index:$index, $implicit: child}\"></ng-content>\n }\n </div>\n </div>\n </div>\n \n }\n\n", styles: [":host{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;justify-content:center;padding:15px}.pad15{padding:5px}.center-icon{align-items:center}.full-width{width:100%}.childrenPadding{width:100%;padding:10px 10px 10px 15%;display:flex;gap:10px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
15
34
|
}
|
|
16
35
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImport: i0, type: LeftCardDataComponent, decorators: [{
|
|
17
36
|
type: Component,
|
|
18
|
-
args: [{ selector: 'verben-left-card-data', template: " @for (item of cardDataList; track
|
|
37
|
+
args: [{ selector: 'verben-left-card-data', template: " @for (item of cardDataList; track $index) {\n <div class=\"flex\">\n <div class=\"flex-col full-width\">\n <ng-content *ngTemplateOutlet=\"card;context: {$implicit: item}\"></ng-content>\n <!-- children -->\n <div class=\"childrenPadding flex-col flex\" *ngIf=\"item.children.length>0 && item.isChildrenExpanded\"> \n @for (child of item.children; track $index) {\n <ng-content *ngTemplateOutlet=\"cardChild;context: {index:$index, $implicit: child}\"></ng-content>\n }\n </div>\n </div>\n </div>\n \n }\n\n", styles: [":host{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:15px;justify-content:center;padding:15px}.pad15{padding:5px}.center-icon{align-items:center}.full-width{width:100%}.childrenPadding{width:100%;padding:10px 10px 10px 15%;display:flex;gap:10px}\n"] }]
|
|
19
38
|
}], propDecorators: { pd: [{
|
|
20
39
|
type: Input
|
|
21
40
|
}], mg: [{
|
|
@@ -30,8 +49,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.5", ngImpor
|
|
|
30
49
|
type: Input
|
|
31
50
|
}], cardDataList: [{
|
|
32
51
|
type: Input
|
|
52
|
+
}], iconCollapse: [{
|
|
53
|
+
type: Input
|
|
54
|
+
}], iconExpanded: [{
|
|
55
|
+
type: Input
|
|
56
|
+
}], parent: [{
|
|
57
|
+
type: Input
|
|
33
58
|
}], card: [{
|
|
34
59
|
type: ContentChild,
|
|
35
60
|
args: ['card']
|
|
61
|
+
}], cardChild: [{
|
|
62
|
+
type: ContentChild,
|
|
63
|
+
args: ['cardChild']
|
|
64
|
+
}], dataId: [{
|
|
65
|
+
type: Input
|
|
36
66
|
}] } });
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVmdC1jYXJkLWRhdGEuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdmVyYmVuLW5nLXVpL3NyYy9saWIvY29tcG9uZW50cy9jYXJkLWRhdGEtdmlldy9sZWZ0LWNhcmQtZGF0YS9sZWZ0LWNhcmQtZGF0YS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy92ZXJiZW4tbmctdWkvc3JjL2xpYi9jb21wb25lbnRzL2NhcmQtZGF0YS12aWV3L2xlZnQtY2FyZC1kYXRhL2xlZnQtY2FyZC1kYXRhLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBZSxNQUFNLGVBQWUsQ0FBQzs7O0FBUzVFLE1BQU0sT0FBTyxxQkFBcUI7SUFDdkIsRUFBRSxHQUFHLE1BQU0sQ0FBQztJQUNaLEVBQUUsR0FBRyxLQUFLLENBQUM7SUFDWCxNQUFNLEdBQVMsTUFBTSxDQUFDO0lBQ3RCLE1BQU0sR0FBUyxNQUFNLENBQUM7SUFDdEIsU0FBUyxDQUFVO0lBQ25CLFdBQVcsQ0FBVTtJQUNyQixZQUFZLEdBQVksRUFBRSxDQUFDO0lBQzNCLFlBQVksR0FBUSxNQUFNLENBQUM7SUFDM0IsWUFBWSxHQUFRLE9BQU8sQ0FBQztJQUM1QixNQUFNLENBQXdCO0lBQ2pCLElBQUksQ0FBb0I7SUFDbkIsU0FBUyxDQUFvQjtJQUMvQyxNQUFNLENBQVMsQ0FBQyxtQ0FBbUM7SUFDNUQsc0JBQXNCO0lBQ3RCLFVBQVUsQ0FBQyxJQUFhO1FBRXRCLHlDQUF5QztRQUMxQyxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQSxFQUFFLENBQUEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxDQUFDLE1BQU0sR0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEdBQUMsQ0FBQyxDQUFBO0lBQ2xGLENBQUM7SUFDRCxZQUFZLENBQUMsSUFBYTtRQUV4QixJQUFJLGVBQWUsR0FBRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7UUFDN0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFBLEVBQUU7WUFDM0IsQ0FBQyxDQUFDLGtCQUFrQixHQUFDLEtBQUssQ0FBQTtZQUMxQixDQUFDLENBQUMsUUFBUSxHQUFDLEtBQUssQ0FBQztRQUNuQixDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzlCLElBQUksQ0FBQyxrQkFBa0IsR0FBQyxDQUFDLGVBQWUsQ0FBQTtJQUMxQyxDQUFDO3VHQTdCVSxxQkFBcUI7MkZBQXJCLHFCQUFxQixzZUNUbEMsc3hCQWVBOzsyRkROYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0UsdUJBQXVCOzhCQUt4QixFQUFFO3NCQUFWLEtBQUs7Z0JBQ0csRUFBRTtzQkFBVixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csU0FBUztzQkFBakIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLE1BQU07c0JBQWQsS0FBSztnQkFDZ0IsSUFBSTtzQkFBekIsWUFBWTt1QkFBQyxNQUFNO2dCQUNPLFNBQVM7c0JBQW5DLFlBQVk7dUJBQUMsV0FBVztnQkFDaEIsTUFBTTtzQkFBZCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIElucHV0LCBUZW1wbGF0ZVJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ2FyZERhdGEgfSBmcm9tICcuLi9jYXJkLWRhdGEnO1xuaW1wb3J0IHsgQ2FyZERhdGFWaWV3Q29tcG9uZW50IH0gZnJvbSAnLi4vY2FyZC1kYXRhLXZpZXcuY29tcG9uZW50JztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndmVyYmVuLWxlZnQtY2FyZC1kYXRhJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2xlZnQtY2FyZC1kYXRhLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL2xlZnQtY2FyZC1kYXRhLmNvbXBvbmVudC5jc3MnXG59KVxuZXhwb3J0IGNsYXNzIExlZnRDYXJkRGF0YUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIHBkID0gJzEwcHgnO1xuICBASW5wdXQoKSBtZyA9ICcwcHgnO1xuICBASW5wdXQoKSBoZWlnaHQ/OnN0cmluZz1cIjEwMCVcIjtcbiAgQElucHV0KCkgd2VpZ2h0PzpzdHJpbmc9XCIxMDAlXCI7XG4gIEBJbnB1dCgpIGFjdGl2ZUNzcz86c3RyaW5nIDtcbiAgQElucHV0KCkgaW5BY3RpdmVDc3M/OnN0cmluZyA7XG4gIEBJbnB1dCgpIGNhcmREYXRhTGlzdDpDYXJkRGF0YVtdPVtdO1xuICBASW5wdXQoKSBpY29uQ29sbGFwc2U6c3RyaW5nPVwicGx1c1wiO1xuICBASW5wdXQoKSBpY29uRXhwYW5kZWQ6c3RyaW5nPVwibWludXNcIjtcbiAgQElucHV0KCkgcGFyZW50ITpDYXJkRGF0YVZpZXdDb21wb25lbnQ7XG4gIEBDb250ZW50Q2hpbGQoJ2NhcmQnKSBjYXJkITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQENvbnRlbnRDaGlsZCgnY2FyZENoaWxkJykgY2FyZENoaWxkITogVGVtcGxhdGVSZWY8YW55PjtcbiAgQElucHV0KCkgZGF0YUlkITpzdHJpbmc7IC8vd2hhdCB0byB1c2UgdG8gaWRlbnRpZnkgZWFjaCBkYXRhXG4gIC8vIGN1cnJlbnRJdGVtOmFueT17fTtcbiAgc2hvd1RvZ2dsZShpdGVtOkNhcmREYXRhKVxuICB7XG4gICAgLy8gc2hvd1RvZ2dsZSgpICYmIGl0ZW0uY2hpbGRyZW4ubGVuZ3RoPjBcbiAgIHJldHVybiB0aGlzLmNhcmREYXRhTGlzdC5maWx0ZXIoXz0+Xy5zZWxlY3RlZCkubGVuZ3RoPjAgJiYgaXRlbS5jaGlsZHJlbi5sZW5ndGg+MFxuICB9XG4gIHNob3dDaGlsZHJlbihpdGVtOkNhcmREYXRhKVxuICB7XG4gICAgdmFyIGN1cnJUb2dnbGVTdGF0ZT0gaXRlbS5pc0NoaWxkcmVuRXhwYW5kZWQ7XG4gICAgdGhpcy5jYXJkRGF0YUxpc3QuZm9yRWFjaChfPT57XG4gICAgICBfLmlzQ2hpbGRyZW5FeHBhbmRlZD1mYWxzZVxuICAgICAgXy5zZWxlY3RlZD1mYWxzZTtcbiAgICB9KTtcbiAgICB0aGlzLnBhcmVudC5vbkl0ZW1DbGljayhpdGVtKTtcbiAgICBpdGVtLmlzQ2hpbGRyZW5FeHBhbmRlZD0hY3VyclRvZ2dsZVN0YXRlXG4gIH1cblxufVxuIiwiICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBjYXJkRGF0YUxpc3Q7IHRyYWNrICAkaW5kZXgpIHtcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleFwiPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZmxleC1jb2wgZnVsbC13aWR0aFwiPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FyZDtjb250ZXh0OiB7JGltcGxpY2l0OiBpdGVtfVwiPjwvbmctY29udGVudD5cbiAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gY2hpbGRyZW4gLS0+XG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2hpbGRyZW5QYWRkaW5nIGZsZXgtY29sIGZsZXhcIiAqbmdJZj1cIml0ZW0uY2hpbGRyZW4ubGVuZ3RoPjAgJiYgaXRlbS5pc0NoaWxkcmVuRXhwYW5kZWRcIj4gXG4gICAgICAgICAgICAgICAgICAgICAgICAgICBAZm9yIChjaGlsZCBvZiBpdGVtLmNoaWxkcmVuOyB0cmFjayAgJGluZGV4KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRlbnQgICpuZ1RlbXBsYXRlT3V0bGV0PVwiY2FyZENoaWxkO2NvbnRleHQ6IHtpbmRleDokaW5kZXgsICRpbXBsaWNpdDogY2hpbGR9XCI+PC9uZy1jb250ZW50PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuXG4iXX0=
|