@acorex/components 18.11.0 → 18.12.0
Sign up to get free protection for your applications and to get access to all the features.
- package/action-sheet/lib/action-sheet.class.d.ts +8 -0
- package/button/lib/button-item-list.component.d.ts +13 -9
- package/button/lib/button-item.component.d.ts +12 -12
- package/button-group/index.d.ts +1 -0
- package/button-group/lib/button-group-item.component.d.ts +77 -0
- package/button-group/lib/button-group.component.d.ts +1 -1
- package/button-group/lib/button-group.module.d.ts +4 -2
- package/common/index.d.ts +1 -0
- package/common/lib/types/base/component.types.d.ts +8 -0
- package/common/lib/types/base/events.types.d.ts +21 -0
- package/common/lib/types/base/index.d.ts +2 -0
- package/esm2022/action-sheet/lib/action-sheet.class.mjs +1 -1
- package/esm2022/action-sheet/lib/action-sheet.component.mjs +3 -3
- package/esm2022/button/lib/button-item-list.component.mjs +24 -15
- package/esm2022/button/lib/button-item.component.mjs +37 -26
- package/esm2022/button-group/index.mjs +2 -1
- package/esm2022/button-group/lib/button-group-item.component.mjs +141 -0
- package/esm2022/button-group/lib/button-group.component.mjs +6 -5
- package/esm2022/button-group/lib/button-group.module.mjs +6 -4
- package/esm2022/common/index.mjs +2 -1
- package/esm2022/common/lib/components/base-component.class.mjs +1 -1
- package/esm2022/common/lib/types/base/component.types.mjs +27 -0
- package/esm2022/common/lib/types/base/events.types.mjs +19 -0
- package/esm2022/common/lib/types/base/index.mjs +3 -0
- package/esm2022/menu/lib/context-menu.component.mjs +101 -50
- package/esm2022/menu/lib/menu-item.component.mjs +23 -24
- package/esm2022/menu/lib/menu.component.mjs +6 -6
- package/esm2022/menu/lib/menu.types.mjs +3 -11
- package/fesm2022/acorex-components-action-sheet.mjs +2 -2
- package/fesm2022/acorex-components-action-sheet.mjs.map +1 -1
- package/fesm2022/acorex-components-button-group.mjs +148 -10
- package/fesm2022/acorex-components-button-group.mjs.map +1 -1
- package/fesm2022/acorex-components-button.mjs +55 -36
- package/fesm2022/acorex-components-button.mjs.map +1 -1
- package/fesm2022/acorex-components-common.mjs +47 -3
- package/fesm2022/acorex-components-common.mjs.map +1 -1
- package/fesm2022/acorex-components-menu.mjs +128 -86
- package/fesm2022/acorex-components-menu.mjs.map +1 -1
- package/menu/lib/context-menu.component.d.ts +27 -16
- package/menu/lib/menu-item.component.d.ts +6 -6
- package/menu/lib/menu.component.d.ts +5 -4
- package/menu/lib/menu.types.d.ts +9 -14
- package/package.json +18 -18
@@ -1,7 +1,8 @@
|
|
1
|
-
import { MXColorComponent, MXInteractiveComponent } from '@acorex/components/common';
|
1
|
+
import { MXColorComponent, MXInteractiveComponent, } from '@acorex/components/common';
|
2
2
|
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation, } from '@angular/core';
|
3
3
|
import { classes } from 'polytype';
|
4
4
|
import * as i0 from "@angular/core";
|
5
|
+
import * as i1 from "@acorex/components/decorators";
|
5
6
|
/**
|
6
7
|
* Represents a button item with optional content like icons, text, and dropdowns.
|
7
8
|
*
|
@@ -11,9 +12,9 @@ export class AXButtonItemComponent extends classes(MXInteractiveComponent, MXCol
|
|
11
12
|
constructor() {
|
12
13
|
super(...arguments);
|
13
14
|
/**
|
14
|
-
|
15
|
-
|
16
|
-
|
15
|
+
* Whether the item is visually separated from other items.
|
16
|
+
* @defaultValue false
|
17
|
+
*/
|
17
18
|
this.divided = false;
|
18
19
|
/**
|
19
20
|
* Emitted when the button item is clicked.
|
@@ -27,11 +28,11 @@ export class AXButtonItemComponent extends classes(MXInteractiveComponent, MXCol
|
|
27
28
|
this.tabindex = '0';
|
28
29
|
}
|
29
30
|
/**
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
31
|
+
* Indicates whether the button item is selected.
|
32
|
+
*
|
33
|
+
* @param v - A boolean indicating the selected state.
|
34
|
+
* Updates the view when the value changes.
|
35
|
+
*/
|
35
36
|
get selected() {
|
36
37
|
return this._selected;
|
37
38
|
}
|
@@ -72,8 +73,10 @@ export class AXButtonItemComponent extends classes(MXInteractiveComponent, MXCol
|
|
72
73
|
'ax-state-disabled': this.disabled,
|
73
74
|
'ax-state-selected': this.selected,
|
74
75
|
'ax-divided': this.divided,
|
76
|
+
'ax-action-item': true,
|
77
|
+
'ax-el-interactive': true,
|
75
78
|
};
|
76
|
-
cssClasses[`ax-${this.color
|
79
|
+
cssClasses[`ax-el-${this.color}-blank`] = true;
|
77
80
|
return Object.entries(cssClasses)
|
78
81
|
.filter((c) => c[1])
|
79
82
|
.map((c) => c[0])
|
@@ -81,28 +84,36 @@ export class AXButtonItemComponent extends classes(MXInteractiveComponent, MXCol
|
|
81
84
|
}
|
82
85
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
83
86
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXButtonItemComponent, selector: "ax-button-item", inputs: { color: "color", disabled: "disabled", text: "text", selected: "selected", divided: "divided", data: "data", name: "name" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur", disabledChange: "disabledChange" }, host: { listeners: { "click": "__hostClick($event)", "focus": "__hostFocus($event)", "blur": "__hostBlur($event)" }, properties: { "class": "this.__hostClass", "attr.tabindex": "this.tabindex" } }, usesInheritance: true, ngImport: i0, template: `
|
84
|
-
<
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
87
|
+
<div class="ax-action-item-prefix">
|
88
|
+
<ng-content select="ax-prefix"> </ng-content>
|
89
|
+
<ng-content select="ax-loading"> </ng-content>
|
90
|
+
<ng-content select="ax-icon"> </ng-content>
|
91
|
+
@if (text) {
|
92
|
+
<ax-text>{{ text }}</ax-text>
|
93
|
+
}
|
94
|
+
</div>
|
95
|
+
<div class="ax-action-item-suffix">
|
96
|
+
<ng-content select="ax-suffix"> </ng-content>
|
97
|
+
</div>
|
91
98
|
<ng-content select="ax-dropdown-panel"> </ng-content>
|
92
|
-
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
99
|
+
`, isInline: true, dependencies: [{ kind: "component", type: i1.AXDecoratorGenericComponent, selector: "ax-footer, ax-header, ax-content, ax-divider, ax-form-hint, ax-prefix, ax-suffix, ax-text, ax-title, ax-sub-title, ax-placeholder, ax-overlay" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
93
100
|
}
|
94
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonItemComponent, decorators: [{
|
95
102
|
type: Component,
|
96
103
|
args: [{
|
97
104
|
selector: 'ax-button-item',
|
98
105
|
template: `
|
99
|
-
<
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
+
<div class="ax-action-item-prefix">
|
107
|
+
<ng-content select="ax-prefix"> </ng-content>
|
108
|
+
<ng-content select="ax-loading"> </ng-content>
|
109
|
+
<ng-content select="ax-icon"> </ng-content>
|
110
|
+
@if (text) {
|
111
|
+
<ax-text>{{ text }}</ax-text>
|
112
|
+
}
|
113
|
+
</div>
|
114
|
+
<div class="ax-action-item-suffix">
|
115
|
+
<ng-content select="ax-suffix"> </ng-content>
|
116
|
+
</div>
|
106
117
|
<ng-content select="ax-dropdown-panel"> </ng-content>
|
107
118
|
`,
|
108
119
|
encapsulation: ViewEncapsulation.None,
|
@@ -138,4 +149,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImpor
|
|
138
149
|
type: HostBinding,
|
139
150
|
args: ['attr.tabindex']
|
140
151
|
}] } });
|
141
|
-
//# sourceMappingURL=data:application/json;base64,
|
152
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2J1dHRvbi9zcmMvbGliL2J1dHRvbi1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLHNCQUFzQixHQUN2QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7OztBQVduQzs7OztHQUlHO0FBc0JILE1BQU0sT0FBTyxxQkFBc0IsU0FBUSxPQUFPLENBQUMsc0JBQXNCLEVBQUUsZ0JBQWdCLENBQUM7SUFyQjVGOztRQWdERTs7O1dBR0c7UUFFSCxZQUFPLEdBQUcsS0FBSyxDQUFDO1FBY2hCOzs7O1dBSUc7UUFFSCxZQUFPLEdBQStCLElBQUksWUFBWSxFQUFnQixDQUFDO1FBbUR2RTs7V0FFRztRQUMyQixhQUFRLEdBQUcsR0FBRyxDQUFDO0tBQzlDO0lBL0ZDOzs7OztPQUtHO0lBQ0gsSUFDVyxRQUFRO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUN4QixDQUFDO0lBQ0QsSUFBVyxRQUFRLENBQUMsQ0FBVTtRQUM1QixJQUFJLENBQUMsU0FBUyxHQUFHLENBQUMsQ0FBQztRQUNuQixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQzFCLENBQUM7SUE2QkQ7O09BRUc7SUFFSyxXQUFXLENBQUMsQ0FBYTtRQUMvQixJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1lBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNoQixTQUFTLEVBQUUsSUFBSTtnQkFDZixXQUFXLEVBQUUsSUFBSSxDQUFDLGNBQWMsRUFBRTtnQkFDbEMsV0FBVyxFQUFFLENBQUM7YUFDZixDQUFDLENBQUM7UUFDTCxDQUFDO0lBQ0gsQ0FBQztJQUNEOztPQUVHO0lBRUssV0FBVyxDQUFDLENBQWE7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzNCLENBQUM7SUFFRDs7T0FFRztJQUVLLFVBQVUsQ0FBQyxDQUFhO1FBQzlCLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDMUIsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFDWSxXQUFXO1FBQ3JCLE1BQU0sVUFBVSxHQUFHO1lBQ2pCLGdCQUFnQixFQUFFLENBQUMsSUFBSSxDQUFDLElBQUk7WUFDNUIsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLFFBQVE7WUFDbEMsWUFBWSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQzFCLGdCQUFnQixFQUFFLElBQUk7WUFDdEIsbUJBQW1CLEVBQUUsSUFBSTtTQUMxQixDQUFDO1FBQ0YsVUFBVSxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDO1FBQy9DLE9BQU8sTUFBTSxDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUM7YUFDOUIsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDbkIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7YUFDaEIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQzs4R0FyR1UscUJBQXFCO2tHQUFyQixxQkFBcUIsa2dCQW5CdEI7Ozs7Ozs7Ozs7Ozs7R0FhVDs7MkZBTVUscUJBQXFCO2tCQXJCakMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsZ0JBQWdCO29CQUMxQixRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7R0FhVDtvQkFDRCxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtvQkFDckMsZUFBZSxFQUFFLHVCQUF1QixDQUFDLE1BQU07b0JBQy9DLE1BQU0sRUFBRSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUM7b0JBQzdCLE9BQU8sRUFBRSxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxFQUFFLGdCQUFnQixDQUFDO2lCQUM1RDs4QkFNQyxJQUFJO3NCQURILEtBQUs7Z0JBZUssUUFBUTtzQkFEbEIsS0FBSztnQkFjTixPQUFPO3NCQUROLEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQU9OLElBQUk7c0JBREgsS0FBSztnQkFTTixPQUFPO3NCQUROLE1BQU07Z0JBT0MsV0FBVztzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBY3pCLFdBQVc7c0JBRGxCLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVN6QixVQUFVO3NCQURqQixZQUFZO3VCQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFTcEIsV0FBVztzQkFEdEIsV0FBVzt1QkFBQyxPQUFPO2dCQW9CVSxRQUFRO3NCQUFyQyxXQUFXO3VCQUFDLGVBQWUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBWENsaWNrRXZlbnQsXG4gIEFYU3R5bGVDb2xvclR5cGUsXG4gIE1YQ29sb3JDb21wb25lbnQsXG4gIE1YSW50ZXJhY3RpdmVDb21wb25lbnQsXG59IGZyb20gJ0BhY29yZXgvY29tcG9uZW50cy9jb21tb24nO1xuXG5pbXBvcnQge1xuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RCaW5kaW5nLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNsYXNzZXMgfSBmcm9tICdwb2x5dHlwZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQVhCdXR0b25JdGVtTGlzdEl0ZW0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIHRleHQ6IHN0cmluZztcbiAgaWNvbjogc3RyaW5nO1xuICBkaXZpZGVkPzogYm9vbGVhbjtcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xuICBjb2xvcj86IEFYU3R5bGVDb2xvclR5cGU7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGJ1dHRvbiBpdGVtIHdpdGggb3B0aW9uYWwgY29udGVudCBsaWtlIGljb25zLCB0ZXh0LCBhbmQgZHJvcGRvd25zLlxuICpcbiAqIEBjYXRlZ29yeSBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2F4LWJ1dHRvbi1pdGVtJyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8ZGl2IGNsYXNzPVwiYXgtYWN0aW9uLWl0ZW0tcHJlZml4XCI+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1wcmVmaXhcIj4gPC9uZy1jb250ZW50PlxuICAgICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbG9hZGluZ1wiPiA8L25nLWNvbnRlbnQ+XG4gICAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1pY29uXCI+IDwvbmctY29udGVudD5cbiAgICAgIEBpZiAodGV4dCkge1xuICAgICAgICA8YXgtdGV4dD57eyB0ZXh0IH19PC9heC10ZXh0PlxuICAgICAgfVxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJheC1hY3Rpb24taXRlbS1zdWZmaXhcIj5cbiAgICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXN1ZmZpeFwiPiA8L25nLWNvbnRlbnQ+XG4gICAgPC9kaXY+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtZHJvcGRvd24tcGFuZWxcIj4gPC9uZy1jb250ZW50PlxuICBgLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgaW5wdXRzOiBbJ2NvbG9yJywgJ2Rpc2FibGVkJ10sXG4gIG91dHB1dHM6IFsnb25DbGljaycsICdvbkZvY3VzJywgJ29uQmx1cicsICdkaXNhYmxlZENoYW5nZSddLFxufSlcbmV4cG9ydCBjbGFzcyBBWEJ1dHRvbkl0ZW1Db21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YQ29sb3JDb21wb25lbnQpIHtcbiAgLyoqXG4gICAqIFRleHQgZGlzcGxheWVkIG9uIHRoZSBidXR0b24gaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYnV0dG9uIGl0ZW0gaXMgc2VsZWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2IC0gQSBib29sZWFuIGluZGljYXRpbmcgdGhlIHNlbGVjdGVkIHN0YXRlLlxuICAgKiBVcGRhdGVzIHRoZSB2aWV3IHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaXRlbSBpcyB2aXN1YWxseSBzZXBhcmF0ZWQgZnJvbSBvdGhlciBpdGVtcy5cbiAgICogIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpdmlkZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGJ1dHRvbiBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgZGF0YTogdW5rbm93bjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJ1dHRvbiBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBpdGVtIGlzIGNsaWNrZWQuXG4gICAqIEBldmVudFxuICAgKiBUaGUgZW1pdHRlZCB2YWx1ZSBpcyBhbiBgQVhDbGlja0V2ZW50YCBvYmplY3QgY29udGFpbmluZyBldmVudCBkZXRhaWxzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgX19ob3N0Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxuICBwcml2YXRlIF9faG9zdEZvY3VzKGU6IEZvY3VzRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRPbkZvY3VzRXZlbnQoZSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudCddKVxuICBwcml2YXRlIF9faG9zdEJsdXIoZTogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuZW1pdE9uQmx1ckV2ZW50KGUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjc3NDbGFzc2VzID0ge1xuICAgICAgJ2F4LWJ1dHRvbi1pY29uJzogIXRoaXMudGV4dCxcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgJ2F4LWRpdmlkZWQnOiB0aGlzLmRpdmlkZWQsXG4gICAgICAnYXgtYWN0aW9uLWl0ZW0nOiB0cnVlLFxuICAgICAgJ2F4LWVsLWludGVyYWN0aXZlJzogdHJ1ZSxcbiAgICB9O1xuICAgIGNzc0NsYXNzZXNbYGF4LWVsLSR7dGhpcy5jb2xvcn0tYmxhbmtgXSA9IHRydWU7XG4gICAgcmV0dXJuIE9iamVjdC5lbnRyaWVzKGNzc0NsYXNzZXMpXG4gICAgICAuZmlsdGVyKChjKSA9PiBjWzFdKVxuICAgICAgLm1hcCgoYykgPT4gY1swXSlcbiAgICAgIC5qb2luKCcgJyk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0QmluZGluZygnYXR0ci50YWJpbmRleCcpIHRhYmluZGV4ID0gJzAnO1xufVxuIl19
|
@@ -1,3 +1,4 @@
|
|
1
|
+
export * from './lib/button-group-item.component';
|
1
2
|
export * from './lib/button-group.component';
|
2
3
|
export * from './lib/button-group.module';
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwL3NyYy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxjQUFjLG1DQUFtQyxDQUFDO0FBQ2xELGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi1ncm91cC1pdGVtLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9idXR0b24tZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2J1dHRvbi1ncm91cC5tb2R1bGUnO1xuIl19
|
@@ -0,0 +1,141 @@
|
|
1
|
+
import { MXColorComponent, MXInteractiveComponent, } from '@acorex/components/common';
|
2
|
+
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, HostListener, Input, Output, ViewEncapsulation, } from '@angular/core';
|
3
|
+
import { classes } from 'polytype';
|
4
|
+
import * as i0 from "@angular/core";
|
5
|
+
/**
|
6
|
+
* Represents a button item with optional content like icons, text, and dropdowns.
|
7
|
+
*
|
8
|
+
* @category Components
|
9
|
+
*/
|
10
|
+
export class AXButtonGroupItemComponent extends classes(MXInteractiveComponent, MXColorComponent) {
|
11
|
+
constructor() {
|
12
|
+
super(...arguments);
|
13
|
+
/**
|
14
|
+
* Whether the item is visually separated from other items.
|
15
|
+
* @defaultValue false
|
16
|
+
*/
|
17
|
+
this.divided = false;
|
18
|
+
/**
|
19
|
+
* Emitted when the button item is clicked.
|
20
|
+
* @event
|
21
|
+
* The emitted value is an `AXClickEvent` object containing event details.
|
22
|
+
*/
|
23
|
+
this.onClick = new EventEmitter();
|
24
|
+
/**
|
25
|
+
* @ignore
|
26
|
+
*/
|
27
|
+
this.tabindex = '0';
|
28
|
+
}
|
29
|
+
/**
|
30
|
+
* Indicates whether the button item is selected.
|
31
|
+
*
|
32
|
+
* @param v - A boolean indicating the selected state.
|
33
|
+
* Updates the view when the value changes.
|
34
|
+
*/
|
35
|
+
get selected() {
|
36
|
+
return this._selected;
|
37
|
+
}
|
38
|
+
set selected(v) {
|
39
|
+
this._selected = v;
|
40
|
+
this.cdr.markForCheck();
|
41
|
+
}
|
42
|
+
/**
|
43
|
+
* @ignore
|
44
|
+
*/
|
45
|
+
__hostClick(e) {
|
46
|
+
if (!this.disabled) {
|
47
|
+
this.onClick.emit({
|
48
|
+
component: this,
|
49
|
+
htmlElement: this.getHostElement(),
|
50
|
+
nativeEvent: e,
|
51
|
+
});
|
52
|
+
}
|
53
|
+
}
|
54
|
+
/**
|
55
|
+
* @ignore
|
56
|
+
*/
|
57
|
+
__hostFocus(e) {
|
58
|
+
this.emitOnFocusEvent(e);
|
59
|
+
}
|
60
|
+
/**
|
61
|
+
* @ignore
|
62
|
+
*/
|
63
|
+
__hostBlur(e) {
|
64
|
+
this.emitOnBlurEvent(e);
|
65
|
+
}
|
66
|
+
/**
|
67
|
+
* @ignore
|
68
|
+
*/
|
69
|
+
get __hostClass() {
|
70
|
+
const cssClasses = {
|
71
|
+
'ax-button-icon': !this.text,
|
72
|
+
'ax-state-disabled': this.disabled,
|
73
|
+
'ax-state-selected': this.selected,
|
74
|
+
'ax-divided': this.divided,
|
75
|
+
};
|
76
|
+
cssClasses[`ax-${this.color || 'primary'}-default`] = true;
|
77
|
+
return Object.entries(cssClasses)
|
78
|
+
.filter((c) => c[1])
|
79
|
+
.map((c) => c[0])
|
80
|
+
.join(' ');
|
81
|
+
}
|
82
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonGroupItemComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
83
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.0", type: AXButtonGroupItemComponent, selector: "ax-button-group-item", inputs: { color: "color", disabled: "disabled", text: "text", selected: "selected", divided: "divided", data: "data", name: "name" }, outputs: { onClick: "onClick", onFocus: "onFocus", onBlur: "onBlur", disabledChange: "disabledChange" }, host: { listeners: { "click": "__hostClick($event)", "focus": "__hostFocus($event)", "blur": "__hostBlur($event)" }, properties: { "class": "this.__hostClass", "attr.tabindex": "this.tabindex" } }, usesInheritance: true, ngImport: i0, template: `
|
84
|
+
<ng-content select="ax-prefix"> </ng-content>
|
85
|
+
<ng-content select="ax-loading"> </ng-content>
|
86
|
+
<ng-content select="ax-icon"> </ng-content>
|
87
|
+
@if (text) {
|
88
|
+
<span class="ax-button-group-item-text">{{ text }}</span>
|
89
|
+
}
|
90
|
+
<ng-content select="ax-suffix"> </ng-content>
|
91
|
+
<ng-content select="ax-dropdown-panel"> </ng-content>
|
92
|
+
`, isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
93
|
+
}
|
94
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.0", ngImport: i0, type: AXButtonGroupItemComponent, decorators: [{
|
95
|
+
type: Component,
|
96
|
+
args: [{
|
97
|
+
selector: 'ax-button-group-item',
|
98
|
+
template: `
|
99
|
+
<ng-content select="ax-prefix"> </ng-content>
|
100
|
+
<ng-content select="ax-loading"> </ng-content>
|
101
|
+
<ng-content select="ax-icon"> </ng-content>
|
102
|
+
@if (text) {
|
103
|
+
<span class="ax-button-group-item-text">{{ text }}</span>
|
104
|
+
}
|
105
|
+
<ng-content select="ax-suffix"> </ng-content>
|
106
|
+
<ng-content select="ax-dropdown-panel"> </ng-content>
|
107
|
+
`,
|
108
|
+
encapsulation: ViewEncapsulation.None,
|
109
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
110
|
+
inputs: ['color', 'disabled'],
|
111
|
+
outputs: ['onClick', 'onFocus', 'onBlur', 'disabledChange'],
|
112
|
+
}]
|
113
|
+
}], propDecorators: { text: [{
|
114
|
+
type: Input
|
115
|
+
}], selected: [{
|
116
|
+
type: Input
|
117
|
+
}], divided: [{
|
118
|
+
type: Input
|
119
|
+
}], data: [{
|
120
|
+
type: Input
|
121
|
+
}], name: [{
|
122
|
+
type: Input
|
123
|
+
}], onClick: [{
|
124
|
+
type: Output
|
125
|
+
}], __hostClick: [{
|
126
|
+
type: HostListener,
|
127
|
+
args: ['click', ['$event']]
|
128
|
+
}], __hostFocus: [{
|
129
|
+
type: HostListener,
|
130
|
+
args: ['focus', ['$event']]
|
131
|
+
}], __hostBlur: [{
|
132
|
+
type: HostListener,
|
133
|
+
args: ['blur', ['$event']]
|
134
|
+
}], __hostClass: [{
|
135
|
+
type: HostBinding,
|
136
|
+
args: ['class']
|
137
|
+
}], tabindex: [{
|
138
|
+
type: HostBinding,
|
139
|
+
args: ['attr.tabindex']
|
140
|
+
}] } });
|
141
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLWdyb3VwLWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9jb21wb25lbnRzL2J1dHRvbi1ncm91cC9zcmMvbGliL2J1dHRvbi1ncm91cC1pdGVtLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBR0wsZ0JBQWdCLEVBQ2hCLHNCQUFzQixHQUN2QixNQUFNLDJCQUEyQixDQUFDO0FBRW5DLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsU0FBUyxFQUNULFlBQVksRUFDWixXQUFXLEVBQ1gsWUFBWSxFQUNaLEtBQUssRUFDTCxNQUFNLEVBQ04saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxVQUFVLENBQUM7O0FBV25DOzs7O0dBSUc7QUFrQkgsTUFBTSxPQUFPLDBCQUEyQixTQUFRLE9BQU8sQ0FBQyxzQkFBc0IsRUFBRSxnQkFBZ0IsQ0FBQztJQWpCakc7O1FBNENFOzs7V0FHRztRQUVILFlBQU8sR0FBRyxLQUFLLENBQUM7UUFjaEI7Ozs7V0FJRztRQUVILFlBQU8sR0FBK0IsSUFBSSxZQUFZLEVBQWdCLENBQUM7UUFpRHZFOztXQUVHO1FBQzJCLGFBQVEsR0FBRyxHQUFHLENBQUM7S0FDOUM7SUE3RkM7Ozs7O09BS0c7SUFDSCxJQUNXLFFBQVE7UUFDakIsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxJQUFXLFFBQVEsQ0FBQyxDQUFVO1FBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQTZCRDs7T0FFRztJQUVLLFdBQVcsQ0FBQyxDQUFhO1FBQy9CLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ2hCLFNBQVMsRUFBRSxJQUFJO2dCQUNmLFdBQVcsRUFBRSxJQUFJLENBQUMsY0FBYyxFQUFFO2dCQUNsQyxXQUFXLEVBQUUsQ0FBQzthQUNmLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBQ0Q7O09BRUc7SUFFSyxXQUFXLENBQUMsQ0FBYTtRQUMvQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVEOztPQUVHO0lBRUssVUFBVSxDQUFDLENBQWE7UUFDOUIsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUMxQixDQUFDO0lBRUQ7O09BRUc7SUFDSCxJQUNZLFdBQVc7UUFDckIsTUFBTSxVQUFVLEdBQUc7WUFDakIsZ0JBQWdCLEVBQUUsQ0FBQyxJQUFJLENBQUMsSUFBSTtZQUM1QixtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNsQyxtQkFBbUIsRUFBRSxJQUFJLENBQUMsUUFBUTtZQUNsQyxZQUFZLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDM0IsQ0FBQztRQUNGLFVBQVUsQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLElBQUksU0FBUyxVQUFVLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDM0QsT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQzthQUM5QixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNuQixHQUFHLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQzthQUNoQixJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDZixDQUFDOzhHQW5HVSwwQkFBMEI7a0dBQTFCLDBCQUEwQix3Z0JBZjNCOzs7Ozs7Ozs7R0FTVDs7MkZBTVUsMEJBQTBCO2tCQWpCdEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxRQUFRLEVBQUU7Ozs7Ozs7OztHQVNUO29CQUNELGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsTUFBTSxFQUFFLENBQUMsT0FBTyxFQUFFLFVBQVUsQ0FBQztvQkFDN0IsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUM7aUJBQzVEOzhCQU1DLElBQUk7c0JBREgsS0FBSztnQkFlSyxRQUFRO3NCQURsQixLQUFLO2dCQWNOLE9BQU87c0JBRE4sS0FBSztnQkFPTixJQUFJO3NCQURILEtBQUs7Z0JBT04sSUFBSTtzQkFESCxLQUFLO2dCQVNOLE9BQU87c0JBRE4sTUFBTTtnQkFPQyxXQUFXO3NCQURsQixZQUFZO3VCQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjekIsV0FBVztzQkFEbEIsWUFBWTt1QkFBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLENBQUM7Z0JBU3pCLFVBQVU7c0JBRGpCLFlBQVk7dUJBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDO2dCQVNwQixXQUFXO3NCQUR0QixXQUFXO3VCQUFDLE9BQU87Z0JBa0JVLFFBQVE7c0JBQXJDLFdBQVc7dUJBQUMsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFYQ2xpY2tFdmVudCxcbiAgQVhTdHlsZUNvbG9yVHlwZSxcbiAgTVhDb2xvckNvbXBvbmVudCxcbiAgTVhJbnRlcmFjdGl2ZUNvbXBvbmVudCxcbn0gZnJvbSAnQGFjb3JleC9jb21wb25lbnRzL2NvbW1vbic7XG5cbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSG9zdEJpbmRpbmcsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE91dHB1dCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgY2xhc3NlcyB9IGZyb20gJ3BvbHl0eXBlJztcblxuZXhwb3J0IGludGVyZmFjZSBBWEJ1dHRvbkl0ZW1MaXN0SXRlbSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xuICBpY29uOiBzdHJpbmc7XG4gIGRpdmlkZWQ/OiBib29sZWFuO1xuICBkaXNhYmxlZD86IGJvb2xlYW47XG4gIGNvbG9yPzogQVhTdHlsZUNvbG9yVHlwZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgYnV0dG9uIGl0ZW0gd2l0aCBvcHRpb25hbCBjb250ZW50IGxpa2UgaWNvbnMsIHRleHQsIGFuZCBkcm9wZG93bnMuXG4gKlxuICogQGNhdGVnb3J5IENvbXBvbmVudHNcbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXgtYnV0dG9uLWdyb3VwLWl0ZW0nLFxuICB0ZW1wbGF0ZTogYFxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LXByZWZpeFwiPiA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtbG9hZGluZ1wiPiA8L25nLWNvbnRlbnQ+XG4gICAgPG5nLWNvbnRlbnQgc2VsZWN0PVwiYXgtaWNvblwiPiA8L25nLWNvbnRlbnQ+XG4gICAgQGlmICh0ZXh0KSB7XG4gICAgICA8c3BhbiBjbGFzcz1cImF4LWJ1dHRvbi1ncm91cC1pdGVtLXRleHRcIj57eyB0ZXh0IH19PC9zcGFuPlxuICAgIH1cbiAgICA8bmctY29udGVudCBzZWxlY3Q9XCJheC1zdWZmaXhcIj4gPC9uZy1jb250ZW50PlxuICAgIDxuZy1jb250ZW50IHNlbGVjdD1cImF4LWRyb3Bkb3duLXBhbmVsXCI+IDwvbmctY29udGVudD5cbiAgYCxcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gIGlucHV0czogWydjb2xvcicsICdkaXNhYmxlZCddLFxuICBvdXRwdXRzOiBbJ29uQ2xpY2snLCAnb25Gb2N1cycsICdvbkJsdXInLCAnZGlzYWJsZWRDaGFuZ2UnXSxcbn0pXG5leHBvcnQgY2xhc3MgQVhCdXR0b25Hcm91cEl0ZW1Db21wb25lbnQgZXh0ZW5kcyBjbGFzc2VzKE1YSW50ZXJhY3RpdmVDb21wb25lbnQsIE1YQ29sb3JDb21wb25lbnQpIHtcbiAgLyoqXG4gICAqIFRleHQgZGlzcGxheWVkIG9uIHRoZSBidXR0b24gaXRlbS5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHRleHQ6IHN0cmluZztcblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIHByaXZhdGUgX3NlbGVjdGVkOiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgYnV0dG9uIGl0ZW0gaXMgc2VsZWN0ZWQuXG4gICAqXG4gICAqIEBwYXJhbSB2IC0gQSBib29sZWFuIGluZGljYXRpbmcgdGhlIHNlbGVjdGVkIHN0YXRlLlxuICAgKiBVcGRhdGVzIHRoZSB2aWV3IHdoZW4gdGhlIHZhbHVlIGNoYW5nZXMuXG4gICAqL1xuICBASW5wdXQoKVxuICBwdWJsaWMgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiB0aGlzLl9zZWxlY3RlZDtcbiAgfVxuICBwdWJsaWMgc2V0IHNlbGVjdGVkKHY6IGJvb2xlYW4pIHtcbiAgICB0aGlzLl9zZWxlY3RlZCA9IHY7XG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XG4gIH1cblxuICAvKipcbiAgICogV2hldGhlciB0aGUgaXRlbSBpcyB2aXN1YWxseSBzZXBhcmF0ZWQgZnJvbSBvdGhlciBpdGVtcy5cbiAgICogIEBkZWZhdWx0VmFsdWUgZmFsc2VcbiAgICovXG4gIEBJbnB1dCgpXG4gIGRpdmlkZWQgPSBmYWxzZTtcblxuICAvKipcbiAgICogRGF0YSBhc3NvY2lhdGVkIHdpdGggdGhlIGJ1dHRvbiBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgZGF0YTogdW5rbm93bjtcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIGJ1dHRvbiBpdGVtLlxuICAgKi9cbiAgQElucHV0KClcbiAgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBFbWl0dGVkIHdoZW4gdGhlIGJ1dHRvbiBpdGVtIGlzIGNsaWNrZWQuXG4gICAqIEBldmVudFxuICAgKiBUaGUgZW1pdHRlZCB2YWx1ZSBpcyBhbiBgQVhDbGlja0V2ZW50YCBvYmplY3QgY29udGFpbmluZyBldmVudCBkZXRhaWxzLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIG9uQ2xpY2s6IEV2ZW50RW1pdHRlcjxBWENsaWNrRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxBWENsaWNrRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIHByaXZhdGUgX19ob3N0Q2xpY2soZTogTW91c2VFdmVudCkge1xuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xuICAgICAgdGhpcy5vbkNsaWNrLmVtaXQoe1xuICAgICAgICBjb21wb25lbnQ6IHRoaXMsXG4gICAgICAgIGh0bWxFbGVtZW50OiB0aGlzLmdldEhvc3RFbGVtZW50KCksXG4gICAgICAgIG5hdGl2ZUV2ZW50OiBlLFxuICAgICAgfSk7XG4gICAgfVxuICB9XG4gIC8qKlxuICAgKiAgQGlnbm9yZVxuICAgKi9cbiAgQEhvc3RMaXN0ZW5lcignZm9jdXMnLCBbJyRldmVudCddKVxuICBwcml2YXRlIF9faG9zdEZvY3VzKGU6IEZvY3VzRXZlbnQpIHtcbiAgICB0aGlzLmVtaXRPbkZvY3VzRXZlbnQoZSk7XG4gIH1cblxuICAvKipcbiAgICogIEBpZ25vcmVcbiAgICovXG4gIEBIb3N0TGlzdGVuZXIoJ2JsdXInLCBbJyRldmVudCddKVxuICBwcml2YXRlIF9faG9zdEJsdXIoZTogRm9jdXNFdmVudCkge1xuICAgIHRoaXMuZW1pdE9uQmx1ckV2ZW50KGUpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2NsYXNzJylcbiAgcHJpdmF0ZSBnZXQgX19ob3N0Q2xhc3MoKTogc3RyaW5nIHtcbiAgICBjb25zdCBjc3NDbGFzc2VzID0ge1xuICAgICAgJ2F4LWJ1dHRvbi1pY29uJzogIXRoaXMudGV4dCxcbiAgICAgICdheC1zdGF0ZS1kaXNhYmxlZCc6IHRoaXMuZGlzYWJsZWQsXG4gICAgICAnYXgtc3RhdGUtc2VsZWN0ZWQnOiB0aGlzLnNlbGVjdGVkLFxuICAgICAgJ2F4LWRpdmlkZWQnOiB0aGlzLmRpdmlkZWQsXG4gICAgfTtcbiAgICBjc3NDbGFzc2VzW2BheC0ke3RoaXMuY29sb3IgfHwgJ3ByaW1hcnknfS1kZWZhdWx0YF0gPSB0cnVlO1xuICAgIHJldHVybiBPYmplY3QuZW50cmllcyhjc3NDbGFzc2VzKVxuICAgICAgLmZpbHRlcigoYykgPT4gY1sxXSlcbiAgICAgIC5tYXAoKGMpID0+IGNbMF0pXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgLyoqXG4gICAqICBAaWdub3JlXG4gICAqL1xuICBASG9zdEJpbmRpbmcoJ2F0dHIudGFiaW5kZXgnKSB0YWJpbmRleCA9ICcwJztcbn1cbiJdfQ==
|