@acorex/components 7.2.6 → 7.2.7
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/breadcrumbs/lib/breadcrumbs-item.component.d.ts +5 -69
- package/button/lib/button-group.component.d.ts +6 -6
- package/button/lib/button-item.component.d.ts +6 -6
- package/checkbox/lib/checkbox.component.d.ts +14 -9
- package/chips/lib/chips.component.d.ts +5 -64
- package/collapse/lib/collapse-group.component.d.ts +22 -10
- package/collapse/lib/collapse.component.d.ts +13 -7
- package/color-palette/lib/color-palette-input.component.d.ts +4 -6
- package/color-palette/lib/color-palette-picker.component.d.ts +4 -7
- package/color-palette/lib/color-palette-preview.component.d.ts +5 -5
- package/color-palette/lib/color-palette-swatches.component.d.ts +6 -7
- package/color-palette/lib/color-palette.class.d.ts +1 -1
- package/color-palette/lib/color-palette.component.d.ts +13 -7
- package/color-picker/lib/color-picker.component.d.ts +21 -18
- package/common/lib/components/base-component.class.d.ts +7 -7
- package/common/lib/components/value-component.class.d.ts +1 -0
- package/decorators/index.d.ts +1 -0
- package/decorators/lib/divider.component.d.ts +5 -0
- package/esm2022/alert/lib/alert.component.mjs +2 -1
- package/esm2022/breadcrumbs/lib/breadcrumbs-item.component.mjs +10 -19
- package/esm2022/breadcrumbs/lib/breadcrumbs.component.mjs +2 -2
- package/esm2022/calendar/lib/calendar.class.mjs +3 -2
- package/esm2022/checkbox/lib/checkbox.component.mjs +27 -19
- package/esm2022/chips/lib/chips.component.mjs +6 -9
- package/esm2022/collapse/lib/collapse-group.component.mjs +80 -24
- package/esm2022/collapse/lib/collapse.component.mjs +28 -15
- package/esm2022/color-palette/lib/color-palette-input.component.mjs +11 -11
- package/esm2022/color-palette/lib/color-palette-picker.component.mjs +25 -21
- package/esm2022/color-palette/lib/color-palette-preview.component.mjs +12 -11
- package/esm2022/color-palette/lib/color-palette-swatches.component.mjs +12 -12
- package/esm2022/color-palette/lib/color-palette.class.mjs +1 -1
- package/esm2022/color-palette/lib/color-palette.component.mjs +26 -37
- package/esm2022/color-picker/lib/color-picker.component.mjs +3 -6
- package/esm2022/common/lib/components/base-component.class.mjs +5 -4
- package/esm2022/common/lib/components/value-component.class.mjs +17 -11
- package/esm2022/decorators/index.mjs +2 -1
- package/esm2022/decorators/lib/divider.component.mjs +17 -0
- package/esm2022/decorators/lib/form-hint.component.mjs +4 -4
- package/esm2022/decorators/lib/suffix.component.mjs +1 -1
- package/esm2022/form/lib/form-field.component.mjs +2 -2
- package/esm2022/form/lib/form.component.mjs +1 -3
- package/esm2022/label/lib/label.component.mjs +2 -2
- package/esm2022/mixin/lib/value-mixin.class.mjs +4 -1
- package/esm2022/range-slider/lib/range-slider.component.mjs +28 -20
- package/esm2022/switch/lib/switch.component.mjs +2 -3
- package/esm2022/time-box/lib/time-box.component.mjs +2 -4
- package/fesm2022/acorex-components-alert.mjs +1 -0
- package/fesm2022/acorex-components-alert.mjs.map +1 -1
- package/fesm2022/acorex-components-breadcrumbs.mjs +11 -21
- package/fesm2022/acorex-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/acorex-components-calendar.mjs +2 -1
- package/fesm2022/acorex-components-calendar.mjs.map +1 -1
- package/fesm2022/acorex-components-checkbox.mjs +26 -18
- package/fesm2022/acorex-components-checkbox.mjs.map +1 -1
- package/fesm2022/acorex-components-chips.mjs +6 -9
- package/fesm2022/acorex-components-chips.mjs.map +1 -1
- package/fesm2022/acorex-components-collapse.mjs +104 -35
- package/fesm2022/acorex-components-collapse.mjs.map +1 -1
- package/fesm2022/acorex-components-color-palette.mjs +71 -76
- package/fesm2022/acorex-components-color-palette.mjs.map +1 -1
- package/fesm2022/acorex-components-color-picker.mjs +2 -5
- package/fesm2022/acorex-components-color-picker.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +20 -13
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-decorators.mjs +18 -3
- package/fesm2022/acorex-components-decorators.mjs.map +1 -1
- package/fesm2022/acorex-components-form.mjs +2 -4
- package/fesm2022/acorex-components-form.mjs.map +1 -1
- package/fesm2022/acorex-components-label.mjs +2 -2
- package/fesm2022/acorex-components-label.mjs.map +1 -1
- package/fesm2022/acorex-components-mixin.mjs +3 -0
- package/fesm2022/acorex-components-mixin.mjs.map +1 -1
- package/fesm2022/acorex-components-range-slider.mjs +26 -18
- package/fesm2022/acorex-components-range-slider.mjs.map +1 -1
- package/fesm2022/acorex-components-switch.mjs +1 -2
- package/fesm2022/acorex-components-switch.mjs.map +1 -1
- package/fesm2022/acorex-components-time-box.mjs +1 -3
- package/fesm2022/acorex-components-time-box.mjs.map +1 -1
- package/mixin/lib/base-components.class.d.ts +2 -2
- package/mixin/lib/base-menu-mixin.class.d.ts +5 -5
- package/mixin/lib/button-mixin.class.d.ts +2 -2
- package/mixin/lib/clickable-mixin.class.d.ts +2 -2
- package/mixin/lib/color-look-mixing.class.d.ts +2 -2
- package/mixin/lib/datalist-component.class.d.ts +10 -10
- package/mixin/lib/dropdown-mixin.class.d.ts +2 -2
- package/mixin/lib/interactive-mixin.class.d.ts +4 -4
- package/mixin/lib/loading-mixin.class.d.ts +2 -2
- package/mixin/lib/mixin.class.d.ts +62 -61
- package/mixin/lib/page-component.class.d.ts +2 -2
- package/mixin/lib/selection-component.class.d.ts +2 -2
- package/mixin/lib/sizable-mixin.class.d.ts +2 -2
- package/mixin/lib/textbox-mixin.class.d.ts +2 -2
- package/mixin/lib/value-mixin.class.d.ts +9 -8
- package/package.json +8 -8
- package/range-slider/lib/range-slider.component.d.ts +16 -9
- package/switch/lib/switch.component.d.ts +1 -1
- package/tabs/lib/tab-item.component.d.ts +2 -2
- package/time-box/lib/time-box.component.d.ts +1 -1
@@ -1,37 +1,89 @@
|
|
1
|
-
import {
|
2
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChildren, ElementRef, Input, QueryList, ViewEncapsulation, } from '@angular/core';
|
1
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Input, Output, QueryList, ViewEncapsulation, } from '@angular/core';
|
3
2
|
import { AXCollapseComponent } from './collapse.component';
|
3
|
+
import { MXBaseComponent } from '@acorex/components/common';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
-
export class AXCollapseGroupComponent extends
|
6
|
-
constructor(
|
7
|
-
super(
|
8
|
-
this.
|
9
|
-
this.
|
10
|
-
this.
|
5
|
+
export class AXCollapseGroupComponent extends MXBaseComponent {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
this.accordionChange = new EventEmitter();
|
9
|
+
this._accordion = false;
|
10
|
+
this.activeIndexChange = new EventEmitter();
|
11
|
+
this._activeIndex = 0;
|
11
12
|
this._subs = [];
|
12
13
|
}
|
13
|
-
|
14
|
-
|
14
|
+
/**
|
15
|
+
* Enables accordion behavior, allowing only one collapsible item to be expanded at a time
|
16
|
+
*/
|
17
|
+
get accordion() {
|
18
|
+
return this._accordion;
|
19
|
+
}
|
20
|
+
set accordion(value) {
|
21
|
+
this.setOption({
|
22
|
+
name: 'accordion',
|
23
|
+
value,
|
24
|
+
afterCallback: (oldValue, newValue) => {
|
25
|
+
if (newValue)
|
26
|
+
this.applyAccordion();
|
27
|
+
else
|
28
|
+
this.removeAccordion();
|
29
|
+
},
|
30
|
+
});
|
31
|
+
}
|
32
|
+
/**
|
33
|
+
* Index of the currently active item within the group
|
34
|
+
*/
|
35
|
+
get activeIndex() {
|
36
|
+
return this._activeIndex;
|
37
|
+
}
|
38
|
+
set activeIndex(value) {
|
39
|
+
this.setOption({
|
40
|
+
name: 'activeIndex',
|
41
|
+
value,
|
42
|
+
beforeCallback: (oldValue, newValue) => {
|
43
|
+
const len = this._items?.length || 0;
|
44
|
+
if (newValue < 0)
|
45
|
+
newValue = 0;
|
46
|
+
if (len > 0 && newValue >= len) {
|
47
|
+
newValue = len - 1;
|
48
|
+
}
|
49
|
+
return newValue;
|
50
|
+
},
|
51
|
+
afterCallback: (oldValue, newValue) => {
|
52
|
+
this.applyAccordion();
|
53
|
+
},
|
54
|
+
});
|
55
|
+
}
|
56
|
+
ngAfterViewInit() {
|
57
|
+
this.applyAccordion();
|
58
|
+
}
|
59
|
+
applyAccordion() {
|
60
|
+
if (!this.accordion)
|
61
|
+
return;
|
62
|
+
if (this._items && this._items.length > 1) {
|
63
|
+
const activeIndex = this._items.get(this.activeIndex) || this._items[0];
|
15
64
|
this._items.forEach((c) => (c.isCollapsed = true));
|
16
|
-
|
17
|
-
|
65
|
+
if (activeIndex)
|
66
|
+
activeIndex.isCollapsed = false;
|
18
67
|
this._items.forEach((c1) => {
|
19
|
-
this.
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
68
|
+
const list = this._items.toArray();
|
69
|
+
this._subs.push(c1.onClick.subscribe((e) => {
|
70
|
+
this._activeIndex = list.indexOf(c1);
|
71
|
+
list
|
72
|
+
.filter((c2) => c2 != c1)
|
73
|
+
.forEach((c) => (c.isCollapsed = true));
|
25
74
|
}));
|
26
75
|
});
|
27
76
|
}
|
28
77
|
}
|
29
|
-
|
78
|
+
removeAccordion() {
|
30
79
|
this._subs.forEach((s) => s.unsubscribe());
|
31
80
|
this._subs = [];
|
32
81
|
}
|
33
|
-
|
34
|
-
|
82
|
+
ngOnDestroy() {
|
83
|
+
this.removeAccordion();
|
84
|
+
}
|
85
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXCollapseGroupComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
86
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AXCollapseGroupComponent, selector: "ax-collapse-group", inputs: { accordion: "accordion", activeIndex: "activeIndex" }, outputs: { accordionChange: "accordionChange", activeIndexChange: "activeIndexChange" }, host: { classAttribute: "ax-collapse-group" }, queries: [{ propertyName: "_items", predicate: AXCollapseComponent }], usesInheritance: true, ngImport: i0, template: `<ng-content select="ax-collapse"></ng-content>`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
35
87
|
}
|
36
88
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXCollapseGroupComponent, decorators: [{
|
37
89
|
type: Component,
|
@@ -42,12 +94,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
42
94
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
43
95
|
encapsulation: ViewEncapsulation.None,
|
44
96
|
}]
|
45
|
-
}],
|
97
|
+
}], propDecorators: { accordionChange: [{
|
98
|
+
type: Output
|
99
|
+
}], accordion: [{
|
46
100
|
type: Input
|
47
|
-
}],
|
101
|
+
}], activeIndexChange: [{
|
102
|
+
type: Output
|
103
|
+
}], activeIndex: [{
|
48
104
|
type: Input
|
49
105
|
}], _items: [{
|
50
106
|
type: ContentChildren,
|
51
107
|
args: [AXCollapseComponent]
|
52
108
|
}] } });
|
53
|
-
//# sourceMappingURL=data:application/json;base64,
|
109
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UtZ3JvdXAuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UtZ3JvdXAuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULGVBQWUsRUFDZixZQUFZLEVBQ1osS0FBSyxFQUNMLE1BQU0sRUFDTixTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzNELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7QUFTNUQsTUFBTSxPQUFPLHdCQUF5QixTQUFRLGVBQWU7SUFQN0Q7O1FBVUUsb0JBQWUsR0FBMEIsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUNwRCxlQUFVLEdBQWEsS0FBSyxDQUFDO1FBdUJyQyxzQkFBaUIsR0FBeUIsSUFBSSxZQUFZLEVBQVUsQ0FBQztRQUM3RCxpQkFBWSxHQUFXLENBQUMsQ0FBQztRQThCekIsVUFBSyxHQUFtQixFQUFFLENBQUM7S0FzQ3BDO0lBMUZDOztPQUVHO0lBQ0gsSUFDSSxTQUFTO1FBQ1gsT0FBTyxJQUFJLENBQUMsVUFBVyxDQUFDO0lBQzFCLENBQUM7SUFDRCxJQUFJLFNBQVMsQ0FBQyxLQUFjO1FBQzFCLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixJQUFJLEVBQUUsV0FBVztZQUNqQixLQUFLO1lBQ0wsYUFBYSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxFQUFFO2dCQUNwQyxJQUFJLFFBQVE7b0JBQ1YsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDOztvQkFFdEIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzNCLENBQUM7U0FDRixDQUFDLENBQUM7SUFDTCxD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UUFBUSxFQUFFLGdEQUFnRDtvQkFDMUQsSUFBSSxFQUFFLEVBQUUsS0FBSyxFQUFFLG1CQUFtQixFQUFFO29CQUNwQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7aUJBQ3RDOzhCQUlDLGVBQWU7c0JBRGQsTUFBTTtnQkFRSCxTQUFTO3NCQURaLEtBQUs7Z0JBa0JOLGlCQUFpQjtzQkFEaEIsTUFBTTtnQkFPSCxXQUFXO3NCQURkLEtBQUs7Z0JBd0JFLE1BQU07c0JBRGIsZUFBZTt1QkFBQyxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBDb250ZW50Q2hpbGRyZW4sXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgUXVlcnlMaXN0LFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEFYQ29sbGFwc2VDb21wb25lbnQgfSBmcm9tICcuL2NvbGxhcHNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBNWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29sbGFwc2UtZ3JvdXAnLFxuICB0ZW1wbGF0ZTogYDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWNvbGxhcHNlXCI+PC9uZy1jb250ZW50PmAsXG4gIGhvc3Q6IHsgY2xhc3M6ICdheC1jb2xsYXBzZS1ncm91cCcgfSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIEFYQ29sbGFwc2VHcm91cENvbXBvbmVudCBleHRlbmRzIE1YQmFzZUNvbXBvbmVudCB7XG5cbiAgQE91dHB1dCgpXG4gIGFjY29yZGlvbkNoYW5nZTogRXZlbnRFbWl0dGVyPGJvb2xlYW4+ID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuICBwcml2YXRlIF9hY2NvcmRpb24/OiBib29sZWFuID0gZmFsc2U7XG5cbiAgLyoqXG4gICAqICBFbmFibGVzIGFjY29yZGlvbiBiZWhhdmlvciwgYWxsb3dpbmcgb25seSBvbmUgY29sbGFwc2libGUgaXRlbSB0byBiZSBleHBhbmRlZCBhdCBhIHRpbWVcbiAgICovXG4gIEBJbnB1dCgpXG4gIGdldCBhY2NvcmRpb24oKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMuX2FjY29yZGlvbiE7XG4gIH1cbiAgc2V0IGFjY29yZGlvbih2YWx1ZTogYm9vbGVhbikge1xuICAgIHRoaXMuc2V0T3B0aW9uKHtcbiAgICAgIG5hbWU6ICdhY2NvcmRpb24nLFxuICAgICAgdmFsdWUsXG4gICAgICBhZnRlckNhbGxiYWNrOiAob2xkVmFsdWUsIG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIGlmIChuZXdWYWx1ZSlcbiAgICAgICAgICB0aGlzLmFwcGx5QWNjb3JkaW9uKCk7XG4gICAgICAgIGVsc2VcbiAgICAgICAgICB0aGlzLnJlbW92ZUFjY29yZGlvbigpO1xuICAgICAgfSxcbiAgICB9KTtcbiAgfVxuXG4gIEBPdXRwdXQoKVxuICBhY3RpdmVJbmRleENoYW5nZTogRXZlbnRFbWl0dGVyPG51bWJlcj4gPSBuZXcgRXZlbnRFbWl0dGVyPG51bWJlcj4oKTtcbiAgcHJpdmF0ZSBfYWN0aXZlSW5kZXg6IG51bWJlciA9IDA7XG4gIC8qKlxuICAqICBJbmRleCBvZiB0aGUgY3VycmVudGx5IGFjdGl2ZSBpdGVtIHdpdGhpbiB0aGUgZ3JvdXBcbiAgKi9cbiAgQElucHV0KClcbiAgZ2V0IGFjdGl2ZUluZGV4KCk6IG51bWJlciB7XG4gICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4O1xuICB9XG4gIHNldCBhY3RpdmVJbmRleCh2YWx1ZTogbnVtYmVyKSB7XG4gICAgdGhpcy5zZXRPcHRpb24oe1xuICAgICAgbmFtZTogJ2FjdGl2ZUluZGV4JyxcbiAgICAgIHZhbHVlLFxuICAgICAgYmVmb3JlQ2FsbGJhY2s6IChvbGRWYWx1ZSwgbmV3VmFsdWUpID0+IHtcbiAgICAgICAgY29uc3QgbGVuID0gdGhpcy5faXRlbXM/Lmxlbmd0aCB8fCAwO1xuICAgICAgICBpZiAobmV3VmFsdWUgPCAwKVxuICAgICAgICAgIG5ld1ZhbHVlID0gMDtcbiAgICAgICAgaWYgKGxlbiA+IDAgJiYgbmV3VmFsdWUgPj0gbGVuKSB7XG4gICAgICAgICAgbmV3VmFsdWUgPSBsZW4gLSAxO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBuZXdWYWx1ZTtcbiAgICAgIH0sXG4gICAgICBhZnRlckNhbGxiYWNrOiAob2xkVmFsdWUsIG5ld1ZhbHVlKSA9PiB7XG4gICAgICAgIHRoaXMuYXBwbHlBY2NvcmRpb24oKTtcbiAgICAgIH0sXG4gICAgfSk7XG4gIH1cblxuICBAQ29udGVudENoaWxkcmVuKEFYQ29sbGFwc2VDb21wb25lbnQpXG4gIHByaXZhdGUgX2l0ZW1zOiBRdWVyeUxpc3Q8QVhDb2xsYXBzZUNvbXBvbmVudD47XG5cbiAgcHJpdmF0ZSBfc3ViczogU3Vic2NyaXB0aW9uW10gPSBbXTtcblxuXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLmFwcGx5QWNjb3JkaW9uKCk7XG4gIH1cblxuICBwcml2YXRlIGFwcGx5QWNjb3JkaW9uKCkgeyAgICBcbiAgICBpZiAoIXRoaXMuYWNjb3JkaW9uKVxuICAgICAgcmV0dXJuO1xuICAgIGlmICh0aGlzLl9pdGVtcyAmJiB0aGlzLl9pdGVtcy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBhY3RpdmVJbmRleCA9IHRoaXMuX2l0ZW1zLmdldCh0aGlzLmFjdGl2ZUluZGV4KSB8fCB0aGlzLl9pdGVtc1swXTtcbiAgICAgIHRoaXMuX2l0ZW1zLmZvckVhY2goKGMpID0+IChjLmlzQ29sbGFwc2VkID0gdHJ1ZSkpO1xuICAgICAgaWYgKGFjdGl2ZUluZGV4KVxuICAgICAgICBhY3RpdmVJbmRleC5pc0NvbGxhcHNlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5faXRlbXMuZm9yRWFjaCgoYzE6IEFYQ29sbGFwc2VDb21wb25lbnQpID0+IHtcbiAgICAgICAgY29uc3QgbGlzdCA9IHRoaXMuX2l0ZW1zLnRvQXJyYXkoKTtcbiAgICAgIFxuICAgICAgICB0aGlzLl9zdWJzLnB1c2goXG4gICAgICAgICAgYzEub25DbGljay5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2FjdGl2ZUluZGV4ID0gbGlzdC5pbmRleE9mKGMxKTtcbiAgICAgICAgICAgIGxpc3RcbiAgICAgICAgICAgICAgLmZpbHRlcigoYzIpID0+IGMyICE9IGMxKVxuICAgICAgICAgICAgICAuZm9yRWFjaCgoYykgPT4gKGMuaXNDb2xsYXBzZWQgPSB0cnVlKSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgcmVtb3ZlQWNjb3JkaW9uKCkge1xuICAgIHRoaXMuX3N1YnMuZm9yRWFjaCgocykgPT4gcy51bnN1YnNjcmliZSgpKTtcbiAgICB0aGlzLl9zdWJzID0gW107XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlbW92ZUFjY29yZGlvbigpO1xuICB9XG59XG4iXX0=
|
@@ -1,16 +1,23 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, Input, Output, TemplateRef, ViewEncapsulation, } from '@angular/core';
|
2
|
+
import { MXInteractiveComponent } from '@acorex/components/common';
|
3
3
|
import * as i0 from "@angular/core";
|
4
4
|
import * as i1 from "@angular/common";
|
5
|
-
export class AXCollapseComponent extends
|
6
|
-
constructor(
|
7
|
-
super(
|
8
|
-
|
5
|
+
export class AXCollapseComponent extends MXInteractiveComponent {
|
6
|
+
constructor() {
|
7
|
+
super(...arguments);
|
8
|
+
/**
|
9
|
+
* Fires each time the user clicks the panel header.
|
10
|
+
* @event
|
11
|
+
*/
|
12
|
+
this.onClick = new EventEmitter();
|
9
13
|
this.isCollapsedChange = new EventEmitter();
|
10
14
|
this._isCollapsed = false;
|
11
15
|
this.caption = '';
|
12
16
|
this.icon = '';
|
13
17
|
}
|
18
|
+
/**
|
19
|
+
* Providing a boolean value for its collapse state
|
20
|
+
*/
|
14
21
|
get isCollapsed() {
|
15
22
|
return this._isCollapsed;
|
16
23
|
}
|
@@ -18,19 +25,26 @@ export class AXCollapseComponent extends AXBaseComponent {
|
|
18
25
|
if (v != this._isCollapsed) {
|
19
26
|
this._isCollapsed = v;
|
20
27
|
this.isCollapsedChange.emit(v);
|
21
|
-
this.
|
28
|
+
this.cdr.detectChanges();
|
22
29
|
}
|
23
30
|
}
|
24
|
-
handleHeaderClick() {
|
31
|
+
handleHeaderClick(e) {
|
32
|
+
if (this.disabled)
|
33
|
+
return;
|
25
34
|
this.isCollapsed = !this.isCollapsed;
|
35
|
+
this.onClick.emit({
|
36
|
+
component: this,
|
37
|
+
htmlElement: this.getHostElement(),
|
38
|
+
nativeEvent: e,
|
39
|
+
});
|
26
40
|
}
|
27
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXCollapseComponent, deps:
|
28
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AXCollapseComponent, selector: "ax-collapse", inputs: { isCollapsed: "isCollapsed", caption: "caption", icon: "icon"
|
41
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXCollapseComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
42
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AXCollapseComponent, selector: "ax-collapse", inputs: { isCollapsed: "isCollapsed", caption: "caption", icon: "icon", headerTemplate: "headerTemplate" }, outputs: { isCollapsedChange: "isCollapsedChange" }, usesInheritance: true, ngImport: i0, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\" [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\n </div>\n </ng-container>\n <ng-template #default>\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <span class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow ax-transition-all\" [ngClass]=\"{ '-ax-rotation-90': isCollapsed, 'ax-rotation-90': !isCollapsed }\"></span>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-collapse,ax-collapse-group{display:block;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);overflow:hidden;font-size:1rem;width:100%}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{color:rgba(var(--ax-color-text-default));padding:.75rem}ax-collapse .ax-collapse-header{background-color:rgba(var(--ax-color-surface));cursor:pointer;-webkit-user-select:none;user-select:none}ax-collapse .ax-collapse-header .ax-collapse-header-container{display:flex;justify-content:space-between}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start{display:flex;align-items:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start:not(:empty) .ax-collapse-header-icon{font-size:1.25rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow{font-size:1.5rem}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}ax-collapse-group ax-collapse{border:0!important;border-radius:0!important}ax-collapse-group ax-collapse:not(ax-collapse-group ax-collapse:last-child){border-bottom:1px solid!important;border-color:rgba(var(--ax-color-border-default))!important}\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.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
29
43
|
}
|
30
44
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXCollapseComponent, decorators: [{
|
31
45
|
type: Component,
|
32
|
-
args: [{ selector: 'ax-collapse', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick()\">\n <ng-container *ngIf=\"headerTemplate; else
|
33
|
-
}],
|
46
|
+
args: [{ selector: 'ax-collapse', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, template: "<div class=\"ax-collapse-header\" [class.ax-state-collapsed]=\"isCollapsed\" (click)=\"handleHeaderClick($event)\">\n <ng-container *ngIf=\"headerTemplate; else default\">\n <div class=\"ax-collapse-custom-header-container\">\n <ng-container [ngTemplateOutlet]=\"headerTemplate\" [ngTemplateOutletContext]=\"{ $implicit: { caption, isCollapsed } }\"></ng-container>\n </div>\n </ng-container>\n <ng-template #default>\n <div class=\"ax-collapse-header-container\">\n <div class=\"ax-collapse-header-start\">\n <span class=\"ax-collapse-header-icon\" [class]=\"icon\"> </span>\n <span>\n {{ caption }}\n </span>\n </div>\n <span class=\"ax-icon ax-icon-chevron-left ax-collapse-arrow ax-transition-all\" [ngClass]=\"{ '-ax-rotation-90': isCollapsed, 'ax-rotation-90': !isCollapsed }\"></span>\n </div>\n </ng-template>\n</div>\n<div class=\"ax-collapse-body\" *ngIf=\"!isCollapsed\">\n <ng-content></ng-content>\n</div>\n", styles: ["ax-collapse,ax-collapse-group{display:block;border:1px solid;border-color:rgba(var(--ax-color-border-default));border-radius:var(--ax-rounded-border-default);overflow:hidden;font-size:1rem;width:100%}ax-collapse .ax-collapse-header,ax-collapse .ax-collapse-body{color:rgba(var(--ax-color-text-default));padding:.75rem}ax-collapse .ax-collapse-header{background-color:rgba(var(--ax-color-surface));cursor:pointer;-webkit-user-select:none;user-select:none}ax-collapse .ax-collapse-header .ax-collapse-header-container{display:flex;justify-content:space-between}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start{display:flex;align-items:center}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-header-start:not(:empty) .ax-collapse-header-icon{font-size:1.25rem;padding-inline-end:.5rem}ax-collapse .ax-collapse-header .ax-collapse-header-container .ax-collapse-arrow{font-size:1.5rem}ax-collapse .ax-collapse-body{background-color:rgba(var(--ax-color-surface))}ax-collapse-group ax-collapse{border:0!important;border-radius:0!important}ax-collapse-group ax-collapse:not(ax-collapse-group ax-collapse:last-child){border-bottom:1px solid!important;border-color:rgba(var(--ax-color-border-default))!important}\n"] }]
|
47
|
+
}], propDecorators: { isCollapsedChange: [{
|
34
48
|
type: Output
|
35
49
|
}], isCollapsed: [{
|
36
50
|
type: Input
|
@@ -39,7 +53,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
39
53
|
}], icon: [{
|
40
54
|
type: Input
|
41
55
|
}], headerTemplate: [{
|
42
|
-
type:
|
43
|
-
args: ['collapseHeader', { static: true }]
|
56
|
+
type: Input
|
44
57
|
}] } });
|
45
|
-
//# sourceMappingURL=data:application/json;base64,
|
58
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sbGFwc2UuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbGxhcHNlL3NyYy9saWIvY29sbGFwc2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUNMLHVCQUF1QixFQUN2QixTQUFTLEVBRVQsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04sV0FBVyxFQUNYLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdCLHNCQUFzQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7OztBQVNqRixNQUFNLE9BQU8sbUJBQW9CLFNBQVEsc0JBQXNCO0lBUC9EOztRQVNFOzs7VUFHRTtRQUNGLFlBQU8sR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFJdkUsc0JBQWlCLEdBQXNCLElBQUksWUFBWSxFQUFPLENBQUM7UUFFdkQsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFpQnRDLFlBQU8sR0FBVyxFQUFFLENBQUM7UUFHckIsU0FBSSxHQUFXLEVBQUUsQ0FBQztLQWNuQjtJQWpDQzs7TUFFRTtJQUNGLElBQ1csV0FBVztRQUNwQixPQUFPLElBQUksQ0FBQyxZQUFZLENBQUM7SUFDM0IsQ0FBQztJQUNELElBQVcsV0FBVyxDQUFDLENBQVU7UUFDL0IsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUMxQixJQUFJLENBQUMsWUFBWSxHQUFHLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQy9CLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7U0FDMUI7SUFDSCxDQUFDO0lBV0QsaUJBQWlCLENBQUMsQ0FBYTtRQUM3QixJQUFJLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTztRQUMxQixJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQztZQUNoQixTQUFTLEVBQUUsSUFBSTtZQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO1lBQ2xDLFdBQVcsRUFBRSxDQUFDO1NBQ2YsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzs4R0E3Q1UsbUJBQW1CO2tHQUFuQixtQkFBbUIsMk9DcEJoQyw2OUJBcUJBOzsyRkREYSxtQkFBbUI7a0JBUC9CLFNBQVM7K0JBQ0UsYUFBYSxtQkFHTix1QkFBdUIsQ0FBQyxNQUFNLGlCQUNoQyxpQkFBaUIsQ0FBQyxJQUFJOzhCQVlyQyxpQkFBaUI7c0JBRGhCLE1BQU07Z0JBUUksV0FBVztzQkFEckIsS0FBSztnQkFhTixPQUFPO3NCQUROLEtBQUs7Z0JBSU4sSUFBSTtzQkFESCxLQUFLO2dCQUlOLGNBQWM7c0JBRGIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE1YQmFzZUNvbXBvbmVudCB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgQ29udGVudENoaWxkLFxuICBFdmVudEVtaXR0ZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFRlbXBsYXRlUmVmLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBBWENsaWNrRXZlbnQsIE1YSW50ZXJhY3RpdmVDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtY29sbGFwc2UnLFxuICB0ZW1wbGF0ZVVybDogJy4vY29sbGFwc2UuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jb2xsYXBzZS5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgQVhDb2xsYXBzZUNvbXBvbmVudCBleHRlbmRzIE1YSW50ZXJhY3RpdmVDb21wb25lbnQge1xuXG4gIC8qKlxuICAqICBGaXJlcyBlYWNoIHRpbWUgdGhlIHVzZXIgY2xpY2tzIHRoZSBwYW5lbCBoZWFkZXIuXG4gICogIEBldmVudFxuICAqL1xuICBvbkNsaWNrOiBFdmVudEVtaXR0ZXI8QVhDbGlja0V2ZW50PiA9IG5ldyBFdmVudEVtaXR0ZXI8QVhDbGlja0V2ZW50PigpO1xuXG5cbiAgQE91dHB1dCgpXG4gIGlzQ29sbGFwc2VkQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHByaXZhdGUgX2lzQ29sbGFwc2VkOiBib29sZWFuID0gZmFsc2U7XG4gIC8qKlxuICAqICBQcm92aWRpbmcgYSBib29sZWFuIHZhbHVlIGZvciBpdHMgY29sbGFwc2Ugc3RhdGVcbiAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIGdldCBpc0NvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5faXNDb2xsYXBzZWQ7XG4gIH1cbiAgcHVibGljIHNldCBpc0NvbGxhcHNlZCh2OiBib29sZWFuKSB7XG4gICAgaWYgKHYgIT0gdGhpcy5faXNDb2xsYXBzZWQpIHtcbiAgICAgIHRoaXMuX2lzQ29sbGFwc2VkID0gdjtcbiAgICAgIHRoaXMuaXNDb2xsYXBzZWRDaGFuZ2UuZW1pdCh2KTtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICBASW5wdXQoKVxuICBjYXB0aW9uOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBpY29uOiBzdHJpbmcgPSAnJztcblxuICBASW5wdXQoKVxuICBoZWFkZXJUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcblxuICBoYW5kbGVIZWFkZXJDbGljayhlOiBNb3VzZUV2ZW50KSB7XG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcbiAgICB0aGlzLmlzQ29sbGFwc2VkID0gIXRoaXMuaXNDb2xsYXBzZWQ7XG4gICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgY29tcG9uZW50OiB0aGlzLFxuICAgICAgaHRtbEVsZW1lbnQ6IHRoaXMuZ2V0SG9zdEVsZW1lbnQoKSxcbiAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgIH0pO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyXCIgW2NsYXNzLmF4LXN0YXRlLWNvbGxhcHNlZF09XCJpc0NvbGxhcHNlZFwiIChjbGljayk9XCJoYW5kbGVIZWFkZXJDbGljaygkZXZlbnQpXCI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJoZWFkZXJUZW1wbGF0ZTsgZWxzZSBkZWZhdWx0XCI+XG4gICAgPGRpdiBjbGFzcz1cImF4LWNvbGxhcHNlLWN1c3RvbS1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRlclRlbXBsYXRlXCIgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgJGltcGxpY2l0OiB7IGNhcHRpb24sIGlzQ29sbGFwc2VkIH0gfVwiPjwvbmctY29udGFpbmVyPlxuICAgIDwvZGl2PlxuICA8L25nLWNvbnRhaW5lcj5cbiAgPG5nLXRlbXBsYXRlICNkZWZhdWx0PlxuICAgIDxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1oZWFkZXItY29udGFpbmVyXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyLXN0YXJ0XCI+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYXgtY29sbGFwc2UtaGVhZGVyLWljb25cIiBbY2xhc3NdPVwiaWNvblwiPiA8L3NwYW4+XG4gICAgICAgIDxzcGFuPlxuICAgICAgICAgIHt7IGNhcHRpb24gfX1cbiAgICAgICAgPC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi1jaGV2cm9uLWxlZnQgYXgtY29sbGFwc2UtYXJyb3cgYXgtdHJhbnNpdGlvbi1hbGxcIiBbbmdDbGFzc109XCJ7ICctYXgtcm90YXRpb24tOTAnOiBpc0NvbGxhcHNlZCwgJ2F4LXJvdGF0aW9uLTkwJzogIWlzQ29sbGFwc2VkIH1cIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gIDwvbmctdGVtcGxhdGU+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJheC1jb2xsYXBzZS1ib2R5XCIgKm5nSWY9XCIhaXNDb2xsYXBzZWRcIj5cbiAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG4iXX0=
|
@@ -1,16 +1,16 @@
|
|
1
1
|
import { AXColorUtil } from '@acorex/core/utils';
|
2
|
-
import { ChangeDetectionStrategy,
|
2
|
+
import { ChangeDetectionStrategy, Component, Inject, Optional, ViewEncapsulation, } from '@angular/core';
|
3
3
|
import { distinctUntilChanged } from 'rxjs/operators';
|
4
|
+
import { MXBaseComponent } from '@acorex/components/common';
|
4
5
|
import { AXColorComponent, AXColorPaletteChildComponent, } from './color-palette.class';
|
5
|
-
import { AXBaseComponent } from '@acorex/components/mixin';
|
6
6
|
import * as i0 from "@angular/core";
|
7
7
|
import * as i1 from "@angular/common";
|
8
8
|
import * as i2 from "@acorex/components/textbox";
|
9
9
|
import * as i3 from "@acorex/components/number-box";
|
10
10
|
import * as i4 from "./color-palette.class";
|
11
|
-
export class AXColorPaletteInputComponent extends
|
12
|
-
constructor(
|
13
|
-
super(
|
11
|
+
export class AXColorPaletteInputComponent extends MXBaseComponent {
|
12
|
+
constructor(_parent) {
|
13
|
+
super();
|
14
14
|
this._parent = _parent;
|
15
15
|
this._isTouched = false;
|
16
16
|
this.isValid = true;
|
@@ -51,7 +51,7 @@ export class AXColorPaletteInputComponent extends AXBaseComponent {
|
|
51
51
|
}
|
52
52
|
}
|
53
53
|
this.checkValid();
|
54
|
-
|
54
|
+
this.cdr.detectChanges();
|
55
55
|
});
|
56
56
|
}
|
57
57
|
_handleChangeInputMode() {
|
@@ -71,7 +71,7 @@ export class AXColorPaletteInputComponent extends AXBaseComponent {
|
|
71
71
|
const { r, g, b, a } = this._rgba;
|
72
72
|
const _color = `rgba(${r},${g},${b},${a})`;
|
73
73
|
if (e.isUserInteraction) {
|
74
|
-
this._parent.
|
74
|
+
this._parent.setUserInteraction();
|
75
75
|
this._isTouched = true;
|
76
76
|
}
|
77
77
|
this._parent._onInternalColorChanged$.next({
|
@@ -84,7 +84,7 @@ export class AXColorPaletteInputComponent extends AXBaseComponent {
|
|
84
84
|
return;
|
85
85
|
//
|
86
86
|
if (e.isUserInteraction) {
|
87
|
-
this._parent.
|
87
|
+
this._parent.setUserInteraction();
|
88
88
|
this._isTouched = true;
|
89
89
|
}
|
90
90
|
//
|
@@ -104,7 +104,7 @@ export class AXColorPaletteInputComponent extends AXBaseComponent {
|
|
104
104
|
checkValid() {
|
105
105
|
this.isValid = AXColorUtil.isValid(this._hex);
|
106
106
|
}
|
107
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXColorPaletteInputComponent, deps: [{ token:
|
107
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.1.5", ngImport: i0, type: AXColorPaletteInputComponent, deps: [{ token: AXColorComponent, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
108
108
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.1.5", type: AXColorPaletteInputComponent, selector: "ax-color-palette-input", host: { classAttribute: "ax-color-palette-input" }, providers: [
|
109
109
|
{
|
110
110
|
provide: AXColorPaletteChildComponent,
|
@@ -120,10 +120,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.1.5", ngImpor
|
|
120
120
|
useExisting: AXColorPaletteInputComponent,
|
121
121
|
},
|
122
122
|
], template: "<ng-container [ngSwitch]=\"this._colorMode\">\n <div class=\"palette-inputs\">\n <ng-container *ngSwitchCase=\"'hex'\">\n <div>\n <ax-text-box\n class=\"ax-sm\"\n [value]=\"_hex\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [state]=\"isValid ? 'clear' : 'error'\"\n (onValueChanged)=\"_handleHEXAValueChanged($event)\"\n [mask-options]=\"_hexMaskOptions\">\n </ax-text-box>\n <label>HEX</label>\n </div>\n </ng-container>\n <ng-container *ngSwitchCase=\"'rgba'\">\n <div>\n <ax-number-box\n class=\"ax-sm\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [(value)]=\"_rgba.r\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>R</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [(value)]=\"_rgba.g\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>G</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n [minValue]=\"0\"\n [maxValue]=\"255\"\n [(value)]=\"_rgba.b\"\n [showSpinButtons]=\"false\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>B</label>\n </div>\n <div>\n <ax-number-box\n class=\"ax-sm\"\n [minValue]=\"0\"\n [maxValue]=\"1\"\n [(value)]=\"_rgba.a\"\n [decimals]=\"2\"\n [step]=\"0.1\"\n [disabled]=\"_parent.disabled\"\n [readonly]=\"_parent.readonly\"\n [showSpinButtons]=\"false\"\n (onValueChanged)=\"_handleRGBAValueChanged($event)\">\n </ax-number-box>\n <label>A</label>\n </div>\n </ng-container>\n </div>\n <button\n class=\"ax-general-button ax-button-rounded ax-button-icon ax-sm\"\n (click)=\"_handleChangeInputMode()\"\n [disabled]=\"_parent.disabled\">\n <span class=\"ax-icon ax-icon-unfold-more\"></span>\n </button>\n</ng-container>\n" }]
|
123
|
-
}], ctorParameters: function () { return [{ type:
|
123
|
+
}], ctorParameters: function () { return [{ type: i4.AXColorComponent, decorators: [{
|
124
124
|
type: Optional
|
125
125
|
}, {
|
126
126
|
type: Inject,
|
127
127
|
args: [AXColorComponent]
|
128
128
|
}] }]; } });
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXRELE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsNEJBQTRCLEdBQzdCLE1BQU0sdUJBQXVCLENBQUM7QUFDL0IsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFpQjNELE1BQU0sT0FBTyw0QkFBNkIsU0FBUSxlQUFlO0lBdUIvRCxZQUNFLFdBQXVCLEVBQ3ZCLElBQXVCLEVBR2hCLE9BQXlCO1FBRWhDLEtBQUssQ0FBQyxXQUFXLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFGbEIsWUFBTyxHQUFQLE9BQU8sQ0FBa0I7UUEzQmxDLGVBQVUsR0FBRyxLQUFLLENBQUM7UUFDbkIsWUFBTyxHQUFHLElBQUksQ0FBQztRQUVmLFVBQUssR0FBUTtZQUNYLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1NBQ0wsQ0FBQztRQUVG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QyxTQUFTOytCQUNFLHdCQUF3QixRQUU1QixFQUFFLEtBQUssRUFBRSx3QkFBd0IsRUFBRSxpQkFDMUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0Y7OzBCQTRCRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIE9wdGlvbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvY29tbW9uJztcbmltcG9ydCB7XG4gIEFYQ29sb3JDb21wb25lbnQsXG4gIEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXG59IGZyb20gJy4vY29sb3ItcGFsZXR0ZS5jbGFzcyc7XG5pbXBvcnQgeyBBWEJhc2VDb21wb25lbnQgfSBmcm9tICdAYWNvcmV4L2NvbXBvbmVudHMvbWl4aW4nO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0Ym94JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtY29sb3ItcGFsZXR0ZS1pbnB1dCcgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDb2xvclBhbGV0dGVJbnB1dENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsZXR0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgQVhCYXNlQ29tcG9uZW50IHtcbiAgX2lzVG91Y2hlZCA9IGZhbHNlO1xuICBpc1ZhbGlkID0gdHJ1ZTtcblxuICBfcmdiYTogYW55ID0ge1xuICAgIHI6IDAsXG4gICAgZzogMCxcbiAgICBiOiAwLFxuICAgIGE6IDAsXG4gIH07XG5cbiAgX2hleDogc3RyaW5nID0gJyc7XG5cbiAgcHJvdGVjdGVkIF9jb2xvck1vZGU6IFwiaGV4XCIgfCBcInJnYmFcIiA9IFwiaGV4XCI7XG5cblxuICBwcm90ZWN0ZWQgX2hleE1hc2tPcHRpb25zOiBBWE1hc2tPcHRpb25zID0ge1xuICAgIG1hc2s6IC9eI1swLTlhLWZdezAsNn1bMC05YS1mXXswLDJ9JC9pLFxuICAgIHByZXBhcmU6IChzdHIsIG0sIGEpID0+IHtcbiAgICAgIHJldHVybiBtLnR5cGVkVmFsdWU/LnN0YXJ0c1dpdGgoJyMnKSB8fCBzdHIgPT0gJyMnID8gc3RyLnRyaW0oKSA6ICcjJyArIHN0ci50cmltKCk7XG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIF9lbGVtZW50UmVmOiBFbGVtZW50UmVmLFxuICAgIF9jZHI6IENoYW5nZURldGVjdG9yUmVmLFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChBWENvbG9yQ29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yQ29tcG9uZW50XG4gICkge1xuICAgIHN1cGVyKF9lbGVtZW50UmVmLCBfY2RyKTtcbiAgICBfcGFyZW50Ll9vbkludGVybmFsQ29sb3JDaGFuZ2VkJFxuICAgICAgLnBpcGUoZGlzdGluY3RVbnRpbENoYW5nZWQoKSlcbiAgICAgIC5zdWJzY3JpYmUoKGUpID0+IHtcbiAgICAgICAgaWYgKCFlLmNvbG9yKSB7XG4gICAgICAgICAgdGhpcy5faGV4ID0gJyc7XG4gICAgICAgICAgdGhpcy5fcmdiYSA9IHtcbiAgICAgICAgICAgIHI6IG51bGwsXG4gICAgICAgICAgICBnOiBudWxsLFxuICAgICAgICAgICAgYjogbnVsbCxcbiAgICAgICAgICAgIGE6IG51bGwsXG4gICAgICAgICAgfTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMuX3JnYmEsIEFYQ29sb3JVdGlsLnRvKGUuY29sb3IsICdyZ2JhJykpO1xuICAgICAgICAgIGlmICh0aGlzLl9jb2xvck1vZGUgIT0gJ2hleCcgfHwgIXRoaXMuX2hleClcbiAgICAgICAgICAgIHRoaXMuX2hleCA9IEFYQ29sb3JVdGlsLnRvU3RyaW5nKGUuY29sb3IsICdoZXgnKTtcbiAgICAgICAgICBpZiAodGhpcy5fY29sb3JNb2RlID09ICdoZXgnKVxuICAgICAgICAgICAgdGhpcy5faGV4ID0gZS5jb2xvcjtcbiAgICAgICAgICBpZiAodGhpcy5fcmdiYS5hICE9IDEgJiYgIXRoaXMuX2lzVG91Y2hlZCkge1xuICAgICAgICAgICAgdGhpcy5fY29sb3JNb2RlID0gJ3JnYmEnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB0aGlzLmNoZWNrVmFsaWQoKTtcbiAgICAgICAgX2Nkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICB9KTtcbiAgfVxuXG4gIF9oYW5kbGVDaGFuZ2VJbnB1dE1vZGUoKSB7XG4gICAgdGhpcy5faXNUb3VjaGVkID0gdHJ1ZVxuICAgIHN3aXRjaCAodGhpcy5fY29sb3JNb2RlKSB7XG4gICAgICBjYXNlICdyZ2JhJzpcbiAgICAgICAgdGhpcy5fY29sb3JNb2RlID0gJ2hleCc7XG4gICAgICAgIGJyZWFrO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgdGhpcy5fY29sb3JNb2RlID0gJ3JnYmEnO1xuICAgICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICBfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZChlOiBBWFZhbHVlQ2hhbmdlZEV2ZW50PG51bWJlcj4pIHtcbiAgICBpZiAoZS52YWx1ZSA9PSBudWxsIHx8IChlLnZhbHVlID09IDAgJiYgIWUub2xkVmFsdWUpKSByZXR1cm47XG4gICAgY29uc3QgeyByLCBnLCBiLCBhIH0gPSB0aGlzLl9yZ2JhO1xuICAgIGNvbnN0IF9jb2xvciA9IGByZ2JhKCR7cn0sJHtnfSwke2J9LCR7YX0pYDtcbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5fcGFyZW50Ll9zZXRVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIHRoaXMuX2lzVG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICBjb2xvcjogQVhDb2xvclV0aWwudG9TdHJpbmcoX2NvbG9yLCAncmdiYScpLFxuICAgICAgc2VuZGVyOiB0aGlzLFxuICAgIH0pO1xuICB9XG5cbiAgX2hhbmRsZUhFWEFWYWx1ZUNoYW5nZWQoZTogQVhWYWx1ZUNoYW5nZWRFdmVudDxzdHJpbmc+KSB7XG4gICAgaWYgKCFlLnZhbHVlICYmICFlLm9sZFZhbHVlKSByZXR1cm47XG4gICAgLy9cbiAgICBpZiAoZS5pc1VzZXJJbnRlcmFjdGlvbikge1xuICAgICAgdGhpcy5fcGFyZW50Ll9zZXRVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIHRoaXMuX2lzVG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKCFlLnZhbHVlICYmIGUub2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgICBzZW5kZXI6IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIGNvbG9yOiBlLnZhbHVlLFxuICAgICAgICBzZW5kZXI6IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgcHJpdmF0ZSBjaGVja1ZhbGlkKCkge1xuICAgIHRoaXMuaXNWYWxpZCA9IEFYQ29sb3JVdGlsLmlzVmFsaWQodGhpcy5faGV4KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidGhpcy5fY29sb3JNb2RlXCI+XG4gIDxkaXYgY2xhc3M9XCJwYWxldHRlLWlucHV0c1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidoZXgnXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBbdmFsdWVdPVwiX2hleFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICBbc3RhdGVdPVwiaXNWYWxpZCA/ICdjbGVhcicgOiAnZXJyb3InXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUhFWEFWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW21hc2stb3B0aW9uc109XCJfaGV4TWFza09wdGlvbnNcIj5cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgPGxhYmVsPkhFWDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmdiYSdcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFsodmFsdWUpXT1cIl9yZ2JhLnJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+UjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFsodmFsdWUpXT1cIl9yZ2JhLmdcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+RzwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFsodmFsdWUpXT1cIl9yZ2JhLmJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+QjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIxXCJcbiAgICAgICAgICBbKHZhbHVlKV09XCJfcmdiYS5hXCJcbiAgICAgICAgICBbZGVjaW1hbHNdPVwiMlwiXG4gICAgICAgICAgW3N0ZXBdPVwiMC4xXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkE8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvbiBheC1zbVwiXG4gICAgKGNsaWNrKT1cIl9oYW5kbGVDaGFuZ2VJbnB1dE1vZGUoKVwiXG4gICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi11bmZvbGQtbW9yZVwiPjwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29sb3ItcGFsZXR0ZS1pbnB1dC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvY29sb3ItcGFsZXR0ZS9zcmMvbGliL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2NvbG9yLXBhbGV0dGUvc3JjL2xpYi9jb2xvci1wYWxldHRlLWlucHV0LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQ0wsdUJBQXVCLEVBRXZCLFNBQVMsRUFFVCxNQUFNLEVBQ04sUUFBUSxFQUNSLGlCQUFpQixHQUNsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN0RCxPQUFPLEVBQXNCLGVBQWUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2hGLE9BQU8sRUFDTCxnQkFBZ0IsRUFDaEIsNEJBQTRCLEdBQzdCLE1BQU0sdUJBQXVCLENBQUM7Ozs7OztBQWlCL0IsTUFBTSxPQUFPLDRCQUE2QixTQUFRLGVBQWU7SUF1Qi9ELFlBR1MsT0FBeUI7UUFFaEMsS0FBSyxFQUFFLENBQUM7UUFGRCxZQUFPLEdBQVAsT0FBTyxDQUFrQjtRQXpCbEMsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixZQUFPLEdBQUcsSUFBSSxDQUFDO1FBRWYsVUFBSyxHQUFRO1lBQ1gsQ0FBQyxFQUFFLENBQUM7WUFDSixDQUFDLEVBQUUsQ0FBQztZQUNKLENBQUMsRUFBRSxDQUFDO1lBQ0osQ0FBQyxFQUFFLENBQUM7U0FDTCxDQUFDO1FBRUYsU0FBSSxHQUFXLEVBQUUsQ0FBQztRQUVSLGVBQVUsR0FBbUIsS0FBSyxDQUFDO1FBR25DLG9CQUFlLEdBQWtCO1lB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MUIsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQzt3QkFDVDs0QkFDRSxPQUFPLEVBQUUsNEJBQTRCOzRCQUNyQyxXQUFXLDhCQUE4Qjt5QkFDMUM7cUJBQ0Y7OzBCQTBCRSxRQUFROzswQkFDUixNQUFNOzJCQUFDLGdCQUFnQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFYQ29sb3JVdGlsIH0gZnJvbSAnQGFjb3JleC9jb3JlL3V0aWxzJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIE9wdGlvbmFsLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBkaXN0aW5jdFVudGlsQ2hhbmdlZCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcbmltcG9ydCB7IEFYVmFsdWVDaGFuZ2VkRXZlbnQsTVhCYXNlQ29tcG9uZW50IH0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5pbXBvcnQge1xuICBBWENvbG9yQ29tcG9uZW50LFxuICBBWENvbG9yUGFsZXR0ZUNoaWxkQ29tcG9uZW50LFxufSBmcm9tICcuL2NvbG9yLXBhbGV0dGUuY2xhc3MnO1xuaW1wb3J0IHsgQVhNYXNrT3B0aW9ucyB9IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy90ZXh0Ym94JztcblxuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdheC1jb2xvci1wYWxldHRlLWlucHV0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbG9yLXBhbGV0dGUtaW5wdXQuY29tcG9uZW50Lmh0bWwnLFxuICBob3N0OiB7IGNsYXNzOiAnYXgtY29sb3ItcGFsZXR0ZS1pbnB1dCcgfSxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIHByb3ZpZGVyczogW1xuICAgIHtcbiAgICAgIHByb3ZpZGU6IEFYQ29sb3JQYWxldHRlQ2hpbGRDb21wb25lbnQsXG4gICAgICB1c2VFeGlzdGluZzogQVhDb2xvclBhbGV0dGVJbnB1dENvbXBvbmVudCxcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBBWENvbG9yUGFsZXR0ZUlucHV0Q29tcG9uZW50IGV4dGVuZHMgTVhCYXNlQ29tcG9uZW50IHtcbiAgX2lzVG91Y2hlZCA9IGZhbHNlO1xuICBpc1ZhbGlkID0gdHJ1ZTtcblxuICBfcmdiYTogYW55ID0ge1xuICAgIHI6IDAsXG4gICAgZzogMCxcbiAgICBiOiAwLFxuICAgIGE6IDAsXG4gIH07XG5cbiAgX2hleDogc3RyaW5nID0gJyc7XG5cbiAgcHJvdGVjdGVkIF9jb2xvck1vZGU6IFwiaGV4XCIgfCBcInJnYmFcIiA9IFwiaGV4XCI7XG5cblxuICBwcm90ZWN0ZWQgX2hleE1hc2tPcHRpb25zOiBBWE1hc2tPcHRpb25zID0ge1xuICAgIG1hc2s6IC9eI1swLTlhLWZdezAsNn1bMC05YS1mXXswLDJ9JC9pLFxuICAgIHByZXBhcmU6IChzdHIsIG0sIGEpID0+IHtcbiAgICAgIHJldHVybiBtLnR5cGVkVmFsdWU/LnN0YXJ0c1dpdGgoJyMnKSB8fCBzdHIgPT0gJyMnID8gc3RyLnRyaW0oKSA6ICcjJyArIHN0ci50cmltKCk7XG4gICAgfSxcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIEBPcHRpb25hbCgpXG4gICAgQEluamVjdChBWENvbG9yQ29tcG9uZW50KVxuICAgIHB1YmxpYyBfcGFyZW50OiBBWENvbG9yQ29tcG9uZW50XG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCRcbiAgICAgIC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKCkpXG4gICAgICAuc3Vic2NyaWJlKChlKSA9PiB7XG4gICAgICAgIGlmICghZS5jb2xvcikge1xuICAgICAgICAgIHRoaXMuX2hleCA9ICcnO1xuICAgICAgICAgIHRoaXMuX3JnYmEgPSB7XG4gICAgICAgICAgICByOiBudWxsLFxuICAgICAgICAgICAgZzogbnVsbCxcbiAgICAgICAgICAgIGI6IG51bGwsXG4gICAgICAgICAgICBhOiBudWxsLFxuICAgICAgICAgIH07XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLl9yZ2JhLCBBWENvbG9yVXRpbC50byhlLmNvbG9yLCAncmdiYScpKTtcbiAgICAgICAgICBpZiAodGhpcy5fY29sb3JNb2RlICE9ICdoZXgnIHx8ICF0aGlzLl9oZXgpXG4gICAgICAgICAgICB0aGlzLl9oZXggPSBBWENvbG9yVXRpbC50b1N0cmluZyhlLmNvbG9yLCAnaGV4Jyk7XG4gICAgICAgICAgaWYgKHRoaXMuX2NvbG9yTW9kZSA9PSAnaGV4JylcbiAgICAgICAgICAgIHRoaXMuX2hleCA9IGUuY29sb3I7XG4gICAgICAgICAgaWYgKHRoaXMuX3JnYmEuYSAhPSAxICYmICF0aGlzLl9pc1RvdWNoZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX2NvbG9yTW9kZSA9ICdyZ2JhJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5jaGVja1ZhbGlkKCk7XG4gICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgIH0pO1xuICB9XG5cbiAgX2hhbmRsZUNoYW5nZUlucHV0TW9kZSgpIHtcbiAgICB0aGlzLl9pc1RvdWNoZWQgPSB0cnVlXG4gICAgc3dpdGNoICh0aGlzLl9jb2xvck1vZGUpIHtcbiAgICAgIGNhc2UgJ3JnYmEnOlxuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAnaGV4JztcbiAgICAgICAgYnJlYWs7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aGlzLl9jb2xvck1vZGUgPSAncmdiYSc7XG4gICAgICAgIGJyZWFrO1xuICAgIH1cbiAgfVxuXG4gIF9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8bnVtYmVyPikge1xuICAgIGlmIChlLnZhbHVlID09IG51bGwgfHwgKGUudmFsdWUgPT0gMCAmJiAhZS5vbGRWYWx1ZSkpIHJldHVybjtcbiAgICBjb25zdCB7IHIsIGcsIGIsIGEgfSA9IHRoaXMuX3JnYmE7XG4gICAgY29uc3QgX2NvbG9yID0gYHJnYmEoJHtyfSwke2d9LCR7Yn0sJHthfSlgO1xuICAgIGlmIChlLmlzVXNlckludGVyYWN0aW9uKSB7XG4gICAgICB0aGlzLl9wYXJlbnQuc2V0VXNlckludGVyYWN0aW9uKCk7XG4gICAgICB0aGlzLl9pc1RvdWNoZWQgPSB0cnVlO1xuICAgIH1cbiAgICB0aGlzLl9wYXJlbnQuX29uSW50ZXJuYWxDb2xvckNoYW5nZWQkLm5leHQoe1xuICAgICAgY29sb3I6IEFYQ29sb3JVdGlsLnRvU3RyaW5nKF9jb2xvciwgJ3JnYmEnKSxcbiAgICAgIHNlbmRlcjogdGhpcyxcbiAgICB9KTtcbiAgfVxuXG4gIF9oYW5kbGVIRVhBVmFsdWVDaGFuZ2VkKGU6IEFYVmFsdWVDaGFuZ2VkRXZlbnQ8c3RyaW5nPikge1xuICAgIGlmICghZS52YWx1ZSAmJiAhZS5vbGRWYWx1ZSkgcmV0dXJuO1xuICAgIC8vXG4gICAgaWYgKGUuaXNVc2VySW50ZXJhY3Rpb24pIHtcbiAgICAgIHRoaXMuX3BhcmVudC5zZXRVc2VySW50ZXJhY3Rpb24oKTtcbiAgICAgIHRoaXMuX2lzVG91Y2hlZCA9IHRydWU7XG4gICAgfVxuICAgIC8vXG4gICAgaWYgKCFlLnZhbHVlICYmIGUub2xkVmFsdWUpIHtcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIGNvbG9yOiBudWxsLFxuICAgICAgICBzZW5kZXI6IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHRoaXMuX3BhcmVudC5fb25JbnRlcm5hbENvbG9yQ2hhbmdlZCQubmV4dCh7XG4gICAgICAgIGNvbG9yOiBlLnZhbHVlLFxuICAgICAgICBzZW5kZXI6IHRoaXNcbiAgICAgIH0pO1xuICAgIH1cbiAgfVxuXG5cbiAgcHJpdmF0ZSBjaGVja1ZhbGlkKCkge1xuICAgIHRoaXMuaXNWYWxpZCA9IEFYQ29sb3JVdGlsLmlzVmFsaWQodGhpcy5faGV4KTtcbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidGhpcy5fY29sb3JNb2RlXCI+XG4gIDxkaXYgY2xhc3M9XCJwYWxldHRlLWlucHV0c1wiPlxuICAgIDxuZy1jb250YWluZXIgKm5nU3dpdGNoQ2FzZT1cIidoZXgnXCI+XG4gICAgICA8ZGl2PlxuICAgICAgICA8YXgtdGV4dC1ib3hcbiAgICAgICAgICBjbGFzcz1cImF4LXNtXCJcbiAgICAgICAgICBbdmFsdWVdPVwiX2hleFwiXG4gICAgICAgICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIlxuICAgICAgICAgIFtyZWFkb25seV09XCJfcGFyZW50LnJlYWRvbmx5XCJcbiAgICAgICAgICBbc3RhdGVdPVwiaXNWYWxpZCA/ICdjbGVhcicgOiAnZXJyb3InXCJcbiAgICAgICAgICAob25WYWx1ZUNoYW5nZWQpPVwiX2hhbmRsZUhFWEFWYWx1ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgICAgICAgW21hc2stb3B0aW9uc109XCJfaGV4TWFza09wdGlvbnNcIj5cbiAgICAgICAgPC9heC10ZXh0LWJveD5cbiAgICAgICAgPGxhYmVsPkhFWDwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8bmctY29udGFpbmVyICpuZ1N3aXRjaENhc2U9XCIncmdiYSdcIj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFsodmFsdWUpXT1cIl9yZ2JhLnJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+UjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFsodmFsdWUpXT1cIl9yZ2JhLmdcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+RzwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIyNTVcIlxuICAgICAgICAgIFsodmFsdWUpXT1cIl9yZ2JhLmJcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCJfcGFyZW50LmRpc2FibGVkXCJcbiAgICAgICAgICBbcmVhZG9ubHldPVwiX3BhcmVudC5yZWFkb25seVwiXG4gICAgICAgICAgKG9uVmFsdWVDaGFuZ2VkKT1cIl9oYW5kbGVSR0JBVmFsdWVDaGFuZ2VkKCRldmVudClcIj5cbiAgICAgICAgPC9heC1udW1iZXItYm94PlxuICAgICAgICA8bGFiZWw+QjwvbGFiZWw+XG4gICAgICA8L2Rpdj5cbiAgICAgIDxkaXY+XG4gICAgICAgIDxheC1udW1iZXItYm94XG4gICAgICAgICAgY2xhc3M9XCJheC1zbVwiXG4gICAgICAgICAgW21pblZhbHVlXT1cIjBcIlxuICAgICAgICAgIFttYXhWYWx1ZV09XCIxXCJcbiAgICAgICAgICBbKHZhbHVlKV09XCJfcmdiYS5hXCJcbiAgICAgICAgICBbZGVjaW1hbHNdPVwiMlwiXG4gICAgICAgICAgW3N0ZXBdPVwiMC4xXCJcbiAgICAgICAgICBbZGlzYWJsZWRdPVwiX3BhcmVudC5kaXNhYmxlZFwiXG4gICAgICAgICAgW3JlYWRvbmx5XT1cIl9wYXJlbnQucmVhZG9ubHlcIlxuICAgICAgICAgIFtzaG93U3BpbkJ1dHRvbnNdPVwiZmFsc2VcIlxuICAgICAgICAgIChvblZhbHVlQ2hhbmdlZCk9XCJfaGFuZGxlUkdCQVZhbHVlQ2hhbmdlZCgkZXZlbnQpXCI+XG4gICAgICAgIDwvYXgtbnVtYmVyLWJveD5cbiAgICAgICAgPGxhYmVsPkE8L2xhYmVsPlxuICAgICAgPC9kaXY+XG4gICAgPC9uZy1jb250YWluZXI+XG4gIDwvZGl2PlxuICA8YnV0dG9uXG4gICAgY2xhc3M9XCJheC1nZW5lcmFsLWJ1dHRvbiBheC1idXR0b24tcm91bmRlZCBheC1idXR0b24taWNvbiBheC1zbVwiXG4gICAgKGNsaWNrKT1cIl9oYW5kbGVDaGFuZ2VJbnB1dE1vZGUoKVwiXG4gICAgW2Rpc2FibGVkXT1cIl9wYXJlbnQuZGlzYWJsZWRcIj5cbiAgICA8c3BhbiBjbGFzcz1cImF4LWljb24gYXgtaWNvbi11bmZvbGQtbW9yZVwiPjwvc3Bhbj5cbiAgPC9idXR0b24+XG48L25nLWNvbnRhaW5lcj5cbiJdfQ==
|