@litigiovirtual/ius-design-components 1.0.289 → 1.0.291
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/avatar-business/avatar-business.component.mjs +1 -1
- package/esm2022/lib/avatar-v2/avatar-v2.component.mjs +1 -1
- package/esm2022/lib/button-standard-outline/button-standard-outline.component.mjs +3 -3
- package/esm2022/lib/button-standard-outline/index.mjs +1 -1
- package/esm2022/lib/card-actividad-evento/card-actividad-evento.component.mjs +3 -3
- package/esm2022/lib/card-etapa-subetapa/card-etapa-subetapa.component.mjs +3 -3
- package/esm2022/lib/card-impulso-procesal/card-impulso-procesal.component.mjs +3 -3
- package/esm2022/lib/card-vigilancia-judicial/card-vigilancia-judicial.component.mjs +3 -3
- package/esm2022/lib/create-ticket/create-ticket.component.mjs +3 -3
- package/esm2022/lib/create-ticket/index.mjs +1 -1
- package/esm2022/lib/custom-dropdown/custom-dropdown.component.mjs +139 -24
- package/esm2022/lib/option/option.component.mjs +3 -3
- package/esm2022/utils/currency-format.pipe.mjs +1 -1
- package/esm2022/utils/date-format.util.mjs +1 -1
- package/esm2022/utils/file-mime.util.mjs +1 -1
- package/esm2022/utils/file-size.util.mjs +1 -1
- package/esm2022/utils/formato-hora.pipe.mjs +1 -1
- package/esm2022/utils/list-filter.util.mjs +1 -1
- package/esm2022/utils/public-api.mjs +1 -1
- package/fesm2022/litigiovirtual-ius-design-components-utils.mjs.map +1 -1
- package/fesm2022/litigiovirtual-ius-design-components.mjs +147 -34
- package/fesm2022/litigiovirtual-ius-design-components.mjs.map +1 -1
- package/lib/custom-dropdown/custom-dropdown.component.d.ts +24 -4
- package/package.json +1 -1
|
@@ -1,19 +1,30 @@
|
|
|
1
|
-
import { Component, EventEmitter, HostListener, Input, Output } from '@angular/core';
|
|
1
|
+
import { Component, EventEmitter, HostListener, Input, Output, ViewChild } from '@angular/core';
|
|
2
|
+
import { TemplatePortal } from '@angular/cdk/portal';
|
|
2
3
|
import { IconMdComponent } from '../icon-md/icon-md.component';
|
|
3
4
|
import { CommonModule } from '@angular/common';
|
|
4
5
|
import { FormsModule } from '@angular/forms';
|
|
5
6
|
import { SimpleDividerComponent } from '../simple-divider';
|
|
6
7
|
import { ButtonStandardTertiaryComponent } from '../button-standard-tertiary';
|
|
7
8
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "@angular/
|
|
9
|
-
import * as i2 from "@angular/
|
|
9
|
+
import * as i1 from "@angular/cdk/overlay";
|
|
10
|
+
import * as i2 from "@angular/forms";
|
|
11
|
+
import * as i3 from "@angular/common";
|
|
10
12
|
export class CustomDropdownComponent {
|
|
11
|
-
|
|
13
|
+
get showList() {
|
|
14
|
+
return this._overlayRef !== null;
|
|
15
|
+
}
|
|
16
|
+
constructor(_el, _overlay, _vcr) {
|
|
17
|
+
this._el = _el;
|
|
18
|
+
this._overlay = _overlay;
|
|
19
|
+
this._vcr = _vcr;
|
|
12
20
|
this.isFocused = false;
|
|
13
21
|
this.isAlertText = false;
|
|
14
|
-
this.showList = false;
|
|
15
22
|
this.hasClickedInside = false;
|
|
16
23
|
this.selected = false;
|
|
24
|
+
this._overlayRef = null;
|
|
25
|
+
this._scrollListener = () => { this._overlayRef?.updatePosition(); };
|
|
26
|
+
this._debounceTimer = null;
|
|
27
|
+
this._scrolledEndCooldown = false;
|
|
17
28
|
this.componentId = '';
|
|
18
29
|
this.required = false;
|
|
19
30
|
this.disabled = false;
|
|
@@ -24,46 +35,104 @@ export class CustomDropdownComponent {
|
|
|
24
35
|
this.textBtnAdd = 'Agregar';
|
|
25
36
|
this.textInput = '';
|
|
26
37
|
this.element = '';
|
|
38
|
+
this.debounceMs = 300;
|
|
39
|
+
this.enableInfiniteScroll = false;
|
|
40
|
+
this.loading = false;
|
|
27
41
|
this.onChangesValueEvent = new EventEmitter();
|
|
28
42
|
this.onEnterKey = new EventEmitter();
|
|
29
43
|
this.onAddElement = new EventEmitter();
|
|
30
44
|
this.onBlurEvent = new EventEmitter();
|
|
45
|
+
this.onFocusEvent = new EventEmitter();
|
|
46
|
+
this.onScrolledToEnd = new EventEmitter();
|
|
31
47
|
}
|
|
32
48
|
onClickOutside(event) {
|
|
33
|
-
if (!this.hasClickedInside)
|
|
49
|
+
if (!this.hasClickedInside) {
|
|
34
50
|
return;
|
|
51
|
+
}
|
|
35
52
|
const target = event.target;
|
|
36
|
-
|
|
37
|
-
if (
|
|
38
|
-
|
|
39
|
-
this.showList = false;
|
|
40
|
-
this.isAlertText = !this.selected && !this.showList;
|
|
53
|
+
// Click dentro del panel overlay (opciones o "agregar elemento") → no cerrar
|
|
54
|
+
if (this._overlayRef?.overlayElement.contains(target)) {
|
|
55
|
+
return;
|
|
41
56
|
}
|
|
57
|
+
// Click dentro del textfield → no cerrar
|
|
58
|
+
const textfield = this._el.nativeElement.querySelector('.container-textfield');
|
|
59
|
+
if (textfield?.contains(target)) {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
this.closeList();
|
|
63
|
+
}
|
|
64
|
+
closeList(event) {
|
|
65
|
+
if (event) {
|
|
66
|
+
event.stopImmediatePropagation();
|
|
67
|
+
}
|
|
68
|
+
this.isFocused = false;
|
|
69
|
+
this._closePanel();
|
|
70
|
+
if (!this.selected && this.required) {
|
|
71
|
+
this.isAlertText = true;
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.isAlertText = false;
|
|
75
|
+
}
|
|
76
|
+
this.onBlurEvent.emit();
|
|
42
77
|
}
|
|
43
78
|
onInput() {
|
|
44
|
-
if (this.selected)
|
|
79
|
+
if (this.selected) {
|
|
45
80
|
this.selected = false;
|
|
46
|
-
|
|
81
|
+
}
|
|
82
|
+
if (this.debounceMs <= 0) {
|
|
83
|
+
this.onChangesValueEvent.emit(this.textInput);
|
|
84
|
+
return;
|
|
85
|
+
}
|
|
86
|
+
if (this._debounceTimer) {
|
|
87
|
+
clearTimeout(this._debounceTimer);
|
|
88
|
+
}
|
|
89
|
+
this._debounceTimer = setTimeout(() => {
|
|
90
|
+
this.onChangesValueEvent.emit(this.textInput);
|
|
91
|
+
}, this.debounceMs);
|
|
92
|
+
}
|
|
93
|
+
onListScroll(event) {
|
|
94
|
+
if (!this.enableInfiniteScroll) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
const el = event.target;
|
|
98
|
+
const threshold = 48;
|
|
99
|
+
const nearBottom = el.scrollTop + el.clientHeight >= el.scrollHeight - threshold;
|
|
100
|
+
if (!nearBottom || this._scrolledEndCooldown) {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
this._scrolledEndCooldown = true;
|
|
104
|
+
this.onScrolledToEnd.emit();
|
|
105
|
+
setTimeout(() => { this._scrolledEndCooldown = false; }, 300);
|
|
47
106
|
}
|
|
48
107
|
onFocus() {
|
|
108
|
+
if (this.disabled) {
|
|
109
|
+
return;
|
|
110
|
+
}
|
|
49
111
|
this.isFocused = true;
|
|
50
|
-
this.showList = true;
|
|
51
112
|
this.hasClickedInside = true;
|
|
113
|
+
if (!this.showList) {
|
|
114
|
+
this._openPanel();
|
|
115
|
+
}
|
|
116
|
+
this.onFocusEvent.emit();
|
|
52
117
|
}
|
|
53
118
|
onBlur() {
|
|
54
119
|
this.isFocused = false;
|
|
120
|
+
if (this.showList) {
|
|
121
|
+
return;
|
|
122
|
+
}
|
|
55
123
|
if (this.required) {
|
|
56
124
|
this.isAlertText = this.textInput === '';
|
|
57
125
|
}
|
|
58
|
-
this.onBlurEvent.emit();
|
|
59
126
|
}
|
|
60
127
|
onKeyPress(event) {
|
|
61
|
-
if (event.key === 'Enter')
|
|
128
|
+
if (event.key === 'Enter') {
|
|
62
129
|
this.addText();
|
|
130
|
+
}
|
|
63
131
|
}
|
|
64
132
|
onKeyPressAddElement(event) {
|
|
65
|
-
if (event.key === 'Enter')
|
|
133
|
+
if (event.key === 'Enter') {
|
|
66
134
|
this.addElementText();
|
|
135
|
+
}
|
|
67
136
|
}
|
|
68
137
|
onClickAddElement() {
|
|
69
138
|
if (this.element.trim() !== '') {
|
|
@@ -86,13 +155,46 @@ export class CustomDropdownComponent {
|
|
|
86
155
|
}
|
|
87
156
|
}
|
|
88
157
|
onSelectOption() {
|
|
158
|
+
this.selected = true;
|
|
89
159
|
this.isFocused = false;
|
|
90
|
-
this.
|
|
160
|
+
this._closePanel();
|
|
91
161
|
this.isAlertText = false;
|
|
92
|
-
this.selected = true;
|
|
93
162
|
}
|
|
94
|
-
|
|
95
|
-
|
|
163
|
+
_openPanel() {
|
|
164
|
+
const textfield = this._el.nativeElement.querySelector('.container-textfield');
|
|
165
|
+
const anchor = textfield ?? this._el;
|
|
166
|
+
const positionStrategy = this._overlay
|
|
167
|
+
.position()
|
|
168
|
+
.flexibleConnectedTo(anchor)
|
|
169
|
+
.withFlexibleDimensions(false)
|
|
170
|
+
.withPush(false)
|
|
171
|
+
.withPositions([
|
|
172
|
+
{ originX: 'start', originY: 'bottom', overlayX: 'start', overlayY: 'top', offsetY: 4 },
|
|
173
|
+
{ originX: 'start', originY: 'top', overlayX: 'start', overlayY: 'bottom', offsetY: -4 },
|
|
174
|
+
]);
|
|
175
|
+
this._overlayRef = this._overlay.create({
|
|
176
|
+
positionStrategy,
|
|
177
|
+
scrollStrategy: this._overlay.scrollStrategies.reposition(),
|
|
178
|
+
width: (textfield ?? this._el.nativeElement).getBoundingClientRect().width,
|
|
179
|
+
});
|
|
180
|
+
this._overlayRef.attach(new TemplatePortal(this.listPanel, this._vcr));
|
|
181
|
+
window.addEventListener('scroll', this._scrollListener, true);
|
|
182
|
+
}
|
|
183
|
+
_closePanel() {
|
|
184
|
+
if (this._overlayRef) {
|
|
185
|
+
this._overlayRef.dispose();
|
|
186
|
+
this._overlayRef = null;
|
|
187
|
+
window.removeEventListener('scroll', this._scrollListener, true);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
ngOnDestroy() {
|
|
191
|
+
if (this._debounceTimer) {
|
|
192
|
+
clearTimeout(this._debounceTimer);
|
|
193
|
+
}
|
|
194
|
+
this._closePanel();
|
|
195
|
+
}
|
|
196
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomDropdownComponent, deps: [{ token: i0.ElementRef }, { token: i1.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
197
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: CustomDropdownComponent, isStandalone: true, selector: "ius-custom-dropdown", inputs: { componentId: "componentId", required: "required", disabled: "disabled", showHelpText: "showHelpText", error: "error", labelSuperior: "labelSuperior", labelInferior: "labelInferior", errorText: "errorText", labelInput: "labelInput", iconInput: "iconInput", placeholderAddText: "placeholderAddText", iconBtnAdd: "iconBtnAdd", textBtnAdd: "textBtnAdd", textInput: "textInput", element: "element", debounceMs: "debounceMs", enableInfiniteScroll: "enableInfiniteScroll", loading: "loading" }, outputs: { onChangesValueEvent: "onChangesValueEvent", onEnterKey: "onEnterKey", onAddElement: "onAddElement", onBlurEvent: "onBlurEvent", onFocusEvent: "onFocusEvent", onScrolledToEnd: "onScrolledToEnd" }, host: { listeners: { "document:click": "onClickOutside($event)" } }, viewQueries: [{ propertyName: "listPanel", first: true, predicate: ["listPanel"], descendants: true }], ngImport: i0, template: "<div class=\"container-general\" [id]=\"componentId\">\r\n\r\n <!-- Label superior -->\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{ disabled: disabled }\">\r\n @if (!disabled && required) {\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span>{{ labelSuperior }}</span>\r\n @if (!disabled && showHelpText) {\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n\r\n <!-- Input principal -->\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: isFocused,\r\n alert: (!isFocused && isAlertText && !disabled) || (error && !disabled)\r\n }\"\r\n (click)=\"onFocus()\"\r\n >\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"textInput\"\r\n [placeholder]=\"labelInput\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInput()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n @if (!showList) {\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n } @else {\r\n <div (click)=\"closeList($event)\" style=\"height: 20px;\">\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- Label inferior -->\r\n @if (labelInferior && isFocused && !error) {\r\n <span class=\"label-inf\">{{ labelInferior }}</span>\r\n }\r\n @if ((errorText || labelInferior) && ((!isFocused && isAlertText && !disabled) || (error && !disabled))) {\r\n <span class=\"label-inf\" [ngClass]=\"{ alert: (!isFocused && isAlertText && !disabled) || (error && !disabled) }\">\r\n {{ errorText ?? labelInferior }}\r\n </span>\r\n }\r\n\r\n <!-- Lista de opciones (CDK overlay) -->\r\n <ng-template #listPanel>\r\n <div class=\"container-options\">\r\n <div class=\"container-list scrollable-small\" (scroll)=\"onListScroll($event)\">\r\n <div (click)=\"onSelectOption()\">\r\n <ng-content selector=\"ius-option\"></ng-content>\r\n </div>\r\n @if (loading) {\r\n <div class=\"cnt-loading-option\">Cargando\u2026</div>\r\n }\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"add-data\">\r\n <div class=\"container-text\">\r\n <input\r\n type=\"text\"\r\n class=\"input-text\"\r\n [(ngModel)]=\"element\"\r\n (keypress)=\"onKeyPressAddElement($event)\"\r\n [placeholder]=\"placeholderAddText\"\r\n />\r\n </div>\r\n <div class=\"button-add-option\">\r\n <ius-button-standard-tertiary\r\n [iconName]=\"iconBtnAdd\"\r\n (click)=\"onClickAddElement()\"\r\n >\r\n {{ textBtnAdd }}\r\n </ius-button-standard-tertiary>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-textfield{display:flex;padding:10px 12px;justify-content:center;align-items:flex-start;gap:4px;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.disabled{background:#f5f5f5}.container-textfield.disabled .icon-color,.container-textfield.disabled .icon-arrows{color:#bfbfbf}.container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.icon-color{color:#595959}.icon-arrows{color:#333}.icon-color-help{color:#8c8c8c}input{display:flex;align-items:center;flex:1 0 0;border:none;outline:none;background-color:transparent;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.cnt-icon-right{display:flex;align-items:center;justify-content:center;background:none;padding:0;color:#333}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{display:flex;align-items:center;width:4px;height:4px;aspect-ratio:1/1;background-color:#db2e2a;border-radius:100px}.label-inf{display:flex;position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}.container-options{width:100%;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.container-list{max-height:144px;display:flex;flex-direction:column;margin-top:4px;overflow-y:auto}.add-data{display:flex;padding-top:8px;padding-bottom:8px;align-items:center;gap:10px;width:100%;background:#fff;border-radius:8px}.add-data .container-text{display:flex;width:60%;align-items:flex-start;gap:4px}.add-data .container-text .input-text{width:100%;display:flex;margin-left:10px;padding:12px;justify-content:center;align-items:flex-start;gap:4px;border-radius:8px;background:#f5f5f5}.add-data .button-add-option{margin-right:10px;width:40%}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:4px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}\n"], dependencies: [{ kind: "component", type: IconMdComponent, selector: "ius-icon-md", inputs: ["iconName", "color"] }, { kind: "ngmodule", type: FormsModule }, { 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: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: SimpleDividerComponent, selector: "ius-simple-divider" }, { kind: "component", type: ButtonStandardTertiaryComponent, selector: "ius-button-standard-tertiary", inputs: ["disabled", "iconName"], outputs: ["buttonClicked"] }] }); }
|
|
96
198
|
}
|
|
97
199
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: CustomDropdownComponent, decorators: [{
|
|
98
200
|
type: Component,
|
|
@@ -102,8 +204,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
102
204
|
CommonModule,
|
|
103
205
|
SimpleDividerComponent,
|
|
104
206
|
ButtonStandardTertiaryComponent
|
|
105
|
-
], template: "<div class=\"container-general\" [id]=\"componentId\">\r\n\r\n <!-- Label superior -->\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{ disabled: disabled }\">\r\n @if (!disabled && required) {\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span>{{ labelSuperior }}</span>\r\n @if (!disabled && showHelpText) {\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n\r\n <!-- Input principal -->\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: isFocused,\r\n alert: (!isFocused && isAlertText && !disabled) || (error && !disabled)\r\n }\"\r\n >\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"textInput\"\r\n [placeholder]=\"labelInput\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInput()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n @if (!showList) {\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n } @else {\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- Label inferior -->\r\n @if (labelInferior && isFocused && !error) {\r\n <span class=\"label-inf\">{{ labelInferior }}</span>\r\n }\r\n @if ((errorText || labelInferior) && ((!isFocused && isAlertText && !disabled) || (error && !disabled))) {\r\n <span class=\"label-inf\" [ngClass]=\"{ alert: (!isFocused && isAlertText && !disabled) || (error && !disabled) }\">\r\n {{ errorText ?? labelInferior }}\r\n </span>\r\n }\r\n\r\n <!-- Lista de opciones -->\r\n
|
|
106
|
-
}], propDecorators: {
|
|
207
|
+
], template: "<div class=\"container-general\" [id]=\"componentId\">\r\n\r\n <!-- Label superior -->\r\n @if (labelSuperior) {\r\n <div class=\"container-label-sup\" [ngClass]=\"{ disabled: disabled }\">\r\n @if (!disabled && required) {\r\n <div class=\"icon-dot\"></div>\r\n }\r\n <span>{{ labelSuperior }}</span>\r\n @if (!disabled && showHelpText) {\r\n <ius-icon-md iconName=\"icon-help\" class=\"icon-color-help\"></ius-icon-md>\r\n }\r\n <span>:</span>\r\n </div>\r\n }\r\n\r\n <!-- Input principal -->\r\n <div\r\n class=\"container-textfield\"\r\n [ngClass]=\"{\r\n disabled: disabled,\r\n focused: isFocused,\r\n alert: (!isFocused && isAlertText && !disabled) || (error && !disabled)\r\n }\"\r\n (click)=\"onFocus()\"\r\n >\r\n @if (iconInput) {\r\n <ius-icon-md [iconName]=\"iconInput\" class=\"icon-color\"></ius-icon-md>\r\n }\r\n <input\r\n type=\"text\"\r\n [(ngModel)]=\"textInput\"\r\n [placeholder]=\"labelInput\"\r\n [disabled]=\"disabled\"\r\n (input)=\"onInput()\"\r\n (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\"\r\n (keypress)=\"onKeyPress($event)\"\r\n />\r\n <div class=\"cnt-icon-right\">\r\n @if (!showList) {\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-down\" class=\"icon-arrows\"></ius-icon-md>\r\n } @else {\r\n <div (click)=\"closeList($event)\" style=\"height: 20px;\">\r\n <ius-icon-md iconName=\"icon-keyboard-arrow-up\" class=\"icon-arrows\"></ius-icon-md>\r\n </div>\r\n }\r\n </div>\r\n </div>\r\n\r\n <!-- Label inferior -->\r\n @if (labelInferior && isFocused && !error) {\r\n <span class=\"label-inf\">{{ labelInferior }}</span>\r\n }\r\n @if ((errorText || labelInferior) && ((!isFocused && isAlertText && !disabled) || (error && !disabled))) {\r\n <span class=\"label-inf\" [ngClass]=\"{ alert: (!isFocused && isAlertText && !disabled) || (error && !disabled) }\">\r\n {{ errorText ?? labelInferior }}\r\n </span>\r\n }\r\n\r\n <!-- Lista de opciones (CDK overlay) -->\r\n <ng-template #listPanel>\r\n <div class=\"container-options\">\r\n <div class=\"container-list scrollable-small\" (scroll)=\"onListScroll($event)\">\r\n <div (click)=\"onSelectOption()\">\r\n <ng-content selector=\"ius-option\"></ng-content>\r\n </div>\r\n @if (loading) {\r\n <div class=\"cnt-loading-option\">Cargando\u2026</div>\r\n }\r\n </div>\r\n <ius-simple-divider></ius-simple-divider>\r\n <div class=\"add-data\">\r\n <div class=\"container-text\">\r\n <input\r\n type=\"text\"\r\n class=\"input-text\"\r\n [(ngModel)]=\"element\"\r\n (keypress)=\"onKeyPressAddElement($event)\"\r\n [placeholder]=\"placeholderAddText\"\r\n />\r\n </div>\r\n <div class=\"button-add-option\">\r\n <ius-button-standard-tertiary\r\n [iconName]=\"iconBtnAdd\"\r\n (click)=\"onClickAddElement()\"\r\n >\r\n {{ textBtnAdd }}\r\n </ius-button-standard-tertiary>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n</div>\r\n", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.container-general{position:relative;height:100%}.container-textfield{display:flex;padding:10px 12px;justify-content:center;align-items:flex-start;gap:4px;border:1px solid #f5f5f5;border-radius:8px;background:#f5f5f5;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.container-textfield:hover:not(.disabled):not(.focused):not(.alert){background:#edf6ff}.container-textfield.focused{border:1px solid #0581BC;background:#edf6ff}.container-textfield.disabled{background:#f5f5f5}.container-textfield.disabled .icon-color,.container-textfield.disabled .icon-arrows{color:#bfbfbf}.container-textfield.disabled input::placeholder{color:#bfbfbf;opacity:1}.container-textfield.alert{border:1px solid #DB2E2A;background:#fff4f0}.icon-color{color:#595959}.icon-arrows{color:#333}.icon-color-help{color:#8c8c8c}input{display:flex;align-items:center;flex:1 0 0;border:none;outline:none;background-color:transparent;font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.cnt-icon-right{display:flex;align-items:center;justify-content:center;background:none;padding:0;color:#333}.container-label-sup{display:flex;align-items:center;gap:4px;margin-bottom:8px;color:#333;font-family:Roboto,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.container-label-sup.disabled{color:#bfbfbf}.icon-dot{display:flex;align-items:center;width:4px;height:4px;aspect-ratio:1/1;background-color:#db2e2a;border-radius:100px}.label-inf{display:flex;position:absolute;margin-top:4px;color:#595959;font-family:Roboto,sans-serif;font-size:.75rem;font-style:italic;font-weight:500;line-height:16px;letter-spacing:.24px}.label-inf.alert{color:#931224}.container-options{width:100%;border-radius:8px;background:#fff;box-shadow:0 2px 6px #00000024,0 1px 10px #0000001a}.container-list{max-height:144px;display:flex;flex-direction:column;margin-top:4px;overflow-y:auto}.add-data{display:flex;padding-top:8px;padding-bottom:8px;align-items:center;gap:10px;width:100%;background:#fff;border-radius:8px}.add-data .container-text{display:flex;width:60%;align-items:flex-start;gap:4px}.add-data .container-text .input-text{width:100%;display:flex;margin-left:10px;padding:12px;justify-content:center;align-items:flex-start;gap:4px;border-radius:8px;background:#f5f5f5}.add-data .button-add-option{margin-right:10px;width:40%}.scrollable-small::-webkit-scrollbar{-webkit-appearance:none}.scrollable-small::-webkit-scrollbar:vertical{width:4px;height:32px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar:horizontal{height:5px;padding-top:2px;padding-bottom:2px}.scrollable-small::-webkit-scrollbar-thumb{background-color:#08a6db;border-radius:4px}\n"] }]
|
|
208
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i1.Overlay }, { type: i0.ViewContainerRef }], propDecorators: { listPanel: [{
|
|
209
|
+
type: ViewChild,
|
|
210
|
+
args: ['listPanel']
|
|
211
|
+
}], componentId: [{
|
|
107
212
|
type: Input,
|
|
108
213
|
args: [{ required: true }]
|
|
109
214
|
}], required: [{
|
|
@@ -134,6 +239,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
134
239
|
type: Input
|
|
135
240
|
}], element: [{
|
|
136
241
|
type: Input
|
|
242
|
+
}], debounceMs: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], enableInfiniteScroll: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], loading: [{
|
|
247
|
+
type: Input
|
|
137
248
|
}], onChangesValueEvent: [{
|
|
138
249
|
type: Output
|
|
139
250
|
}], onEnterKey: [{
|
|
@@ -142,8 +253,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
142
253
|
type: Output
|
|
143
254
|
}], onBlurEvent: [{
|
|
144
255
|
type: Output
|
|
256
|
+
}], onFocusEvent: [{
|
|
257
|
+
type: Output
|
|
258
|
+
}], onScrolledToEnd: [{
|
|
259
|
+
type: Output
|
|
145
260
|
}], onClickOutside: [{
|
|
146
261
|
type: HostListener,
|
|
147
262
|
args: ['document:click', ['$event']]
|
|
148
263
|
}] } });
|
|
149
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7OztBQWU5RSxNQUFNLE9BQU8sdUJBQXVCO0lBYnBDO1FBZUUsY0FBUyxHQUFHLEtBQUssQ0FBQztRQUNsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUNwQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQUN6QixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBRVUsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDM0MsYUFBUSxHQUFHLEtBQUssQ0FBQztRQUNqQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLGlCQUFZLEdBQUcsS0FBSyxDQUFDO1FBQ3JCLFVBQUssR0FBWSxLQUFLLENBQUM7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SztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBRUksbUJBQW1CO3NCQUE1QixNQUFNO2dCQUNHLFVBQVU7c0JBQW5CLE1BQU07Z0JBQ0csWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxXQUFXO3NCQUFwQixNQUFNO2dCQUdQLGNBQWM7c0JBRGIsWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPdXRwdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSWNvbk1kQ29tcG9uZW50IH0gZnJvbSAnLi4vaWNvbi1tZC9pY29uLW1kLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBTaW1wbGVEaXZpZGVyQ29tcG9uZW50IH0gZnJvbSAnLi4vc2ltcGxlLWRpdmlkZXInO1xyXG5pbXBvcnQgeyBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi4vYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnaXVzLWN1c3RvbS1kcm9wZG93bicsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBJY29uTWRDb21wb25lbnQsXHJcbiAgICBGb3Jtc01vZHVsZSxcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIFNpbXBsZURpdmlkZXJDb21wb25lbnQsXHJcbiAgICBCdXR0b25TdGFuZGFyZFRlcnRpYXJ5Q29tcG9uZW50XHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5zY3NzJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgQ3VzdG9tRHJvcGRvd25Db21wb25lbnQge1xyXG5cclxuICBpc0ZvY3VzZWQgPSBmYWxzZTtcclxuICBpc0FsZXJ0VGV4dCA9IGZhbHNlO1xyXG4gIHNob3dMaXN0ID0gZmFsc2U7XHJcbiAgaGFzQ2xpY2tlZEluc2lkZSA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbXBvbmVudElkOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0hlbHBUZXh0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGFiZWxTdXBlcmlvcj86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbEluZmVyaW9yPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yVGV4dD86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbElucHV0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25JbnB1dD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXJBZGRUZXh0ID0gJ0RpZ2l0ZSB1bmEgbnVldmEnO1xyXG4gIEBJbnB1dCgpIGljb25CdG5BZGQgPSAnaWNvbi1hZGQnO1xyXG4gIEBJbnB1dCgpIHRleHRCdG5BZGQgPSAnQWdyZWdhcic7XHJcblxyXG4gIEBJbnB1dCgpIHRleHRJbnB1dCA9ICcnO1xyXG4gIEBJbnB1dCgpIGVsZW1lbnQgPSAnJztcclxuXHJcbiAgQE91dHB1dCgpIG9uQ2hhbmdlc1ZhbHVlRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICBAT3V0cHV0KCkgb25FbnRlcktleSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkFkZEVsZW1lbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHN0cmluZz4oKTtcclxuICBAT3V0cHV0KCkgb25CbHVyRXZlbnQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrT3V0c2lkZShldmVudDogRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5oYXNDbGlja2VkSW5zaWRlKSByZXR1cm47XHJcblxyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5jb21wb25lbnRJZCk7XHJcblxyXG4gICAgaWYgKGNvbnRhaW5lciAmJiAhY29udGFpbmVyLmNvbnRhaW5zKHRhcmdldCkpIHtcclxuICAgICAgdGhpcy5pc0ZvY3VzZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5zaG93TGlzdCA9IGZhbHNlO1xyXG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gIXRoaXMuc2VsZWN0ZWQgJiYgIXRoaXMuc2hvd0xpc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbklucHV0KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWQpIHRoaXMuc2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgIHRoaXMub25DaGFuZ2VzVmFsdWVFdmVudC5lbWl0KHRoaXMudGV4dElucHV0KTtcclxuICB9XHJcblxyXG4gIG9uRm9jdXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IHRydWU7XHJcbiAgICB0aGlzLnNob3dMaXN0ID0gdHJ1ZTtcclxuICAgIHRoaXMuaGFzQ2xpY2tlZEluc2lkZSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRoaXMudGV4dElucHV0ID09PSAnJztcclxuICAgIH1cclxuICAgIHRoaXMub25CbHVyRXZlbnQuZW1pdCgpO1xyXG4gIH1cclxuXHJcbiAgb25LZXlQcmVzcyhldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykgdGhpcy5hZGRUZXh0KCk7XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzQWRkRWxlbWVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykgdGhpcy5hZGRFbGVtZW50VGV4dCgpO1xyXG4gIH1cclxuXHJcbiAgb25DbGlja0FkZEVsZW1lbnQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50LnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgdGhpcy5vbkFkZEVsZW1lbnQuZW1pdCh0aGlzLmVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmVsZW1lbnQgPSAnJztcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNBbGVydFRleHQgPSB0cnVlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkRWxlbWVudFRleHQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5lbGVtZW50LnRyaW0oKSAhPT0gJycpIHtcclxuICAgICAgdGhpcy5vbkFkZEVsZW1lbnQuZW1pdCh0aGlzLmVsZW1lbnQpO1xyXG4gICAgICB0aGlzLmVsZW1lbnQgPSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGFkZFRleHQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy50ZXh0SW5wdXQudHJpbSgpICE9PSAnJykge1xyXG4gICAgICB0aGlzLm9uRW50ZXJLZXkuZW1pdCh0aGlzLnRleHRJbnB1dCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdE9wdGlvbigpOiB2b2lkIHtcclxuICAgIHRoaXMuaXNGb2N1c2VkID0gZmFsc2U7XHJcbiAgICB0aGlzLnNob3dMaXN0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgICB0aGlzLnNlbGVjdGVkID0gdHJ1ZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImNvbnRhaW5lci1nZW5lcmFsXCIgW2lkXT1cImNvbXBvbmVudElkXCI+XHJcblxyXG4gIDwhLS0gTGFiZWwgc3VwZXJpb3IgLS0+XHJcbiAgQGlmIChsYWJlbFN1cGVyaW9yKSB7XHJcbiAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxhYmVsLXN1cFwiIFtuZ0NsYXNzXT1cInsgZGlzYWJsZWQ6IGRpc2FibGVkIH1cIj5cclxuICAgICAgQGlmICghZGlzYWJsZWQgJiYgcmVxdWlyZWQpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1kb3RcIj48L2Rpdj5cclxuICAgICAgfVxyXG4gICAgICA8c3Bhbj57eyBsYWJlbFN1cGVyaW9yIH19PC9zcGFuPlxyXG4gICAgICBAaWYgKCFkaXNhYmxlZCAmJiBzaG93SGVscFRleHQpIHtcclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWhlbHBcIiBjbGFzcz1cImljb24tY29sb3ItaGVscFwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgIH1cclxuICAgICAgPHNwYW4+Ojwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuXHJcbiAgPCEtLSBJbnB1dCBwcmluY2lwYWwgLS0+XHJcbiAgPGRpdlxyXG4gICAgY2xhc3M9XCJjb250YWluZXItdGV4dGZpZWxkXCJcclxuICAgIFtuZ0NsYXNzXT1cIntcclxuICAgICAgZGlzYWJsZWQ6IGRpc2FibGVkLFxyXG4gICAgICBmb2N1c2VkOiBpc0ZvY3VzZWQsXHJcbiAgICAgIGFsZXJ0OiAoIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWQpIHx8IChlcnJvciAmJiAhZGlzYWJsZWQpXHJcbiAgICB9XCJcclxuICA+XHJcbiAgICBAaWYgKGljb25JbnB1dCkge1xyXG4gICAgICA8aXVzLWljb24tbWQgW2ljb25OYW1lXT1cImljb25JbnB1dFwiIGNsYXNzPVwiaWNvbi1jb2xvclwiPjwvaXVzLWljb24tbWQ+XHJcbiAgICB9XHJcbiAgICA8aW5wdXRcclxuICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cInRleHRJbnB1dFwiXHJcbiAgICAgIFtwbGFjZWhvbGRlcl09XCJsYWJlbElucHV0XCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgKGlucHV0KT1cIm9uSW5wdXQoKVwiXHJcbiAgICAgIChmb2N1cyk9XCJvbkZvY3VzKClcIlxyXG4gICAgICAoYmx1cik9XCJvbkJsdXIoKVwiXHJcbiAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzKCRldmVudClcIlxyXG4gICAgLz5cclxuICAgIDxkaXYgY2xhc3M9XCJjbnQtaWNvbi1yaWdodFwiPlxyXG4gICAgICBAaWYgKCFzaG93TGlzdCkge1xyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctZG93blwiIGNsYXNzPVwiaWNvbi1hcnJvd3NcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LXVwXCIgY2xhc3M9XCJpY29uLWFycm93c1wiPjwvaXVzLWljb24tbWQ+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gIDwvZGl2PlxyXG5cclxuICA8IS0tIExhYmVsIGluZmVyaW9yIC0tPlxyXG4gIEBpZiAobGFiZWxJbmZlcmlvciAmJiBpc0ZvY3VzZWQgJiYgIWVycm9yKSB7XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsLWluZlwiPnt7IGxhYmVsSW5mZXJpb3IgfX08L3NwYW4+XHJcbiAgfVxyXG4gIEBpZiAoKGVycm9yVGV4dCB8fCBsYWJlbEluZmVyaW9yKSAmJiAoKCFpc0ZvY3VzZWQgJiYgaXNBbGVydFRleHQgJiYgIWRpc2FibGVkKSB8fCAoZXJyb3IgJiYgIWRpc2FibGVkKSkpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtaW5mXCIgW25nQ2xhc3NdPVwieyBhbGVydDogKCFpc0ZvY3VzZWQgJiYgaXNBbGVydFRleHQgJiYgIWRpc2FibGVkKSB8fCAoZXJyb3IgJiYgIWRpc2FibGVkKSB9XCI+XHJcbiAgICAgIHt7IGVycm9yVGV4dCA/PyBsYWJlbEluZmVyaW9yIH19XHJcbiAgICA8L3NwYW4+XHJcbiAgfVxyXG5cclxuICA8IS0tIExpc3RhIGRlIG9wY2lvbmVzIC0tPlxyXG4gIEBpZiAoc2hvd0xpc3QpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItb3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxpc3Qgc2Nyb2xsYWJsZS1zbWFsbFwiPlxyXG4gICAgICAgIDxkaXYgKGNsaWNrKT1cIm9uU2VsZWN0T3B0aW9uKClcIj5cclxuICAgICAgICAgIDxuZy1jb250ZW50IHNlbGVjdG9yPVwiaXVzLW9wdGlvblwiPjwvbmctY29udGVudD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxpdXMtc2ltcGxlLWRpdmlkZXI+PC9pdXMtc2ltcGxlLWRpdmlkZXI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJhZGQtZGF0YVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItdGV4dFwiPlxyXG4gICAgICAgICAgPGlucHV0XHJcbiAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgICAgICAgY2xhc3M9XCJpbnB1dC10ZXh0XCJcclxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJlbGVtZW50XCJcclxuICAgICAgICAgICAgKGtleXByZXNzKT1cIm9uS2V5UHJlc3NBZGRFbGVtZW50KCRldmVudClcIlxyXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJBZGRUZXh0XCJcclxuICAgICAgICAgIC8+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImJ1dHRvbi1hZGQtb3B0aW9uXCI+XHJcbiAgICAgICAgICA8aXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeVxyXG4gICAgICAgICAgICBbaWNvbk5hbWVdPVwiaWNvbkJ0bkFkZFwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJvbkNsaWNrQWRkRWxlbWVudCgpXCJcclxuICAgICAgICAgID5cclxuICAgICAgICAgICAge3sgdGV4dEJ0bkFkZCB9fVxyXG4gICAgICAgICAgPC9pdXMtYnV0dG9uLXN0YW5kYXJkLXRlcnRpYXJ5PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIH1cclxuXHJcbjwvZGl2PiJdfQ==
|
|
264
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRyb3Bkb3duLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL2N1c3RvbS1kcm9wZG93bi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvY3VzdG9tLWRyb3Bkb3duL2N1c3RvbS1kcm9wZG93bi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxZQUFZLEVBQUUsS0FBSyxFQUFhLE1BQU0sRUFBZSxTQUFTLEVBQW9CLE1BQU0sZUFBZSxDQUFDO0FBRXRKLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDL0QsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7Ozs7QUFlOUUsTUFBTSxPQUFPLHVCQUF1QjtJQWFsQyxJQUFJLFFBQVE7UUFDVixPQUFPLElBQUksQ0FBQyxXQUFXLEtBQUssSUFBSSxDQUFDO0lBQ25DLENBQUM7SUFnQ0QsWUFDbUIsR0FBZSxFQUNmLFFBQWlCLEVBQ2pCLElBQXNCO1FBRnRCLFFBQUcsR0FBSCxHQUFHLENBQVk7UUFDZixhQUFRLEdBQVIsUUFBUSxDQUFTO1FBQ2pCLFNBQUksR0FBSixJQUFJLENBQWtCO1FBaER6QyxjQUFTLEdBQUcsS0FBSyxDQUFDO1FB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dCB7IENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE91dHB1dCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL292ZXJsYXknO1xyXG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xyXG5pbXBvcnQgeyBJY29uTWRDb21wb25lbnQgfSBmcm9tICcuLi9pY29uLW1kL2ljb24tbWQuY29tcG9uZW50JztcclxuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgRm9ybXNNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFNpbXBsZURpdmlkZXJDb21wb25lbnQgfSBmcm9tICcuLi9zaW1wbGUtZGl2aWRlcic7XHJcbmltcG9ydCB7IEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnQgfSBmcm9tICcuLi9idXR0b24tc3RhbmRhcmQtdGVydGlhcnknO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtY3VzdG9tLWRyb3Bkb3duJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIEljb25NZENvbXBvbmVudCxcclxuICAgIEZvcm1zTW9kdWxlLFxyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgU2ltcGxlRGl2aWRlckNvbXBvbmVudCxcclxuICAgIEJ1dHRvblN0YW5kYXJkVGVydGlhcnlDb21wb25lbnRcclxuICBdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jdXN0b20tZHJvcGRvd24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDdXN0b21Ecm9wZG93bkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uRGVzdHJveSB7XHJcblxyXG4gIGlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gIGlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgaGFzQ2xpY2tlZEluc2lkZSA9IGZhbHNlO1xyXG4gIHNlbGVjdGVkID0gZmFsc2U7XHJcblxyXG4gIEBWaWV3Q2hpbGQoJ2xpc3RQYW5lbCcpIHByaXZhdGUgbGlzdFBhbmVsITogVGVtcGxhdGVSZWY8dW5rbm93bj47XHJcbiAgcHJpdmF0ZSBfb3ZlcmxheVJlZjogT3ZlcmxheVJlZiB8IG51bGwgPSBudWxsO1xyXG4gIHByaXZhdGUgX3Njcm9sbExpc3RlbmVyID0gKCk6IHZvaWQgPT4geyB0aGlzLl9vdmVybGF5UmVmPy51cGRhdGVQb3NpdGlvbigpOyB9O1xyXG4gIHByaXZhdGUgX2RlYm91bmNlVGltZXI6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+IHwgbnVsbCA9IG51bGw7XHJcbiAgcHJpdmF0ZSBfc2Nyb2xsZWRFbmRDb29sZG93biA9IGZhbHNlO1xyXG5cclxuICBnZXQgc2hvd0xpc3QoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fb3ZlcmxheVJlZiAhPT0gbnVsbDtcclxuICB9XHJcblxyXG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIGNvbXBvbmVudElkOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSByZXF1aXJlZCA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGRpc2FibGVkID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2hvd0hlbHBUZXh0ID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZXJyb3I6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgQElucHV0KCkgbGFiZWxTdXBlcmlvcj86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbEluZmVyaW9yPzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGVycm9yVGV4dD86IHN0cmluZztcclxuICBASW5wdXQoKSBsYWJlbElucHV0Pzogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGljb25JbnB1dD86IHN0cmluZztcclxuXHJcbiAgQElucHV0KCkgcGxhY2Vob2xkZXJBZGRUZXh0ID0gJ0RpZ2l0ZSB1bmEgbnVldmEnO1xyXG4gIEBJbnB1dCgpIGljb25CdG5BZGQgPSAnaWNvbi1hZGQnO1xyXG4gIEBJbnB1dCgpIHRleHRCdG5BZGQgPSAnQWdyZWdhcic7XHJcblxyXG4gIEBJbnB1dCgpIHRleHRJbnB1dCA9ICcnO1xyXG4gIEBJbnB1dCgpIGVsZW1lbnQgPSAnJztcclxuXHJcbiAgQElucHV0KCkgZGVib3VuY2VNczogbnVtYmVyID0gMzAwO1xyXG4gIEBJbnB1dCgpIGVuYWJsZUluZmluaXRlU2Nyb2xsID0gZmFsc2U7XHJcbiAgQElucHV0KCkgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBAT3V0cHV0KCkgb25DaGFuZ2VzVmFsdWVFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xyXG4gIEBPdXRwdXQoKSBvbkVudGVyS2V5ID0gbmV3IEV2ZW50RW1pdHRlcjxzdHJpbmc+KCk7XHJcbiAgQE91dHB1dCgpIG9uQWRkRWxlbWVudCA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nPigpO1xyXG4gIEBPdXRwdXQoKSBvbkJsdXJFdmVudCA9IG5ldyBFdmVudEVtaXR0ZXI8dm9pZD4oKTtcclxuICBAT3V0cHV0KCkgb25Gb2N1c0V2ZW50ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpO1xyXG4gIEBPdXRwdXQoKSBvblNjcm9sbGVkVG9FbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfZWw6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9vdmVybGF5OiBPdmVybGF5LFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBfdmNyOiBWaWV3Q29udGFpbmVyUmVmXHJcbiAgKSB7fVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdkb2N1bWVudDpjbGljaycsIFsnJGV2ZW50J10pXHJcbiAgb25DbGlja091dHNpZGUoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuaGFzQ2xpY2tlZEluc2lkZSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcblxyXG4gICAgLy8gQ2xpY2sgZGVudHJvIGRlbCBwYW5lbCBvdmVybGF5IChvcGNpb25lcyBvIFwiYWdyZWdhciBlbGVtZW50b1wiKSDihpIgbm8gY2VycmFyXHJcbiAgICBpZiAodGhpcy5fb3ZlcmxheVJlZj8ub3ZlcmxheUVsZW1lbnQuY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gQ2xpY2sgZGVudHJvIGRlbCB0ZXh0ZmllbGQg4oaSIG5vIGNlcnJhclxyXG4gICAgY29uc3QgdGV4dGZpZWxkID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGFpbmVyLXRleHRmaWVsZCcpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKHRleHRmaWVsZD8uY29udGFpbnModGFyZ2V0KSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jbG9zZUxpc3QoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlTGlzdChldmVudD86IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoZXZlbnQpIHtcclxuICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fY2xvc2VQYW5lbCgpO1xyXG4gICAgaWYgKCF0aGlzLnNlbGVjdGVkICYmIHRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzQWxlcnRUZXh0ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uQmx1ckV2ZW50LmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5zZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5kZWJvdW5jZU1zIDw9IDApIHtcclxuICAgICAgdGhpcy5vbkNoYW5nZXNWYWx1ZUV2ZW50LmVtaXQodGhpcy50ZXh0SW5wdXQpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5fZGVib3VuY2VUaW1lcikge1xyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy5fZGVib3VuY2VUaW1lcik7XHJcbiAgICB9XHJcbiAgICB0aGlzLl9kZWJvdW5jZVRpbWVyID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgIHRoaXMub25DaGFuZ2VzVmFsdWVFdmVudC5lbWl0KHRoaXMudGV4dElucHV0KTtcclxuICAgIH0sIHRoaXMuZGVib3VuY2VNcyk7XHJcbiAgfVxyXG5cclxuICBvbkxpc3RTY3JvbGwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZW5hYmxlSW5maW5pdGVTY3JvbGwpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgZWwgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBjb25zdCB0aHJlc2hvbGQgPSA0ODtcclxuICAgIGNvbnN0IG5lYXJCb3R0b20gPSBlbC5zY3JvbGxUb3AgKyBlbC5jbGllbnRIZWlnaHQgPj0gZWwuc2Nyb2xsSGVpZ2h0IC0gdGhyZXNob2xkO1xyXG4gICAgaWYgKCFuZWFyQm90dG9tIHx8IHRoaXMuX3Njcm9sbGVkRW5kQ29vbGRvd24pIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fc2Nyb2xsZWRFbmRDb29sZG93biA9IHRydWU7XHJcbiAgICB0aGlzLm9uU2Nyb2xsZWRUb0VuZC5lbWl0KCk7XHJcbiAgICBzZXRUaW1lb3V0KCgpID0+IHsgdGhpcy5fc2Nyb2xsZWRFbmRDb29sZG93biA9IGZhbHNlOyB9LCAzMDApO1xyXG4gIH1cclxuXHJcbiAgb25Gb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaXNGb2N1c2VkID0gdHJ1ZTtcclxuICAgIHRoaXMuaGFzQ2xpY2tlZEluc2lkZSA9IHRydWU7XHJcbiAgICBpZiAoIXRoaXMuc2hvd0xpc3QpIHtcclxuICAgICAgdGhpcy5fb3BlblBhbmVsKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm9uRm9jdXNFdmVudC5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvbkJsdXIoKTogdm9pZCB7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgaWYgKHRoaXMuc2hvd0xpc3QpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMucmVxdWlyZWQpIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRoaXMudGV4dElucHV0ID09PSAnJztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uS2V5UHJlc3MoZXZlbnQ6IEtleWJvYXJkRXZlbnQpOiB2b2lkIHtcclxuICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcclxuICAgICAgdGhpcy5hZGRUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbktleVByZXNzQWRkRWxlbWVudChldmVudDogS2V5Ym9hcmRFdmVudCk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xyXG4gICAgICB0aGlzLmFkZEVsZW1lbnRUZXh0KCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvbkNsaWNrQWRkRWxlbWVudCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQudHJpbSgpICE9PSAnJykge1xyXG4gICAgICB0aGlzLm9uQWRkRWxlbWVudC5lbWl0KHRoaXMuZWxlbWVudCk7XHJcbiAgICAgIHRoaXMuZWxlbWVudCA9ICcnO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0FsZXJ0VGV4dCA9IHRydWU7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBhZGRFbGVtZW50VGV4dCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLmVsZW1lbnQudHJpbSgpICE9PSAnJykge1xyXG4gICAgICB0aGlzLm9uQWRkRWxlbWVudC5lbWl0KHRoaXMuZWxlbWVudCk7XHJcbiAgICAgIHRoaXMuZWxlbWVudCA9ICcnO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgYWRkVGV4dCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLnRleHRJbnB1dC50cmltKCkgIT09ICcnKSB7XHJcbiAgICAgIHRoaXMub25FbnRlcktleS5lbWl0KHRoaXMudGV4dElucHV0KTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uU2VsZWN0T3B0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZCA9IHRydWU7XHJcbiAgICB0aGlzLmlzRm9jdXNlZCA9IGZhbHNlO1xyXG4gICAgdGhpcy5fY2xvc2VQYW5lbCgpO1xyXG4gICAgdGhpcy5pc0FsZXJ0VGV4dCA9IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfb3BlblBhbmVsKCk6IHZvaWQge1xyXG4gICAgY29uc3QgdGV4dGZpZWxkID0gdGhpcy5fZWwubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcuY29udGFpbmVyLXRleHRmaWVsZCcpIGFzIEhUTUxFbGVtZW50O1xyXG4gICAgY29uc3QgYW5jaG9yID0gdGV4dGZpZWxkID8/IHRoaXMuX2VsO1xyXG4gICAgY29uc3QgcG9zaXRpb25TdHJhdGVneSA9IHRoaXMuX292ZXJsYXlcclxuICAgICAgLnBvc2l0aW9uKClcclxuICAgICAgLmZsZXhpYmxlQ29ubmVjdGVkVG8oYW5jaG9yKVxyXG4gICAgICAud2l0aEZsZXhpYmxlRGltZW5zaW9ucyhmYWxzZSlcclxuICAgICAgLndpdGhQdXNoKGZhbHNlKVxyXG4gICAgICAud2l0aFBvc2l0aW9ucyhbXHJcbiAgICAgICAgeyBvcmlnaW5YOiAnc3RhcnQnLCBvcmlnaW5ZOiAnYm90dG9tJywgb3ZlcmxheVg6ICdzdGFydCcsIG92ZXJsYXlZOiAndG9wJywgb2Zmc2V0WTogNCB9LFxyXG4gICAgICAgIHsgb3JpZ2luWDogJ3N0YXJ0Jywgb3JpZ2luWTogJ3RvcCcsICAgIG92ZXJsYXlYOiAnc3RhcnQnLCBvdmVybGF5WTogJ2JvdHRvbScsIG9mZnNldFk6IC00IH0sXHJcbiAgICAgIF0pO1xyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYgPSB0aGlzLl9vdmVybGF5LmNyZWF0ZSh7XHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3ksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLl9vdmVybGF5LnNjcm9sbFN0cmF0ZWdpZXMucmVwb3NpdGlvbigpLFxyXG4gICAgICB3aWR0aDogKHRleHRmaWVsZCA/PyB0aGlzLl9lbC5uYXRpdmVFbGVtZW50KS5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKS53aWR0aCxcclxuICAgIH0pO1xyXG5cclxuICAgIHRoaXMuX292ZXJsYXlSZWYuYXR0YWNoKG5ldyBUZW1wbGF0ZVBvcnRhbCh0aGlzLmxpc3RQYW5lbCwgdGhpcy5fdmNyKSk7XHJcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5fc2Nyb2xsTGlzdGVuZXIsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBfY2xvc2VQYW5lbCgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLl9vdmVybGF5UmVmKSB7XHJcbiAgICAgIHRoaXMuX292ZXJsYXlSZWYuZGlzcG9zZSgpO1xyXG4gICAgICB0aGlzLl9vdmVybGF5UmVmID0gbnVsbDtcclxuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMuX3Njcm9sbExpc3RlbmVyLCB0cnVlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgaWYgKHRoaXMuX2RlYm91bmNlVGltZXIpIHtcclxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMuX2RlYm91bmNlVGltZXIpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5fY2xvc2VQYW5lbCgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWdlbmVyYWxcIiBbaWRdPVwiY29tcG9uZW50SWRcIj5cclxuXHJcbiAgPCEtLSBMYWJlbCBzdXBlcmlvciAtLT5cclxuICBAaWYgKGxhYmVsU3VwZXJpb3IpIHtcclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItbGFiZWwtc3VwXCIgW25nQ2xhc3NdPVwieyBkaXNhYmxlZDogZGlzYWJsZWQgfVwiPlxyXG4gICAgICBAaWYgKCFkaXNhYmxlZCAmJiByZXF1aXJlZCkge1xyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLWRvdFwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxzcGFuPnt7IGxhYmVsU3VwZXJpb3IgfX08L3NwYW4+XHJcbiAgICAgIEBpZiAoIWRpc2FibGVkICYmIHNob3dIZWxwVGV4dCkge1xyXG4gICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24taGVscFwiIGNsYXNzPVwiaWNvbi1jb2xvci1oZWxwXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgfVxyXG4gICAgICA8c3Bhbj46PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG5cclxuICA8IS0tIElucHV0IHByaW5jaXBhbCAtLT5cclxuICA8ZGl2XHJcbiAgICBjbGFzcz1cImNvbnRhaW5lci10ZXh0ZmllbGRcIlxyXG4gICAgW25nQ2xhc3NdPVwie1xyXG4gICAgICBkaXNhYmxlZDogZGlzYWJsZWQsXHJcbiAgICAgIGZvY3VzZWQ6IGlzRm9jdXNlZCxcclxuICAgICAgYWxlcnQ6ICghaXNGb2N1c2VkICYmIGlzQWxlcnRUZXh0ICYmICFkaXNhYmxlZCkgfHwgKGVycm9yICYmICFkaXNhYmxlZClcclxuICAgIH1cIlxyXG4gICAgKGNsaWNrKT1cIm9uRm9jdXMoKVwiXHJcbiAgPlxyXG4gICAgQGlmIChpY29uSW5wdXQpIHtcclxuICAgICAgPGl1cy1pY29uLW1kIFtpY29uTmFtZV09XCJpY29uSW5wdXRcIiBjbGFzcz1cImljb24tY29sb3JcIj48L2l1cy1pY29uLW1kPlxyXG4gICAgfVxyXG4gICAgPGlucHV0XHJcbiAgICAgIHR5cGU9XCJ0ZXh0XCJcclxuICAgICAgWyhuZ01vZGVsKV09XCJ0ZXh0SW5wdXRcIlxyXG4gICAgICBbcGxhY2Vob2xkZXJdPVwibGFiZWxJbnB1dFwiXHJcbiAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXHJcbiAgICAgIChpbnB1dCk9XCJvbklucHV0KClcIlxyXG4gICAgICAoZm9jdXMpPVwib25Gb2N1cygpXCJcclxuICAgICAgKGJsdXIpPVwib25CbHVyKClcIlxyXG4gICAgICAoa2V5cHJlc3MpPVwib25LZXlQcmVzcygkZXZlbnQpXCJcclxuICAgIC8+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY250LWljb24tcmlnaHRcIj5cclxuICAgICAgQGlmICghc2hvd0xpc3QpIHtcclxuICAgICAgICA8aXVzLWljb24tbWQgaWNvbk5hbWU9XCJpY29uLWtleWJvYXJkLWFycm93LWRvd25cIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgPGRpdiAoY2xpY2spPVwiY2xvc2VMaXN0KCRldmVudClcIiBzdHlsZT1cImhlaWdodDogMjBweDtcIj5cclxuICAgICAgICAgIDxpdXMtaWNvbi1tZCBpY29uTmFtZT1cImljb24ta2V5Ym9hcmQtYXJyb3ctdXBcIiBjbGFzcz1cImljb24tYXJyb3dzXCI+PC9pdXMtaWNvbi1tZD5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgfVxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDwhLS0gTGFiZWwgaW5mZXJpb3IgLS0+XHJcbiAgQGlmIChsYWJlbEluZmVyaW9yICYmIGlzRm9jdXNlZCAmJiAhZXJyb3IpIHtcclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWwtaW5mXCI+e3sgbGFiZWxJbmZlcmlvciB9fTwvc3Bhbj5cclxuICB9XHJcbiAgQGlmICgoZXJyb3JUZXh0IHx8IGxhYmVsSW5mZXJpb3IpICYmICgoIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWQpIHx8IChlcnJvciAmJiAhZGlzYWJsZWQpKSkge1xyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbC1pbmZcIiBbbmdDbGFzc109XCJ7IGFsZXJ0OiAoIWlzRm9jdXNlZCAmJiBpc0FsZXJ0VGV4dCAmJiAhZGlzYWJsZWQpIHx8IChlcnJvciAmJiAhZGlzYWJsZWQpIH1cIj5cclxuICAgICAge3sgZXJyb3JUZXh0ID8/IGxhYmVsSW5mZXJpb3IgfX1cclxuICAgIDwvc3Bhbj5cclxuICB9XHJcblxyXG4gIDwhLS0gTGlzdGEgZGUgb3BjaW9uZXMgKENESyBvdmVybGF5KSAtLT5cclxuICA8bmctdGVtcGxhdGUgI2xpc3RQYW5lbD5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250YWluZXItb3B0aW9uc1wiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLWxpc3Qgc2Nyb2xsYWJsZS1zbWFsbFwiIChzY3JvbGwpPVwib25MaXN0U2Nyb2xsKCRldmVudClcIj5cclxuICAgICAgICA8ZGl2IChjbGljayk9XCJvblNlbGVjdE9wdGlvbigpXCI+XHJcbiAgICAgICAgICA8bmctY29udGVudCBzZWxlY3Rvcj1cIml1cy1vcHRpb25cIj48L25nLWNvbnRlbnQ+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgQGlmIChsb2FkaW5nKSB7XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY250LWxvYWRpbmctb3B0aW9uXCI+Q2FyZ2FuZG/igKY8L2Rpdj5cclxuICAgICAgICB9XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aXVzLXNpbXBsZS1kaXZpZGVyPjwvaXVzLXNpbXBsZS1kaXZpZGVyPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYWRkLWRhdGFcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY29udGFpbmVyLXRleHRcIj5cclxuICAgICAgICAgIDxpbnB1dFxyXG4gICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiaW5wdXQtdGV4dFwiXHJcbiAgICAgICAgICAgIFsobmdNb2RlbCldPVwiZWxlbWVudFwiXHJcbiAgICAgICAgICAgIChrZXlwcmVzcyk9XCJvbktleVByZXNzQWRkRWxlbWVudCgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyQWRkVGV4dFwiXHJcbiAgICAgICAgICAvPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJidXR0b24tYWRkLW9wdGlvblwiPlxyXG4gICAgICAgICAgPGl1cy1idXR0b24tc3RhbmRhcmQtdGVydGlhcnlcclxuICAgICAgICAgICAgW2ljb25OYW1lXT1cImljb25CdG5BZGRcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwib25DbGlja0FkZEVsZW1lbnQoKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIHt7IHRleHRCdG5BZGQgfX1cclxuICAgICAgICAgIDwvaXVzLWJ1dHRvbi1zdGFuZGFyZC10ZXJ0aWFyeT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L25nLXRlbXBsYXRlPlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -13,11 +13,11 @@ export class OptionComponent {
|
|
|
13
13
|
this.optionClick.emit();
|
|
14
14
|
}
|
|
15
15
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OptionComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
16
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: OptionComponent, isStandalone: true, selector: "ius-option", inputs: { disabled: "disabled", checked: "checked", leadingIcon: "leadingIcon", multiline: "multiline" }, outputs: { optionClick: "optionClick" }, ngImport: i0, template: "<button class=\"ius-list\" [class.multiline]=\"multiline\" [disabled]=\"disabled\" (click)=\"seleccionar()\">\r\n @if(leadingIcon) {\r\n <ius-icon-sm [iconName]=\"leadingIcon\" class=\"leading-icon\"></ius-icon-sm>\r\n }\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n @if(checked){\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"icon-color\"></ius-icon-sm>\r\n }\r\n</button>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.ius-list{display:flex;padding:8px 20px 8px 12px;height:36px;width:100%;align-items:center;gap:8px;background:#fff;-webkit-user-select:none;user-select:none;border:none;cursor:pointer}.ius-list.multiline{height:auto;min-height:36px;align-items:flex-start;padding-top:8px;padding-bottom:8px}.ius-list.multiline .content{white-space:normal;text-overflow:clip}.ius-list:hover:not(:disabled){background:#edf6ff}.ius-list:active:not(:disabled){background:#c4dfff!important;color:#333}.ius-list:disabled{background:#fafafa;color:#bfbfbf;cursor:default}.icon-color{color:#2167ff}.leading-icon{color:#333;flex-shrink:0}.content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;text-align:left;flex:1 0 0;min-width:0;font-family:Rubik,sans-serif}\n"], dependencies: [{ kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }] }); }
|
|
16
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.12", type: OptionComponent, isStandalone: true, selector: "ius-option", inputs: { disabled: "disabled", checked: "checked", leadingIcon: "leadingIcon", multiline: "multiline" }, outputs: { optionClick: "optionClick" }, ngImport: i0, template: "<button class=\"ius-list\" [class.multiline]=\"multiline\" [disabled]=\"disabled\" (click)=\"seleccionar()\">\r\n @if(leadingIcon) {\r\n <ius-icon-sm [iconName]=\"leadingIcon\" class=\"leading-icon\"></ius-icon-sm>\r\n }\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n @if(checked){\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"icon-color\"></ius-icon-sm>\r\n }\r\n</button>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}:host{display:block;width:100%}.ius-list{display:flex;padding:8px 20px 8px 12px;height:36px;width:100%;align-items:center;gap:8px;background:#fff;-webkit-user-select:none;user-select:none;border:none;cursor:pointer}.ius-list.multiline{height:auto;min-height:36px;align-items:flex-start;padding-top:8px;padding-bottom:8px}.ius-list.multiline .content{white-space:normal;text-overflow:clip}.ius-list:hover:not(:disabled){background:#edf6ff}.ius-list:active:not(:disabled){background:#c4dfff!important;color:#333}.ius-list:disabled{background:#fafafa;color:#bfbfbf;cursor:default}.icon-color{color:#2167ff}.leading-icon{color:#333;flex-shrink:0}.content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;text-align:left;flex:1 0 0;min-width:0;font-family:Rubik,sans-serif}\n"], dependencies: [{ kind: "component", type: IconSmComponent, selector: "ius-icon-sm", inputs: ["iconName", "color"] }] }); }
|
|
17
17
|
}
|
|
18
18
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: OptionComponent, decorators: [{
|
|
19
19
|
type: Component,
|
|
20
|
-
args: [{ selector: 'ius-option', standalone: true, imports: [IconSmComponent], template: "<button class=\"ius-list\" [class.multiline]=\"multiline\" [disabled]=\"disabled\" (click)=\"seleccionar()\">\r\n @if(leadingIcon) {\r\n <ius-icon-sm [iconName]=\"leadingIcon\" class=\"leading-icon\"></ius-icon-sm>\r\n }\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n @if(checked){\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"icon-color\"></ius-icon-sm>\r\n }\r\n</button>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}.ius-list{display:flex;padding:8px 20px 8px 12px;height:36px;width:100%;align-items:center;gap:8px;background:#fff;-webkit-user-select:none;user-select:none;border:none;cursor:pointer}.ius-list.multiline{height:auto;min-height:36px;align-items:flex-start;padding-top:8px;padding-bottom:8px}.ius-list.multiline .content{white-space:normal;text-overflow:clip}.ius-list:hover:not(:disabled){background:#edf6ff}.ius-list:active:not(:disabled){background:#c4dfff!important;color:#333}.ius-list:disabled{background:#fafafa;color:#bfbfbf;cursor:default}.icon-color{color:#2167ff}.leading-icon{color:#333;flex-shrink:0}.content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;text-align:left;flex:1 0 0;min-width:0;font-family:Rubik,sans-serif}\n"] }]
|
|
20
|
+
args: [{ selector: 'ius-option', standalone: true, imports: [IconSmComponent], template: "<button class=\"ius-list\" [class.multiline]=\"multiline\" [disabled]=\"disabled\" (click)=\"seleccionar()\">\r\n @if(leadingIcon) {\r\n <ius-icon-sm [iconName]=\"leadingIcon\" class=\"leading-icon\"></ius-icon-sm>\r\n }\r\n <div class=\"content\">\r\n <ng-content></ng-content>\r\n </div>\r\n @if(checked){\r\n <ius-icon-sm iconName=\"icon-check-circle\" class=\"icon-color\"></ius-icon-sm>\r\n }\r\n</button>", styles: [".h1{font-family:Roboto,sans-serif;font-size:2.375rem;font-weight:500;line-height:46px}.h2{font-family:Roboto,sans-serif;font-size:1.875rem;font-weight:700;line-height:38px}.h3{font-family:Roboto,sans-serif;font-size:1.5rem;font-weight:500;line-height:32px}.h4{font-family:Roboto,sans-serif;font-size:1.25rem;font-weight:700;line-height:26px}.h5{font-family:Roboto,sans-serif;font-size:1.125rem;font-weight:500;line-height:24px;letter-spacing:.18px}.label-large{font-family:Roboto,sans-serif;font-size:1rem;font-weight:500;line-height:22px}.body-large{font-family:Rubik,sans-serif;font-size:1rem;font-weight:400;line-height:22px}.label-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:500;line-height:20px;letter-spacing:.28px}.body-base{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;font-style:italic;letter-spacing:.28px}.body-base-1,.body-base-1-1{font-family:Rubik,sans-serif;font-size:.875rem;font-weight:400;line-height:20px;letter-spacing:.28px}.body-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;letter-spacing:.28px}.body-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:400;line-height:16px;font-style:italic;letter-spacing:.28px}.caption-sm{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;letter-spacing:.28px}.caption-sm-italic{font-family:Rubik,sans-serif;font-size:.75rem;font-weight:500;line-height:16px;font-style:italic;letter-spacing:.28px}:host{display:block;width:100%}.ius-list{display:flex;padding:8px 20px 8px 12px;height:36px;width:100%;align-items:center;gap:8px;background:#fff;-webkit-user-select:none;user-select:none;border:none;cursor:pointer}.ius-list.multiline{height:auto;min-height:36px;align-items:flex-start;padding-top:8px;padding-bottom:8px}.ius-list.multiline .content{white-space:normal;text-overflow:clip}.ius-list:hover:not(:disabled){background:#edf6ff}.ius-list:active:not(:disabled){background:#c4dfff!important;color:#333}.ius-list:disabled{background:#fafafa;color:#bfbfbf;cursor:default}.icon-color{color:#2167ff}.leading-icon{color:#333;flex-shrink:0}.content{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;display:block;text-align:left;flex:1 0 0;min-width:0;font-family:Rubik,sans-serif}\n"] }]
|
|
21
21
|
}], propDecorators: { disabled: [{
|
|
22
22
|
type: Input
|
|
23
23
|
}], checked: [{
|
|
@@ -29,4 +29,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
29
29
|
}], optionClick: [{
|
|
30
30
|
type: Output
|
|
31
31
|
}] } });
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
32
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy9zcmMvbGliL29wdGlvbi9vcHRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaXVzLWRlc2lnbi1jb21wb25lbnRzL3NyYy9saWIvb3B0aW9uL29wdGlvbi5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3ZFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQzs7QUFTL0QsTUFBTSxPQUFPLGVBQWU7SUFQNUI7UUFTVyxhQUFRLEdBQVksS0FBSyxDQUFDO1FBQzFCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxFQUFFLENBQUM7UUFDekIsY0FBUyxHQUFZLEtBQUssQ0FBQztRQUMxQixnQkFBVyxHQUFHLElBQUksWUFBWSxFQUFPLENBQUM7S0FLakQ7SUFIQyxXQUFXO1FBQ1QsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUMxQixDQUFDOytHQVZVLGVBQWU7bUdBQWYsZUFBZSx5TkNWNUIsMmJBVVMsdXlFREpHLGVBQWU7OzRGQUlkLGVBQWU7a0JBUDNCLFNBQVM7K0JBQ0UsWUFBWSxjQUNWLElBQUksV0FDUCxDQUFDLGVBQWUsQ0FBQzs4QkFNakIsUUFBUTtzQkFBaEIsS0FBSztnQkFDRyxPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNJLFdBQVc7c0JBQXBCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE91dHB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBJY29uU21Db21wb25lbnQgfSBmcm9tIFwiLi4vaWNvbi1zbS9pY29uLXNtLmNvbXBvbmVudFwiO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdpdXMtb3B0aW9uJyxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtJY29uU21Db21wb25lbnRdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9vcHRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9vcHRpb24uY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBPcHRpb25Db21wb25lbnQge1xyXG5cclxuICBASW5wdXQoKSBkaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBsZWFkaW5nSWNvbjogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgbXVsdGlsaW5lOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQE91dHB1dCgpIG9wdGlvbkNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcblxyXG4gIHNlbGVjY2lvbmFyKCkge1xyXG4gICAgdGhpcy5vcHRpb25DbGljay5lbWl0KCk7XHJcbiAgfVxyXG59XHJcbiIsIjxidXR0b24gY2xhc3M9XCJpdXMtbGlzdFwiIFtjbGFzcy5tdWx0aWxpbmVdPVwibXVsdGlsaW5lXCIgW2Rpc2FibGVkXT1cImRpc2FibGVkXCIgKGNsaWNrKT1cInNlbGVjY2lvbmFyKClcIj5cclxuICAgIEBpZihsZWFkaW5nSWNvbikge1xyXG4gICAgPGl1cy1pY29uLXNtIFtpY29uTmFtZV09XCJsZWFkaW5nSWNvblwiIGNsYXNzPVwibGVhZGluZy1pY29uXCI+PC9pdXMtaWNvbi1zbT5cclxuICAgIH1cclxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbiAgICBAaWYoY2hlY2tlZCl7XHJcbiAgICA8aXVzLWljb24tc20gaWNvbk5hbWU9XCJpY29uLWNoZWNrLWNpcmNsZVwiIGNsYXNzPVwiaWNvbi1jb2xvclwiPjwvaXVzLWljb24tc20+XHJcbiAgICB9XHJcbjwvYnV0dG9uPiJdfQ==
|
|
@@ -92,4 +92,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
92
92
|
standalone: true,
|
|
93
93
|
}]
|
|
94
94
|
}] });
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VycmVuY3ktZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2N1cnJlbmN5LWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRCwrREFBK0Q7QUFDL0QsbUZBQW1GO0FBQ25GLEVBQUU7QUFDRiwwQkFBMEI7QUFDMUIsOEVBQThFO0FBQzlFLDBEQUEwRDtBQUMxRCxFQUFFO0FBQ0YsOEJBQThCO0FBQzlCLHNFQUFzRTtBQUN0RSw4QkFBOEI7QUFDOUIsNkRBQTZEO0FBQzdELE1BQU07QUFDTixxRUFBcUU7QUFDckUsK0RBQStEO0FBRS9EOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUFDLE9BQWU7SUFLaEQsTUFBTSxRQUFRLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRSxNQUFNLFVBQVUsR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sT0FBTyxHQUFHLFVBQVUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUM7SUFDM0UsTUFBTSxPQUFPLEdBQUcsVUFBVSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxVQUFVLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztJQUN4RSxNQUFNLE1BQU0sR0FBRyxPQUFPLEtBQUssSUFBSSxDQUFDLENBQUMsQ0FBQyxHQUFHLE9BQU8sSUFBSSxPQUFPLEVB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QUFrQjs7NEZBQWxCLGtCQUFrQjtrQkFKOUIsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsZ0JBQWdCO29CQUN0QixVQUFVLEVBQUUsSUFBSTtpQkFDakIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQaXBlLCBQaXBlVHJhbnNmb3JtIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy8gVXRpbGlkYWRlcyBkZSBtb25lZGEgKGxvY2FsZSBlcy1DTyBwb3IgZGVmZWN0bykuIFJldXRpbGl6YWJsZXMgZW4gY3VhbHF1aWVyIGFwcC5cclxuLy9cclxuLy8gRW4gdW4gaW5wdXQgY29udHJvbGFkbzpcclxuLy8gICBpbXBvcnQgeyBwYXJzZUN1cnJlbmN5SW5wdXQsIGJ1aWxkQ3VycmVuY3lEaXNwbGF5LCBmb3JtYXRDdXJyZW5jeU9uQmx1ciB9XHJcbi8vICAgICBmcm9tICdAbGl0aWdpb3ZpcnR1YWwvaXVzLWRlc2lnbi1jb21wb25lbnRzL3V0aWxzJztcclxuLy9cclxuLy8gICBvbkNoYW5nZShldmVudDogc3RyaW5nKSB7XHJcbi8vICAgICBjb25zdCB7IHJhd1N0ciwgaW50UGFydCwgZGVjUGFydCB9ID0gcGFyc2VDdXJyZW5jeUlucHV0KGV2ZW50KTtcclxuLy8gICAgIHRoaXMudmFsb3JSYXcgPSByYXdTdHI7XHJcbi8vICAgICB0aGlzLmRpc3BsYXkgPSBidWlsZEN1cnJlbmN5RGlzcGxheShpbnRQYXJ0LCBkZWNQYXJ0KTtcclxuLy8gICB9XHJcbi8vICAgb25CbHVyKCkgeyB0aGlzLmRpc3BsYXkgPSBmb3JtYXRDdXJyZW5jeU9uQmx1cih0aGlzLnZhbG9yUmF3KTsgfVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcbi8qKlxyXG4gKiBQYXJzZWEgbG8gcXVlIGVsIHVzdWFyaW8gZXNjcmliZSBlbiB1biBpbnB1dCBkZSBtb25lZGEgKGVzLUNPOiBwdW50byA9IG1pbGVzLCBjb21hID0gZGVjaW1hbCkuXHJcbiAqICAtIHJhd1N0cjogc3RyaW5nIGNvbiBwdW50byBkZWNpbWFsIHBhcmEgY8OhbGN1bG9zIEpTIChcIjE1MDAwMC41MFwiKVxyXG4gKiAgLSBpbnRQYXJ0OiBwYXJ0ZSBlbnRlcmEgc2luIGZvcm1hdG8gKFwiMTUwMDAwXCIpXHJcbiAqICAtIGRlY1BhcnQ6IHBhcnRlIGRlY2ltYWwgdGFsIGNvbW8gbGEgZXNjcmliacOzIGVsIHVzdWFyaW8gKFwiNTBcIikgbyBudWxsIHNpIG5vIGhheSBjb21hXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VDdXJyZW5jeUlucHV0KGRpc3BsYXk6IHN0cmluZyk6IHtcclxuICByYXdTdHI6IHN0cmluZztcclxuICBpbnRQYXJ0OiBzdHJpbmc7XHJcbiAgZGVjUGFydDogc3RyaW5nIHwgbnVsbDtcclxufSB7XHJcbiAgY29uc3Qgc3RyaXBwZWQgPSBkaXNwbGF5LnJlcGxhY2UoL1xcLi9nLCAnJykucmVwbGFjZSgvW14wLTksXS9nLCAnJyk7XHJcbiAgY29uc3QgY29tbWFJbmRleCA9IHN0cmlwcGVkLmluZGV4T2YoJywnKTtcclxuICBjb25zdCBpbnRQYXJ0ID0gY29tbWFJbmRleCA+PSAwID8gc3RyaXBwZWQuc2xpY2UoMCwgY29tbWFJbmRleCkgOiBzdHJpcHBlZDtcclxuICBjb25zdCBkZWNQYXJ0ID0gY29tbWFJbmRleCA+PSAwID8gc3RyaXBwZWQuc2xpY2UoY29tbWFJbmRleCArIDEpIDogbnVsbDtcclxuICBjb25zdCByYXdTdHIgPSBkZWNQYXJ0ICE9PSBudWxsID8gYCR7aW50UGFydH0uJHtkZWNQYXJ0fWAgOiBpbnRQYXJ0O1xyXG4gIHJldHVybiB7IHJhd1N0ciwgaW50UGFydCwgZGVjUGFydCB9O1xyXG59XHJcblxyXG4vKipcclxuICogRm9ybWF0ZWEgbGEgcGFydGUgZW50ZXJhIGNvbiBzZXBhcmFkb3JlcyBkZSBtaWxlcyAoZXMtQ08pIHkgY29uc2VydmEgbGEgZGVjaW1hbFxyXG4gKiBleGFjdGFtZW50ZSBjb21vIGxhIGVzY3JpYmnDsyBlbCB1c3VhcmlvIChzaW4gcmVkb25kZWFyKS4gUGFyYSBhY3R1YWxpemFyIGVsIGRpc3BsYXkgYWwgZXNjcmliaXIuXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYnVpbGRDdXJyZW5jeURpc3BsYXkoaW50UGFydDogc3RyaW5nLCBkZWNQYXJ0OiBzdHJpbmcgfCBudWxsKTogc3RyaW5nIHtcclxuICBpZiAoIWludFBhcnQgJiYgZGVjUGFydCA9PT0gbnVsbCkgcmV0dXJuICcnO1xyXG4gIGNvbnN0IGludE51bSA9IGludFBhcnQgPyBwYXJzZUludChpbnRQYXJ0LCAxMCkgOiAwO1xyXG4gIGNvbnN0IGZvcm1hdHRlZEludCA9IGlzTmFOKGludE51bSlcclxuICAgID8gaW50UGFydFxyXG4gICAgOiBuZXcgSW50bC5OdW1iZXJGb3JtYXQoJ2VzLUNPJywgeyBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAsIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMCB9KS5mb3JtYXQoaW50TnVtKTtcclxuICByZXR1cm4gZGVjUGFydCAhPT0gbnVsbCA/IGAke2Zvcm1hdHRlZEludH0sJHtkZWNQYXJ0fWAgOiBmb3JtYXR0ZWRJbnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBGb3JtYXRlYSBlbCB2YWxvciByYXcgYWwgc2FsaXIgZGVsIGNhbXBvIChibHVyKTogY29tcGxldGEgZGVjaW1hbGVzIHNpIGxvcyBoYXkuXHJcbiAqICAgZm9ybWF0Q3VycmVuY3lPbkJsdXIoJzE1MDAwMC41JykgIOKGkiBcIjE1MC4wMDAsNTBcIlxyXG4gKiAgIGZvcm1hdEN1cnJlbmN5T25CbHVyKCcxNTAwMDAnKSAgICDihpIgXCIxNTAuMDAwXCJcclxuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBmb3JtYXRDdXJyZW5jeU9uQmx1cihyYXdWYWx1ZTogc3RyaW5nKTogc3RyaW5nIHtcclxuICBpZiAoIXJhd1ZhbHVlKSByZXR1cm4gJyc7XHJcbiAgY29uc3QgbnVtID0gcGFyc2VGbG9hdChyYXdWYWx1ZSk7XHJcbiAgaWYgKGlzTmFOKG51bSkgfHwgbnVtIDw9IDApIHJldHVybiByYXdWYWx1ZTtcclxuICByZXR1cm4gbmV3IEludGwuTnVtYmVyRm9ybWF0KCdlcy1DTycsIHtcclxuICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCxcclxuICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICB9KS5mb3JtYXQobnVtKTtcclxufVxyXG5cclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vIFBpcGUgcGFyYSBtb3N0cmFyIHZhbG9yZXMgZW4gdGVtcGxhdGVzXHJcbi8vICAge3sgMTUwMDAwIHwgY3VycmVuY3lGb3JtYXQgfX0gICAgICAgIOKGkiBcIjE1MC4wMDBcIlxyXG4vLyAgIHt7IDE1MDAwMC41IHwgY3VycmVuY3lGb3JtYXQgfX0gICAgICDihpIgXCIxNTAuMDAwLDVcIlxyXG4vLyAgIHt7IDE1MDAwMCB8IGN1cnJlbmN5Rm9ybWF0OiB0cnVlIH19ICDihpIgXCIkIDE1MC4wMDBcIiAoc8OtbWJvbG8gQ09QKVxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdjdXJyZW5jeUZvcm1hdCcsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEN1cnJlbmN5Rm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHRyYW5zZm9ybShcclxuICAgIHZhbHVlOiBudW1iZXIgfCBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkLFxyXG4gICAgc2hvd1N5bWJvbCA9IGZhbHNlLFxyXG4gICAgY3VycmVuY3lDb2RlID0gJ0NPUCcsXHJcbiAgICBsb2NhbGUgPSAnZXMtQ08nLFxyXG4gICk6IHN0cmluZyB7XHJcbiAgICBpZiAodmFsdWUgPT09IG51bGwgfHwgdmFsdWUgPT09IHVuZGVmaW5lZCB8fCB2YWx1ZSA9PT0gJycpIHJldHVybiAnJztcclxuXHJcbiAgICBjb25zdCBudW0gPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnID8gcGFyc2VGbG9hdCh2YWx1ZS5yZXBsYWNlKC8sL2csICcnKSkgOiB2YWx1ZTtcclxuXHJcbiAgICBpZiAoaXNOYU4obnVtKSkgcmV0dXJuIFN0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgdHJ5IHtcclxuICAgICAgcmV0dXJuIG5ldyBJbnRsLk51bWJlckZvcm1hdChsb2NhbGUsIHtcclxuICAgICAgICBzdHlsZTogc2hvd1N5bWJvbCA/ICdjdXJyZW5jeScgOiAnZGVjaW1hbCcsXHJcbiAgICAgICAgY3VycmVuY3k6IHNob3dTeW1ib2wgPyBjdXJyZW5jeUNvZGUgOiB1bmRlZmluZWQsXHJcbiAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwLFxyXG4gICAgICAgIG1heGltdW1GcmFjdGlvbkRpZ2l0czogMixcclxuICAgICAgfSkuZm9ybWF0KG51bSk7XHJcbiAgICB9IGNhdGNoIHtcclxuICAgICAgcmV0dXJuIG51bS50b1N0cmluZygpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -70,4 +70,4 @@ export function toTimeOnlyString(d) {
|
|
|
70
70
|
const s = d.getSeconds().toString().padStart(2, '0');
|
|
71
71
|
return `${h}:${min}:${s}`;
|
|
72
72
|
}
|
|
73
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1mb3JtYXQudXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2l1cy1kZXNpZ24tY29tcG9uZW50cy91dGlscy9zcmMvZGF0ZS1mb3JtYXQudXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSDs7O0dBR0c7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLEtBQVU7SUFDdkMsSUFBSSxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLElBQUksS0FBSyxLQUFLLEVBQUU7UUFBRSxPQUFPLFNBQVMsQ0FBQztJQUM1RSxJQUFJLEtBQUssWUFBWSxJQUFJO1FBQUUsT0FBTyxLQUFLLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzdFLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDOUIsTUFBTSxDQUFDLEdBQUcsS0FBSyxDQUFDLEtBQUssQ0FBQywrREFBK0QsQ0FBQyxDQUFDO1FBQ3ZGLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3JGLENBQUM7UUFDRCxNQUFNLE1BQU0sR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMvQixP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SUFDbkQsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDdkQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDckQsT0FBTyxHQUFHLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUM7QUFDNUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxyXG4gKiBIZWxwZXJzIGRlIGZlY2hhL2hvcmEgcGFyYSBpbnB1dHMgQW5ndWxhciDihpQgYmFja2VuZCAoRGF0ZU9ubHkgLyBUaW1lT25seSBkZSBDIykuXHJcbiAqXHJcbiAqIElNUE9SVEFOVEU6IHNlIHVzYSBTSUVNUFJFIGVsIGNvbnN0cnVjdG9yIGxvY2FsIERhdGUoeSwgbSwgZCkgcGFyYSBldml0YXIgZWwgc2hpZnQgZGVcclxuICogem9uYSBob3JhcmlhLiBuZXcgRGF0ZSgneXl5eS1NTS1kZCcpIHNlIGludGVycHJldGEgY29tbyBVVEMgeSBwdWVkZSBzYWx0YXIgdW4gZMOtYSBzZWfDum5cclxuICogbGEgem9uYTsgZXN0b3MgaGVscGVycyByZWNvbnN0cnV5ZW4gbGEgZmVjaGEgZGVzZGUgc3VzIGNvbXBvbmVudGVzIChob3JhIGxvY2FsKS5cclxuICovXHJcblxyXG4vKipcclxuICogQ29udmllcnRlIGN1YWxxdWllciB2YWxvciBkZSBmZWNoYSAoc3RyaW5nIFwieXl5eS1NTS1kZFwiLCBcInl5eXktTU0tZGRUSEg6bW06c3NcIiBvIERhdGUpXHJcbiAqIGEgRGF0ZSBlbiBob3JhIExPQ0FMLiBEZXZ1ZWx2ZSB1bmRlZmluZWQgc2kgZXMgdmFjw61vLyBpbnbDoWxpZG8uXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VMb2NhbERhdGUodmFsdWU6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xyXG4gIGlmICh2YWx1ZSA9PT0gbnVsbCB8fCB2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSAnJykgcmV0dXJuIHVuZGVmaW5lZDtcclxuICBpZiAodmFsdWUgaW5zdGFuY2VvZiBEYXRlKSByZXR1cm4gaXNOYU4odmFsdWUuZ2V0VGltZSgpKSA/IHVuZGVmaW5lZCA6IHZhbHVlO1xyXG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBjb25zdCBtID0gdmFsdWUubWF0Y2goL14oXFxkezR9KS0oXFxkezJ9KS0oXFxkezJ9KSg/OltUIF0oXFxkezJ9KTooXFxkezJ9KSg/OjooXFxkezJ9KSk/KT8vKTtcclxuICAgIGlmIChtKSB7XHJcbiAgICAgIHJldHVybiBuZXcgRGF0ZSgrbVsxXSwgK21bMl0gLSAxLCArbVszXSwgKyhtWzRdID8/IDApLCArKG1bNV0gPz8gMCksICsobVs2XSA/PyAwKSk7XHJcbiAgICB9XHJcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZSh2YWx1ZSk7XHJcbiAgICByZXR1cm4gaXNOYU4ocGFyc2VkLmdldFRpbWUoKSkgPyB1bmRlZmluZWQgOiBwYXJzZWQ7XHJcbiAgfVxyXG4gIHJldHVybiB1bmRlZmluZWQ7XHJcbn1cclxuXHJcbi8qKiBQYXJzZWEgZXZlbnRvIGRlIGRhdGUtcGlja2VyIChJU08gc3RyaW5nLCBEYXRlLCBcIllZWVktTU0tRERcIikgYSBEYXRlIGxvY2FsLiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gcGFyc2VEYXRlRXZlbnQoZXZlbnQ6IGFueSk6IERhdGUgfCB1bmRlZmluZWQge1xyXG4gIGlmICghZXZlbnQpIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgaWYgKGV2ZW50IGluc3RhbmNlb2YgRGF0ZSkgcmV0dXJuIGV2ZW50O1xyXG4gIGlmICh0eXBlb2YgZXZlbnQgPT09ICdzdHJpbmcnKSB7XHJcbiAgICBjb25zdCBtYXRjaCA9IGV2ZW50Lm1hdGNoKC9eKFxcZHs0fSktKFxcZHsyfSktKFxcZHsyfSkvKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gbmV3IERhdGUoK21hdGNoWzFdLCArbWF0Y2hbMl0gLSAxLCArbWF0Y2hbM10pO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoZXZlbnQpO1xyXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogcGFyc2VkO1xyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogUGFyc2VhIGV2ZW50byBkZSB0aW1lLXBpY2tlciBhIHN0cmluZyBcIkhIOm1tOnNzXCIuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBwYXJzZUhvcmFFdmVudChldmVudDogYW55KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcclxuICBpZiAoIWV2ZW50KSByZXR1cm4gdW5kZWZpbmVkO1xyXG4gIGlmIChldmVudCBpbnN0YW5jZW9mIERhdGUpIHJldHVybiB0b1RpbWVPbmx5U3RyaW5nKGV2ZW50KTtcclxuICBpZiAodHlwZW9mIGV2ZW50ID09PSAnc3RyaW5nJykge1xyXG4gICAgY29uc3QgdHJpbW1lZCA9IGV2ZW50LnRyaW0oKTtcclxuICAgIGlmICgvXlxcZHsyfTpcXGR7Mn0oOlxcZHsyfSk/JC8udGVzdCh0cmltbWVkKSkge1xyXG4gICAgICByZXR1cm4gdHJpbW1lZC5sZW5ndGggPT09IDUgPyBgJHt0cmltbWVkfTowMGAgOiB0cmltbWVkO1xyXG4gICAgfVxyXG4gICAgY29uc3QgcGFyc2VkID0gbmV3IERhdGUoZXZlbnQpO1xyXG4gICAgcmV0dXJuIGlzTmFOKHBhcnNlZC5nZXRUaW1lKCkpID8gdW5kZWZpbmVkIDogdG9UaW1lT25seVN0cmluZyhwYXJzZWQpO1xyXG4gIH1cclxuICByZXR1cm4gdW5kZWZpbmVkO1xyXG59XHJcblxyXG4vKiogRGF0ZSAtPiBcInl5eXktTU0tZGRcIiBlbiBob3JhIGxvY2FsIChmb3JtYXRvIERhdGVPbmx5IEMjKS4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvRGF0ZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgY29uc3QgeSA9IGQuZ2V0RnVsbFllYXIoKTtcclxuICBjb25zdCBtID0gKGQuZ2V0TW9udGgoKSArIDEpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICBjb25zdCBkZCA9IGQuZ2V0RGF0ZSgpLnRvU3RyaW5nKCkucGFkU3RhcnQoMiwgJzAnKTtcclxuICByZXR1cm4gYCR7eX0tJHttfS0ke2RkfWA7XHJcbn1cclxuXHJcbi8qKiBEYXRlIC0+IFwiSEg6bW06c3NcIiBlbiBob3JhIGxvY2FsIChmb3JtYXRvIFRpbWVPbmx5IEMjKS4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHRvVGltZU9ubHlTdHJpbmcoZDogRGF0ZSk6IHN0cmluZyB7XHJcbiAgY29uc3QgaCA9IGQuZ2V0SG91cnMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgY29uc3QgbWluID0gZC5nZXRNaW51dGVzKCkudG9TdHJpbmcoKS5wYWRTdGFydCgyLCAnMCcpO1xyXG4gIGNvbnN0IHMgPSBkLmdldFNlY29uZHMoKS50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyk7XHJcbiAgcmV0dXJuIGAke2h9OiR7bWlufToke3N9YDtcclxufVxyXG4iXX0=
|
|
@@ -19,4 +19,4 @@ export function inferMimeTypeFromName(fileName) {
|
|
|
19
19
|
default: return '';
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1taW1lLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtbWltZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxRQUFpQjtJQUNyRCxJQUFJLENBQUMsUUFBUTtRQUFFLE9BQU8sRUFBRSxDQUFDO0lBQ3pCLE1BQU0sR0FBRyxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsV0FBVyxFQUFFLENBQUM7SUFDckQsUUFBUSxHQUFHLEVBQUUsQ0FBQztRQUNaLEtBQUssS0FBSyxDQUFDLENBQUMsT0FBTyxpQkFBaUIsQ0FBQztRQUNyQyxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssTUFBTSxDQUFDLENBQUMsT0FBTyxZQUFZLENBQUM7UUFDakMsS0FBSyxLQUFLLENBQUMsQ0FBQyxPQUFPLFdBQVcsQ0FBQztRQUMvQixLQUFLLE1BQU0sQ0FBQyxDQUFDLE9BQU8seUVBQXlFLENBQUM7UUFDOUYsS0FBSyxNQUFNLENBQUMsQ0FBQyxPQUFPLG1FQUFtRSxDQUFDO1FBQ3hGLE9BQU8sQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDO0lBQ3JCLENBQUM7QUFDSCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXHJcbiAqIEluZmllcmUgZWwgTUlNRSB0eXBlIGEgcGFydGlyIGRlIGxhIGV4dGVuc2nDs24gZGVsIG5vbWJyZSBkZSBhcmNoaXZvLlxyXG4gKlxyXG4gKiDDmnRpbCBjdWFuZG8gZWwgYmFja2VuZCBkZXZ1ZWx2ZSBlbCBub21icmUgZGVsIGFyY2hpdm8gcGVybyBubyBzdSBNSU1FIHR5cGUsIHkgbGEgVUlcclxuICogbmVjZXNpdGEgdW5vIHBhcmEgZGVjaWRpciDDrWNvbm8vdmlzb3IgKGVqLiBkaXN0aW5ndWlyIFBERiBkZSBXb3JkL0V4Y2VsL2ltYWdlbikuXHJcbiAqIFBhcmEgYXJjaGl2b3MgTlVFVk9TIHN1Ymlkb3MgcG9yIGVsIHVzdWFyaW8sIHVzYXIgYEZpbGUudHlwZWAgKHlhIHZpZW5lIGRlbCBuYXZlZ2Fkb3IpLlxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIGluZmVyTWltZVR5cGVGcm9tTmFtZShmaWxlTmFtZT86IHN0cmluZyk6IHN0cmluZyB7XHJcbiAgaWYgKCFmaWxlTmFtZSkgcmV0dXJuICcnO1xyXG4gIGNvbnN0IGV4dCA9IGZpbGVOYW1lLnNwbGl0KCcuJykucG9wKCk/LnRvTG93ZXJDYXNlKCk7XHJcbiAgc3dpdGNoIChleHQpIHtcclxuICAgIGNhc2UgJ3BkZic6IHJldHVybiAnYXBwbGljYXRpb24vcGRmJztcclxuICAgIGNhc2UgJ2pwZyc6XHJcbiAgICBjYXNlICdqcGVnJzogcmV0dXJuICdpbWFnZS9qcGVnJztcclxuICAgIGNhc2UgJ3BuZyc6IHJldHVybiAnaW1hZ2UvcG5nJztcclxuICAgIGNhc2UgJ2RvY3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JztcclxuICAgIGNhc2UgJ3hsc3gnOiByZXR1cm4gJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JztcclxuICAgIGRlZmF1bHQ6IHJldHVybiAnJztcclxuICB9XHJcbn1cclxuIl19
|
|
@@ -8,4 +8,4 @@ export const MB_IN_BYTES = 1024 * 1024;
|
|
|
8
8
|
export function bytesToMB(bytes) {
|
|
9
9
|
return Math.round((bytes / MB_IN_BYTES) * 10) / 10;
|
|
10
10
|
}
|
|
11
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsZS1zaXplLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2ZpbGUtc2l6ZS51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUM7QUFDaEMsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLElBQUksR0FBRyxJQUFJLENBQUM7QUFFdkMscUZBQXFGO0FBQ3JGLE1BQU0sVUFBVSxTQUFTLENBQUMsS0FBYTtJQUNyQyxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDO0FBQ3JELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogQ29uc3RhbnRlcyB5IGNvbnZlcnNpw7NuIGRlIHRhbWHDsW8gZGUgYXJjaGl2by4gQ2VudHJhbGl6YSBsb3MgbsO6bWVyb3MgbcOhZ2ljb3NcclxuICogKDEwMjQpIHkgb2ZyZWNlIHVuYSBjb252ZXJzacOzbiBhIE1CIHBhcmEgbW9zdHJhciB0b3RhbGVzIGFncmVnYWRvcyBlbiBVSS5cclxuICovXHJcbmV4cG9ydCBjb25zdCBLQl9JTl9CWVRFUyA9IDEwMjQ7XHJcbmV4cG9ydCBjb25zdCBNQl9JTl9CWVRFUyA9IDEwMjQgKiAxMDI0O1xyXG5cclxuLyoqIEJ5dGVzIC0+IE1CICgxIGRlY2ltYWwpLiBQYXJhIG1vc3RyYXIgdG90YWxlcyBhZ3JlZ2Fkb3MgKGVqLiBcIlggTUIgZGUgMjUgTUJcIikuICovXHJcbmV4cG9ydCBmdW5jdGlvbiBieXRlc1RvTUIoYnl0ZXM6IG51bWJlcik6IG51bWJlciB7XHJcbiAgcmV0dXJuIE1hdGgucm91bmQoKGJ5dGVzIC8gTUJfSU5fQllURVMpICogMTApIC8gMTA7XHJcbn1cclxuIl19
|
|
@@ -41,4 +41,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImpo
|
|
|
41
41
|
standalone: true,
|
|
42
42
|
}]
|
|
43
43
|
}] });
|
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybWF0by1ob3JhLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pdXMtZGVzaWduLWNvbXBvbmVudHMvdXRpbHMvc3JjL2Zvcm1hdG8taG9yYS5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUVwRDs7Ozs7R0FLRztBQUtILE1BQU0sT0FBTyxlQUFlO0lBQzFCLFNBQVMsQ0FBQyxLQUE0QjtRQUNwQyxJQUFJLENBQUMsS0FBSztZQUFFLE9BQU8sRUFBRSxDQUFDO1FBRXRCLElBQUksS0FBSyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQzFCLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEVBQUUsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUUxQixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFDLDhCQUE4QixDQUFDLENBQUM7UUFDeEQsSUFBSSxLQUFLLEVBQUUsQ0FBQztZQUNWLE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDOUQsQ0FBQztRQUVELE1BQU0sTUFBTSxHQUFHLElBQUksSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzdCLElBQUksQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUM3QixPQUFPLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLENBQUM7UUFFRCxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFTyxXQUFXLENBQUMsS0FBYSxFQUFFLE9BQWU7UUFDaEQsTUFBTSxNQUFNLEdBQUcsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDekMsTUFBTSxNQUFNLEdBQUcsS0FBSyxHQUFHLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztRQUNsRCxJQUFJLE9BQU8sS0FBSyxDQUFDO1lBQUUsT0FBTyxHQUFHLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNoRCxPQUFPLEdBQUcsTUFBTSxJQUFJLE9BQU8sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDO0lBQ3RFLENBQUM7K0dBNUJVLGVBQWU7NkdBQWYsZUFBZTs7NEZBQWYsZUFBZTtrQkFKM0IsSUFBSTttQkFBQztvQkFDSixJQUFJLEVBQUUsYUFBYTtvQkFDbkIsVUFBVSxFQUFFLElBQUk7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIE11ZXN0cmEgdW5hIGhvcmEgZW4gZm9ybWF0byAxMmggY29uIGFtL3BtLlxyXG4gKiAgIHt7ICcxNDozMDowMCcgfCBmb3JtYXRvSG9yYSB9fSAg4oaSIFwiMjozMCBwbVwiXHJcbiAqICAge3sgJzA5OjAwJyAgICB8IGZvcm1hdG9Ib3JhIH19ICDihpIgXCI5IGFtXCJcclxuICogQWNlcHRhIHN0cmluZyAoY29uIEhIOm1tWzpzc10gZW4gY3VhbHF1aWVyIHBhcnRlKSwgRGF0ZSBvIElTTy5cclxuICovXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnZm9ybWF0b0hvcmEnLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGb3JtYXRvSG9yYVBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICB0cmFuc2Zvcm0odmFsdWU/OiBzdHJpbmcgfCBEYXRlIHwgbnVsbCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gJyc7XHJcblxyXG4gICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3Vycyh2YWx1ZS5nZXRIb3VycygpLCB2YWx1ZS5nZXRNaW51dGVzKCkpO1xyXG4gICAgfVxyXG5cclxuICAgIGNvbnN0IHN0ciA9IFN0cmluZyh2YWx1ZSk7XHJcblxyXG4gICAgY29uc3QgbWF0Y2ggPSBzdHIubWF0Y2goLyhcXGR7MSwyfSk6KFxcZHsyfSkoPzo6XFxkezJ9KT8vKTtcclxuICAgIGlmIChtYXRjaCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhOdW1iZXIobWF0Y2hbMV0pLCBOdW1iZXIobWF0Y2hbMl0pKTtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBwYXJzZWQgPSBuZXcgRGF0ZShzdHIpO1xyXG4gICAgaWYgKCFpc05hTihwYXJzZWQuZ2V0VGltZSgpKSkge1xyXG4gICAgICByZXR1cm4gdGhpcy5mb3JtYXRIb3VycyhwYXJzZWQuZ2V0SG91cnMoKSwgcGFyc2VkLmdldE1pbnV0ZXMoKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmb3JtYXRIb3Vycyhob3VyczogbnVtYmVyLCBtaW51dGVzOiBudW1iZXIpOiBzdHJpbmcge1xyXG4gICAgY29uc3QgcGVyaW9kID0gaG91cnMgPj0gMTIgPyAncG0nIDogJ2FtJztcclxuICAgIGNvbnN0IGhvdXIxMiA9IGhvdXJzICUgMTIgPT09IDAgPyAxMiA6IGhvdXJzICUgMTI7XHJcbiAgICBpZiAobWludXRlcyA9PT0gMCkgcmV0dXJuIGAke2hvdXIxMn0gJHtwZXJpb2R9YDtcclxuICAgIHJldHVybiBgJHtob3VyMTJ9OiR7bWludXRlcy50b1N0cmluZygpLnBhZFN0YXJ0KDIsICcwJyl9ICR7cGVyaW9kfWA7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|