@wavemaker/app-ng-runtime 12.0.0-next.45050 → 12.0.0-next.45055

Sign up to get free protection for your applications and to get access to all the features.
@@ -4,41 +4,59 @@ import { $appDigest, debounce, isDefined, setCSS, toBoolean } from '@wm/core';
4
4
  import { provideAs, provideAsWidgetRef, styler } from '@wm/components/base';
5
5
  import { DatasetAwareFormComponent } from '../dataset-aware-form.component';
6
6
  import { registerProps } from './switch.props';
7
- import { find, findIndex } from "lodash-es";
7
+ import { find, findIndex, forEach } from "lodash-es";
8
8
  import * as i0 from "@angular/core";
9
9
  import * as i1 from "@angular/common";
10
10
  import * as i2 from "@wm/components/base";
11
11
  const _c0 = ["wmSwitch", ""];
12
- const _c1 = (a0, a1) => ({ "selected": a0, "disabled": a1 });
13
- const _c2 = a0 => ["app-icon", a0];
12
+ const _c1 = a0 => ({ "multi-select": a0 });
13
+ const _c2 = (a0, a1) => ({ "selected": a0, "disabled": a1 });
14
+ const _c3 = a0 => ["app-icon", a0];
15
+ const _c4 = a0 => [a0];
14
16
  function SwitchComponent_a_1_i_1_Template(rf, ctx) { if (rf & 1) {
15
- i0.ɵɵelement(0, "i", 8);
17
+ i0.ɵɵelement(0, "i", 7);
16
18
  } if (rf & 2) {
17
19
  const opt_r3 = i0.ɵɵnextContext().$implicit;
18
20
  const ctx_r4 = i0.ɵɵnextContext();
19
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c2, opt_r3.dataObject[ctx_r4.iconclass] || opt_r3["icon"]));
21
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c3, opt_r3.dataObject[ctx_r4.iconclass] || opt_r3["icon"]));
22
+ } }
23
+ function SwitchComponent_a_1_i_2_Template(rf, ctx) { if (rf & 1) {
24
+ i0.ɵɵelement(0, "i", 7);
25
+ } if (rf & 2) {
26
+ const ctx_r4 = i0.ɵɵnextContext(2);
27
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c4, ctx_r4.checkediconclass));
20
28
  } }
21
29
  function SwitchComponent_a_1_Template(rf, ctx) { if (rf & 1) {
22
30
  const _r1 = i0.ɵɵgetCurrentView();
23
- i0.ɵɵelementStart(0, "a", 5);
31
+ i0.ɵɵelementStart(0, "a", 4);
24
32
  i0.ɵɵlistener("click", function SwitchComponent_a_1_Template_a_click_0_listener($event) { const ctx_r1 = i0.ɵɵrestoreView(_r1); const opt_r3 = ctx_r1.$implicit; const $index_r4 = ctx_r1.index; const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.selectOpt($event, $index_r4, opt_r3)); });
25
- i0.ɵɵtemplate(1, SwitchComponent_a_1_i_1_Template, 1, 3, "i", 6);
26
- i0.ɵɵelement(2, "span", 7);
33
+ i0.ɵɵtemplate(1, SwitchComponent_a_1_i_1_Template, 1, 3, "i", 5)(2, SwitchComponent_a_1_i_2_Template, 1, 3, "i", 5);
34
+ i0.ɵɵelement(3, "span", 6);
27
35
  i0.ɵɵelementEnd();
28
36
  } if (rf & 2) {
29
37
  const opt_r3 = ctx.$implicit;
30
38
  const ctx_r4 = i0.ɵɵnextContext();
31
- i0.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0.ɵɵpureFunction2(4, _c1, opt_r3.selected, ctx_r4.disabled));
39
+ i0.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0.ɵɵpureFunction2(5, _c2, opt_r3.selected, ctx_r4.disabled));
32
40
  i0.ɵɵadvance();
33
- i0.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass]);
41
+ i0.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass] && !opt_r3.selected);
42
+ i0.ɵɵadvance();
43
+ i0.ɵɵproperty("ngIf", opt_r3.selected);
34
44
  i0.ɵɵadvance();
35
45
  i0.ɵɵproperty("textContent", opt_r3[ctx_r4.displayfield] || opt_r3.label);
36
46
  } }
37
- function SwitchComponent_i_3_Template(rf, ctx) { if (rf & 1) {
38
- i0.ɵɵelement(0, "i");
47
+ function SwitchComponent_span_2_Template(rf, ctx) { if (rf & 1) {
48
+ i0.ɵɵelementStart(0, "span", 8);
49
+ i0.ɵɵelement(1, "i", 9);
50
+ i0.ɵɵelementStart(2, "span", 10);
51
+ i0.ɵɵtext(3);
52
+ i0.ɵɵelementEnd()();
39
53
  } if (rf & 2) {
40
54
  const ctx_r4 = i0.ɵɵnextContext();
41
- i0.ɵɵclassMapInterpolate1("app-icon ", ctx_r4.selectedItem && ctx_r4.selectedItem.dataObject && ctx_r4.selectedItem.dataObject[ctx_r4.iconclass], "");
55
+ i0.ɵɵproperty("title", ctx_r4.selectedItem ? ctx_r4.selectedItem.label : ctx_r4.modelByKey);
56
+ i0.ɵɵadvance();
57
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c4, ctx_r4.checkediconclass));
58
+ i0.ɵɵadvance(2);
59
+ i0.ɵɵtextInterpolate(ctx_r4.selectedItem ? ctx_r4.selectedItem.label : ctx_r4.modelByKey);
42
60
  } }
43
61
  const DEFAULT_CLS = 'app-switch';
44
62
  const WIDGET_CONFIG = { widgetType: 'wm-switch', hostClass: DEFAULT_CLS };
@@ -47,6 +65,8 @@ export class SwitchComponent extends DatasetAwareFormComponent {
47
65
  constructor(inj, explicitContext) {
48
66
  super(inj, WIDGET_CONFIG, explicitContext);
49
67
  this.options = [];
68
+ this.multiple = this.getAttr("multiple") === "true";
69
+ this.checkediconclass = this.getAttr("checkediconclass") || 'wm-sl-l sl-check';
50
70
  this._debounceSetSelectedValue = debounce((val) => {
51
71
  this.setSelectedValue();
52
72
  this.updateHighlighter(val);
@@ -86,7 +106,7 @@ export class SwitchComponent extends DatasetAwareFormComponent {
86
106
  // set the css for switch overlay element.
87
107
  // set the selected index from the datasetItems and highlight the datavalue on switch.
88
108
  updateSwitchOptions() {
89
- if (this.datasetItems.length) {
109
+ if (this.datasetItems.length && !this.multiple) {
90
110
  this.btnwidth = (100 / this.datasetItems.length);
91
111
  setCSS(this.nativeElement.querySelector('.app-switch-overlay'), 'width', this.btnwidth + '%');
92
112
  }
@@ -124,18 +144,30 @@ export class SwitchComponent extends DatasetAwareFormComponent {
124
144
  if (this.disabled) {
125
145
  return;
126
146
  }
127
- this.modelByKey = option.key;
128
- this.invokeOnTouched();
129
- if (this.selectedItem && $index === findIndex(this.datasetItems, { key: this.selectedItem.key })) {
130
- if (this.datasetItems.length === 2) {
131
- $index = $index === 1 ? 0 : 1;
132
- }
133
- else {
134
- return;
147
+ if (this.multiple) {
148
+ const keys = [];
149
+ this.datasetItems[$index].selected = !this.datasetItems[$index].selected;
150
+ forEach(this.datasetItems, (item) => {
151
+ if (item.selected)
152
+ keys.push(item.key);
153
+ });
154
+ this.modelByKey = keys;
155
+ this.selectedItem = find(this.datasetItems, { selected: true });
156
+ }
157
+ else {
158
+ this.modelByKey = option.key;
159
+ if (!this.multiple && this.selectedItem && $index === findIndex(this.datasetItems, { key: this.selectedItem.key })) {
160
+ if (this.datasetItems.length === 2) {
161
+ $index = $index === 1 ? 0 : 1;
162
+ }
163
+ else {
164
+ return;
165
+ }
135
166
  }
167
+ this.selectedItem = this.datasetItems[$index];
168
+ this.updateHighlighter();
136
169
  }
137
- this.selectedItem = this.datasetItems[$index];
138
- this.updateHighlighter();
170
+ this.invokeOnTouched();
139
171
  // invoke on datavalue change.
140
172
  this.invokeOnChange(this.datavalue, $event || {}, true);
141
173
  $appDigest();
@@ -152,24 +184,18 @@ export class SwitchComponent extends DatasetAwareFormComponent {
152
184
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SwitchComponent, selectors: [["", "wmSwitch", ""]], exportAs: ["wmSwitch"], features: [i0.ɵɵProvidersFeature([
153
185
  provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
154
186
  provideAsWidgetRef(SwitchComponent)
155
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 6, vars: 8, consts: [["role", "group", 1, "btn-group", "btn-group-justified"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "class", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
187
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0, decls: 4, vars: 9, consts: [["role", "group", 1, "btn-group", "btn-group-justified", 3, "ngClass"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "btn btn-primary app-switch-overlay switch-handle", 3, "title", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"], [1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "ngClass"], [1, "caption"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
156
188
  i0.ɵɵelementStart(0, "div", 0);
157
- i0.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 7, "a", 1);
189
+ i0.ɵɵtemplate(1, SwitchComponent_a_1_Template, 4, 8, "a", 1);
158
190
  i0.ɵɵelementEnd();
159
- i0.ɵɵelementStart(2, "span", 2);
160
- i0.ɵɵtemplate(3, SwitchComponent_i_3_Template, 1, 3, "i", 3);
161
- i0.ɵɵtext(4);
162
- i0.ɵɵelementEnd();
163
- i0.ɵɵelement(5, "input", 4);
191
+ i0.ɵɵtemplate(2, SwitchComponent_span_2_Template, 4, 5, "span", 2);
192
+ i0.ɵɵelement(3, "input", 3);
164
193
  } if (rf & 2) {
194
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1, ctx.multiple));
165
195
  i0.ɵɵadvance();
166
196
  i0.ɵɵproperty("ngForOf", ctx.datasetItems);
167
197
  i0.ɵɵadvance();
168
- i0.ɵɵproperty("title", ctx.selectedItem ? ctx.selectedItem.label : ctx.modelByKey);
169
- i0.ɵɵadvance();
170
- i0.ɵɵproperty("ngIf", ctx.iconclass);
171
- i0.ɵɵadvance();
172
- i0.ɵɵtextInterpolate1(" ", ctx.selectedItem ? ctx.selectedItem.label : ctx.modelByKey, "\n");
198
+ i0.ɵɵproperty("ngIf", !ctx.multiple);
173
199
  i0.ɵɵadvance();
174
200
  i0.ɵɵproperty("name", ctx.name)("disabled", ctx.disabled)("value", ctx.modelByKey)("required", ctx.required);
175
201
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.TextContentDirective], encapsulation: 2 }); }
@@ -179,7 +205,7 @@ export class SwitchComponent extends DatasetAwareFormComponent {
179
205
  args: [{ selector: '[wmSwitch]', providers: [
180
206
  provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
181
207
  provideAsWidgetRef(SwitchComponent)
182
- ], exportAs: 'wmSwitch', template: "<div role=\"group\" class=\"btn-group btn-group-justified\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass]\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i *ngIf=\"iconclass\"\n class=\"app-icon {{(selectedItem && selectedItem.dataObject) && selectedItem.dataObject[iconclass]}}\"></i>\n {{selectedItem ? selectedItem.label : modelByKey}}\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
208
+ ], exportAs: 'wmSwitch', template: "<div role=\"group\" class=\"btn-group btn-group-justified\" [ngClass]=\"{'multi-select': multiple}\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass] && !opt.selected\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <i *ngIf=\"opt.selected\" aria-hidden=\"true\" [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\" *ngIf=\"!multiple\">\n <i [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\">{{selectedItem ? selectedItem.label : modelByKey}}</span>\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
183
209
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
184
210
  type: Inject,
185
211
  args: ['EXPLICIT_CONTEXT']
@@ -187,4 +213,4 @@ export class SwitchComponent extends DatasetAwareFormComponent {
187
213
  type: Optional
188
214
  }] }], null); })();
189
215
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(SwitchComponent, { className: "SwitchComponent", filePath: "switch/switch.component.ts", lineNumber: 25 }); })();
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBZSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFDLE1BQU0sV0FBVyxDQUFDOzs7Ozs7OztJQ0NsQyx1QkFBaUo7Ozs7SUFBdkUsMkdBQWtFOzs7O0lBUmhKLDRCQU9DO0lBREUsMFBBQVMsMkNBQThCLEtBQUM7SUFFdkMsZ0VBQTZJO0lBQzdJLDBCQUE0RTtJQUNoRixpQkFBSTs7OztJQUxELEFBREEsZ0RBQStCLHlFQUM2QjtJQUd2RCxjQUFpRDtJQUFqRCwrRUFBaUQ7SUFDL0IsY0FBOEM7SUFBOUMseUVBQThDOzs7SUFLeEUsb0JBQzRHOzs7SUFBekcscUpBQW9HOztBREozRyxNQUFNLFdBQVcsR0FBRyxZQUFZLENBQUM7QUFDakMsTUFBTSxhQUFhLEdBQUcsRUFBQyxVQUFVLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUMsQ0FBQztBQVd4RSxNQUFNLE9BQU8sZUFBZ0IsU0FBUSx5QkFBeUI7YUFDbkQsb0JBQWUsR0FBRyxhQUFhLEVBQUUsQUFBbEIsQ0FBbUI7SUFXekMsWUFBWSxHQUFhLEVBQTBDLGVBQW9CO1FBQ25GLEtBQUssQ0FBQyxHQUFHLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQyxDQUFDO1FBVi9DLFlBQU8sR0FBRyxFQUFFLENBQUM7UUFZVCxJQUFJLENBQUMseUJBQXlCLEdBQUcsUUFBUSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDOUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQzVCLHNFQUFzRTtZQUN0RSxJQUFJLEdBQUcsRUFBRSxDQUFDO2dCQUNOLFVBQVUsRUFBRSxDQUFDO1lBQ2pCLENBQUM7UUFDTCxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFFUixNQUFNLG1CQUFtQixHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDLENBQUM7UUFFdEYsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7UUFFdEUsTUFBTSxxQkFBcUIsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDekQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLHVCQUF1QixDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUM7SUFDNUUsQ0FBQztJQUVELGVBQWU7UUFDWCxLQUFLLENBQUMsZUFBZSxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUE0QixFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFFRCxhQUFhLENBQUMsR0FBVyxFQUFFLEVBQU8sRUFBRSxFQUFRO1FBQ3hDLElBQUksR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO1lBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQzthQUFNLENBQUM7WUFDSixLQUFLLENBQUMsYUFBYSxDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDckMsQ0FBQztJQUNMLENBQUM7SUFFRCx5R0FBeUc7SUFDakcsZ0JBQWdCO1FBQ3BCLElBQUksU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQztZQUN0RSxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7WUFDOUQsT0FBTztRQUNYLENBQUM7UUFFRCwyR0FBMkc7UUFDM0csSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzdCLENBQUM7SUFFRCwwQ0FBMEM7SUFDMUMsc0ZBQXNGO0lBQzlFLG1CQUFtQjtRQUN2QixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ2pELE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBZ0IsRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNqSCxDQUFDO1FBRUQsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFRCx3RUFBd0U7SUFDaEUsaUJBQWlCLENBQUMsYUFBYztRQUNwQyxNQUFNLE9BQU8sR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO1FBRXRFLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBRXhCLElBQUksSUFBSSxFQUNKLEtBQUssR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBRWhHLElBQUksS0FBSyxLQUFLLFNBQVMsSUFBSSxLQUFLLEtBQUssSUFBSSxFQUFFLENBQUM7WUFDeEMsS0FBSyxHQUFHLENBQUMsQ0FBQyxDQUFDO1FBQ2YsQ0FBQztRQUNELElBQUksR0FBRyxLQUFLLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM3QixJQUFJLGFBQWEsRUFBRSxDQUFDO1lBQ2hCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFFLElBQUksR0FBRyxHQUFHLENBQUMsQ0FBQztRQUNwQyxDQUFDO2FBQU0sQ0FBQztZQUNKLE9BQU8sQ0FBQyxPQUFPLENBQUM7Z0JBQ1osSUFBSSxFQUFFLElBQUksR0FBRyxHQUFHO2FBQ25CLEVBQUUsR0FBRyxDQUFDLENBQUM7UUFDWixDQUFDO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLE1BQU07UUFDbkIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDNUIsT0FBTztRQUNYLENBQUM7UUFDRCxNQUFNLEdBQUcsR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQztJQUNuQyxDQUFDO0lBRUQsb0RBQW9EO0lBQ3BELGdGQUFnRjtJQUNoRixTQUFTLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxNQUFNO1FBQzVCLE1BQU0sQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUV4QixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNoQixPQUFPO1FBQ1gsQ0FBQztRQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQztRQUM3QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFFdkIsSUFBSSxJQUFJLENBQUMsWUFBWSxJQUFJLE1BQU0sS0FBSyxTQUFTLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxFQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsRUFBQyxDQUFDLEVBQUUsQ0FBQztZQUM3RixJQUFJLElBQUksQ0FBQyxZQUFZLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNqQyxNQUFNLEdBQUcsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDbEMsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLE9BQU87WUFDWCxDQUFDO1FBQ0wsQ0FBQztRQUNELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUV6Qiw4QkFBOEI7UUFDOUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDeEQsVUFBVSxFQUFFLENBQUM7SUFDakIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRztRQUN6QixJQUFJLEdBQUcsS0FBSyxVQUFVLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUN2QyxJQUFJLENBQUMsYUFBYSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUM1QyxDQUFDO2FBQU0sQ0FBQztZQUNKLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLENBQUM7SUFDTCxDQUFDO2dGQXBJUSxlQUFlLDBEQVlXLGtCQUFrQjtvRUFaNUMsZUFBZSw4RkFOYjtnQkFDUCxTQUFTLENBQUMsZUFBZSxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQztnQkFDbkQsa0JBQWtCLENBQUMsZUFBZSxDQUFDO2FBQ3RDO1lDckJMLDhCQUF3RDtZQUNwRCw0REFPQztZQUlMLGlCQUFNO1lBQ04sK0JBQytEO1lBQzNELDREQUN3RztZQUN4RyxZQUNKO1lBQUEsaUJBQU87WUFDUCwyQkFBc0k7O1lBbEIvRyxjQUFpQjtZQUFqQiwwQ0FBaUI7WUFZbEMsY0FBd0Q7WUFBeEQsa0ZBQXdEO1lBRXRELGNBQWU7WUFBZixvQ0FBZTtZQUVuQixjQUNKO1lBREksNEZBQ0o7WUFDTyxjQUFhO1lBQXlFLEFBQXJCLEFBQXRCLEFBQTNDLCtCQUFhLDBCQUFtRCx5QkFBcUIsMEJBQXNCOzs7aUZES3JHLGVBQWU7Y0FUM0IsU0FBUzsyQkFDSSxZQUFZLGFBRVg7b0JBQ1AsU0FBUyxrQkFBa0IsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO29CQUNuRCxrQkFBa0IsaUJBQWlCO2lCQUN0QyxZQUNTLFVBQVU7O3NCQWNRLE1BQU07dUJBQUMsa0JBQWtCOztzQkFBRyxRQUFROztrRkFadkQsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWZ0ZXJWaWV3SW5pdCwgQ29tcG9uZW50LCBJbmplY3QsIEluamVjdG9yLCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcblxuaW1wb3J0IHskYXBwRGlnZXN0LCBkZWJvdW5jZSwgaXNEZWZpbmVkLCBzZXRDU1MsIHRvQm9vbGVhbn0gZnJvbSAnQHdtL2NvcmUnO1xuaW1wb3J0IHsgRGF0YVNldEl0ZW0sIHByb3ZpZGVBcywgcHJvdmlkZUFzV2lkZ2V0UmVmLCBzdHlsZXIgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IERhdGFzZXRBd2FyZUZvcm1Db21wb25lbnQgfSBmcm9tICcuLi9kYXRhc2V0LWF3YXJlLWZvcm0uY29tcG9uZW50JztcblxuaW1wb3J0IHsgcmVnaXN0ZXJQcm9wcyB9IGZyb20gJy4vc3dpdGNoLnByb3BzJztcbmltcG9ydCB7ZmluZCwgZmluZEluZGV4fSBmcm9tIFwibG9kYXNoLWVzXCI7XG5cbmRlY2xhcmUgY29uc3QgJDtcblxuY29uc3QgREVGQVVMVF9DTFMgPSAnYXBwLXN3aXRjaCc7XG5jb25zdCBXSURHRVRfQ09ORklHID0ge3dpZGdldFR5cGU6ICd3bS1zd2l0Y2gnLCBob3N0Q2xhc3M6IERFRkFVTFRfQ0xTfTtcblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbd21Td2l0Y2hdJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vc3dpdGNoLmNvbXBvbmVudC5odG1sJyxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgcHJvdmlkZUFzKFN3aXRjaENvbXBvbmVudCwgTkdfVkFMVUVfQUNDRVNTT1IsIHRydWUpLFxuICAgICAgICBwcm92aWRlQXNXaWRnZXRSZWYoU3dpdGNoQ29tcG9uZW50KVxuICAgIF0sXG4gICAgZXhwb3J0QXM6ICd3bVN3aXRjaCdcbn0pXG5leHBvcnQgY2xhc3MgU3dpdGNoQ29tcG9uZW50IGV4dGVuZHMgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQge1xuICAgIHN0YXRpYyBpbml0aWFsaXplUHJvcHMgPSByZWdpc3RlclByb3BzKCk7XG5cbiAgICBvcHRpb25zID0gW107XG4gICAgc2VsZWN0ZWRJdGVtOiBEYXRhU2V0SXRlbTtcbiAgICBpY29uY2xhc3M7XG4gICAgcHJpdmF0ZSBidG53aWR0aDtcbiAgICBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgcHVibGljIHJlcXVpcmVkOiBib29sZWFuO1xuICAgIHByaXZhdGUgX2RlYm91bmNlU2V0U2VsZWN0ZWRWYWx1ZTogRnVuY3Rpb247XG4gICAgcHVibGljIG5hbWU6IHN0cmluZztcblxuICAgIGNvbnN0cnVjdG9yKGluajogSW5qZWN0b3IsIEBJbmplY3QoJ0VYUExJQ0lUX0NPTlRFWFQnKSBAT3B0aW9uYWwoKSBleHBsaWNpdENvbnRleHQ6IGFueSkge1xuICAgICAgICBzdXBlcihpbmosIFdJREdFVF9DT05GSUcsIGV4cGxpY2l0Q29udGV4dCk7XG5cbiAgICAgICAgdGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlID0gZGVib3VuY2UoKHZhbCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKCk7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodGVyKHZhbCk7XG4gICAgICAgICAgICAvLyBvbmx5IGZvciBkZWZhdWx0IHZhbHVlIHRyaWdnZXIgYXBwIGRpZ2VzdCB0byBhcHBseSB0aGUgc2VsZWN0ZWRJdGVtXG4gICAgICAgICAgICBpZiAodmFsKSB7XG4gICAgICAgICAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCAyMDApO1xuXG4gICAgICAgIGNvbnN0IGRhdGFzZXRTdWJzY3JpcHRpb24gPSB0aGlzLmRhdGFzZXQkLnN1YnNjcmliZSgoKSA9PiB0aGlzLnVwZGF0ZVN3aXRjaE9wdGlvbnMoKSk7XG5cbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhc2V0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCkpO1xuXG4gICAgICAgIGNvbnN0IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXZhbHVlJC5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5fZGVib3VuY2VTZXRTZWxlY3RlZFZhbHVlKHRydWUpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZWdpc3RlckRlc3Ryb3lMaXN0ZW5lcigoKSA9PiBkYXRhdmFsdWVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgc3R5bGVyKHRoaXMubmF0aXZlRWxlbWVudCBhcyBIVE1MRWxlbWVudCwgdGhpcyk7XG4gICAgfVxuXG4gICAgb25TdHlsZUNoYW5nZShrZXk6IHN0cmluZywgbnY6IGFueSwgb3Y/OiBhbnkpIHtcbiAgICAgICAgaWYgKGtleSA9PT0gJ2hlaWdodCcpIHtcbiAgICAgICAgICAgIHNldENTUyh0aGlzLm5hdGl2ZUVsZW1lbnQsICdvdmVyZmxvdycsIG52ID8gJ2F1dG8nIDogJycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgc3VwZXIub25TdHlsZUNoYW5nZShrZXksIG52LCBvdik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIHNlbGVjdGVkSXRlbSBieSBlaXRoZXIgdXNpbmcgY29tcGFyZWJ5IGZpZWxkcyBvciBzZWxlY3RlZCBmbGFnIG9uIGRhdGFzZXRJdGVtcy5cbiAgICBwcml2YXRlIHNldFNlbGVjdGVkVmFsdWUoKSB7XG4gICAgICAgIGlmIChpc0RlZmluZWQodGhpcy5kYXRhdmFsdWUpIHx8IGlzRGVmaW5lZCh0aGlzLnRvQmVQcm9jZXNzZWREYXRhdmFsdWUpKSB7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHtzZWxlY3RlZDogdHJ1ZX0pO1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSWYgbm8gdmFsdWUgaXMgcHJvdmlkZWQsIHNldCBmaXJzdCB2YWx1ZSBhcyBkZWZhdWx0IGlmIG9wdGlvbnMgYXJlIGF2YWlsYWJsZSBlbHNlIHNldCAtMSBpZSBubyBzZWxlY3Rpb25cbiAgICAgICAgdGhpcy5zZWxlY3RPcHRBdEluZGV4KDApO1xuICAgIH1cblxuICAgIC8vIHNldCB0aGUgY3NzIGZvciBzd2l0Y2ggb3ZlcmxheSBlbGVtZW50LlxuICAgIC8vIHNldCB0aGUgc2VsZWN0ZWQgaW5kZXggZnJvbSB0aGUgZGF0YXNldEl0ZW1zIGFuZCBoaWdobGlnaHQgdGhlIGRhdGF2YWx1ZSBvbiBzd2l0Y2guXG4gICAgcHJpdmF0ZSB1cGRhdGVTd2l0Y2hPcHRpb25zKCkge1xuICAgICAgICBpZiAodGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICB0aGlzLmJ0bndpZHRoID0gKDEwMCAvIHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCk7XG4gICAgICAgICAgICBzZXRDU1ModGhpcy5uYXRpdmVFbGVtZW50LnF1ZXJ5U2VsZWN0b3IoJy5hcHAtc3dpdGNoLW92ZXJsYXknKSBhcyBIVE1MRWxlbWVudCwgJ3dpZHRoJywgdGhpcy5idG53aWR0aCArICclJyk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUodHJ1ZSk7XG4gICAgfVxuXG4gICAgLy8gVGhpcyBmdW5jdGlvbiBhbmltYXRlcyB0aGUgaGlnaGxpZ2h0ZWQgc3BhbiBvbiB0byB0aGUgc2VsZWN0ZWQgdmFsdWUuXG4gICAgcHJpdmF0ZSB1cGRhdGVIaWdobGlnaHRlcihza2lwQW5pbWF0aW9uPykge1xuICAgICAgICBjb25zdCBoYW5kbGVyID0gJCh0aGlzLm5hdGl2ZUVsZW1lbnQpLmZpbmQoJ3NwYW4uYXBwLXN3aXRjaC1vdmVybGF5Jyk7XG5cbiAgICAgICAgdGhpcy5zZXRTZWxlY3RlZFZhbHVlKCk7XG5cbiAgICAgICAgbGV0IGxlZnQsXG4gICAgICAgICAgICBpbmRleCA9IHRoaXMuc2VsZWN0ZWRJdGVtID8gZmluZEluZGV4KHRoaXMuZGF0YXNldEl0ZW1zLCB7a2V5OiB0aGlzLnNlbGVjdGVkSXRlbS5rZXl9KSA6IC0xO1xuXG4gICAgICAgIGlmIChpbmRleCA9PT0gdW5kZWZpbmVkIHx8IGluZGV4ID09PSBudWxsKSB7XG4gICAgICAgICAgICBpbmRleCA9IC0xO1xuICAgICAgICB9XG4gICAgICAgIGxlZnQgPSBpbmRleCAqIHRoaXMuYnRud2lkdGg7XG4gICAgICAgIGlmIChza2lwQW5pbWF0aW9uKSB7XG4gICAgICAgICAgICBoYW5kbGVyLmNzcygnbGVmdCcsIGxlZnQgKyAnJScpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaGFuZGxlci5hbmltYXRlKHtcbiAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0ICsgJyUnXG4gICAgICAgICAgICB9LCAzMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0T3B0QXRJbmRleCgkaW5kZXgpIHtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBvcHQgPSB0aGlzLmRhdGFzZXRJdGVtc1skaW5kZXhdO1xuICAgICAgICB0aGlzLl9tb2RlbEJ5VmFsdWUgPSBvcHQudmFsdWU7XG4gICAgfVxuXG4gICAgLy8gVHJpZ2dlcmVkIG9uIHNlbGVjdGVkIHRoZSBvcHRpb24gZnJvbSB0aGUgc3dpdGNoLlxuICAgIC8vIHNldCB0aGUgaW5kZXggYW5kIGhpZ2hsaWdodCB0aGUgZGVmYXVsdCB2YWx1ZS4gSW52b2tlIG9uY2hhbmdlIGV2ZW50IGhhbmRsZXIuXG4gICAgc2VsZWN0T3B0KCRldmVudCwgJGluZGV4LCBvcHRpb24pIHtcbiAgICAgICAgJGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMubW9kZWxCeUtleSA9IG9wdGlvbi5rZXk7XG4gICAgICAgIHRoaXMuaW52b2tlT25Ub3VjaGVkKCk7XG5cbiAgICAgICAgaWYgKHRoaXMuc2VsZWN0ZWRJdGVtICYmICRpbmRleCA9PT0gZmluZEluZGV4KHRoaXMuZGF0YXNldEl0ZW1zLCB7a2V5OiB0aGlzLnNlbGVjdGVkSXRlbS5rZXl9KSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCA9PT0gMikge1xuICAgICAgICAgICAgICAgICRpbmRleCA9ICRpbmRleCA9PT0gMSA/IDAgOiAxO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0aGlzLmRhdGFzZXRJdGVtc1skaW5kZXhdO1xuICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodGVyKCk7XG5cbiAgICAgICAgLy8gaW52b2tlIG9uIGRhdGF2YWx1ZSBjaGFuZ2UuXG4gICAgICAgIHRoaXMuaW52b2tlT25DaGFuZ2UodGhpcy5kYXRhdmFsdWUsICRldmVudCB8fCB7fSwgdHJ1ZSk7XG4gICAgICAgICRhcHBEaWdlc3QoKTtcbiAgICB9XG5cbiAgICBvblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92Pykge1xuICAgICAgICBpZiAoa2V5ID09PSAnZGlzYWJsZWQnICYmICF0b0Jvb2xlYW4obnYpKSB7XG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucmVtb3ZlQXR0cmlidXRlKGtleSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblByb3BlcnR5Q2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIjxkaXYgcm9sZT1cImdyb3VwXCIgY2xhc3M9XCJidG4tZ3JvdXAgYnRuLWdyb3VwLWp1c3RpZmllZFwiPlxuICAgIDxhICpuZ0Zvcj1cImxldCBvcHQgb2YgZGF0YXNldEl0ZW1zOyBsZXQgJGluZGV4ID0gaW5kZXg7XCJcbiAgICAgICBmb2N1cy10YXJnZXRcbiAgICAgICBocmVmPVwiamF2YXNjcmlwdDp2b2lkKDApO1wiXG4gICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHRcIlxuICAgICAgIFtuYW1lXT1cIid3bS1zd2l0Y2gtJyArIG9wdC5rZXlcIlxuICAgICAgIFtuZ0NsYXNzXT1cInsnc2VsZWN0ZWQnOiBvcHQuc2VsZWN0ZWQsICdkaXNhYmxlZCc6IGRpc2FibGVkfVwiXG4gICAgICAgKGNsaWNrKT1cInNlbGVjdE9wdCgkZXZlbnQsICRpbmRleCwgb3B0KVwiXG4gICAgPlxuICAgICAgICA8aSAqbmdJZj1cIm9wdC5kYXRhT2JqZWN0ICYmIG9wdC5kYXRhT2JqZWN0W2ljb25jbGFzc11cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJbJ2FwcC1pY29uJywgb3B0LmRhdGFPYmplY3RbaWNvbmNsYXNzXSB8fCBvcHRbJ2ljb24nXV1cIj48L2k+XG4gICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvblwiIFt0ZXh0Q29udGVudF09XCJvcHRbZGlzcGxheWZpZWxkXSB8fCBvcHQubGFiZWxcIj48L3NwYW4+XG4gICAgPC9hPlxuPC9kaXY+XG48c3BhbiBbdGl0bGVdPVwic2VsZWN0ZWRJdGVtID8gc2VsZWN0ZWRJdGVtLmxhYmVsIDogbW9kZWxCeUtleVwiXG4gICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBhcHAtc3dpdGNoLW92ZXJsYXkgc3dpdGNoLWhhbmRsZVwiPlxuICAgIDxpICpuZ0lmPVwiaWNvbmNsYXNzXCJcbiAgICAgICBjbGFzcz1cImFwcC1pY29uIHt7KHNlbGVjdGVkSXRlbSAmJiBzZWxlY3RlZEl0ZW0uZGF0YU9iamVjdCkgJiYgc2VsZWN0ZWRJdGVtLmRhdGFPYmplY3RbaWNvbmNsYXNzXX19XCI+PC9pPlxuICAgIHt7c2VsZWN0ZWRJdGVtID8gc2VsZWN0ZWRJdGVtLmxhYmVsIDogbW9kZWxCeUtleX19XG48L3NwYW4+XG48aW5wdXQgW25hbWVdPVwibmFtZVwiIGNsYXNzPVwibW9kZWwtaG9sZGVyIG5nLWhpZGVcIiBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIiBbdmFsdWVdPVwibW9kZWxCeUtleVwiIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiIGFyaWEtaGlkZGVuPVwidHJ1ZVwiPlxuIl19
216
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbXBvbmVudHMvd2lkZ2V0cy9pbnB1dC9kZWZhdWx0L3NyYy9zd2l0Y2gvc3dpdGNoLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxVQUFVLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sVUFBVSxDQUFDO0FBQzVFLE9BQU8sRUFBZSxTQUFTLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDekYsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFFNUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQy9DLE9BQU8sRUFBQyxJQUFJLEVBQUUsU0FBUyxFQUFFLE9BQU8sRUFBQyxNQUFNLFdBQVcsQ0FBQzs7Ozs7Ozs7OztJQ0MzQyx1QkFBa0s7Ozs7SUFBdkUsMkdBQWtFOzs7SUFDN0osdUJBQThFOzs7SUFBbkMsNkVBQThCOzs7O0lBVDdFLDRCQU9DO0lBREUsMFBBQVMsMkNBQThCLEtBQUM7SUFHdkMsQUFEQSxnRUFBOEosbURBQ3BGO0lBQzFFLDBCQUE0RTtJQUNoRixpQkFBSTs7OztJQU5ELEFBREEsZ0RBQStCLHlFQUM2QjtJQUd2RCxjQUFrRTtJQUFsRSxtR0FBa0U7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QVMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzVDLENBQUM7YUFBTSxDQUFDO1lBQ0osS0FBSyxDQUFDLGdCQUFnQixDQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDeEMsQ0FBQztJQUNMLENBQUM7Z0ZBbkpRLGVBQWUsMERBY1csa0JBQWtCO29FQWQ1QyxlQUFlLDhGQU5iO2dCQUNQLFNBQVMsQ0FBQyxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsSUFBSSxDQUFDO2dCQUNuRCxrQkFBa0IsQ0FBQyxlQUFlLENBQUM7YUFDdEM7WUNyQkwsOEJBQStGO1lBQzNGLDREQU9DO1lBS0wsaUJBQU07WUFDTixrRUFDaUY7WUFJakYsMkJBQXNJOztZQW5COUUsa0VBQXNDO1lBQ3ZFLGNBQWlCO1lBQWpCLDBDQUFpQjtZQWN3QixjQUFlO1lBQWYsb0NBQWU7WUFJeEUsY0FBYTtZQUF5RSxBQUFyQixBQUF0QixBQUEzQywrQkFBYSwwQkFBbUQseUJBQXFCLDBCQUFzQjs7O2lGREtyRyxlQUFlO2NBVDNCLFNBQVM7MkJBQ0ksWUFBWSxhQUVYO29CQUNQLFNBQVMsa0JBQWtCLGlCQUFpQixFQUFFLElBQUksQ0FBQztvQkFDbkQsa0JBQWtCLGlCQUFpQjtpQkFDdEMsWUFDUyxVQUFVOztzQkFnQlEsTUFBTTt1QkFBQyxrQkFBa0I7O3NCQUFHLFFBQVE7O2tGQWR2RCxlQUFlIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBZnRlclZpZXdJbml0LCBDb21wb25lbnQsIEluamVjdCwgSW5qZWN0b3IsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuXG5pbXBvcnQgeyRhcHBEaWdlc3QsIGRlYm91bmNlLCBpc0RlZmluZWQsIHNldENTUywgdG9Cb29sZWFufSBmcm9tICdAd20vY29yZSc7XG5pbXBvcnQgeyBEYXRhU2V0SXRlbSwgcHJvdmlkZUFzLCBwcm92aWRlQXNXaWRnZXRSZWYsIHN0eWxlciB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRGF0YXNldEF3YXJlRm9ybUNvbXBvbmVudCB9IGZyb20gJy4uL2RhdGFzZXQtYXdhcmUtZm9ybS5jb21wb25lbnQnO1xuXG5pbXBvcnQgeyByZWdpc3RlclByb3BzIH0gZnJvbSAnLi9zd2l0Y2gucHJvcHMnO1xuaW1wb3J0IHtmaW5kLCBmaW5kSW5kZXgsIGZvckVhY2h9IGZyb20gXCJsb2Rhc2gtZXNcIjtcblxuZGVjbGFyZSBjb25zdCAkO1xuXG5jb25zdCBERUZBVUxUX0NMUyA9ICdhcHAtc3dpdGNoJztcbmNvbnN0IFdJREdFVF9DT05GSUcgPSB7d2lkZ2V0VHlwZTogJ3dtLXN3aXRjaCcsIGhvc3RDbGFzczogREVGQVVMVF9DTFN9O1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ1t3bVN3aXRjaF0nLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9zd2l0Y2guY29tcG9uZW50Lmh0bWwnLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBwcm92aWRlQXMoU3dpdGNoQ29tcG9uZW50LCBOR19WQUxVRV9BQ0NFU1NPUiwgdHJ1ZSksXG4gICAgICAgIHByb3ZpZGVBc1dpZGdldFJlZihTd2l0Y2hDb21wb25lbnQpXG4gICAgXSxcbiAgICBleHBvcnRBczogJ3dtU3dpdGNoJ1xufSlcbmV4cG9ydCBjbGFzcyBTd2l0Y2hDb21wb25lbnQgZXh0ZW5kcyBEYXRhc2V0QXdhcmVGb3JtQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgc3RhdGljIGluaXRpYWxpemVQcm9wcyA9IHJlZ2lzdGVyUHJvcHMoKTtcblxuICAgIG9wdGlvbnMgPSBbXTtcbiAgICBzZWxlY3RlZEl0ZW06IERhdGFTZXRJdGVtO1xuICAgIGljb25jbGFzcztcbiAgICBjaGVja2VkaWNvbmNsYXNzO1xuICAgIG11bHRpcGxlOiBib29sZWFuO1xuICAgIHByaXZhdGUgYnRud2lkdGg7XG4gICAgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIHB1YmxpYyByZXF1aXJlZDogYm9vbGVhbjtcbiAgICBwcml2YXRlIF9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWU6IEZ1bmN0aW9uO1xuICAgIHB1YmxpYyBuYW1lOiBzdHJpbmc7XG5cbiAgICBjb25zdHJ1Y3Rvcihpbmo6IEluamVjdG9yLCBASW5qZWN0KCdFWFBMSUNJVF9DT05URVhUJykgQE9wdGlvbmFsKCkgZXhwbGljaXRDb250ZXh0OiBhbnkpIHtcbiAgICAgICAgc3VwZXIoaW5qLCBXSURHRVRfQ09ORklHLCBleHBsaWNpdENvbnRleHQpO1xuICAgICAgICB0aGlzLm11bHRpcGxlID0gdGhpcy5nZXRBdHRyKFwibXVsdGlwbGVcIikgPT09IFwidHJ1ZVwiO1xuICAgICAgICB0aGlzLmNoZWNrZWRpY29uY2xhc3MgPSB0aGlzLmdldEF0dHIoXCJjaGVja2VkaWNvbmNsYXNzXCIpIHx8ICd3bS1zbC1sIHNsLWNoZWNrJztcblxuICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUgPSBkZWJvdW5jZSgodmFsKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoKTtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSGlnaGxpZ2h0ZXIodmFsKTtcbiAgICAgICAgICAgIC8vIG9ubHkgZm9yIGRlZmF1bHQgdmFsdWUgdHJpZ2dlciBhcHAgZGlnZXN0IHRvIGFwcGx5IHRoZSBzZWxlY3RlZEl0ZW1cbiAgICAgICAgICAgIGlmICh2YWwpIHtcbiAgICAgICAgICAgICAgICAkYXBwRGlnZXN0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0sIDIwMCk7XG5cbiAgICAgICAgY29uc3QgZGF0YXNldFN1YnNjcmlwdGlvbiA9IHRoaXMuZGF0YXNldCQuc3Vic2NyaWJlKCgpID0+IHRoaXMudXBkYXRlU3dpdGNoT3B0aW9ucygpKTtcblxuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGFzZXRTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKSk7XG5cbiAgICAgICAgY29uc3QgZGF0YXZhbHVlU3Vic2NyaXB0aW9uID0gdGhpcy5kYXRhdmFsdWUkLnN1YnNjcmliZSgoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLl9kZWJvdW5jZVNldFNlbGVjdGVkVmFsdWUodHJ1ZSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnJlZ2lzdGVyRGVzdHJveUxpc3RlbmVyKCgpID0+IGRhdGF2YWx1ZVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpKTtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHN1cGVyLm5nQWZ0ZXJWaWV3SW5pdCgpO1xuICAgICAgICBzdHlsZXIodGhpcy5uYXRpdmVFbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzKTtcbiAgICB9XG5cbiAgICBvblN0eWxlQ2hhbmdlKGtleTogc3RyaW5nLCBudjogYW55LCBvdj86IGFueSkge1xuICAgICAgICBpZiAoa2V5ID09PSAnaGVpZ2h0Jykge1xuICAgICAgICAgICAgc2V0Q1NTKHRoaXMubmF0aXZlRWxlbWVudCwgJ292ZXJmbG93JywgbnYgPyAnYXV0bycgOiAnJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBzdXBlci5vblN0eWxlQ2hhbmdlKGtleSwgbnYsIG92KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFRoaXMgZnVuY3Rpb24gc2V0cyB0aGUgc2VsZWN0ZWRJdGVtIGJ5IGVpdGhlciB1c2luZyBjb21wYXJlYnkgZmllbGRzIG9yIHNlbGVjdGVkIGZsYWcgb24gZGF0YXNldEl0ZW1zLlxuICAgIHByaXZhdGUgc2V0U2VsZWN0ZWRWYWx1ZSgpIHtcbiAgICAgICAgaWYgKGlzRGVmaW5lZCh0aGlzLmRhdGF2YWx1ZSkgfHwgaXNEZWZpbmVkKHRoaXMudG9CZVByb2Nlc3NlZERhdGF2YWx1ZSkpIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gZmluZCh0aGlzLmRhdGFzZXRJdGVtcywge3NlbGVjdGVkOiB0cnVlfSk7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBJZiBubyB2YWx1ZSBpcyBwcm92aWRlZCwgc2V0IGZpcnN0IHZhbHVlIGFzIGRlZmF1bHQgaWYgb3B0aW9ucyBhcmUgYXZhaWxhYmxlIGVsc2Ugc2V0IC0xIGllIG5vIHNlbGVjdGlvblxuICAgICAgICB0aGlzLnNlbGVjdE9wdEF0SW5kZXgoMCk7XG4gICAgfVxuXG4gICAgLy8gc2V0IHRoZSBjc3MgZm9yIHN3aXRjaCBvdmVybGF5IGVsZW1lbnQuXG4gICAgLy8gc2V0IHRoZSBzZWxlY3RlZCBpbmRleCBmcm9tIHRoZSBkYXRhc2V0SXRlbXMgYW5kIGhpZ2hsaWdodCB0aGUgZGF0YXZhbHVlIG9uIHN3aXRjaC5cbiAgICBwcml2YXRlIHVwZGF0ZVN3aXRjaE9wdGlvbnMoKSB7XG4gICAgICAgIGlmICh0aGlzLmRhdGFzZXRJdGVtcy5sZW5ndGggJiYgIXRoaXMubXVsdGlwbGUpIHtcbiAgICAgICAgICAgIHRoaXMuYnRud2lkdGggPSAoMTAwIC8gdGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoKTtcbiAgICAgICAgICAgIHNldENTUyh0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLmFwcC1zd2l0Y2gtb3ZlcmxheScpIGFzIEhUTUxFbGVtZW50LCAnd2lkdGgnLCB0aGlzLmJ0bndpZHRoICsgJyUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuX2RlYm91bmNlU2V0U2VsZWN0ZWRWYWx1ZSh0cnVlKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZ1bmN0aW9uIGFuaW1hdGVzIHRoZSBoaWdobGlnaHRlZCBzcGFuIG9uIHRvIHRoZSBzZWxlY3RlZCB2YWx1ZS5cbiAgICBwcml2YXRlIHVwZGF0ZUhpZ2hsaWdodGVyKHNraXBBbmltYXRpb24/KSB7XG4gICAgICAgIGNvbnN0IGhhbmRsZXIgPSAkKHRoaXMubmF0aXZlRWxlbWVudCkuZmluZCgnc3Bhbi5hcHAtc3dpdGNoLW92ZXJsYXknKTtcblxuICAgICAgICB0aGlzLnNldFNlbGVjdGVkVmFsdWUoKTtcblxuICAgICAgICBsZXQgbGVmdCxcbiAgICAgICAgICAgIGluZGV4ID0gdGhpcy5zZWxlY3RlZEl0ZW0gPyBmaW5kSW5kZXgodGhpcy5kYXRhc2V0SXRlbXMsIHtrZXk6IHRoaXMuc2VsZWN0ZWRJdGVtLmtleX0pIDogLTE7XG5cbiAgICAgICAgaWYgKGluZGV4ID09PSB1bmRlZmluZWQgfHwgaW5kZXggPT09IG51bGwpIHtcbiAgICAgICAgICAgIGluZGV4ID0gLTE7XG4gICAgICAgIH1cbiAgICAgICAgbGVmdCA9IGluZGV4ICogdGhpcy5idG53aWR0aDtcbiAgICAgICAgaWYgKHNraXBBbmltYXRpb24pIHtcbiAgICAgICAgICAgIGhhbmRsZXIuY3NzKCdsZWZ0JywgbGVmdCArICclJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBoYW5kbGVyLmFuaW1hdGUoe1xuICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQgKyAnJSdcbiAgICAgICAgICAgIH0sIDMwMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZWxlY3RPcHRBdEluZGV4KCRpbmRleCkge1xuICAgICAgICBpZiAoIXRoaXMuZGF0YXNldEl0ZW1zLmxlbmd0aCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIGNvbnN0IG9wdCA9IHRoaXMuZGF0YXNldEl0ZW1zWyRpbmRleF07XG4gICAgICAgIHRoaXMuX21vZGVsQnlWYWx1ZSA9IG9wdC52YWx1ZTtcbiAgICB9XG5cbiAgICAvLyBUcmlnZ2VyZWQgb24gc2VsZWN0ZWQgdGhlIG9wdGlvbiBmcm9tIHRoZSBzd2l0Y2guXG4gICAgLy8gc2V0IHRoZSBpbmRleCBhbmQgaGlnaGxpZ2h0IHRoZSBkZWZhdWx0IHZhbHVlLiBJbnZva2Ugb25jaGFuZ2UgZXZlbnQgaGFuZGxlci5cbiAgICBzZWxlY3RPcHQoJGV2ZW50LCAkaW5kZXgsIG9wdGlvbikge1xuICAgICAgICAkZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYodGhpcy5tdWx0aXBsZSkge1xuICAgICAgICAgICAgY29uc3Qga2V5cyA9IFtdO1xuICAgICAgICAgICAgdGhpcy5kYXRhc2V0SXRlbXNbJGluZGV4XS5zZWxlY3RlZCA9ICF0aGlzLmRhdGFzZXRJdGVtc1skaW5kZXhdLnNlbGVjdGVkO1xuICAgICAgICAgICAgZm9yRWFjaCh0aGlzLmRhdGFzZXRJdGVtcywgKGl0ZW06IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgIGlmKGl0ZW0uc2VsZWN0ZWQpXG4gICAgICAgICAgICAgICAgICAgIGtleXMucHVzaChpdGVtLmtleSk7XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIHRoaXMubW9kZWxCeUtleSA9IGtleXM7XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IGZpbmQodGhpcy5kYXRhc2V0SXRlbXMsIHtzZWxlY3RlZDogdHJ1ZX0pO1xuICAgICAgICB9XG4gICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5tb2RlbEJ5S2V5ID0gb3B0aW9uLmtleTtcbiAgICAgICAgICAgIGlmICghdGhpcy5tdWx0aXBsZSAmJiB0aGlzLnNlbGVjdGVkSXRlbSAmJiAkaW5kZXggPT09IGZpbmRJbmRleCh0aGlzLmRhdGFzZXRJdGVtcywge2tleTogdGhpcy5zZWxlY3RlZEl0ZW0ua2V5fSkpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5kYXRhc2V0SXRlbXMubGVuZ3RoID09PSAyKSB7XG4gICAgICAgICAgICAgICAgICAgICRpbmRleCA9ICRpbmRleCA9PT0gMSA/IDAgOiAxO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IHRoaXMuZGF0YXNldEl0ZW1zWyRpbmRleF07XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZUhpZ2hsaWdodGVyKCk7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmludm9rZU9uVG91Y2hlZCgpO1xuICAgICAgICAvLyBpbnZva2Ugb24gZGF0YXZhbHVlIGNoYW5nZS5cbiAgICAgICAgdGhpcy5pbnZva2VPbkNoYW5nZSh0aGlzLmRhdGF2YWx1ZSwgJGV2ZW50IHx8IHt9LCB0cnVlKTtcbiAgICAgICAgJGFwcERpZ2VzdCgpO1xuICAgIH1cblxuICAgIG9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3Y/KSB7XG4gICAgICAgIGlmIChrZXkgPT09ICdkaXNhYmxlZCcgJiYgIXRvQm9vbGVhbihudikpIHtcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5yZW1vdmVBdHRyaWJ1dGUoa2V5KTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHN1cGVyLm9uUHJvcGVydHlDaGFuZ2Uoa2V5LCBudiwgb3YpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiPGRpdiByb2xlPVwiZ3JvdXBcIiBjbGFzcz1cImJ0bi1ncm91cCBidG4tZ3JvdXAtanVzdGlmaWVkXCIgW25nQ2xhc3NdPVwieydtdWx0aS1zZWxlY3QnOiBtdWx0aXBsZX1cIj5cbiAgICA8YSAqbmdGb3I9XCJsZXQgb3B0IG9mIGRhdGFzZXRJdGVtczsgbGV0ICRpbmRleCA9IGluZGV4O1wiXG4gICAgICAgZm9jdXMtdGFyZ2V0XG4gICAgICAgaHJlZj1cImphdmFzY3JpcHQ6dm9pZCgwKTtcIlxuICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0XCJcbiAgICAgICBbbmFtZV09XCInd20tc3dpdGNoLScgKyBvcHQua2V5XCJcbiAgICAgICBbbmdDbGFzc109XCJ7J3NlbGVjdGVkJzogb3B0LnNlbGVjdGVkLCAnZGlzYWJsZWQnOiBkaXNhYmxlZH1cIlxuICAgICAgIChjbGljayk9XCJzZWxlY3RPcHQoJGV2ZW50LCAkaW5kZXgsIG9wdClcIlxuICAgID5cbiAgICAgICAgPGkgKm5nSWY9XCJvcHQuZGF0YU9iamVjdCAmJiBvcHQuZGF0YU9iamVjdFtpY29uY2xhc3NdICYmICFvcHQuc2VsZWN0ZWRcIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbbmdDbGFzc109XCJbJ2FwcC1pY29uJywgb3B0LmRhdGFPYmplY3RbaWNvbmNsYXNzXSB8fCBvcHRbJ2ljb24nXV1cIj48L2k+XG4gICAgICAgIDxpICpuZ0lmPVwib3B0LnNlbGVjdGVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCIgW25nQ2xhc3NdPVwiW2NoZWNrZWRpY29uY2xhc3NdXCI+PC9pPlxuICAgICAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIiBbdGV4dENvbnRlbnRdPVwib3B0W2Rpc3BsYXlmaWVsZF0gfHwgb3B0LmxhYmVsXCI+PC9zcGFuPlxuICAgIDwvYT5cbjwvZGl2PlxuPHNwYW4gW3RpdGxlXT1cInNlbGVjdGVkSXRlbSA/IHNlbGVjdGVkSXRlbS5sYWJlbCA6IG1vZGVsQnlLZXlcIlxuICAgICAgY2xhc3M9XCJidG4gYnRuLXByaW1hcnkgYXBwLXN3aXRjaC1vdmVybGF5IHN3aXRjaC1oYW5kbGVcIiAqbmdJZj1cIiFtdWx0aXBsZVwiPlxuICAgIDxpIFtuZ0NsYXNzXT1cIltjaGVja2VkaWNvbmNsYXNzXVwiPjwvaT5cbiAgICA8c3BhbiBjbGFzcz1cImNhcHRpb25cIj57e3NlbGVjdGVkSXRlbSA/IHNlbGVjdGVkSXRlbS5sYWJlbCA6IG1vZGVsQnlLZXl9fTwvc3Bhbj5cbjwvc3Bhbj5cbjxpbnB1dCBbbmFtZV09XCJuYW1lXCIgY2xhc3M9XCJtb2RlbC1ob2xkZXIgbmctaGlkZVwiIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiIFt2YWx1ZV09XCJtb2RlbEJ5S2V5XCIgW3JlcXVpcmVkXT1cInJlcXVpcmVkXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4iXX0=
@@ -12,6 +12,7 @@ export const switchProps = new Map([
12
12
  ['displayfield', PROP_STRING],
13
13
  ['hint', PROP_STRING],
14
14
  ['iconclass', PROP_STRING],
15
+ ['checkediconclass', { value: 'wm-sl-l sl-check', ...PROP_STRING }],
15
16
  ['name', PROP_STRING],
16
17
  ['orderby', PROP_STRING],
17
18
  ['required', PROP_BOOLEAN],
@@ -23,4 +24,4 @@ export const registerProps = () => {
23
24
  registerFormWidget(FormWidgetType.SWITCH, new Map(switchProps));
24
25
  registerFormWidget(FormWidgetType.TOGGLE, new Map(switchProps));
25
26
  };
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL3N3aXRjaC9zd2l0Y2gucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FDOUI7SUFDSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7SUFDdEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsRUFBQyxDQUFDO0lBQ25ELENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO0lBQzdCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7SUFDbEMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDO0lBQ3JCLENBQUMsU0FBUyxFQUFFLFdBQVcsQ0FBQztJQUN4QixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxNQUFNLEVBQUUsRUFBQyxLQUFLLEVBQUUsSUFBSSxFQUFFLEdBQUcsWUFBWSxFQUFDLENBQUM7SUFDeEMsQ0FBQyxVQUFVLEVBQUUsRUFBQyxLQUFLLEVBQUUsQ0FBQyxFQUFFLEdBQUcsV0FBVyxFQUFDLENBQUM7Q0FDM0MsQ0FDSixDQUFDO0FBR0YsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLEdBQUcsRUFBRTtJQUM5QixRQUFRLENBQ0osV0FBVyxFQUNYLFdBQVcsQ0FDZCxDQUFDO0lBQ0Ysa0JBQWtCLENBQ2QsY0FBYyxDQUFDLE1BQU0sRUFDckIsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUM7SUFDRixrQkFBa0IsQ0FDZCxjQUFjLENBQUMsTUFBTSxFQUNyQixJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsQ0FDdkIsQ0FBQztBQUNOLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBST1BfQU5ZLCBQUk9QX0JPT0xFQU4sIFBST1BfTlVNQkVSLCBQUk9QX1NUUklORywgcmVnaXN0ZXIsIHJlZ2lzdGVyRm9ybVdpZGdldCB9IGZyb20gJ0B3bS9jb21wb25lbnRzL2Jhc2UnO1xuaW1wb3J0IHsgRm9ybVdpZGdldFR5cGUgfSBmcm9tICdAd20vY29yZSc7XG5cbmV4cG9ydCBjb25zdCBzd2l0Y2hQcm9wcyA9IG5ldyBNYXAoXG4gICAgW1xuICAgICAgICBbJ2NsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2NvbXBhcmVieScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkYXRhZmllbGQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGF0YXNldCcsIHt2YWx1ZTogJ3llcywgbm8sIG1heWJlJywgLi4uUFJPUF9BTll9XSxcbiAgICAgICAgWydkYXRhdmFsdWVzb3VyY2UnLCBQUk9QX0FOWV0sXG4gICAgICAgIFsnZGF0YXZhbHVlJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2Rpc2FibGVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydkaXNwbGF5ZXhwcmVzc2lvbicsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkaXNwbGF5ZmllbGQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnaGludCcsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydpY29uY2xhc3MnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnbmFtZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydvcmRlcmJ5JywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ3JlcXVpcmVkJywgUFJPUF9CT09MRUFOXSxcbiAgICAgICAgWydzaG93Jywge3ZhbHVlOiB0cnVlLCAuLi5QUk9QX0JPT0xFQU59XSxcbiAgICAgICAgWyd0YWJpbmRleCcsIHt2YWx1ZTogMCwgLi4uUFJPUF9OVU1CRVJ9XVxuICAgIF1cbik7XG5cblxuZXhwb3J0IGNvbnN0IHJlZ2lzdGVyUHJvcHMgPSAoKSA9PiB7XG4gICAgcmVnaXN0ZXIoXG4gICAgICAgICd3bS1zd2l0Y2gnLFxuICAgICAgICBzd2l0Y2hQcm9wc1xuICAgICk7XG4gICAgcmVnaXN0ZXJGb3JtV2lkZ2V0KFxuICAgICAgICBGb3JtV2lkZ2V0VHlwZS5TV0lUQ0gsXG4gICAgICAgIG5ldyBNYXAoc3dpdGNoUHJvcHMpXG4gICAgKTtcbiAgICByZWdpc3RlckZvcm1XaWRnZXQoXG4gICAgICAgIEZvcm1XaWRnZXRUeXBlLlRPR0dMRSxcbiAgICAgICAgbmV3IE1hcChzd2l0Y2hQcm9wcylcbiAgICApO1xufTtcbiJdfQ==
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLnByb3BzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy93aWRnZXRzL2lucHV0L2RlZmF1bHQvc3JjL3N3aXRjaC9zd2l0Y2gucHJvcHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxRQUFRLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUNySCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBRTFDLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxJQUFJLEdBQUcsQ0FDOUI7SUFDSSxDQUFDLE9BQU8sRUFBRSxXQUFXLENBQUM7SUFDdEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDO0lBQzFCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFNBQVMsRUFBRSxFQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBRSxHQUFHLFFBQVEsRUFBQyxDQUFDO0lBQ25ELENBQUMsaUJBQWlCLEVBQUUsUUFBUSxDQUFDO0lBQzdCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQztJQUMxQixDQUFDLFVBQVUsRUFBRSxZQUFZLENBQUM7SUFDMUIsQ0FBQyxtQkFBbUIsRUFBRSxXQUFXLENBQUM7SUFDbEMsQ0FBQyxjQUFjLEVBQUUsV0FBVyxDQUFDO0lBQzdCLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDMUIsQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0lBQ2pFLENBQUMsTUFBTSxFQUFFLFdBQVcsQ0FBQztJQUNyQixDQUFDLFNBQVMsRUFBRSxXQUFXLENBQUM7SUFDeEIsQ0FBQyxVQUFVLEVBQUUsWUFBWSxDQUFDO0lBQzFCLENBQUMsTUFBTSxFQUFFLEVBQUMsS0FBSyxFQUFFLElBQUksRUFBRSxHQUFHLFlBQVksRUFBQyxDQUFDO0lBQ3hDLENBQUMsVUFBVSxFQUFFLEVBQUMsS0FBSyxFQUFFLENBQUMsRUFBRSxHQUFHLFdBQVcsRUFBQyxDQUFDO0NBQzNDLENBQ0osQ0FBQztBQUdGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyxHQUFHLEVBQUU7SUFDOUIsUUFBUSxDQUNKLFdBQVcsRUFDWCxXQUFXLENBQ2QsQ0FBQztJQUNGLGtCQUFrQixDQUNkLGNBQWMsQ0FBQyxNQUFNLEVBQ3JCLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUN2QixDQUFDO0lBQ0Ysa0JBQWtCLENBQ2QsY0FBYyxDQUFDLE1BQU0sRUFDckIsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLENBQ3ZCLENBQUM7QUFDTixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQUk9QX0FOWSwgUFJPUF9CT09MRUFOLCBQUk9QX05VTUJFUiwgUFJPUF9TVFJJTkcsIHJlZ2lzdGVyLCByZWdpc3RlckZvcm1XaWRnZXQgfSBmcm9tICdAd20vY29tcG9uZW50cy9iYXNlJztcbmltcG9ydCB7IEZvcm1XaWRnZXRUeXBlIH0gZnJvbSAnQHdtL2NvcmUnO1xuXG5leHBvcnQgY29uc3Qgc3dpdGNoUHJvcHMgPSBuZXcgTWFwKFxuICAgIFtcbiAgICAgICAgWydjbGFzcycsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydjb21wYXJlYnknLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGF0YWZpZWxkJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2RhdGFzZXQnLCB7dmFsdWU6ICd5ZXMsIG5vLCBtYXliZScsIC4uLlBST1BfQU5ZfV0sXG4gICAgICAgIFsnZGF0YXZhbHVlc291cmNlJywgUFJPUF9BTlldLFxuICAgICAgICBbJ2RhdGF2YWx1ZScsIFBST1BfU1RSSU5HXSxcbiAgICAgICAgWydkaXNhYmxlZCcsIFBST1BfQk9PTEVBTl0sXG4gICAgICAgIFsnZGlzcGxheWV4cHJlc3Npb24nLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnZGlzcGxheWZpZWxkJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2hpbnQnLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsnaWNvbmNsYXNzJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ2NoZWNrZWRpY29uY2xhc3MnLCB7dmFsdWU6ICd3bS1zbC1sIHNsLWNoZWNrJywgLi4uUFJPUF9TVFJJTkd9XSxcbiAgICAgICAgWyduYW1lJywgUFJPUF9TVFJJTkddLFxuICAgICAgICBbJ29yZGVyYnknLCBQUk9QX1NUUklOR10sXG4gICAgICAgIFsncmVxdWlyZWQnLCBQUk9QX0JPT0xFQU5dLFxuICAgICAgICBbJ3Nob3cnLCB7dmFsdWU6IHRydWUsIC4uLlBST1BfQk9PTEVBTn1dLFxuICAgICAgICBbJ3RhYmluZGV4Jywge3ZhbHVlOiAwLCAuLi5QUk9QX05VTUJFUn1dXG4gICAgXVxuKTtcblxuXG5leHBvcnQgY29uc3QgcmVnaXN0ZXJQcm9wcyA9ICgpID0+IHtcbiAgICByZWdpc3RlcihcbiAgICAgICAgJ3dtLXN3aXRjaCcsXG4gICAgICAgIHN3aXRjaFByb3BzXG4gICAgKTtcbiAgICByZWdpc3RlckZvcm1XaWRnZXQoXG4gICAgICAgIEZvcm1XaWRnZXRUeXBlLlNXSVRDSCxcbiAgICAgICAgbmV3IE1hcChzd2l0Y2hQcm9wcylcbiAgICApO1xuICAgIHJlZ2lzdGVyRm9ybVdpZGdldChcbiAgICAgICAgRm9ybVdpZGdldFR5cGUuVE9HR0xFLFxuICAgICAgICBuZXcgTWFwKHN3aXRjaFByb3BzKVxuICAgICk7XG59O1xuIl19
@@ -41,21 +41,21 @@ const registerProps$e = () => {
41
41
  const _c0$c = ["wmButton", ""];
42
42
  const _c1$b = [[["", 8, "caret"]]];
43
43
  const _c2$8 = [".caret"];
44
- const _c3$3 = (a0, a1, a2) => ({ width: a0, height: a1, margin: a2 });
45
- const _c4$2 = (a0, a1, a2, a3) => ({ width: a0, height: a1, margin: a2, fontSize: a3 });
44
+ const _c3$4 = (a0, a1, a2) => ({ width: a0, height: a1, margin: a2 });
45
+ const _c4$3 = (a0, a1, a2, a3) => ({ width: a0, height: a1, margin: a2, fontSize: a3 });
46
46
  function ButtonComponent_img_0_Template(rf, ctx) { if (rf & 1) {
47
47
  i0.ɵɵelement(0, "img", 5);
48
48
  i0.ɵɵpipe(1, "image");
49
49
  } if (rf & 2) {
50
50
  const ctx_r0 = i0.ɵɵnextContext();
51
- i0.ɵɵproperty("src", i0.ɵɵpipeBind1(1, 2, ctx_r0.iconurl), i0.ɵɵsanitizeUrl)("ngStyle", i0.ɵɵpureFunction3(4, _c3$3, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin));
51
+ i0.ɵɵproperty("src", i0.ɵɵpipeBind1(1, 2, ctx_r0.iconurl), i0.ɵɵsanitizeUrl)("ngStyle", i0.ɵɵpureFunction3(4, _c3$4, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin));
52
52
  } }
53
53
  function ButtonComponent_i_1_Template(rf, ctx) { if (rf & 1) {
54
54
  i0.ɵɵelement(0, "i", 6);
55
55
  } if (rf & 2) {
56
56
  const ctx_r0 = i0.ɵɵnextContext();
57
57
  i0.ɵɵclassMapInterpolate1("app-icon ", ctx_r0.iconclass, "");
58
- i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction4(4, _c4$2, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin, ctx_r0.iconwidth));
58
+ i0.ɵɵproperty("ngStyle", i0.ɵɵpureFunction4(4, _c4$3, ctx_r0.iconwidth, ctx_r0.iconheight, ctx_r0.iconmargin, ctx_r0.iconwidth));
59
59
  } }
60
60
  function ButtonComponent_span_2_Template(rf, ctx) { if (rf & 1) {
61
61
  i0.ɵɵelementStart(0, "span", 7);
@@ -386,7 +386,7 @@ const registerProps$c = () => {
386
386
  const _c0$b = ["checkbox"];
387
387
  const _c1$a = ["wmCheckbox", ""];
388
388
  const _c2$7 = (a0, a1, a2) => ({ "unchecked": a0, "disabled": a1, "required": a2 });
389
- const _c3$2 = () => ({ standalone: true });
389
+ const _c3$3 = () => ({ standalone: true });
390
390
  const DEFAULT_CLS$4 = 'app-checkbox checkbox';
391
391
  const WIDGET_CONFIG$c = {
392
392
  widgetType: 'wm-checkbox',
@@ -509,7 +509,7 @@ class CheckboxComponent extends BaseFormCustomComponent {
509
509
  i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction3(14, _c2$7, !ctx.proxyModel, ctx.disabled || ctx.readonly, ctx.required && ctx._caption));
510
510
  i0.ɵɵadvance();
511
511
  i0.ɵɵtwoWayProperty("ngModel", ctx.proxyModel);
512
- i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(18, _c3$2))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
512
+ i0.ɵɵproperty("ngModelOptions", i0.ɵɵpureFunction0(18, _c3$3))("readonly", ctx.readonly)("required", ctx.required)("disabled", ctx.disabled || ctx.readonly)("tabindex", ctx.tabindex);
513
513
  i0.ɵɵattribute("name", ctx.name)("aria-label", ctx.hint)("aria-checked", !!ctx.proxyModel)("accesskey", ctx.shortcutkey);
514
514
  i0.ɵɵadvance(2);
515
515
  i0.ɵɵproperty("innerHtml", ctx._caption, i0.ɵɵsanitizeHtml);
@@ -884,8 +884,8 @@ const registerProps$b = () => {
884
884
  const _c0$a = ["wmCheckboxset", ""];
885
885
  const _c1$9 = (a0, a1) => ["checkbox", "app-checkbox", a0, a1];
886
886
  const _c2$6 = a0 => ({ "disabled": a0 });
887
- const _c3$1 = a0 => ({ "collapsible-content": a0 });
888
- const _c4$1 = (a0, a1) => ["checkbox", "app-checkbox", "group-list-item", a0, a1];
887
+ const _c3$2 = a0 => ({ "collapsible-content": a0 });
888
+ const _c4$2 = (a0, a1) => ["checkbox", "app-checkbox", "group-list-item", a0, a1];
889
889
  function CheckboxsetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf & 1) {
890
890
  i0.ɵɵelementStart(0, "label", 8);
891
891
  i0.ɵɵelement(1, "input", 9)(2, "span", 10);
@@ -993,7 +993,7 @@ function CheckboxsetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf
993
993
  const item_r9 = ctx.$implicit;
994
994
  const ctx_r2 = i0.ɵɵnextContext(3);
995
995
  i0.ɵɵclassProp("active", item_r9.selected);
996
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c4$1, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
996
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c4$2, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
997
997
  i0.ɵɵadvance();
998
998
  i0.ɵɵproperty("ngIf", !ctx_r2.content);
999
999
  i0.ɵɵadvance();
@@ -1014,7 +1014,7 @@ function CheckboxsetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1)
1014
1014
  const groupObj_r7 = ctx.$implicit;
1015
1015
  const ctx_r2 = i0.ɵɵnextContext(2);
1016
1016
  i0.ɵɵadvance(2);
1017
- i0.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(6, _c3$1, ctx_r2.collapsible));
1017
+ i0.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(6, _c3$2, ctx_r2.collapsible));
1018
1018
  i0.ɵɵadvance(2);
1019
1019
  i0.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
1020
1020
  i0.ɵɵadvance(2);
@@ -1870,8 +1870,8 @@ const registerProps$8 = () => {
1870
1870
  const _c0$8 = ["wmRadioset", ""];
1871
1871
  const _c1$7 = (a0, a1) => ["radio", "app-radio", a0, a1];
1872
1872
  const _c2$5 = a0 => ({ "disabled": a0 });
1873
- const _c3 = a0 => ({ "collapsible-content": a0 });
1874
- const _c4 = (a0, a1) => ["radio", "app-radio", "group-list-item", a0, a1];
1873
+ const _c3$1 = a0 => ({ "collapsible-content": a0 });
1874
+ const _c4$1 = (a0, a1) => ["radio", "app-radio", "group-list-item", a0, a1];
1875
1875
  function RadiosetComponent_ng_template_0_li_0_label_1_Template(rf, ctx) { if (rf & 1) {
1876
1876
  i0.ɵɵelementStart(0, "label", 7);
1877
1877
  i0.ɵɵelement(1, "input", 8)(2, "span", 9);
@@ -1979,7 +1979,7 @@ function RadiosetComponent_ng_template_3_li_0_li_8_Template(rf, ctx) { if (rf &
1979
1979
  const item_r9 = ctx.$implicit;
1980
1980
  const ctx_r2 = i0.ɵɵnextContext(3);
1981
1981
  i0.ɵɵclassProp("active", item_r9.selected);
1982
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c4, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
1982
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction2(7, _c4$1, ctx_r2.itemclass, ctx_r2.itemsPerRowClass))("wmItemTemplate", ctx_r2.content)("userComponentParams", item_r9);
1983
1983
  i0.ɵɵadvance();
1984
1984
  i0.ɵɵproperty("ngIf", !ctx_r2.content);
1985
1985
  i0.ɵɵadvance();
@@ -2000,7 +2000,7 @@ function RadiosetComponent_ng_template_3_li_0_Template(rf, ctx) { if (rf & 1) {
2000
2000
  const groupObj_r7 = ctx.$implicit;
2001
2001
  const ctx_r2 = i0.ɵɵnextContext(2);
2002
2002
  i0.ɵɵadvance(2);
2003
- i0.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(6, _c3, ctx_r2.collapsible));
2003
+ i0.ɵɵproperty("title", groupObj_r7.key)("ngClass", i0.ɵɵpureFunction1(6, _c3$1, ctx_r2.collapsible));
2004
2004
  i0.ɵɵadvance(2);
2005
2005
  i0.ɵɵtextInterpolate1("", groupObj_r7.key, " ");
2006
2006
  i0.ɵɵadvance(2);
@@ -2336,6 +2336,7 @@ const switchProps = new Map([
2336
2336
  ['displayfield', PROP_STRING],
2337
2337
  ['hint', PROP_STRING],
2338
2338
  ['iconclass', PROP_STRING],
2339
+ ['checkediconclass', { value: 'wm-sl-l sl-check', ...PROP_STRING }],
2339
2340
  ['name', PROP_STRING],
2340
2341
  ['orderby', PROP_STRING],
2341
2342
  ['required', PROP_BOOLEAN],
@@ -2349,36 +2350,54 @@ const registerProps$6 = () => {
2349
2350
  };
2350
2351
 
2351
2352
  const _c0$6 = ["wmSwitch", ""];
2352
- const _c1$5 = (a0, a1) => ({ "selected": a0, "disabled": a1 });
2353
- const _c2$3 = a0 => ["app-icon", a0];
2353
+ const _c1$5 = a0 => ({ "multi-select": a0 });
2354
+ const _c2$3 = (a0, a1) => ({ "selected": a0, "disabled": a1 });
2355
+ const _c3 = a0 => ["app-icon", a0];
2356
+ const _c4 = a0 => [a0];
2354
2357
  function SwitchComponent_a_1_i_1_Template(rf, ctx) { if (rf & 1) {
2355
- i0.ɵɵelement(0, "i", 8);
2358
+ i0.ɵɵelement(0, "i", 7);
2356
2359
  } if (rf & 2) {
2357
2360
  const opt_r3 = i0.ɵɵnextContext().$implicit;
2358
2361
  const ctx_r4 = i0.ɵɵnextContext();
2359
- i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c2$3, opt_r3.dataObject[ctx_r4.iconclass] || opt_r3["icon"]));
2362
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c3, opt_r3.dataObject[ctx_r4.iconclass] || opt_r3["icon"]));
2363
+ } }
2364
+ function SwitchComponent_a_1_i_2_Template(rf, ctx) { if (rf & 1) {
2365
+ i0.ɵɵelement(0, "i", 7);
2366
+ } if (rf & 2) {
2367
+ const ctx_r4 = i0.ɵɵnextContext(2);
2368
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(1, _c4, ctx_r4.checkediconclass));
2360
2369
  } }
2361
2370
  function SwitchComponent_a_1_Template(rf, ctx) { if (rf & 1) {
2362
2371
  const _r1 = i0.ɵɵgetCurrentView();
2363
- i0.ɵɵelementStart(0, "a", 5);
2372
+ i0.ɵɵelementStart(0, "a", 4);
2364
2373
  i0.ɵɵlistener("click", function SwitchComponent_a_1_Template_a_click_0_listener($event) { const ctx_r1 = i0.ɵɵrestoreView(_r1); const opt_r3 = ctx_r1.$implicit; const $index_r4 = ctx_r1.index; const ctx_r4 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r4.selectOpt($event, $index_r4, opt_r3)); });
2365
- i0.ɵɵtemplate(1, SwitchComponent_a_1_i_1_Template, 1, 3, "i", 6);
2366
- i0.ɵɵelement(2, "span", 7);
2374
+ i0.ɵɵtemplate(1, SwitchComponent_a_1_i_1_Template, 1, 3, "i", 5)(2, SwitchComponent_a_1_i_2_Template, 1, 3, "i", 5);
2375
+ i0.ɵɵelement(3, "span", 6);
2367
2376
  i0.ɵɵelementEnd();
2368
2377
  } if (rf & 2) {
2369
2378
  const opt_r3 = ctx.$implicit;
2370
2379
  const ctx_r4 = i0.ɵɵnextContext();
2371
- i0.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0.ɵɵpureFunction2(4, _c1$5, opt_r3.selected, ctx_r4.disabled));
2380
+ i0.ɵɵproperty("name", "wm-switch-" + opt_r3.key)("ngClass", i0.ɵɵpureFunction2(5, _c2$3, opt_r3.selected, ctx_r4.disabled));
2372
2381
  i0.ɵɵadvance();
2373
- i0.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass]);
2382
+ i0.ɵɵproperty("ngIf", opt_r3.dataObject && opt_r3.dataObject[ctx_r4.iconclass] && !opt_r3.selected);
2383
+ i0.ɵɵadvance();
2384
+ i0.ɵɵproperty("ngIf", opt_r3.selected);
2374
2385
  i0.ɵɵadvance();
2375
2386
  i0.ɵɵproperty("textContent", opt_r3[ctx_r4.displayfield] || opt_r3.label);
2376
2387
  } }
2377
- function SwitchComponent_i_3_Template(rf, ctx) { if (rf & 1) {
2378
- i0.ɵɵelement(0, "i");
2388
+ function SwitchComponent_span_2_Template(rf, ctx) { if (rf & 1) {
2389
+ i0.ɵɵelementStart(0, "span", 8);
2390
+ i0.ɵɵelement(1, "i", 9);
2391
+ i0.ɵɵelementStart(2, "span", 10);
2392
+ i0.ɵɵtext(3);
2393
+ i0.ɵɵelementEnd()();
2379
2394
  } if (rf & 2) {
2380
2395
  const ctx_r4 = i0.ɵɵnextContext();
2381
- i0.ɵɵclassMapInterpolate1("app-icon ", ctx_r4.selectedItem && ctx_r4.selectedItem.dataObject && ctx_r4.selectedItem.dataObject[ctx_r4.iconclass], "");
2396
+ i0.ɵɵproperty("title", ctx_r4.selectedItem ? ctx_r4.selectedItem.label : ctx_r4.modelByKey);
2397
+ i0.ɵɵadvance();
2398
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(3, _c4, ctx_r4.checkediconclass));
2399
+ i0.ɵɵadvance(2);
2400
+ i0.ɵɵtextInterpolate(ctx_r4.selectedItem ? ctx_r4.selectedItem.label : ctx_r4.modelByKey);
2382
2401
  } }
2383
2402
  const DEFAULT_CLS = 'app-switch';
2384
2403
  const WIDGET_CONFIG$6 = { widgetType: 'wm-switch', hostClass: DEFAULT_CLS };
@@ -2387,6 +2406,8 @@ class SwitchComponent extends DatasetAwareFormComponent {
2387
2406
  constructor(inj, explicitContext) {
2388
2407
  super(inj, WIDGET_CONFIG$6, explicitContext);
2389
2408
  this.options = [];
2409
+ this.multiple = this.getAttr("multiple") === "true";
2410
+ this.checkediconclass = this.getAttr("checkediconclass") || 'wm-sl-l sl-check';
2390
2411
  this._debounceSetSelectedValue = debounce$1((val) => {
2391
2412
  this.setSelectedValue();
2392
2413
  this.updateHighlighter(val);
@@ -2426,7 +2447,7 @@ class SwitchComponent extends DatasetAwareFormComponent {
2426
2447
  // set the css for switch overlay element.
2427
2448
  // set the selected index from the datasetItems and highlight the datavalue on switch.
2428
2449
  updateSwitchOptions() {
2429
- if (this.datasetItems.length) {
2450
+ if (this.datasetItems.length && !this.multiple) {
2430
2451
  this.btnwidth = (100 / this.datasetItems.length);
2431
2452
  setCSS(this.nativeElement.querySelector('.app-switch-overlay'), 'width', this.btnwidth + '%');
2432
2453
  }
@@ -2464,18 +2485,30 @@ class SwitchComponent extends DatasetAwareFormComponent {
2464
2485
  if (this.disabled) {
2465
2486
  return;
2466
2487
  }
2467
- this.modelByKey = option.key;
2468
- this.invokeOnTouched();
2469
- if (this.selectedItem && $index === findIndex(this.datasetItems, { key: this.selectedItem.key })) {
2470
- if (this.datasetItems.length === 2) {
2471
- $index = $index === 1 ? 0 : 1;
2472
- }
2473
- else {
2474
- return;
2488
+ if (this.multiple) {
2489
+ const keys = [];
2490
+ this.datasetItems[$index].selected = !this.datasetItems[$index].selected;
2491
+ forEach(this.datasetItems, (item) => {
2492
+ if (item.selected)
2493
+ keys.push(item.key);
2494
+ });
2495
+ this.modelByKey = keys;
2496
+ this.selectedItem = find(this.datasetItems, { selected: true });
2497
+ }
2498
+ else {
2499
+ this.modelByKey = option.key;
2500
+ if (!this.multiple && this.selectedItem && $index === findIndex(this.datasetItems, { key: this.selectedItem.key })) {
2501
+ if (this.datasetItems.length === 2) {
2502
+ $index = $index === 1 ? 0 : 1;
2503
+ }
2504
+ else {
2505
+ return;
2506
+ }
2475
2507
  }
2508
+ this.selectedItem = this.datasetItems[$index];
2509
+ this.updateHighlighter();
2476
2510
  }
2477
- this.selectedItem = this.datasetItems[$index];
2478
- this.updateHighlighter();
2511
+ this.invokeOnTouched();
2479
2512
  // invoke on datavalue change.
2480
2513
  this.invokeOnChange(this.datavalue, $event || {}, true);
2481
2514
  $appDigest();
@@ -2492,24 +2525,18 @@ class SwitchComponent extends DatasetAwareFormComponent {
2492
2525
  static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: SwitchComponent, selectors: [["", "wmSwitch", ""]], exportAs: ["wmSwitch"], features: [i0.ɵɵProvidersFeature([
2493
2526
  provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
2494
2527
  provideAsWidgetRef(SwitchComponent)
2495
- ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$6, decls: 6, vars: 8, consts: [["role", "group", 1, "btn-group", "btn-group-justified"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], [1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "class", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
2528
+ ]), i0.ɵɵInheritDefinitionFeature], attrs: _c0$6, decls: 4, vars: 9, consts: [["role", "group", 1, "btn-group", "btn-group-justified", 3, "ngClass"], ["focus-target", "", "href", "javascript:void(0);", "class", "btn btn-default", 3, "name", "ngClass", "click", 4, "ngFor", "ngForOf"], ["class", "btn btn-primary app-switch-overlay switch-handle", 3, "title", 4, "ngIf"], ["aria-hidden", "true", 1, "model-holder", "ng-hide", 3, "name", "disabled", "value", "required"], ["focus-target", "", "href", "javascript:void(0);", 1, "btn", "btn-default", 3, "click", "name", "ngClass"], ["aria-hidden", "true", 3, "ngClass", 4, "ngIf"], [1, "caption", 3, "textContent"], ["aria-hidden", "true", 3, "ngClass"], [1, "btn", "btn-primary", "app-switch-overlay", "switch-handle", 3, "title"], [3, "ngClass"], [1, "caption"]], template: function SwitchComponent_Template(rf, ctx) { if (rf & 1) {
2496
2529
  i0.ɵɵelementStart(0, "div", 0);
2497
- i0.ɵɵtemplate(1, SwitchComponent_a_1_Template, 3, 7, "a", 1);
2498
- i0.ɵɵelementEnd();
2499
- i0.ɵɵelementStart(2, "span", 2);
2500
- i0.ɵɵtemplate(3, SwitchComponent_i_3_Template, 1, 3, "i", 3);
2501
- i0.ɵɵtext(4);
2530
+ i0.ɵɵtemplate(1, SwitchComponent_a_1_Template, 4, 8, "a", 1);
2502
2531
  i0.ɵɵelementEnd();
2503
- i0.ɵɵelement(5, "input", 4);
2532
+ i0.ɵɵtemplate(2, SwitchComponent_span_2_Template, 4, 5, "span", 2);
2533
+ i0.ɵɵelement(3, "input", 3);
2504
2534
  } if (rf & 2) {
2535
+ i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(7, _c1$5, ctx.multiple));
2505
2536
  i0.ɵɵadvance();
2506
2537
  i0.ɵɵproperty("ngForOf", ctx.datasetItems);
2507
2538
  i0.ɵɵadvance();
2508
- i0.ɵɵproperty("title", ctx.selectedItem ? ctx.selectedItem.label : ctx.modelByKey);
2509
- i0.ɵɵadvance();
2510
- i0.ɵɵproperty("ngIf", ctx.iconclass);
2511
- i0.ɵɵadvance();
2512
- i0.ɵɵtextInterpolate1(" ", ctx.selectedItem ? ctx.selectedItem.label : ctx.modelByKey, "\n");
2539
+ i0.ɵɵproperty("ngIf", !ctx.multiple);
2513
2540
  i0.ɵɵadvance();
2514
2541
  i0.ɵɵproperty("name", ctx.name)("disabled", ctx.disabled)("value", ctx.modelByKey)("required", ctx.required);
2515
2542
  } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i2.TextContentDirective], encapsulation: 2 }); }
@@ -2519,7 +2546,7 @@ class SwitchComponent extends DatasetAwareFormComponent {
2519
2546
  args: [{ selector: '[wmSwitch]', providers: [
2520
2547
  provideAs(SwitchComponent, NG_VALUE_ACCESSOR, true),
2521
2548
  provideAsWidgetRef(SwitchComponent)
2522
- ], exportAs: 'wmSwitch', template: "<div role=\"group\" class=\"btn-group btn-group-justified\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass]\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\">\n <i *ngIf=\"iconclass\"\n class=\"app-icon {{(selectedItem && selectedItem.dataObject) && selectedItem.dataObject[iconclass]}}\"></i>\n {{selectedItem ? selectedItem.label : modelByKey}}\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
2549
+ ], exportAs: 'wmSwitch', template: "<div role=\"group\" class=\"btn-group btn-group-justified\" [ngClass]=\"{'multi-select': multiple}\">\n <a *ngFor=\"let opt of datasetItems; let $index = index;\"\n focus-target\n href=\"javascript:void(0);\"\n class=\"btn btn-default\"\n [name]=\"'wm-switch-' + opt.key\"\n [ngClass]=\"{'selected': opt.selected, 'disabled': disabled}\"\n (click)=\"selectOpt($event, $index, opt)\"\n >\n <i *ngIf=\"opt.dataObject && opt.dataObject[iconclass] && !opt.selected\" aria-hidden=\"true\" [ngClass]=\"['app-icon', opt.dataObject[iconclass] || opt['icon']]\"></i>\n <i *ngIf=\"opt.selected\" aria-hidden=\"true\" [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\" [textContent]=\"opt[displayfield] || opt.label\"></span>\n </a>\n</div>\n<span [title]=\"selectedItem ? selectedItem.label : modelByKey\"\n class=\"btn btn-primary app-switch-overlay switch-handle\" *ngIf=\"!multiple\">\n <i [ngClass]=\"[checkediconclass]\"></i>\n <span class=\"caption\">{{selectedItem ? selectedItem.label : modelByKey}}</span>\n</span>\n<input [name]=\"name\" class=\"model-holder ng-hide\" [disabled]=\"disabled\" [value]=\"modelByKey\" [required]=\"required\" aria-hidden=\"true\">\n" }]
2523
2550
  }], () => [{ type: i0.Injector }, { type: undefined, decorators: [{
2524
2551
  type: Inject,
2525
2552
  args: ['EXPLICIT_CONTEXT']