@firestitch/filter 12.12.1 → 12.12.3

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.
@@ -14,12 +14,12 @@ import { FsFilterOverlayService } from '../../services/filter-overlay.service';
14
14
  import { FsFilterItemsStore } from '../../services/items-store.service';
15
15
  import * as i0 from "@angular/core";
16
16
  export declare class FilterComponent implements OnInit, AfterViewInit, OnDestroy {
17
+ private _defaultConfig;
17
18
  private _filterOverlay;
18
19
  private _zone;
19
20
  private _externalParams;
20
21
  private _filterItems;
21
22
  private _actions;
22
- private _defaultConfig;
23
23
  set setConfig(config: any);
24
24
  set setFilter(config: any);
25
25
  showSortBy: any;
@@ -42,7 +42,7 @@ export declare class FilterComponent implements OnInit, AfterViewInit, OnDestroy
42
42
  private _keywordVisible$;
43
43
  private _hasFilterChips$;
44
44
  private _destroy$;
45
- constructor(_filterOverlay: FsFilterOverlayService, _zone: NgZone, _externalParams: ExternalParamsController, _filterItems: FsFilterItemsStore, _actions: ActionsController, _defaultConfig: FsFilterConfig);
45
+ constructor(_defaultConfig: FsFilterConfig, _filterOverlay: FsFilterOverlayService, _zone: NgZone, _externalParams: ExternalParamsController, _filterItems: FsFilterItemsStore, _actions: ActionsController);
46
46
  get config(): FsFilterConfig;
47
47
  get filterParams(): Record<string, unknown>;
48
48
  get filterParamsQuery(): Record<string, unknown>;
@@ -190,6 +190,6 @@ export declare class FilterComponent implements OnInit, AfterViewInit, OnDestroy
190
190
  private _initOverlay;
191
191
  private _listenWhenFilterReady;
192
192
  private _updateChipsVisibility;
193
- static ɵfac: i0.ɵɵFactoryDeclaration<FilterComponent, [null, null, null, null, null, { optional: true; }]>;
193
+ static ɵfac: i0.ɵɵFactoryDeclaration<FilterComponent, [{ optional: true; }, null, null, null, null, null]>;
194
194
  static ɵcmp: i0.ɵɵComponentDeclaration<FilterComponent, "fs-filter", never, { "setConfig": "config"; "setFilter": "filter"; "showSortBy": "showSortBy"; "showFilterInput": "showFilterInput"; }, { "closed": "closed"; "opened": "opened"; "ready": "ready"; }, ["statusBar"], never>;
195
195
  }
@@ -2309,15 +2309,6 @@
2309
2309
  return params;
2310
2310
  };
2311
2311
  FsFilterItemsStore.prototype.init = function (p) {
2312
- var _this = this;
2313
- this._ready$
2314
- .pipe(operators.take(1), operators.takeUntil(this._destroy$))
2315
- .subscribe(function () {
2316
- _this.items
2317
- .forEach(function (item) {
2318
- item.init(item);
2319
- });
2320
- });
2321
2312
  this.items
2322
2313
  .forEach(function (item) {
2323
2314
  item.initValues(p[item.name]);
@@ -3027,6 +3018,7 @@
3027
3018
  };
3028
3019
  ExternalParamsController.prototype.initItems = function () {
3029
3020
  var _this = this;
3021
+ this._itemsStore.ready$;
3030
3022
  this._pending$.next(true);
3031
3023
  if (this._savedFilters.enabled) {
3032
3024
  this._savedFilters
@@ -4827,14 +4819,14 @@
4827
4819
  }] } });
4828
4820
 
4829
4821
  var FilterComponent = /** @class */ (function () {
4830
- function FilterComponent(_filterOverlay, _zone, _externalParams, _filterItems, _actions, _defaultConfig) {
4822
+ function FilterComponent(_defaultConfig, _filterOverlay, _zone, _externalParams, _filterItems, _actions) {
4831
4823
  var _this = this;
4824
+ this._defaultConfig = _defaultConfig;
4832
4825
  this._filterOverlay = _filterOverlay;
4833
4826
  this._zone = _zone;
4834
4827
  this._externalParams = _externalParams;
4835
4828
  this._filterItems = _filterItems;
4836
4829
  this._actions = _actions;
4837
- this._defaultConfig = _defaultConfig;
4838
4830
  this.showSortBy = true;
4839
4831
  this.showFilterInput = true;
4840
4832
  this.closed = new i0.EventEmitter();
@@ -5196,12 +5188,20 @@
5196
5188
  this.searchTextInput.nativeElement.focus();
5197
5189
  };
5198
5190
  FilterComponent.prototype.init = function () {
5191
+ var _this = this;
5199
5192
  var data = this._filterItems.valuesAsQuery();
5200
5193
  this._sort = this._filterItems.getSort();
5201
5194
  if (this.config.init) {
5202
5195
  this.config.init(data, this._sort);
5203
5196
  }
5204
5197
  this._updateChipsVisibility();
5198
+ // Waiting for external ViewChilds
5199
+ setTimeout(function () {
5200
+ _this.items
5201
+ .forEach(function (item) {
5202
+ item.init(item);
5203
+ });
5204
+ });
5205
5205
  };
5206
5206
  FilterComponent.prototype.clear = function (event) {
5207
5207
  if (event === void 0) { event = null; }
@@ -5443,7 +5443,7 @@
5443
5443
  };
5444
5444
  return FilterComponent;
5445
5445
  }());
5446
- FilterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FilterComponent, deps: [{ token: FsFilterOverlayService }, { token: i0__namespace.NgZone }, { token: ExternalParamsController }, { token: FsFilterItemsStore }, { token: ActionsController }, { token: FS_FILTER_CONFIG, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Component });
5446
+ FilterComponent.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FilterComponent, deps: [{ token: FS_FILTER_CONFIG, optional: true }, { token: FsFilterOverlayService }, { token: i0__namespace.NgZone }, { token: ExternalParamsController }, { token: FsFilterItemsStore }, { token: ActionsController }], target: i0__namespace.ɵɵFactoryTarget.Component });
5447
5447
  FilterComponent.ɵcmp = i0__namespace.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: FilterComponent, selector: "fs-filter", inputs: { setConfig: ["config", "setConfig"], setFilter: ["filter", "setFilter"], showSortBy: "showSortBy", showFilterInput: "showFilterInput" }, outputs: { closed: "closed", opened: "opened", ready: "ready" }, host: { properties: { "class.filters-open": "this.showFilterMenu", "class.window-desktop": "this.windowDesktop", "class.fs-filter": "this.fsFilterClass", "class.has-keyword": "this.hasKeyword" } }, providers: [
5448
5448
  FsFilterOverlayService,
5449
5449
  ExternalParamsController,
@@ -5453,7 +5453,7 @@
5453
5453
  FsFilterItemsStore,
5454
5454
  SavedFiltersController,
5455
5455
  ActionsController,
5456
- ], queries: [{ propertyName: "statusBar", first: true, predicate: FilterStatusBarDirective, descendants: true, read: i0.TemplateRef }], viewQueries: [{ propertyName: "searchTextInput", first: true, predicate: ["searchTextInput"], descendants: true }, { propertyName: "searchTextMatInput", first: true, predicate: ["searchTextInput"], descendants: true, read: i3$3.MatInput }], ngImport: i0__namespace, template: "<ng-container>\n <div class=\"filter-container\">\n <ng-container *ngIf=\"hasKeyword\">\n <div class=\"filter-keyword\">\n <form autocomplete=\"off\" role=\"presentation\" *ngIf=\"keywordVisible$ | async\">\n <mat-form-field [floatLabel]=\"'never'\" class=\"form-field-padless\" ngClass=\"search\">\n <span matPrefix>\n <mat-icon matPrefix>search</mat-icon>\n </span>\n <input\n #searchTextInput\n matInput\n [formControl]=\"searchText\"\n name=\"filter-input\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"filterInputEvent($event)\">\n\n <div matSuffix *ngIf=\"searchText.value && showFilterInput && config.clear\">\n <a\n mat-icon-button \n (click)=\"clearSearchText($event)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n </div>\n </mat-form-field>\n </form>\n </div>\n </ng-container>\n\n <div class=\"filter-actions\">\n <a \n mat-icon-button\n (click)=\"reload($event)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n <ng-container *ngIf=\"hasVisibleItemOrSorting && filtersBtnVisible$ | async\">\n <button\n mat-button\n class=\"filters-button\"\n [ngClass]=\"{\n 'mat-raised-button': config.button.style === 'raised' && config.button.label,\n 'mat-flat-button': config.button.style === 'flat' && config.button.label,\n 'mat-stroked-button': config.button.style === 'stroked' && config.button.label,\n 'mat-button': config.button.style === 'basic' && config.button.label,\n 'mat-icon-button': config.button.style === 'icon' || !config.button.label \n }\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n type=\"button\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </button>\n </ng-container>\n \n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n </div>\n <div class=\"filter-status-container\">\n <div class=\"filter-status\" *ngIf=\"statusBar\">\n <ng-container *ngTemplateOutlet=\"statusBar\"></ng-container>\n </div>\n <fs-filter-chips\n *ngIf=\"config.chips && hasFilterChips$ | async\"\n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n </div>\n</ng-container>", styles: ["fs-filter{display:block}.fs-filter{margin-bottom:20px;display:block}.fs-filter:not(.has-keyword){display:flex;flex-direction:row-reverse}.fs-filter .results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}.fs-filter .filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;margin:4px 0}.fs-filter .filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.fs-filter .filter-status-container .filter-status+fs-filter-chips{margin-top:4px}.fs-filter .filter-status-container fs-filter-chips{display:block}.fs-filter .filter-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative}.fs-filter .filter-container form{width:100%;height:100%}.fs-filter .filter-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;flex:1;min-width:0}.fs-filter .filter-container .filter-keyword .search.mat-form-field{height:100%;max-width:100%}.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-focused .mat-icon{color:inherit}.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-outline{background:#fff;border-radius:5px}.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-outline .mat-form-field-suffix,.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-outline .mat-form-field-prefix{top:0}.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:auto}.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-legacy .mat-form-field-infix{border-top:0}.fs-filter .filter-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:0}.fs-filter .filter-container .filter-keyword .search.mat-form-field .mat-form-field-flex{align-items:center;height:100%}.fs-filter .filter-container .filter-keyword .search.mat-form-field .mat-icon{font-size:22px;color:#626262}.fs-filter .filter-container .filter-keyword .mat-form-field-wrapper{height:100%}.fs-filter .filter-container .filter-keyword .mat-form-field-suffix{display:flex}.fs-filter .filter-container .filter-keyword .mat-form-field-suffix .mat-icon-button{height:24px;width:24px}.fs-filter .filter-container .filter-keyword .mat-form-field-suffix .mat-icon-button .mat-icon{display:inline}.fs-filter .filter-actions{display:flex;align-items:center}@media screen and (min-width: 599px){.filter-actions{margin-left:10px}.filters-button+fs-filter-actions:not(:empty){margin-left:5px}}@media screen and (max-width: 600px){.filter-actions{margin-left:5px}.filter-actions .filters-button{font-size:0;padding:0;min-width:unset;width:36px;height:36px;border-radius:50%;box-shadow:unset!important}}@media screen and (min-width: 1200px){body.fs-filter-open{margin-right:350px}.fs-filter-backdrop{display:none}}body.fs-filter-open::-webkit-scrollbar{width:0;background:transparent}\n"], components: [{ type: i1__namespace$3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1__namespace$4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: i1__namespace$4.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: ["kebabActions", "actions"] }, { type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: ["filters"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i4__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1__namespace$3.MatPrefix, selector: "[matPrefix]" }, { type: i3__namespace$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i4__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1__namespace$3.MatSuffix, selector: "[matSuffix]" }, { type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
5456
+ ], queries: [{ propertyName: "statusBar", first: true, predicate: FilterStatusBarDirective, descendants: true, read: i0.TemplateRef }], viewQueries: [{ propertyName: "searchTextInput", first: true, predicate: ["searchTextInput"], descendants: true }, { propertyName: "searchTextMatInput", first: true, predicate: ["searchTextInput"], descendants: true, read: i3$3.MatInput }], ngImport: i0__namespace, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"hasKeyword\">\n <div class=\"filter-keyword\">\n <form autocomplete=\"off\" role=\"presentation\" *ngIf=\"keywordVisible$ | async\">\n <mat-form-field [floatLabel]=\"'never'\" class=\"form-field-padless\" ngClass=\"search\" appearance=\"outline\">\n <span matPrefix>\n <mat-icon matPrefix>search</mat-icon>\n </span>\n <input\n #searchTextInput\n matInput\n [formControl]=\"searchText\"\n name=\"filter-input\"\n [placeholder]=\"searchPlaceholder\"\n (click)=\"filterInputEvent($event)\">\n\n <div matSuffix *ngIf=\"searchText.value && showFilterInput && config.clear\">\n <a\n mat-icon-button \n (click)=\"clearSearchText($event)\"\n class=\"clear\">\n <mat-icon>clear</mat-icon>\n </a>\n </div>\n </mat-form-field>\n </form>\n </div>\n </ng-container>\n <div class=\"filter-toobar\">\n <a \n mat-icon-button\n (click)=\"reload($event)\"\n class=\"reload\"\n *ngIf=\"config.reload\">\n <mat-icon>refresh</mat-icon>\n </a>\n <ng-container *ngIf=\"hasVisibleItemOrSorting && filtersBtnVisible$ | async\">\n <a\n mat-button\n class=\"filters-button\"\n [ngClass]=\"{\n 'mat-raised-button': config.button.style === 'raised' && config.button.label,\n 'mat-flat-button': config.button.style === 'flat' && config.button.label,\n 'mat-stroked-button': config.button.style === 'stroked' && config.button.label,\n 'mat-button': config.button.style === 'basic' && config.button.label,\n 'mat-icon-button': config.button.style === 'icon' || !config.button.label \n }\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n <mat-icon *ngIf=\"config.button.icon\">{{config.button.icon}}</mat-icon>\n {{ config.button.label }}\n </a>\n </ng-container>\n </div>\n\n <div class=\"filter-actions\">\n <fs-filter-actions\n *ngIf=\"actionsVisible$ | async\"\n [actions]=\"actions$ | async\"\n [kebabActions]=\"menuActions$ | async\">\n </fs-filter-actions>\n </div>\n </div>\n\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"statusBarContainer\"></ng-container>\n </ng-container>\n\n <ng-container *ngIf=\"!hasKeyword\">\n <ng-container [ngTemplateOutlet]=\"chips\"></ng-container>\n </ng-container>\n</div>\n\n\n<ng-template #statusBarContainer>\n <ng-container *ngIf=\"statusBar\">\n <div class=\"filter-status-container\">\n <div class=\"filter-status\">\n <ng-container *ngTemplateOutlet=\"statusBar\"></ng-container>\n </div>\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container [ngTemplateOutlet]=\"chips\"></ng-container>\n </ng-container>\n </div>\n </ng-container>\n</ng-template>\n\n<ng-template #chips>\n <ng-container *ngIf=\"config.chips && hasFilterChips$ | async\">\n <fs-filter-chips \n class=\"filter-chips\"\n [filters]=\"items\">\n </fs-filter-chips>\n </ng-container>\n</ng-template>", styles: ["fs-filter{display:block}.fs-filter{margin-bottom:20px;display:block}.fs-filter:not(.has-keyword) .filter-inner-container{display:flex}.fs-filter:not(.has-keyword) .filter-toobar{justify-content:flex-end}.fs-filter .results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}.fs-filter fs-filter-chips{margin-top:4px;display:block}.fs-filter .filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.fs-filter .filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.fs-filter .filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.fs-filter .filter-inner-container form{width:100%;height:100%}.fs-filter .filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:100px}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field{height:100%;max-width:100%}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-focused .mat-icon{color:inherit}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-outline{background:#fff;border-radius:5px}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-outline .mat-form-field-suffix,.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-outline .mat-form-field-prefix{top:0}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-legacy .mat-form-field-underline{bottom:auto}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-legacy .mat-form-field-infix{border-top:0}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field.mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:0}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field .mat-form-field-flex{align-items:center;height:100%}.fs-filter .filter-inner-container .filter-keyword .search.mat-form-field .mat-icon{font-size:22px;color:#626262}.fs-filter .filter-inner-container .filter-keyword .mat-form-field-wrapper{height:100%}.fs-filter .filter-inner-container .filter-keyword .mat-form-field-suffix{display:flex}.fs-filter .filter-inner-container .filter-keyword .mat-form-field-suffix .mat-icon-button{height:24px;width:24px}.fs-filter .filter-inner-container .filter-keyword .mat-form-field-suffix .mat-icon-button .mat-icon{display:inline}.fs-filter .filter-actions{display:flex;align-items:center}.fs-filter .filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center}.fs-filter .filter-toobar a{width:36px;height:36px;line-height:36px}@media screen and (min-width: 599px){.filter-actions{margin-left:10px}.filters-button+fs-filter-actions:not(:empty){margin-left:5px}}@media screen and (max-width: 600px){.filter-actions{margin-left:5px}.filter-actions .filters-button{font-size:0;padding:0;min-width:unset;width:36px;height:36px;border-radius:50%;box-shadow:unset!important}}@media screen and (min-width: 1200px){body.fs-filter-open{margin-right:350px}.fs-filter-backdrop{display:none}}body.fs-filter-open::-webkit-scrollbar{width:0;background:transparent}\n"], components: [{ type: i1__namespace$3.MatFormField, selector: "mat-form-field", inputs: ["color", "floatLabel", "appearance", "hideRequiredMarker", "hintLabel"], exportAs: ["matFormField"] }, { type: i2__namespace$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i1__namespace$4.MatAnchor, selector: "a[mat-button], a[mat-raised-button], a[mat-icon-button], a[mat-fab], a[mat-mini-fab], a[mat-stroked-button], a[mat-flat-button]", inputs: ["disabled", "disableRipple", "color", "tabIndex"], exportAs: ["matButton", "matAnchor"] }, { type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: ["kebabActions", "actions"] }, { type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: ["filters"] }], directives: [{ type: i3__namespace.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3__namespace.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }, { type: i4__namespace.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { type: i4__namespace.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i4__namespace.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i3__namespace.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { type: i1__namespace$3.MatPrefix, selector: "[matPrefix]" }, { type: i3__namespace$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["id", "disabled", "required", "type", "value", "readonly", "placeholder", "errorStateMatcher", "aria-describedby"], exportAs: ["matInput"] }, { type: i4__namespace.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i4__namespace.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i4__namespace.FormControlDirective, selector: "[formControl]", inputs: ["disabled", "formControl", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { type: i1__namespace$3.MatSuffix, selector: "[matSuffix]" }], pipes: { "async": i3__namespace.AsyncPipe }, changeDetection: i0__namespace.ChangeDetectionStrategy.OnPush, encapsulation: i0__namespace.ViewEncapsulation.None });
5457
5457
  i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0__namespace, type: FilterComponent, decorators: [{
5458
5458
  type: i0.Component,
5459
5459
  args: [{
@@ -5474,12 +5474,12 @@
5474
5474
  changeDetection: i0.ChangeDetectionStrategy.OnPush,
5475
5475
  }]
5476
5476
  }], ctorParameters: function () {
5477
- return [{ type: FsFilterOverlayService }, { type: i0__namespace.NgZone }, { type: ExternalParamsController }, { type: FsFilterItemsStore }, { type: ActionsController }, { type: FsFilterConfig, decorators: [{
5477
+ return [{ type: FsFilterConfig, decorators: [{
5478
5478
  type: i0.Optional
5479
5479
  }, {
5480
5480
  type: i0.Inject,
5481
5481
  args: [FS_FILTER_CONFIG]
5482
- }] }];
5482
+ }] }, { type: FsFilterOverlayService }, { type: i0__namespace.NgZone }, { type: ExternalParamsController }, { type: FsFilterItemsStore }, { type: ActionsController }];
5483
5483
  }, propDecorators: { setConfig: [{
5484
5484
  type: i0.Input,
5485
5485
  args: ['config']