ets-fe-ng-sdk 17.0.423 → 17.0.424

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';
@@ -50,6 +50,7 @@ export class ToggleInputFormComponent {
50
50
  this.columnLengths = signal([
51
51
  { label: `List`, value: 1 },
52
52
  { label: `Dual`, value: 2 },
53
+ { label: `Triple`, value: 3 },
53
54
  { label: `Medium`, value: 4 },
54
55
  { label: `Maximum`, value: 6 },
55
56
  ]);
@@ -87,7 +88,9 @@ export class ToggleInputFormComponent {
87
88
  this.emitSelected();
88
89
  }
89
90
  emitSelected() {
90
- this.selected.emit(this.list().filter((x) => x.checked).map((x) => x.originalRow));
91
+ this.selected.emit(this.list()
92
+ .filter((x) => x.checked)
93
+ .map((x) => x.originalRow));
91
94
  }
92
95
  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
96
  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 +127,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.8", ngImpor
124
127
  }], selected: [{
125
128
  type: Output
126
129
  }] } });
127
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RvZ2dsZS1pbnB1dC1mb3JtL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90b2dnbGUtaW5wdXQtZm9ybS90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUEyQixTQUFTLEVBQUUsWUFBWSxFQUFVLEtBQUssRUFBRSxNQUFNLEVBQVUsS0FBSyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMvSCxPQUFPLEVBQXdCLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFFNUYsT0FBTyxFQUFtQixtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RGLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUNwRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUNyRSxPQUFPLEVBQWEsV0FBVyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDOUQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7OztBQXFCbkUsTUFBTSxPQUFPLHdCQUF3QjtJQUluQyxJQUFxQixPQUFPLENBQUMsR0FBYTtRQUN4QyxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN0QixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDakUsQ0FBQztJQVdELElBQ0ksS0FBSyxDQUFDLENBQVk7UUFDcEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUM7UUFDakIsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLFVBQW9CLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxJQUFJLENBQUMsVUFBVSxFQUFZLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQztRQUNsSSxJQUFJLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUNqRSxDQUFDO0lBa0JELDhCQUE4QjtJQUM5QixZQUFtQixFQUFnQjtRQUFoQixPQUFFLEdBQUYsRUFBRSxDQUFjO1FBekNuQyxTQUFJLEdBQUcsTUFBTSxDQUFrQixFQUFFLENBQUMsQ0FBQztRQU9uQyxzQ0FBc0M7UUFDdEMsU0FBUztRQUNULG9CQUFvQjtRQUNwQixRQUFRO1FBQ1IsTUFBTTtRQUNOLElBQUk7UUFDSixnQkFBVyxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQUN4QyxZQUFPLEdBQUcsTUFBTSxDQUFTLFNBQVMsQ0FBQyxDQUFDO1FBQ3BDLFdBQU0sR0FBRyxNQUFNLENBQVMsU0FBUyxDQUFDLENBQUM7UUFDbkMsV0FBTSxHQUFHLE1BQU0sQ0FBUyxTQUFTLENBQUMsQ0FBQztRQU9uQyxjQUFTLEdBQUcsS0FBSyxFQUFtQixDQUFDO1FBQ3JDLHFCQUFnQixHQUFHLEtBQUssRUFBVyxDQUFDO1FBQ3BDLGVBQVUsR0FBRyxLQUFLLEVBQWlCLENBQUM7UUFFM0Isa0JBQWEsR0FBWSxJQUFJLENBQUM7UUFJN0IsYUFBUSxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFFbkQsa0JBQWEsR0FBRyxNQUFNLENBQXVDO1lBQzNELEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzNCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1lBQzdCLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFO1NBQy9CLENBQUMsQ0FBQztRQUlELElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDO0lBQ25CLENBQUM7SUFFRCxXQUFXLENBQUMsQ0FBdUIsRUFBRSxJQUFhO1FBQ2hELDhDQUE4QztRQUM5QyxJQUFJLENBQUMsQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDOztZQUNyQyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFNBQVMsQ0FBQyxDQUF1QjtRQUMvQixJQUFJLENBQUMsQ0FBQyxPQUFPO1lBQ1gsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDeEIsSUFBSTtxQkFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQztxQkFDekIsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ2IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUM7b0JBQ2pCLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQ3RDLENBQUMsQ0FBQyxDQUFDO2dCQUNMLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7O1lBRUgsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtnQkFDeEIsSUFBSTtxQkFDRCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7cUJBQ3hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO29CQUNiLENBQUMsQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO29CQUNsQixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7Z0JBQzNDLENBQUMsQ0FBQyxDQUFDO2dCQUNMLE9BQU8sSUFBSSxDQUFDO1lBQ2QsQ0FBQyxDQUFDLENBQUM7UUFDTCxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUNyRixDQUFDOzhHQWhGVSx3QkFBd0I7a0dBQXhCLHdCQUF3Qiw4MUNDaENyQyx5OEVBa0VBLCtFRDlDSSxZQUFZLGlMQUNaLG9CQUFvQixtV0FDcEIsWUFBWSw4ZkFDWix1QkFBdUIsNERBRXZCLG1CQUFtQix5SUFDbkIsV0FBVyw4VkFDWCxnQkFBZ0IsNFRBQ2hCLGFBQWEseXZCQUNiLGdCQUFnQjs7MkZBR1Asd0JBQXdCO2tCQW5CcEMsU0FBUzsrQkFDRSxtQkFBbUIsY0FDakIsSUFBSSxXQUlQO3dCQUNQLFlBQVk7d0JBQ1osb0JBQW9CO3dCQUNwQixZQUFZO3dCQUNaLHVCQUF1Qjt3QkFDdkIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLFdBQVc7d0JBQ1gsZ0JBQWdCO3dCQUNoQixhQUFhO3dCQUNiLGdCQUFnQjtxQkFDakI7aUZBTW9CLE9BQU87c0JBQTNCLEtBQUs7dUJBQUMsUUFBUTtnQkFnQlgsS0FBSztzQkFEUixLQUFLO3VCQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQVNiLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgRXZlbnRFbWl0dGVyLCBJbmplY3QsIElucHV0LCBPdXRwdXQsIGluamVjdCwgaW5wdXQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVDaGFuZ2UsIE1hdFNsaWRlVG9nZ2xlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGUtdG9nZ2xlJztcbmltcG9ydCB7IElPcHRpb24sIElucHV0U2VydmljZSB9IGZyb20gJy4uL2lucHV0L2lucHV0LnNlcnZpY2UnO1xuaW1wb3J0IHsgT3B0aW9uTGFiZWxUeXBlLCBJbnB1dEJhc2ljQ29tcG9uZW50IH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQtYmFzaWMuY29tcG9uZW50JztcbmltcG9ydCB7IEJ0bkNvbXBvbmVudCB9IGZyb20gJy4uL2J0bi9idG4uY29tcG9uZW50JztcbmltcG9ydCB7IElucHV0VERfUkZDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC10ZC1yZi5jb21wb25lbnQnO1xuaW1wb3J0IHsgRm9ybUFycmF5LCBGb3Jtc01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFNES1RyYW5zbGF0ZVBpcGUgfSBmcm9tICcuLi8uLi9waXBlcy90cmFuc2xhdGUucGlwZSc7XG5pbXBvcnQgeyBNYXRUb29sdGlwTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdG9vbHRpcCc7XG5pbXBvcnQgeyBNYXRNZW51TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbWVudSc7XG5pbXBvcnQgeyBGaWx0ZXJBcnJheUJ5U3RyaW5nUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3V0aWxpdHkucGlwZSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3RvZ2dsZS1pbnB1dC1mb3JtJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgdGVtcGxhdGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmw6ICcuL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC5zY3NzJyxcbiAgLy8gXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgQnRuQ29tcG9uZW50LFxuICAgIEZpbHRlckFycmF5QnlTdHJpbmdQaXBlLFxuICAgIElucHV0QmFzaWNDb21wb25lbnQsXG4gICAgSW5wdXRURF9SRkNvbXBvbmVudCxcbiAgICBGb3Jtc01vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgU0RLVHJhbnNsYXRlUGlwZSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgVG9nZ2xlSW5wdXRGb3JtQ29tcG9uZW50PFRPcHRpb24sIFRSb3c+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
130
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvZXRzLWZlLW5nLXNkay9zcmMvbGliL1NoYXJlZC9jb21wb25lbnRzL3RvZ2dsZS1pbnB1dC1mb3JtL3RvZ2dsZS1pbnB1dC1mb3JtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2V0cy1mZS1uZy1zZGsvc3JjL2xpYi9TaGFyZWQvY29tcG9uZW50cy90b2dnbGUtaW5wdXQtZm9ybS90b2dnbGUtaW5wdXQtZm9ybS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUVMLFNBQVMsRUFDVCxZQUFZLEVBRVosS0FBSyxFQUNMLE1BQU0sRUFFTixLQUFLLEVBQ0wsTUFBTSxHQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0Isb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUU1RixPQUFPLEVBQW1CLG1CQUFtQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEYsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3BELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3JFLE9BQU8sRUFBYSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7Ozs7Ozs7O0FBcUJuRSxNQUFN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OEdBOUZVLHdCQUF3QjtrR0FBeEIsd0JBQXdCLDgxQ0MxQ3JDLHk4RUFrRUEsK0VEcENJLFlBQVksaUxBQ1osb0JBQW9CLG1XQUNwQixZQUFZLDhmQUNaLHVCQUF1Qiw0REFFdkIsbUJBQW1CLHlJQUNuQixXQUFXLDhWQUNYLGdCQUFnQiw0VEFDaEIsYUFBYSx5dkJBQ2IsZ0JBQWdCOzsyRkFHUCx3QkFBd0I7a0JBbkJwQyxTQUFTOytCQUNFLG1CQUFtQixjQUNqQixJQUFJLFdBSVA7d0JBQ1AsWUFBWTt3QkFDWixvQkFBb0I7d0JBQ3BCLFlBQVk7d0JBQ1osdUJBQXVCO3dCQUN2QixtQkFBbUI7d0JBQ25CLG1CQUFtQjt3QkFDbkIsV0FBVzt3QkFDWCxnQkFBZ0I7d0JBQ2hCLGFBQWE7d0JBQ2IsZ0JBQWdCO3FCQUNqQjtpRkFNb0IsT0FBTztzQkFBM0IsS0FBSzt1QkFBQyxRQUFRO2dCQWdCWCxLQUFLO3NCQURSLEtBQUs7dUJBQUMsRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7Z0JBa0JiLFVBQVU7c0JBQXBDLEtBQUs7dUJBQUMsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFO2dCQUNoQixhQUFhO3NCQUFyQixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUVJLFFBQVE7c0JBQWpCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gIENvbXBvbmVudCxcbiAgRXZlbnRFbWl0dGVyLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPdXRwdXQsXG4gIGluamVjdCxcbiAgaW5wdXQsXG4gIHNpZ25hbCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXRTbGlkZVRvZ2dsZUNoYW5nZSwgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgSU9wdGlvbiwgSW5wdXRTZXJ2aWNlIH0gZnJvbSAnLi4vaW5wdXQvaW5wdXQuc2VydmljZSc7XG5pbXBvcnQgeyBPcHRpb25MYWJlbFR5cGUsIElucHV0QmFzaWNDb21wb25lbnQgfSBmcm9tICcuLi9pbnB1dC9pbnB1dC1iYXNpYy5jb21wb25lbnQnO1xuaW1wb3J0IHsgQnRuQ29tcG9uZW50IH0gZnJvbSAnLi4vYnRuL2J0bi5jb21wb25lbnQnO1xuaW1wb3J0IHsgSW5wdXRURF9SRkNvbXBvbmVudCB9IGZyb20gJy4uL2lucHV0L2lucHV0LXRkLXJmLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGb3JtQXJyYXksIEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgU0RLVHJhbnNsYXRlUGlwZSB9IGZyb20gJy4uLy4uL3BpcGVzL3RyYW5zbGF0ZS5waXBlJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IEZpbHRlckFycmF5QnlTdHJpbmdQaXBlIH0gZnJvbSAnLi4vLi4vcGlwZXMvdXRpbGl0eS5waXBlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAndG9nZ2xlLWlucHV0LWZvcm0nLFxuICBzdGFuZGFsb25lOiB0cnVlLFxuICB0ZW1wbGF0ZVVybDogJy4vdG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybDogJy4vdG9nZ2xlLWlucHV0LWZvcm0uY29tcG9uZW50LnNjc3MnLFxuICAvL1xuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIEJ0bkNvbXBvbmVudCxcbiAgICBGaWx0ZXJBcnJheUJ5U3RyaW5nUGlwZSxcbiAgICBJbnB1dEJhc2ljQ29tcG9uZW50LFxuICAgIElucHV0VERfUkZDb21wb25lbnQsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBNYXRNZW51TW9kdWxlLFxuICAgIFNES1RyYW5zbGF0ZVBpcGUsXG4gIF0sXG59KVxuZXhwb3J0IGNsYXNzIFRvZ2dsZUlucHV0Rm9ybUNvbXBvbmVudDxUT3B0aW9uIGV4dGVuZHMgeyBjaGVja2VkPzogYm9vbGVhbiB9LCBUUm93PiB7XG4gIHJhd0xpc3Q6IFRPcHRpb25bXTtcbiAgbGlzdCA9IHNpZ25hbDxJVG9nZ2xlT3B0aW9uW10+KFtdKTtcbiAgc2VhcmNoUXVlcnk6IHN0cmluZztcbiAgQElucHV0KCdncmlkTm8nKSBzZXQgc2V0R3JpZChudW06IEdyaWRTaXplKSB7XG4gICAgdGhpcy54eGxHcmlkLnNldChudW0pO1xuICAgIHRoaXMubGdHcmlkLnNldChudW0gPiAzID8gbnVtIC0gMSA6IG51bSk7XG4gICAgdGhpcy5tZEdyaWQuc2V0KG51bSA+IDMgPyBNYXRoLmZsb29yKHRoaXMubGdHcmlkKCkgLyAyKSA6IG51bSk7XG4gIH1cbiAgLy8gQElucHV0KCkgc2V0IHNhdmVkRGF0YSh2OiBUUm93W10pIHtcbiAgLy8gXHRpZih2KVxuICAvLyBcdHYuZm9yRWFjaChyb3c9PntcbiAgLy8gdGhpcy5cbiAgLy8gXHR9KVxuICAvLyB9XG4gIGN1cnJlbnRHcmlkID0gc2lnbmFsPG51bWJlcj4odW5kZWZpbmVkKTtcbiAgeHhsR3JpZCA9IHNpZ25hbDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIGxnR3JpZCA9IHNpZ25hbDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIG1kR3JpZCA9IHNpZ25hbDxudW1iZXI+KHVuZGVmaW5lZCk7XG4gIEBJbnB1dCh7IGFsaWFzOiAnbGlzdCcsIHJlcXVpcmVkOiB0cnVlIH0pXG4gIHNldCBfbGlzdCh2OiBUT3B0aW9uW10pIHtcbiAgICB0aGlzLnJhd0xpc3QgPSB2O1xuICAgIHRoaXMubGlzdC5zZXQoXG4gICAgICB0aGlzLmlTLm9wdGlvbnNGb3JtYXR0ZXIoXG4gICAgICAgIHYsXG4gICAgICAgIHRoaXMudmFsdWVGaWVsZCBhcyBzdHJpbmcsXG4gICAgICAgIG51bGwsXG4gICAgICAgIHRoaXMubGFiZWxUeXBlKCksXG4gICAgICAgIHRoaXMubGFiZWxGaWVsZCgpIGFzIHN0cmluZyxcbiAgICAgICAgZmFsc2UsXG4gICAgICApLFxuICAgICk7XG4gICAgaWYgKHRoaXMuZGVmYXVsdFRvZ2dsZUFsbCgpKSB0aGlzLnRvZ2dsZUFsbCh7IGNoZWNrZWQ6IHRydWUgfSk7XG4gIH1cbiAgbGFiZWxUeXBlID0gaW5wdXQ8T3B0aW9uTGFiZWxUeXBlPigpO1xuICBkZWZhdWx0VG9nZ2xlQWxsID0gaW5wdXQ8Ym9vbGVhbj4oKTtcbiAgbGFiZWxGaWVsZCA9IGlucHV0PGtleW9mIFRPcHRpb24+KCk7XG4gIEBJbnB1dCh7IHJlcXVpcmVkOiB0cnVlIH0pIHZhbHVlRmllbGQ6IGtleW9mIFRPcHRpb247XG4gIEBJbnB1dCgpIHNob3dUb2dnbGVBbGw6IGJvb2xlYW4gPSB0cnVlO1xuICBASW5wdXQoKSBhZGRUb0Zvcm1GdW5jOiAoZGF0YT86IFRPcHRpb24pID0+IGFueTtcbiAgQElucHV0KCkgZGVsZXRlRnJvbUZvcm1GdW5jOiAoZGF0YT86IFRPcHRpb24pID0+IGFueTtcblxuICBAT3V0cHV0KCkgc2VsZWN0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRPcHRpb25bXT4oKTtcblxuICBjb2x1bW5MZW5ndGhzID0gc2lnbmFsPHsgbGFiZWw6IHN0cmluZzsgdmFsdWU6IEdyaWRTaXplIH1bXT4oW1xuICAgIHsgbGFiZWw6IGBMaXN0YCwgdmFsdWU6IDEgfSxcbiAgICB7IGxhYmVsOiBgRHVhbGAsIHZhbHVlOiAyIH0sXG4gICAgeyBsYWJlbDogYFRyaXBsZWAsIHZhbHVlOiAzIH0sXG4gICAgeyBsYWJlbDogYE1lZGl1bWAsIHZhbHVlOiA0IH0sXG4gICAgeyBsYWJlbDogYE1heGltdW1gLCB2YWx1ZTogNiB9LFxuICBdKTtcblxuICAvLyBASW5wdXQoJ2xpc3QnKXNldCBfbGlzdDpUW11cbiAgY29uc3RydWN0b3IocHVibGljIGlTOiBJbnB1dFNlcnZpY2UpIHtcbiAgICB0aGlzLnNldEdyaWQgPSA2O1xuICB9XG5cbiAgdG9nZ2xlZEl0ZW0oZTogeyBjaGVja2VkOiBib29sZWFuIH0sIGl0ZW06IFRPcHRpb24pIHtcbiAgICAvLyB0aHJvdyBuZXcgRXJyb3IoJ01ldGhvZCBub3QgaW1wbGVtZW50ZWQuJyk7XG4gICAgaWYgKGUuY2hlY2tlZCkgdGhpcy5hZGRUb0Zvcm1GdW5jPy4oaXRlbSk7XG4gICAgZWxzZSB0aGlzLmRlbGV0ZUZyb21Gb3JtRnVuYz8uKGl0ZW0pO1xuICAgIHRoaXMuZW1pdFNlbGVjdGVkKCk7XG4gIH1cblxuICB0b2dnbGVBbGwoZTogeyBjaGVja2VkOiBib29sZWFuIH0pIHtcbiAgICBpZiAoZS5jaGVja2VkKVxuICAgICAgdGhpcy5saXN0LnVwZGF0ZSgobGlzdCkgPT4ge1xuICAgICAgICBsaXN0XG4gICAgICAgICAgLmZpbHRlcigoeCkgPT4gIXguY2hlY2tlZClcbiAgICAgICAgICAuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICAgICAgeC5jaGVja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRoaXMuYWRkVG9Gb3JtRnVuYz8uKHgub3JpZ2luYWxSb3cpO1xuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgIH0pO1xuICAgIGVsc2VcbiAgICAgIHRoaXMubGlzdC51cGRhdGUoKGxpc3QpID0+IHtcbiAgICAgICAgbGlzdFxuICAgICAgICAgIC5maWx0ZXIoKHgpID0+IHguY2hlY2tlZClcbiAgICAgICAgICAuZm9yRWFjaCgoeCkgPT4ge1xuICAgICAgICAgICAgeC5jaGVja2VkID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmRlbGV0ZUZyb21Gb3JtRnVuYz8uKHgub3JpZ2luYWxSb3cpO1xuICAgICAgICAgIH0pO1xuICAgICAgICByZXR1cm4gbGlzdDtcbiAgICAgIH0pO1xuICAgIHRoaXMuZW1pdFNlbGVjdGVkKCk7XG4gIH1cblxuICBlbWl0U2VsZWN0ZWQoKSB7XG4gICAgdGhpcy5zZWxlY3RlZC5lbWl0KFxuICAgICAgdGhpcy5saXN0KClcbiAgICAgICAgLmZpbHRlcigoeCkgPT4geC5jaGVja2VkKVxuICAgICAgICAubWFwKCh4KSA9PiB4Lm9yaWdpbmFsUm93KSxcbiAgICApO1xuICB9XG59XG5pbnRlcmZhY2UgSVRvZ2dsZU9wdGlvbiBleHRlbmRzIElPcHRpb24ge1xuICBjaGVja2VkPzogYm9vbGVhbjtcbn1cbnR5cGUgR3JpZFNpemUgPSA2IHwgNCB8IDMgfCAyIHwgMTtcbiIsIjxkaXYgY2xhc3M9XCJwYi0zXCI+XG5cdDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIGctM1wiPlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbGctYXV0b1wiPlxuXHRcdFx0PG1hdC1zbGlkZS10b2dnbGUgKGNoYW5nZSk9XCJ0b2dnbGVBbGwoJGV2ZW50KVwiIFtjaGVja2VkXT1cImRlZmF1bHRUb2dnbGVBbGwoKVwiPlxuXHRcdFx0XHR7eyAnVG9nZ2xlIEFsbCcgfCBhcHBUcmFuc2xhdGUgfCBhc3luYyB9fVxuXHRcdFx0PC9tYXQtc2xpZGUtdG9nZ2xlPlxuXHRcdDwvZGl2PlxuXHRcdDxkaXYgY2xhc3M9XCJjb2wtbGcgZC1mbGV4IGp1c3RpZnktY29udGVudC1lbmRcIj5cblx0XHRcdDxkaXYgY2xhc3M9XCJyb3cgYWxpZ24taXRlbXMtY2VudGVyIGctM1wiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cblx0XHRcdFx0XHQ8YXBwLWJ0blxuXHRcdFx0XHRcdFx0aWNvbkJ0blxuXHRcdFx0XHRcdFx0W3Nob3dIZWxwSWNvbl09XCJmYWxzZVwiXG5cdFx0XHRcdFx0XHRoZWxwPVwie3sgc2VhcmNoQm94LmhpZGRlbiA/ICdPcGVuIHNlYXJjaCcgOiAnQ2xvc2Ugc2VhcmNoJyB9fVwiXG5cdFx0XHRcdFx0XHRbaWNvbl09XCJzZWFyY2hCb3guaGlkZGVuID8gJ3NlYXJjaCcgOiAnY2xvc2UnXCJcblx0XHRcdFx0XHRcdChtY2xpY2spPVwic2VhcmNoQm94LmhpZGRlbiA9ICFzZWFyY2hCb3guaGlkZGVuXCIgLz5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiIFtoaWRkZW5dPVwidHJ1ZVwiICNzZWFyY2hCb3g+XG5cdFx0XHRcdFx0PGFwcC1pbnB1dC10ZC1yZlxuXHRcdFx0XHRcdFx0dHlwZT1cInRleHRcIlxuXHRcdFx0XHRcdFx0W25vRm9ybWF0XT1cInRydWVcIlxuXHRcdFx0XHRcdFx0W3Nob3dMYWJlbF09XCJmYWxzZVwiXG5cdFx0XHRcdFx0XHRwbGFjZWhvbGRlcj1cIlR5cGUgdG8gc2VhcmNoXCJcblx0XHRcdFx0XHRcdFsobW9kZWwpXT1cInNlYXJjaFF1ZXJ5XCIgLz5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHRcdDxkaXYgY2xhc3M9XCJjb2wtYXV0b1wiPlxuXHRcdFx0XHRcdDxhcHAtYnRuXG5cdFx0XHRcdFx0XHRjdXN0b21JY29uPVwiZmEgZmEtbGlzdFwiXG5cdFx0XHRcdFx0XHRbc2hvd0hlbHBJY29uXT1cImZhbHNlXCJcblx0XHRcdFx0XHRcdGhlbHA9XCJHcmlkIFN0eWxlXCJcblx0XHRcdFx0XHRcdFttYXRNZW51VHJpZ2dlckZvcl09XCJncmlkTWVudVwiIC8+XG5cdFx0XHRcdFx0PG1hdC1tZW51ICNncmlkTWVudT1cIm1hdE1lbnVcIiBjbGFzcz1cIlwiPlxuXHRcdFx0XHRcdFx0QGZvciAoaXRlbSBvZiBjb2x1bW5MZW5ndGhzKCk7IHRyYWNrIGl0ZW0pIHtcblx0XHRcdFx0XHRcdFx0PGJ1dHRvblxuXHRcdFx0XHRcdFx0XHRcdG1hdC1tZW51LWl0ZW1cblx0XHRcdFx0XHRcdFx0XHQoY2xpY2spPVwic2V0R3JpZCA9IGl0ZW0udmFsdWVcIlxuXHRcdFx0XHRcdFx0XHRcdFtuZ0NsYXNzXT1cInsgJ3RleHQtcHJpbWFyeSc6IGl0ZW0udmFsdWUgPT0gY3VycmVudEdyaWQoKSB9XCI+XG5cdFx0XHRcdFx0XHRcdFx0e3sgaXRlbS5sYWJlbCB8IGFwcFRyYW5zbGF0ZSB8IGFzeW5jIH19XG5cdFx0XHRcdFx0XHRcdDwvYnV0dG9uPlxuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdDwvbWF0LW1lbnU+XG5cdFx0XHRcdDwvZGl2PlxuXHRcdFx0PC9kaXY+XG5cdFx0PC9kaXY+XG5cdDwvZGl2PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwicm93IHJvdy1jb2xzLW1kLXt7IG1kR3JpZCgpIH19IHJvdy1jb2xzLWxnLXt7IGxnR3JpZCgpIH19IHJvdy1jb2xzLXh4bC17eyB4eGxHcmlkKCkgfX0gZy0zXCI+XG5cdEBmb3IgKGl0ZW0gb2YgbGlzdCgpIHwgZmlsdGVyQXJyYXlCeVN0cmluZzogc2VhcmNoUXVlcnkgOiBbJ2xhYmVsJ107IHRyYWNrIGl0ZW0udmFsdWUpIHtcblx0XHQ8ZGl2IGNsYXNzPVwiXCI+XG5cdFx0XHQ8ZGl2IGNsYXNzPVwiYm9yZGVyIHJvdW5kZWQtMTAgcC0xMFwiPlxuXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicm93IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuXHRcdFx0XHRcdDxkaXZcblx0XHRcdFx0XHRcdGNsYXNzPVwiY29sIHRleHQtZWxsaXBzaXNcIlxuXHRcdFx0XHRcdFx0W21hdFRvb2x0aXBdPVwiZWxlLmlubmVyVGV4dFwiXG5cdFx0XHRcdFx0XHRbbWF0VG9vbHRpcERpc2FibGVkXT1cImVsZS5zY3JvbGxXaWR0aCA8PSBlbGUub2Zmc2V0V2lkdGhcIlxuXHRcdFx0XHRcdFx0I2VsZT5cblx0XHRcdFx0XHRcdHt7IGl0ZW0ubGFiZWwgfX1cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0XHQ8ZGl2IGNsYXNzPVwiY29sLWF1dG9cIj5cblx0XHRcdFx0XHRcdDxtYXQtc2xpZGUtdG9nZ2xlIFsobmdNb2RlbCldPVwiaXRlbS5jaGVja2VkXCIgKGNoYW5nZSk9XCJ0b2dnbGVkSXRlbSgkZXZlbnQsIGl0ZW0ub3JpZ2luYWxSb3cpXCIgLz5cblx0XHRcdFx0XHQ8L2Rpdj5cblx0XHRcdFx0PC9kaXY+XG5cdFx0XHQ8L2Rpdj5cblx0XHQ8L2Rpdj5cblx0fVxuPC9kaXY+XG4iXX0=
@@ -15836,6 +15836,7 @@ class ToggleInputFormComponent {
15836
15836
  this.columnLengths = signal([
15837
15837
  { label: `List`, value: 1 },
15838
15838
  { label: `Dual`, value: 2 },
15839
+ { label: `Triple`, value: 3 },
15839
15840
  { label: `Medium`, value: 4 },
15840
15841
  { label: `Maximum`, value: 6 },
15841
15842
  ]);
@@ -15873,7 +15874,9 @@ class ToggleInputFormComponent {
15873
15874
  this.emitSelected();
15874
15875
  }
15875
15876
  emitSelected() {
15876
- this.selected.emit(this.list().filter((x) => x.checked).map((x) => x.originalRow));
15877
+ this.selected.emit(this.list()
15878
+ .filter((x) => x.checked)
15879
+ .map((x) => x.originalRow));
15877
15880
  }
15878
15881
  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
15882
  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" }] }); }