ets-fe-ng-sdk 17.0.423 → 17.0.425

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  import { CommonModule } from '@angular/common';
2
- import { Component, EventEmitter, Input, Output, input, signal } from '@angular/core';
2
+ import { Component, EventEmitter, Input, Output, input, signal, } from '@angular/core';
3
3
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
4
4
  import { InputBasicComponent } from '../input/input-basic.component';
5
5
  import { BtnComponent } from '../btn/btn.component';
@@ -24,8 +24,11 @@ export class ToggleInputFormComponent {
24
24
  }
25
25
  set _list(v) {
26
26
  this.rawList = v;
27
- this.list.set(this.iS.optionsFormatter(v, this.valueField, null, this.labelType(), this.labelField(), false));
28
- if (this.defaultToggleAll())
27
+ const list = this.iS.optionsFormatter(v, this.valueField, null, this.labelType(), this.labelField(), false) || [];
28
+ for (const item of list)
29
+ item.checked = item.originalRow.checked;
30
+ this.list.set(list);
31
+ if (this.defaultToggleAll() && !list.some((x) => x.checked))
29
32
  this.toggleAll({ checked: true });
30
33
  }
31
34
  // @Input('list')set _list:T[]
@@ -50,6 +53,7 @@ export class ToggleInputFormComponent {
50
53
  this.columnLengths = signal([
51
54
  { label: `List`, value: 1 },
52
55
  { label: `Dual`, value: 2 },
56
+ { label: `Triple`, value: 3 },
53
57
  { label: `Medium`, value: 4 },
54
58
  { label: `Maximum`, value: 6 },
55
59
  ]);
@@ -87,7 +91,9 @@ export class ToggleInputFormComponent {
87
91
  this.emitSelected();
88
92
  }
89
93
  emitSelected() {
90
- this.selected.emit(this.list().filter((x) => x.checked).map((x) => x.originalRow));
94
+ this.selected.emit(this.list()
95
+ .filter((x) => x.checked)
96
+ .map((x) => x.originalRow));
91
97
  }
92
98
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ToggleInputFormComponent, deps: [{ token: i1.InputService }], target: i0.ɵɵFactoryTarget.Component }); }
93
99
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ToggleInputFormComponent, isStandalone: true, selector: "toggle-input-form", inputs: { setGrid: { classPropertyName: "setGrid", publicName: "gridNo", isSignal: false, isRequired: false, transformFunction: null }, _list: { classPropertyName: "_list", publicName: "list", isSignal: false, isRequired: true, transformFunction: null }, labelType: { classPropertyName: "labelType", publicName: "labelType", isSignal: true, isRequired: false, transformFunction: null }, defaultToggleAll: { classPropertyName: "defaultToggleAll", publicName: "defaultToggleAll", isSignal: true, isRequired: false, transformFunction: null }, labelField: { classPropertyName: "labelField", publicName: "labelField", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: false, isRequired: true, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: null }, addToFormFunc: { classPropertyName: "addToFormFunc", publicName: "addToFormFunc", isSignal: false, isRequired: false, transformFunction: null }, deleteFromFormFunc: { classPropertyName: "deleteFromFormFunc", publicName: "deleteFromFormFunc", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, ngImport: i0, template: "<div class=\"pb-3\">\n\t<div class=\"row align-items-center justify-content-between g-3\">\n\t\t<div class=\"col-lg-auto\">\n\t\t\t<mat-slide-toggle (change)=\"toggleAll($event)\" [checked]=\"defaultToggleAll()\">\n\t\t\t\t{{ 'Toggle All' | appTranslate | async }}\n\t\t\t</mat-slide-toggle>\n\t\t</div>\n\t\t<div class=\"col-lg d-flex justify-content-end\">\n\t\t\t<div class=\"row align-items-center g-3\">\n\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t<app-btn\n\t\t\t\t\t\ticonBtn\n\t\t\t\t\t\t[showHelpIcon]=\"false\"\n\t\t\t\t\t\thelp=\"{{ searchBox.hidden ? 'Open search' : 'Close search' }}\"\n\t\t\t\t\t\t[icon]=\"searchBox.hidden ? 'search' : 'close'\"\n\t\t\t\t\t\t(mclick)=\"searchBox.hidden = !searchBox.hidden\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-auto\" [hidden]=\"true\" #searchBox>\n\t\t\t\t\t<app-input-td-rf\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t[noFormat]=\"true\"\n\t\t\t\t\t\t[showLabel]=\"false\"\n\t\t\t\t\t\tplaceholder=\"Type to search\"\n\t\t\t\t\t\t[(model)]=\"searchQuery\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t<app-btn\n\t\t\t\t\t\tcustomIcon=\"fa fa-list\"\n\t\t\t\t\t\t[showHelpIcon]=\"false\"\n\t\t\t\t\t\thelp=\"Grid Style\"\n\t\t\t\t\t\t[matMenuTriggerFor]=\"gridMenu\" />\n\t\t\t\t\t<mat-menu #gridMenu=\"matMenu\" class=\"\">\n\t\t\t\t\t\t@for (item of columnLengths(); track item) {\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tmat-menu-item\n\t\t\t\t\t\t\t\t(click)=\"setGrid = item.value\"\n\t\t\t\t\t\t\t\t[ngClass]=\"{ 'text-primary': item.value == currentGrid() }\">\n\t\t\t\t\t\t\t\t{{ item.label | appTranslate | async }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t}\n\t\t\t\t\t</mat-menu>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"row row-cols-md-{{ mdGrid() }} row-cols-lg-{{ lgGrid() }} row-cols-xxl-{{ xxlGrid() }} g-3\">\n\t@for (item of list() | filterArrayByString: searchQuery : ['label']; track item.value) {\n\t\t<div class=\"\">\n\t\t\t<div class=\"border rounded-10 p-10\">\n\t\t\t\t<div class=\"row align-items-center\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"col text-ellipsis\"\n\t\t\t\t\t\t[matTooltip]=\"ele.innerText\"\n\t\t\t\t\t\t[matTooltipDisabled]=\"ele.scrollWidth <= ele.offsetWidth\"\n\t\t\t\t\t\t#ele>\n\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t\t<mat-slide-toggle [(ngModel)]=\"item.checked\" (change)=\"toggledItem($event, item.originalRow)\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t}\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "verbose", "loading", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "form", "forms", "help", "iconBtn", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid", "disabled"], outputs: ["loadingChange", "leftCustomIconChange", "mclick", "disabledChange"] }, { kind: "pipe", type: FilterArrayByStringPipe, name: "filterArrayByString" }, { kind: "component", type: InputTD_RFComponent, selector: "app-input-td-rf", inputs: ["validators", "asyncValidators", "model"], outputs: ["modelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i5.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i6.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i6.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i6.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }
@@ -124,4 +130,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
124
130
  }], selected: [{
125
131
  type: Output
126
132
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RvZ2dsZS1pbnB1dC1mb3JtL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90b2dnbGUtaW5wdXQtZm9ybS90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUEyQixTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUYsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQXFCbkUsTUFB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LGlMQUNaLG9CQUFvQixtV0FDcEIsWUFBWSw4ZkFDWix1QkFBdUIsNERBRXZCLG1CQUFtQix5SUFDbkIsV0FBVyw4VkFDWCxnQkFBZ0IsNFRBQ2hCLGFBQWEseXZCQUNiLGdCQUFnQjs7MkZBR1Asd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUlQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7aUZBTW9CLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsUUFBUTtnQkFnQlgsS0FBSztzQkFEUixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVNiLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPdXRwdXQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IElPcHRpb24sIElucHV0U2VydmljZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlLCBJbnB1dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VERfUkZDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC10ZC1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNES1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBGaWx0ZXJBcnJheUJ5U3RyaW5nUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvZ2dsZS1pbnB1dC1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5zY3NzJyxcbiAgLy8gXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgQnRuQ29tcG9uZW50LFxuICAgIEZpbHRlckFycmF5QnlTdHJpbmdQaXBlLFxuICAgIElucHV0QmFzaWNDb21wb25lbnQsXG4gICAgSW5wdXRURF9SRkNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgU0RLVHJhbnNsYXRlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlSW5wdXRGb3JtQ29tcG9uZW50PFRPcHRpb24sIFRSb3c+IHtcbiAgcmF3TGlzdDogVE9wdGlvbltdO1xuICBsaXN0ID0gc2lnbmFsPElUb2dnbGVPcHRpb25bXT4oW10pO1xuICBzZWFyY2hRdWVyeTogc3RyaW5nO1xuICBASW5wdXQoJ2dyaWRObycpIHNldCBzZXRHcmlkKG51bTogR3JpZFNpemUpIHtcbiAgICB0aGlzLnh4bEdyaWQuc2V0KG51bSk7XG4gICAgdGhpcy5sZ0dyaWQuc2V0KG51bSA+IDMgPyBudW0gLSAxIDogbnVtKTtcbiAgICB0aGlzLm1kR3JpZC5zZXQobnVtID4gMyA/IE1hdGguZmxvb3IodGhpcy5sZ0dyaWQoKSAvIDIpIDogbnVtKTtcbiAgfVxuICAvLyBASW5wdXQoKSBzZXQgc2F2ZWREYXRhKHY6IFRSb3dbXSkge1xuICAvLyBcdGlmKHYpXG4gIC8vIFx0di5mb3JFYWNoKHJvdz0+e1xuICAvLyB0aGlzLlxuICAvLyBcdH0pXG4gIC8vIH1cbiAgY3VycmVudEdyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICB4eGxHcmlkID0gc2lnbmFsPG51bWJlcj4odW5kZWZpbmVkKTtcbiAgbGdHcmlkID0gc2lnbmFsPG51bWJlcj4odW5kZWZpbmVkKTtcbiAgbWRHcmlkID0gc2lnbmFsPG51bWJlcj4odW5kZWZpbmVkKTtcbiAgQElucHV0KHsgYWxpYXM6ICdsaXN0JywgcmVxdWlyZWQ6IHRydWUgfSlcbiAgc2V0IF9saXN0KHY6IFRPcHRpb25bXSkge1xuICAgIHRoaXMucmF3TGlzdCA9IHY7XG4gICAgdGhpcy5saXN0LnNldCh0aGlzLmlTLm9wdGlvbnNGb3JtYXR0ZXIodiwgdGhpcy52YWx1ZUZpZWxkIGFzIHN0cmluZywgbnVsbCwgdGhpcy5sYWJlbFR5cGUoKSwgdGhpcy5sYWJlbEZpZWxkKCkgYXMgc3RyaW5nLCBmYWxzZSkpO1xuICAgIGlmICh0aGlzLmRlZmF1bHRUb2dnbGVBbGwoKSkgdGhpcy50b2dnbGVBbGwoeyBjaGVja2VkOiB0cnVlIH0pO1xuICB9XG4gIGxhYmVsVHlwZSA9IGlucHV0PE9wdGlvbkxhYmVsVHlwZT4oKTtcbiAgZGVmYXVsdFRvZ2dsZUFsbCA9IGlucHV0PGJvb2xlYW4+KCk7XG4gIGxhYmVsRmllbGQgPSBpbnB1dDxrZXlvZiBUT3B0aW9uPigpO1xuICBASW5wdXQoeyByZXF1aXJlZDogdHJ1ZSB9KSB2YWx1ZUZpZWxkOiBrZXlvZiBUT3B0aW9uO1xuICBASW5wdXQoKSBzaG93VG9nZ2xlQWxsOiBib29sZWFuID0gdHJ1ZTtcbiAgQElucHV0KCkgYWRkVG9Gb3JtRnVuYzogKGRhdGE/OiBUT3B0aW9uKSA9PiBhbnk7XG4gIEBJbnB1dCgpIGRlbGV0ZUZyb21Gb3JtRnVuYzogKGRhdGE/OiBUT3B0aW9uKSA9PiBhbnk7XG5cbiAgQE91dHB1dCgpIHNlbGVjdGVkID0gbmV3IEV2ZW50RW1pdHRlcjxUT3B0aW9uW10+KCk7XG5cbiAgY29sdW1uTGVuZ3RocyA9IHNpZ25hbDx7IGxhYmVsOiBzdHJpbmc7IHZhbHVlOiBHcmlkU2l6ZSB9W10+KFtcbiAgICB7IGxhYmVsOiBgTGlzdGAsIHZhbHVlOiAxIH0sXG4gICAgeyBsYWJlbDogYER1YWxgLCB2YWx1ZTogMiB9LFxuICAgIHsgbGFiZWw6IGBNZWRpdW1gLCB2YWx1ZTogNCB9LFxuICAgIHsgbGFiZWw6IGBNYXhpbXVtYCwgdmFsdWU6IDYgfSxcbiAgXSk7XG5cbiAgLy8gQElucHV0KCdsaXN0JylzZXQgX2xpc3Q6VFtdXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBpUzogSW5wdXRTZXJ2aWNlKSB7XG4gICAgdGhpcy5zZXRHcmlkID0gNjtcbiAgfVxuXG4gIHRvZ2dsZWRJdGVtKGU6IHsgY2hlY2tlZDogYm9vbGVhbiB9LCBpdGVtOiBUT3B0aW9uKSB7XG4gICAgLy8gdGhyb3cgbmV3IEVycm9yKCdNZXRob2Qgbm90IGltcGxlbWVudGVkLicpO1xuICAgIGlmIChlLmNoZWNrZWQpIHRoaXMuYWRkVG9Gb3JtRnVuYz8uKGl0ZW0pO1xuICAgIGVsc2UgdGhpcy5kZWxldGVGcm9tRm9ybUZ1bmM/LihpdGVtKTtcbiAgICB0aGlzLmVtaXRTZWxlY3RlZCgpO1xuICB9XG5cbiAgdG9nZ2xlQWxsKGU6IHsgY2hlY2tlZDogYm9vbGVhbiB9KSB7XG4gICAgaWYgKGUuY2hlY2tlZClcbiAgICAgIHRoaXMubGlzdC51cGRhdGUoKGxpc3QpID0+IHtcbiAgICAgICAgbGlzdFxuICAgICAgICAgIC5maWx0ZXIoKHgpID0+ICF4LmNoZWNrZWQpXG4gICAgICAgICAgLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgICAgIHguY2hlY2tlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLmFkZFRvRm9ybUZ1bmM/Lih4Lm9yaWdpbmFsUm93KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgICB9KTtcbiAgICBlbHNlXG4gICAgICB0aGlzLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgIGxpc3RcbiAgICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LmNoZWNrZWQpXG4gICAgICAgICAgLmZvckVhY2goKHgpID0+IHtcbiAgICAgICAgICAgIHguY2hlY2tlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5kZWxldGVGcm9tRm9ybUZ1bmM/Lih4Lm9yaWdpbmFsUm93KTtcbiAgICAgICAgICB9KTtcbiAgICAgICAgcmV0dXJuIGxpc3Q7XG4gICAgICB9KTtcbiAgICB0aGlzLmVtaXRTZWxlY3RlZCgpO1xuICB9XG5cbiAgZW1pdFNlbGVjdGVkKCkge1xuICAgIHRoaXMuc2VsZWN0ZWQuZW1pdCh0aGlzLmxpc3QoKS5maWx0ZXIoKHgpID0+IHguY2hlY2tlZCkubWFwKCh4KSA9PiB4Lm9yaWdpbmFsUm93KSk7XG4gIH1cbn1cbmludGVyZmFjZSBJVG9nZ2xlT3B0aW9uIGV4dGVuZHMgSU9wdGlvbiB7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xufVxudHlwZSBHcmlkU2l6ZSA9IDYgfCA0IHwgMiB8IDE7XG4iLCI8ZGl2IGNsYXNzPVwicGItM1wiPlxuXHQ8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBnLTNcIj5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnLWF1dG9cIj5cblx0XHRcdDxtYXQtc2xpZGUtdG9nZ2xlIChjaGFuZ2UpPVwidG9nZ2xlQWxsKCRldmVudClcIiBbY2hlY2tlZF09XCJkZWZhdWx0VG9nZ2xlQWxsKClcIj5cblx0XHRcdFx0e3sgJ1RvZ2dsZSBBbGwnIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cblx0XHRcdDwvbWF0LXNsaWRlLXRvZ2dsZT5cblx0XHQ8L2Rpdj5cblx0XHQ8ZGl2IGNsYXNzPVwiY29sLWxnIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtZW5kXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlciBnLTNcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG5cdFx0XHRcdFx0PGFwcC1idG5cblx0XHRcdFx0XHRcdGljb25CdG5cblx0XHRcdFx0XHRcdFtzaG93SGVscEljb25dPVwiZmFsc2VcIlxuXHRcdFx0XHRcdFx0aGVscD1cInt7IHNlYXJjaEJveC5oaWRkZW4gPyAnT3BlbiBzZWFyY2gnIDogJ0Nsb3NlIHNlYXJjaCcgfX1cIlxuXHRcdFx0XHRcdFx0W2ljb25dPVwic2VhcmNoQm94LmhpZGRlbiA/ICdzZWFyY2gnIDogJ2Nsb3NlJ1wiXG5cdFx0XHRcdFx0XHQobWNsaWNrKT1cInNlYXJjaEJveC5oaWRkZW4gPSAhc2VhcmNoQm94LmhpZGRlblwiIC8+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIiBbaGlkZGVuXT1cInRydWVcIiAjc2VhcmNoQm94PlxuXHRcdFx0XHRcdDxhcHAtaW5wdXQtdGQtcmZcblx0XHRcdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0XHRcdFtub0Zvcm1hdF09XCJ0cnVlXCJcblx0XHRcdFx0XHRcdFtzaG93TGFiZWxdPVwiZmFsc2VcIlxuXHRcdFx0XHRcdFx0cGxhY2Vob2xkZXI9XCJUeXBlIHRvIHNlYXJjaFwiXG5cdFx0XHRcdFx0XHRbKG1vZGVsKV09XCJzZWFyY2hRdWVyeVwiIC8+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cblx0XHRcdFx0XHQ8YXBwLWJ0blxuXHRcdFx0XHRcdFx0Y3VzdG9tSWNvbj1cImZhIGZhLWxpc3RcIlxuXHRcdFx0XHRcdFx0W3Nob3dIZWxwSWNvbl09XCJmYWxzZVwiXG5cdFx0XHRcdFx0XHRoZWxwPVwiR3JpZCBTdHlsZVwiXG5cdFx0XHRcdFx0XHRbbWF0TWVudVRyaWdnZXJGb3JdPVwiZ3JpZE1lbnVcIiAvPlxuXHRcdFx0XHRcdDxtYXQtbWVudSAjZ3JpZE1lbnU9XCJtYXRNZW51XCIgY2xhc3M9XCJcIj5cblx0XHRcdFx0XHRcdEBmb3IgKGl0ZW0gb2YgY29sdW1uTGVuZ3RocygpOyB0cmFjayBpdGVtKSB7XG5cdFx0XHRcdFx0XHRcdDxidXR0b25cblx0XHRcdFx0XHRcdFx0XHRtYXQtbWVudS1pdGVtXG5cdFx0XHRcdFx0XHRcdFx0KGNsaWNrKT1cInNldEdyaWQgPSBpdGVtLnZhbHVlXCJcblx0XHRcdFx0XHRcdFx0XHRbbmdDbGFzc109XCJ7ICd0ZXh0LXByaW1hcnknOiBpdGVtLnZhbHVlID09IGN1cnJlbnRHcmlkKCkgfVwiPlxuXHRcdFx0XHRcdFx0XHRcdHt7IGl0ZW0ubGFiZWwgfCBhcHBUcmFuc2xhdGUgfCBhc3luYyB9fVxuXHRcdFx0XHRcdFx0XHQ8L2J1dHRvbj5cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHQ8L21hdC1tZW51PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHQ8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInJvdyByb3ctY29scy1tZC17eyBtZEdyaWQoKSB9fSByb3ctY29scy1sZy17eyBsZ0dyaWQoKSB9fSByb3ctY29scy14eGwte3sgeHhsR3JpZCgpIH19IGctM1wiPlxuXHRAZm9yIChpdGVtIG9mIGxpc3QoKSB8IGZpbHRlckFycmF5QnlTdHJpbmc6IHNlYXJjaFF1ZXJ5IDogWydsYWJlbCddOyB0cmFjayBpdGVtLnZhbHVlKSB7XG5cdFx0PGRpdiBjbGFzcz1cIlwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cImJvcmRlciByb3VuZGVkLTEwIHAtMTBcIj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cblx0XHRcdFx0XHQ8ZGl2XG5cdFx0XHRcdFx0XHRjbGFzcz1cImNvbCB0ZXh0LWVsbGlwc2lzXCJcblx0XHRcdFx0XHRcdFttYXRUb29sdGlwXT1cImVsZS5pbm5lclRleHRcIlxuXHRcdFx0XHRcdFx0W21hdFRvb2x0aXBEaXNhYmxlZF09XCJlbGUuc2Nyb2xsV2lkdGggPD0gZWxlLm9mZnNldFdpZHRoXCJcblx0XHRcdFx0XHRcdCNlbGU+XG5cdFx0XHRcdFx0XHR7eyBpdGVtLmxhYmVsIH19XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG5cdFx0XHRcdFx0XHQ8bWF0LXNsaWRlLXRvZ2dsZSBbKG5nTW9kZWwpXT1cIml0ZW0uY2hlY2tlZFwiIChjaGFuZ2UpPVwidG9nZ2xlZEl0ZW0oJGV2ZW50LCBpdGVtLm9yaWdpbmFsUm93KVwiIC8+XG5cdFx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdH1cbjwvZGl2PlxuIl19
133
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RvZ2dsZS1pbnB1dC1mb3JtL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90b2dnbGUtaW5wdXQtZm9ybS90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBcUJuRSxNQUFNLE9BQU8sd0JBQXdCO0lBSW5DLElBQXFCLE9BQU8sQ0FBQyxHQUFhO1FBQ3hDLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBV0QsSUFDSSxLQUFLLENBQUMsQ0FBWTtRQUNwQixJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztRQUNqQixNQUFNLElBQUksR0FDUixJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUN0QixDQUFDLEVBQ0QsSUFBSSxDQUFDLFVBQW9CLEVBQ3pCLElBQUksRUFDSixJQUFJLENBQUMsU0FBUyxFQUFFLEVBQ2hCLElBQUksQ0FBQyxVQUFVLEVBQVksRUFDM0IsS0FBSyxDQUNOLElBQUksRUFBRSxDQUFDO1FBQ1YsS0FBSyxNQUFNLElBQUksSUFBSSxJQUFJO1lBQUUsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLE9BQU8sQ0FBQztRQUNqRSxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRyxDQUFDO0lBbUJELDhCQUE4QjtJQUM5QixZQUFtQixFQUFnQjtRQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBcERuQyxTQUFJLEdBQUcsTUFBTSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQU9uQyxzQ0FBc0M7UUFDdEMsU0FBUztRQUNULG9CQUFvQjtRQUNwQixRQUFRO1FBQ1IsTUFBTTtRQUNOLElBQUk7UUFDSixnQkFBVyxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7UUFDbkMsV0FBTSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQWlCbkMsY0FBUyxHQUFHLEtBQUssRUFBbUIsQ0FBQztRQUNyQyxxQkFBZ0IsR0FBRyxLQUFLLEVBQVcsQ0FBQztRQUNwQyxlQUFVLEdBQUcsS0FBSyxFQUFpQixDQUFDO1FBRTNCLGtCQUFhLEdBQVksSUFBSSxDQUFDO1FBSTdCLGFBQVEsR0FBRyxJQUFJLFlBQVksRUFBYSxDQUFDO1FBRW5ELGtCQUFhLEdBQUcsTUFBTSxDQUF1QztZQUMzRCxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUMzQixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUM3QixFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtZQUM3QixFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRTtTQUMvQixDQUFDLENBQUM7UUFJRCxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRUQsV0FBVyxDQUFDLENBQXVCLEVBQUUsSUFBYTtRQUNoRCw4Q0FBOEM7UUFDOUMsSUFBSSxDQUFDLENBQUMsT0FBTztZQUFFLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQzs7WUFDckMsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxTQUFTLENBQUMsQ0FBdUI7UUFDL0IsSUFBSSxDQUFDLENBQUMsT0FBTztZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUk7cUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7cUJBQ3pCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNiLENBQUMsQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO29CQUNqQixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUN0QyxDQUFDLENBQUMsQ0FBQztnQkFDTCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDOztZQUVILElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQ3hCLElBQUk7cUJBQ0QsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDO3FCQUN4QixPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRTtvQkFDYixDQUFDLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztvQkFDbEIsSUFBSSxDQUFDLGtCQUFrQixFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDO2dCQUMzQyxDQUFDLENBQUMsQ0FBQztnQkFDTCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQyxDQUFDO1FBQ0wsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQ2hCLElBQUksQ0FBQyxJQUFJLEVBQUU7YUFDUixNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7YUFDeEIsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQzdCLENBQUM7SUFDSixDQUFDOzhHQS9GVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw4MUNDMUNyQyx5OEVBa0VBLCtFRHBDSSxZQUFZLGlMQUNaLG9CQUFvQixtV0FDcEIsWUFBWSw4ZkFDWix1QkFBdUIsNERBRXZCLG1CQUFtQix5SUFDbkIsV0FBVyw4VkFDWCxnQkFBZ0IsNFRBQ2hCLGFBQWEseXZCQUNiLGdCQUFnQjs7MkZBR1Asd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUlQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7aUZBTW9CLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsUUFBUTtnQkFnQlgsS0FBSztzQkFEUixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQW1CYixVQUFVO3NCQUFwQyxLQUFLO3VCQUFDLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTtnQkFDaEIsYUFBYTtzQkFBckIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFFSSxRQUFRO3NCQUFqQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7XG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICBDb21wb25lbnQsXG4gIEV2ZW50RW1pdHRlcixcbiAgSW5qZWN0LFxuICBJbnB1dCxcbiAgT3V0cHV0LFxuICBpbmplY3QsXG4gIGlucHV0LFxuICBzaWduYWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IElPcHRpb24sIElucHV0U2VydmljZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlLCBJbnB1dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VERfUkZDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC10ZC1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNES1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBGaWx0ZXJBcnJheUJ5U3RyaW5nUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvZ2dsZS1pbnB1dC1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5zY3NzJyxcbiAgLy9cbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBNYXRTbGlkZVRvZ2dsZU1vZHVsZSxcbiAgICBCdG5Db21wb25lbnQsXG4gICAgRmlsdGVyQXJyYXlCeVN0cmluZ1BpcGUsXG4gICAgSW5wdXRCYXNpY0NvbXBvbmVudCxcbiAgICBJbnB1dFREX1JGQ29tcG9uZW50LFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIE1hdFRvb2x0aXBNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBTREtUcmFuc2xhdGVQaXBlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBUb2dnbGVJbnB1dEZvcm1Db21wb25lbnQ8VE9wdGlvbiBleHRlbmRzIHsgY2hlY2tlZD86IGJvb2xlYW4gfSwgVFJvdz4ge1xuICByYXdMaXN0OiBUT3B0aW9uW107XG4gIGxpc3QgPSBzaWduYWw8SVRvZ2dsZU9wdGlvbltdPihbXSk7XG4gIHNlYXJjaFF1ZXJ5OiBzdHJpbmc7XG4gIEBJbnB1dCgnZ3JpZE5vJykgc2V0IHNldEdyaWQobnVtOiBHcmlkU2l6ZSkge1xuICAgIHRoaXMueHhsR3JpZC5zZXQobnVtKTtcbiAgICB0aGlzLmxnR3JpZC5zZXQobnVtID4gMyA/IG51bSAtIDEgOiBudW0pO1xuICAgIHRoaXMubWRHcmlkLnNldChudW0gPiAzID8gTWF0aC5mbG9vcih0aGlzLmxnR3JpZCgpIC8gMikgOiBudW0pO1xuICB9XG4gIC8vIEBJbnB1dCgpIHNldCBzYXZlZERhdGEodjogVFJvd1tdKSB7XG4gIC8vIFx0aWYodilcbiAgLy8gXHR2LmZvckVhY2gocm93PT57XG4gIC8vIHRoaXMuXG4gIC8vIFx0fSlcbiAgLy8gfVxuICBjdXJyZW50R3JpZCA9IHNpZ25hbDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIHh4bEdyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICBsZ0dyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICBtZEdyaWQgPSBzaWduYWw8bnVtYmVyPih1bmRlZmluZWQpO1xuICBASW5wdXQoeyBhbGlhczogJ2xpc3QnLCByZXF1aXJlZDogdHJ1ZSB9KVxuICBzZXQgX2xpc3QodjogVE9wdGlvbltdKSB7XG4gICAgdGhpcy5yYXdMaXN0ID0gdjtcbiAgICBjb25zdCBsaXN0OiBJVG9nZ2xlT3B0aW9uW10gPVxuICAgICAgdGhpcy5pUy5vcHRpb25zRm9ybWF0dGVyKFxuICAgICAgICB2LFxuICAgICAgICB0aGlzLnZhbHVlRmllbGQgYXMgc3RyaW5nLFxuICAgICAgICBudWxsLFxuICAgICAgICB0aGlzLmxhYmVsVHlwZSgpLFxuICAgICAgICB0aGlzLmxhYmVsRmllbGQoKSBhcyBzdHJpbmcsXG4gICAgICAgIGZhbHNlLFxuICAgICAgKSB8fCBbXTtcbiAgICBmb3IgKGNvbnN0IGl0ZW0gb2YgbGlzdCkgaXRlbS5jaGVja2VkID0gaXRlbS5vcmlnaW5hbFJvdy5jaGVja2VkO1xuICAgIHRoaXMubGlzdC5zZXQobGlzdCk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFRvZ2dsZUFsbCgpICYmICFsaXN0LnNvbWUoKHgpID0+IHguY2hlY2tlZCkpIHRoaXMudG9nZ2xlQWxsKHsgY2hlY2tlZDogdHJ1ZSB9KTtcbiAgfVxuICBsYWJlbFR5cGUgPSBpbnB1dDxPcHRpb25MYWJlbFR5cGU+KCk7XG4gIGRlZmF1bHRUb2dnbGVBbGwgPSBpbnB1dDxib29sZWFuPigpO1xuICBsYWJlbEZpZWxkID0gaW5wdXQ8a2V5b2YgVE9wdGlvbj4oKTtcbiAgQElucHV0KHsgcmVxdWlyZWQ6IHRydWUgfSkgdmFsdWVGaWVsZDoga2V5b2YgVE9wdGlvbjtcbiAgQElucHV0KCkgc2hvd1RvZ2dsZUFsbDogYm9vbGVhbiA9IHRydWU7XG4gIEBJbnB1dCgpIGFkZFRvRm9ybUZ1bmM6IChkYXRhPzogVE9wdGlvbikgPT4gYW55O1xuICBASW5wdXQoKSBkZWxldGVGcm9tRm9ybUZ1bmM6IChkYXRhPzogVE9wdGlvbikgPT4gYW55O1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZCA9IG5ldyBFdmVudEVtaXR0ZXI8VE9wdGlvbltdPigpO1xuXG4gIGNvbHVtbkxlbmd0aHMgPSBzaWduYWw8eyBsYWJlbDogc3RyaW5nOyB2YWx1ZTogR3JpZFNpemUgfVtdPihbXG4gICAgeyBsYWJlbDogYExpc3RgLCB2YWx1ZTogMSB9LFxuICAgIHsgbGFiZWw6IGBEdWFsYCwgdmFsdWU6IDIgfSxcbiAgICB7IGxhYmVsOiBgVHJpcGxlYCwgdmFsdWU6IDMgfSxcbiAgICB7IGxhYmVsOiBgTWVkaXVtYCwgdmFsdWU6IDQgfSxcbiAgICB7IGxhYmVsOiBgTWF4aW11bWAsIHZhbHVlOiA2IH0sXG4gIF0pO1xuXG4gIC8vIEBJbnB1dCgnbGlzdCcpc2V0IF9saXN0OlRbXVxuICBjb25zdHJ1Y3RvcihwdWJsaWMgaVM6IElucHV0U2VydmljZSkge1xuICAgIHRoaXMuc2V0R3JpZCA9IDY7XG4gIH1cblxuICB0b2dnbGVkSXRlbShlOiB7IGNoZWNrZWQ6IGJvb2xlYW4gfSwgaXRlbTogVE9wdGlvbikge1xuICAgIC8vIHRocm93IG5ldyBFcnJvcignTWV0aG9kIG5vdCBpbXBsZW1lbnRlZC4nKTtcbiAgICBpZiAoZS5jaGVja2VkKSB0aGlzLmFkZFRvRm9ybUZ1bmM/LihpdGVtKTtcbiAgICBlbHNlIHRoaXMuZGVsZXRlRnJvbUZvcm1GdW5jPy4oaXRlbSk7XG4gICAgdGhpcy5lbWl0U2VsZWN0ZWQoKTtcbiAgfVxuXG4gIHRvZ2dsZUFsbChlOiB7IGNoZWNrZWQ6IGJvb2xlYW4gfSkge1xuICAgIGlmIChlLmNoZWNrZWQpXG4gICAgICB0aGlzLmxpc3QudXBkYXRlKChsaXN0KSA9PiB7XG4gICAgICAgIGxpc3RcbiAgICAgICAgICAuZmlsdGVyKCh4KSA9PiAheC5jaGVja2VkKVxuICAgICAgICAgIC5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICB4LmNoZWNrZWQgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hZGRUb0Zvcm1GdW5jPy4oeC5vcmlnaW5hbFJvdyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfSk7XG4gICAgZWxzZVxuICAgICAgdGhpcy5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICBsaXN0XG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4geC5jaGVja2VkKVxuICAgICAgICAgIC5mb3JFYWNoKCh4KSA9PiB7XG4gICAgICAgICAgICB4LmNoZWNrZWQgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuZGVsZXRlRnJvbUZvcm1GdW5jPy4oeC5vcmlnaW5hbFJvdyk7XG4gICAgICAgICAgfSk7XG4gICAgICAgIHJldHVybiBsaXN0O1xuICAgICAgfSk7XG4gICAgdGhpcy5lbWl0U2VsZWN0ZWQoKTtcbiAgfVxuXG4gIGVtaXRTZWxlY3RlZCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkLmVtaXQoXG4gICAgICB0aGlzLmxpc3QoKVxuICAgICAgICAuZmlsdGVyKCh4KSA9PiB4LmNoZWNrZWQpXG4gICAgICAgIC5tYXAoKHgpID0+IHgub3JpZ2luYWxSb3cpLFxuICAgICk7XG4gIH1cbn1cbmludGVyZmFjZSBJVG9nZ2xlT3B0aW9uIGV4dGVuZHMgSU9wdGlvbiB7XG4gIGNoZWNrZWQ/OiBib29sZWFuO1xufVxudHlwZSBHcmlkU2l6ZSA9IDYgfCA0IHwgMyB8IDIgfCAxO1xuIiwiPGRpdiBjbGFzcz1cInBiLTNcIj5cblx0PGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gZy0zXCI+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1sZy1hdXRvXCI+XG5cdFx0XHQ8bWF0LXNsaWRlLXRvZ2dsZSAoY2hhbmdlKT1cInRvZ2dsZUFsbCgkZXZlbnQpXCIgW2NoZWNrZWRdPVwiZGVmYXVsdFRvZ2dsZUFsbCgpXCI+XG5cdFx0XHRcdHt7ICdUb2dnbGUgQWxsJyB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG5cdFx0XHQ8L21hdC1zbGlkZS10b2dnbGU+XG5cdFx0PC9kaXY+XG5cdFx0PGRpdiBjbGFzcz1cImNvbC1sZyBkLWZsZXgganVzdGlmeS1jb250ZW50LWVuZFwiPlxuXHRcdFx0PGRpdiBjbGFzcz1cInJvdyBhbGlnbi1pdGVtcy1jZW50ZXIgZy0zXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuXHRcdFx0XHRcdDxhcHAtYnRuXG5cdFx0XHRcdFx0XHRpY29uQnRuXG5cdFx0XHRcdFx0XHRbc2hvd0hlbHBJY29uXT1cImZhbHNlXCJcblx0XHRcdFx0XHRcdGhlbHA9XCJ7eyBzZWFyY2hCb3guaGlkZGVuID8gJ09wZW4gc2VhcmNoJyA6ICdDbG9zZSBzZWFyY2gnIH19XCJcblx0XHRcdFx0XHRcdFtpY29uXT1cInNlYXJjaEJveC5oaWRkZW4gPyAnc2VhcmNoJyA6ICdjbG9zZSdcIlxuXHRcdFx0XHRcdFx0KG1jbGljayk9XCJzZWFyY2hCb3guaGlkZGVuID0gIXNlYXJjaEJveC5oaWRkZW5cIiAvPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1hdXRvXCIgW2hpZGRlbl09XCJ0cnVlXCIgI3NlYXJjaEJveD5cblx0XHRcdFx0XHQ8YXBwLWlucHV0LXRkLXJmXG5cdFx0XHRcdFx0XHR0eXBlPVwidGV4dFwiXG5cdFx0XHRcdFx0XHRbbm9Gb3JtYXRdPVwidHJ1ZVwiXG5cdFx0XHRcdFx0XHRbc2hvd0xhYmVsXT1cImZhbHNlXCJcblx0XHRcdFx0XHRcdHBsYWNlaG9sZGVyPVwiVHlwZSB0byBzZWFyY2hcIlxuXHRcdFx0XHRcdFx0Wyhtb2RlbCldPVwic2VhcmNoUXVlcnlcIiAvPlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PGRpdiBjbGFzcz1cImNvbC1hdXRvXCI+XG5cdFx0XHRcdFx0PGFwcC1idG5cblx0XHRcdFx0XHRcdGN1c3RvbUljb249XCJmYSBmYS1saXN0XCJcblx0XHRcdFx0XHRcdFtzaG93SGVscEljb25dPVwiZmFsc2VcIlxuXHRcdFx0XHRcdFx0aGVscD1cIkdyaWQgU3R5bGVcIlxuXHRcdFx0XHRcdFx0W21hdE1lbnVUcmlnZ2VyRm9yXT1cImdyaWRNZW51XCIgLz5cblx0XHRcdFx0XHQ8bWF0LW1lbnUgI2dyaWRNZW51PVwibWF0TWVudVwiIGNsYXNzPVwiXCI+XG5cdFx0XHRcdFx0XHRAZm9yIChpdGVtIG9mIGNvbHVtbkxlbmd0aHMoKTsgdHJhY2sgaXRlbSkge1xuXHRcdFx0XHRcdFx0XHQ8YnV0dG9uXG5cdFx0XHRcdFx0XHRcdFx0bWF0LW1lbnUtaXRlbVxuXHRcdFx0XHRcdFx0XHRcdChjbGljayk9XCJzZXRHcmlkID0gaXRlbS52YWx1ZVwiXG5cdFx0XHRcdFx0XHRcdFx0W25nQ2xhc3NdPVwieyAndGV4dC1wcmltYXJ5JzogaXRlbS52YWx1ZSA9PSBjdXJyZW50R3JpZCgpIH1cIj5cblx0XHRcdFx0XHRcdFx0XHR7eyBpdGVtLmxhYmVsIHwgYXBwVHJhbnNsYXRlIHwgYXN5bmMgfX1cblx0XHRcdFx0XHRcdFx0PC9idXR0b24+XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0PC9tYXQtbWVudT5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0PC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJyb3cgcm93LWNvbHMtbWQte3sgbWRHcmlkKCkgfX0gcm93LWNvbHMtbGcte3sgbGdHcmlkKCkgfX0gcm93LWNvbHMteHhsLXt7IHh4bEdyaWQoKSB9fSBnLTNcIj5cblx0QGZvciAoaXRlbSBvZiBsaXN0KCkgfCBmaWx0ZXJBcnJheUJ5U3RyaW5nOiBzZWFyY2hRdWVyeSA6IFsnbGFiZWwnXTsgdHJhY2sgaXRlbS52YWx1ZSkge1xuXHRcdDxkaXYgY2xhc3M9XCJcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJib3JkZXIgcm91bmRlZC0xMCBwLTEwXCI+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyXCI+XG5cdFx0XHRcdFx0PGRpdlxuXHRcdFx0XHRcdFx0Y2xhc3M9XCJjb2wgdGV4dC1lbGxpcHNpc1wiXG5cdFx0XHRcdFx0XHRbbWF0VG9vbHRpcF09XCJlbGUuaW5uZXJUZXh0XCJcblx0XHRcdFx0XHRcdFttYXRUb29sdGlwRGlzYWJsZWRdPVwiZWxlLnNjcm9sbFdpZHRoIDw9IGVsZS5vZmZzZXRXaWR0aFwiXG5cdFx0XHRcdFx0XHQjZWxlPlxuXHRcdFx0XHRcdFx0e3sgaXRlbS5sYWJlbCB9fVxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuXHRcdFx0XHRcdFx0PG1hdC1zbGlkZS10b2dnbGUgWyhuZ01vZGVsKV09XCJpdGVtLmNoZWNrZWRcIiAoY2hhbmdlKT1cInRvZ2dsZWRJdGVtKCRldmVudCwgaXRlbS5vcmlnaW5hbFJvdylcIiAvPlxuXHRcdFx0XHRcdDwvZGl2PlxuXHRcdFx0XHQ8L2Rpdj5cblx0XHRcdDwvZGl2PlxuXHRcdDwvZGl2PlxuXHR9XG48L2Rpdj5cbiJdfQ==
@@ -15810,8 +15810,11 @@ class ToggleInputFormComponent {
15810
15810
  }
15811
15811
  set _list(v) {
15812
15812
  this.rawList = v;
15813
- this.list.set(this.iS.optionsFormatter(v, this.valueField, null, this.labelType(), this.labelField(), false));
15814
- if (this.defaultToggleAll())
15813
+ const list = this.iS.optionsFormatter(v, this.valueField, null, this.labelType(), this.labelField(), false) || [];
15814
+ for (const item of list)
15815
+ item.checked = item.originalRow.checked;
15816
+ this.list.set(list);
15817
+ if (this.defaultToggleAll() && !list.some((x) => x.checked))
15815
15818
  this.toggleAll({ checked: true });
15816
15819
  }
15817
15820
  // @Input('list')set _list:T[]
@@ -15836,6 +15839,7 @@ class ToggleInputFormComponent {
15836
15839
  this.columnLengths = signal([
15837
15840
  { label: `List`, value: 1 },
15838
15841
  { label: `Dual`, value: 2 },
15842
+ { label: `Triple`, value: 3 },
15839
15843
  { label: `Medium`, value: 4 },
15840
15844
  { label: `Maximum`, value: 6 },
15841
15845
  ]);
@@ -15873,7 +15877,9 @@ class ToggleInputFormComponent {
15873
15877
  this.emitSelected();
15874
15878
  }
15875
15879
  emitSelected() {
15876
- this.selected.emit(this.list().filter((x) => x.checked).map((x) => x.originalRow));
15880
+ this.selected.emit(this.list()
15881
+ .filter((x) => x.checked)
15882
+ .map((x) => x.originalRow));
15877
15883
  }
15878
15884
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.8", ngImport: i0, type: ToggleInputFormComponent, deps: [{ token: InputService }], target: i0.ɵɵFactoryTarget.Component }); }
15879
15885
  static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.8", type: ToggleInputFormComponent, isStandalone: true, selector: "toggle-input-form", inputs: { setGrid: { classPropertyName: "setGrid", publicName: "gridNo", isSignal: false, isRequired: false, transformFunction: null }, _list: { classPropertyName: "_list", publicName: "list", isSignal: false, isRequired: true, transformFunction: null }, labelType: { classPropertyName: "labelType", publicName: "labelType", isSignal: true, isRequired: false, transformFunction: null }, defaultToggleAll: { classPropertyName: "defaultToggleAll", publicName: "defaultToggleAll", isSignal: true, isRequired: false, transformFunction: null }, labelField: { classPropertyName: "labelField", publicName: "labelField", isSignal: true, isRequired: false, transformFunction: null }, valueField: { classPropertyName: "valueField", publicName: "valueField", isSignal: false, isRequired: true, transformFunction: null }, showToggleAll: { classPropertyName: "showToggleAll", publicName: "showToggleAll", isSignal: false, isRequired: false, transformFunction: null }, addToFormFunc: { classPropertyName: "addToFormFunc", publicName: "addToFormFunc", isSignal: false, isRequired: false, transformFunction: null }, deleteFromFormFunc: { classPropertyName: "deleteFromFormFunc", publicName: "deleteFromFormFunc", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { selected: "selected" }, ngImport: i0, template: "<div class=\"pb-3\">\n\t<div class=\"row align-items-center justify-content-between g-3\">\n\t\t<div class=\"col-lg-auto\">\n\t\t\t<mat-slide-toggle (change)=\"toggleAll($event)\" [checked]=\"defaultToggleAll()\">\n\t\t\t\t{{ 'Toggle All' | appTranslate | async }}\n\t\t\t</mat-slide-toggle>\n\t\t</div>\n\t\t<div class=\"col-lg d-flex justify-content-end\">\n\t\t\t<div class=\"row align-items-center g-3\">\n\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t<app-btn\n\t\t\t\t\t\ticonBtn\n\t\t\t\t\t\t[showHelpIcon]=\"false\"\n\t\t\t\t\t\thelp=\"{{ searchBox.hidden ? 'Open search' : 'Close search' }}\"\n\t\t\t\t\t\t[icon]=\"searchBox.hidden ? 'search' : 'close'\"\n\t\t\t\t\t\t(mclick)=\"searchBox.hidden = !searchBox.hidden\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-auto\" [hidden]=\"true\" #searchBox>\n\t\t\t\t\t<app-input-td-rf\n\t\t\t\t\t\ttype=\"text\"\n\t\t\t\t\t\t[noFormat]=\"true\"\n\t\t\t\t\t\t[showLabel]=\"false\"\n\t\t\t\t\t\tplaceholder=\"Type to search\"\n\t\t\t\t\t\t[(model)]=\"searchQuery\" />\n\t\t\t\t</div>\n\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t<app-btn\n\t\t\t\t\t\tcustomIcon=\"fa fa-list\"\n\t\t\t\t\t\t[showHelpIcon]=\"false\"\n\t\t\t\t\t\thelp=\"Grid Style\"\n\t\t\t\t\t\t[matMenuTriggerFor]=\"gridMenu\" />\n\t\t\t\t\t<mat-menu #gridMenu=\"matMenu\" class=\"\">\n\t\t\t\t\t\t@for (item of columnLengths(); track item) {\n\t\t\t\t\t\t\t<button\n\t\t\t\t\t\t\t\tmat-menu-item\n\t\t\t\t\t\t\t\t(click)=\"setGrid = item.value\"\n\t\t\t\t\t\t\t\t[ngClass]=\"{ 'text-primary': item.value == currentGrid() }\">\n\t\t\t\t\t\t\t\t{{ item.label | appTranslate | async }}\n\t\t\t\t\t\t\t</button>\n\t\t\t\t\t\t}\n\t\t\t\t\t</mat-menu>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t</div>\n</div>\n<div class=\"row row-cols-md-{{ mdGrid() }} row-cols-lg-{{ lgGrid() }} row-cols-xxl-{{ xxlGrid() }} g-3\">\n\t@for (item of list() | filterArrayByString: searchQuery : ['label']; track item.value) {\n\t\t<div class=\"\">\n\t\t\t<div class=\"border rounded-10 p-10\">\n\t\t\t\t<div class=\"row align-items-center\">\n\t\t\t\t\t<div\n\t\t\t\t\t\tclass=\"col text-ellipsis\"\n\t\t\t\t\t\t[matTooltip]=\"ele.innerText\"\n\t\t\t\t\t\t[matTooltipDisabled]=\"ele.scrollWidth <= ele.offsetWidth\"\n\t\t\t\t\t\t#ele>\n\t\t\t\t\t\t{{ item.label }}\n\t\t\t\t\t</div>\n\t\t\t\t\t<div class=\"col-auto\">\n\t\t\t\t\t\t<mat-slide-toggle [(ngModel)]=\"item.checked\" (change)=\"toggledItem($event, item.originalRow)\" />\n\t\t\t\t\t</div>\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t}\n</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }, { kind: "ngmodule", type: MatSlideToggleModule }, { kind: "component", type: i1$3.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "component", type: BtnComponent, selector: "app-btn", inputs: ["formSchema", "debug", "centerBtn", "danger", "warning", "verbose", "loading", "icon", "rightIcon", "leftIcon", "type", "group", "actionType", "animate", "excludeLogging", "loggingValue", "badge", "class", "customIcon", "form", "forms", "help", "iconBtn", "mclass", "showHelpIcon", "rightCustomIcon", "leftCustomIcon", "text", "valid", "mini", "onFormInvalid", "disabled"], outputs: ["loadingChange", "leftCustomIconChange", "mclick", "disabledChange"] }, { kind: "pipe", type: FilterArrayByStringPipe, name: "filterArrayByString" }, { kind: "component", type: InputTD_RFComponent, selector: "app-input-td-rf", inputs: ["validators", "asyncValidators", "model"], outputs: ["modelChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i11.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "ngmodule", type: MatMenuModule }, { kind: "component", type: i3$2.MatMenu, selector: "mat-menu", inputs: ["backdropClass", "aria-label", "aria-labelledby", "aria-describedby", "xPosition", "yPosition", "overlapTrigger", "hasBackdrop", "class", "classList"], outputs: ["closed", "close"], exportAs: ["matMenu"] }, { kind: "component", type: i3$2.MatMenuItem, selector: "[mat-menu-item]", inputs: ["role", "disabled", "disableRipple"], exportAs: ["matMenuItem"] }, { kind: "directive", type: i3$2.MatMenuTrigger, selector: "[mat-menu-trigger-for], [matMenuTriggerFor]", inputs: ["mat-menu-trigger-for", "matMenuTriggerFor", "matMenuTriggerData", "matMenuTriggerRestoreFocus"], outputs: ["menuOpened", "onMenuOpen", "menuClosed", "onMenuClose"], exportAs: ["matMenuTrigger"] }, { kind: "pipe", type: SDKTranslatePipe, name: "appTranslate" }] }); }