@firestitch/filter 18.0.20 → 18.0.21

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.
@@ -8,6 +8,7 @@ export class FsFilterConfig {
8
8
  inline = false;
9
9
  autofocus = false;
10
10
  chips = false;
11
+ buttonStyle;
11
12
  sortValues = null;
12
13
  sort = null;
13
14
  queryParam = false;
@@ -27,27 +28,28 @@ export class FsFilterConfig {
27
28
  this._init(data);
28
29
  }
29
30
  _init(data = {}) {
30
- this.load = data.load ?? true;
31
- this.persist = data.persist;
32
- this.savedFilters = data.savedFilters;
33
- this.inline = data.inline ?? false;
34
- this.autofocus = data.autofocus ?? false;
35
- this.chips = data.chips ?? false;
36
- this.sortValues = data.sorts;
37
- this.sort = data.sort;
38
- this.queryParam = data.queryParam ?? false;
39
- this.init = data.init;
40
- this.change = data.change;
41
- this.reload = data.reload;
42
- this.autoReload = data.autoReload;
43
- this.clear = data.clear;
44
- this.sortChange = data.sortChange;
45
- this.case = data.case ?? 'camel';
46
- this.reloadWhenConfigChanged = data.reloadWhenConfigChanged;
47
- this.button = data.button;
48
- this.items = data.items;
49
- this.actions = data.actions;
50
- this.case = data.case ?? 'camel';
31
+ Object.assign(this, {
32
+ load: data.load ?? true,
33
+ persist: data.persist,
34
+ savedFilters: data.savedFilters,
35
+ inline: data.inline ?? false,
36
+ autofocus: data.autofocus ?? false,
37
+ chips: data.chips ?? false,
38
+ sortValues: data.sorts,
39
+ sort: data.sort,
40
+ queryParam: data.queryParam ?? false,
41
+ init: data.init,
42
+ change: data.change,
43
+ reload: data.reload,
44
+ autoReload: data.autoReload,
45
+ clear: data.clear,
46
+ sortChange: data.sortChange,
47
+ case: data.case ?? 'camel',
48
+ reloadWhenConfigChanged: data.reloadWhenConfigChanged,
49
+ items: data.items,
50
+ actions: data.actions,
51
+ buttonStyle: data.buttonStyle || ButtonStyle.Raised,
52
+ });
51
53
  if (this.persist) {
52
54
  if (typeof this.persist === 'object') {
53
55
  if (this.persist.name) {
@@ -55,6 +57,15 @@ export class FsFilterConfig {
55
57
  }
56
58
  }
57
59
  }
60
+ if (this.clear === undefined) {
61
+ this.clear = () => {
62
+ //
63
+ };
64
+ }
65
+ this._initButton(data);
66
+ }
67
+ _initButton(data) {
68
+ this.button = data.button;
58
69
  if (!this.button) {
59
70
  this.button = {};
60
71
  }
@@ -70,9 +81,6 @@ export class FsFilterConfig {
70
81
  if (this.button.color === undefined) {
71
82
  this.button.color = 'default';
72
83
  }
73
- if (this.clear === undefined) {
74
- this.clear = () => { };
75
- }
76
84
  }
77
85
  }
78
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZpbHRlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVl2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUdsRCxNQUFNLE9BQU8sY0FBYztJQUVsQixJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osT0FBTyxHQUF3QixLQUFLLENBQUM7SUFDckMsWUFBWSxDQUE0QjtJQUN4QyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsVUFBVSxHQUFVLElBQUksQ0FBQztJQUN6QixJQUFJLEdBQVMsSUFBSSxDQUFDO0lBQ2xCLFVBQVUsR0FBRyxLQUFLLENBQUM7SUFDbkIsSUFBSSxDQUEyRDtJQUMvRCxNQUFNLENBQVc7SUFDakIsTUFBTSxDQUFXO0lBQ2pCLFVBQVUsQ0FBcUI7SUFDL0IsS0FBSyxDQUFXO0lBQ2hCLFVBQVUsQ0FBVztJQUNyQixJQUFJLEdBQXNCLE9BQU8sQ0FBQztJQUNsQyx1QkFBdUIsQ0FBVTtJQUNqQyxNQUFNLENBQWU7SUFDckIsS0FBSyxDQUFzQjtJQUMzQixPQUFPLENBQW1CO0lBRTFCLFNBQVMsQ0FBUyxDQUFDLGtCQUFrQjtJQUU1QyxZQUFZLE9BQXFCLEVBQUU7UUFDakMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNuQixDQUFDO0lBRU8sS0FBSyxDQUFDLE9BQXFCLEVBQUU7UUFDbkMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztRQUM5QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDO1FBQ3RDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLLENBQUM7UUFDbkMsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQztRQUN6QyxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSyxDQUFDO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUM3QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsVUFBVSxJQUFJLEtBQUssQ0FBQztRQUMzQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNsQyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLElBQUksT0FBTyxDQUFDO1FBQ2pDLElBQUksQ0FBQyx1QkFBdUIsR0FBRyxJQUFJLENBQUMsdUJBQXVCLENBQUM7UUFDNUQsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN4QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUM7UUFDNUIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQztRQUVqQyxJQUFJLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztZQUNqQixJQUFJLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztnQkFDckMsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO29CQUN0QixJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDO2dCQUNyQyxDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxNQUFNLEdBQUcsRUFBRSxDQUFDO1FBQ25CLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNuQyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxlQUFlLENBQUM7UUFDckMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsV0FBVyxDQUFDLE1BQU0sQ0FBQztRQUN6QyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxTQUFTLENBQUM7UUFDaEMsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUN6QixDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uU3R5bGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGFuZ2VGbiwgRmlsdGVyU29ydCwgRnNGaWx0ZXJBdXRvUmVsb2FkLCBTb3J0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuaW1wb3J0IHtcbiAgRmlsdGVyQnV0dG9uLFxuICBGaWx0ZXJDb25maWcsXG4gIEZzRmlsdGVyUGVyc2lzdGFuY2UsXG4gIElGaWx0ZXJDb25maWdJdGVtLFxufSBmcm9tICcuLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBTb3J0QnlGaWVsZCA9ICdzb3J0TmFtZSc7XG5leHBvcnQgY29uc3QgU29ydERpcmVjdGlvbkZpZWxkID0gJ3NvcnREaXJlY3Rpb24nO1xuXG5cbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckNvbmZpZyB7XG5cbiAgcHVibGljIGxvYWQgPSB0cnVlO1xuICBwdWJsaWMgcGVyc2lzdDogRnNGaWx0ZXJQZXJzaXN0YW5jZSA9IGZhbHNlO1xuICBwdWJsaWMgc2F2ZWRGaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnO1xuICBwdWJsaWMgaW5saW5lID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvZm9jdXMgPSBmYWxzZTtcbiAgcHVibGljIGNoaXBzID0gZmFsc2U7XG4gIHB1YmxpYyBzb3J0VmFsdWVzOiBhbnlbXSA9IG51bGw7XG4gIHB1YmxpYyBzb3J0OiBTb3J0ID0gbnVsbDtcbiAgcHVibGljIHF1ZXJ5UGFyYW0gPSBmYWxzZTtcbiAgcHVibGljIGluaXQ6IChxdWVyeT86IGFueSwgc29ydD86IEZpbHRlclNvcnQgfCBudWxsLCBmaWx0ZXI/KSA9PiB2b2lkO1xuICBwdWJsaWMgY2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIHJlbG9hZDogQ2hhbmdlRm47XG4gIHB1YmxpYyBhdXRvUmVsb2FkOiBGc0ZpbHRlckF1dG9SZWxvYWQ7XG4gIHB1YmxpYyBjbGVhcjogQ2hhbmdlRm47XG4gIHB1YmxpYyBzb3J0Q2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIGNhc2U6ICdzbmFrZScgfCAnY2FtZWwnID0gJ2NhbWVsJztcbiAgcHVibGljIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkOiBib29sZWFuO1xuICBwdWJsaWMgYnV0dG9uOiBGaWx0ZXJCdXR0b247XG4gIHB1YmxpYyBpdGVtczogSUZpbHRlckNvbmZpZ0l0ZW1bXTtcbiAgcHVibGljIGFjdGlvbnM6IEZzRmlsdGVyQWN0aW9uW107XG5cbiAgcHVibGljIG5hbWVzcGFjZTogc3RyaW5nOyAvLyBmb3IgcGVyc2lzdGFuY2VcblxuICBjb25zdHJ1Y3RvcihkYXRhOiBGaWx0ZXJDb25maWcgPSB7fSkge1xuICAgIHRoaXMuX2luaXQoZGF0YSk7XG4gIH1cblxuICBwcml2YXRlIF9pbml0KGRhdGE6IEZpbHRlckNvbmZpZyA9IHt9KSB7XG4gICAgdGhpcy5sb2FkID0gZGF0YS5sb2FkID8/IHRydWU7XG4gICAgdGhpcy5wZXJzaXN0ID0gZGF0YS5wZXJzaXN0O1xuICAgIHRoaXMuc2F2ZWRGaWx0ZXJzID0gZGF0YS5zYXZlZEZpbHRlcnM7XG4gICAgdGhpcy5pbmxpbmUgPSBkYXRhLmlubGluZSA/PyBmYWxzZTtcbiAgICB0aGlzLmF1dG9mb2N1cyA9IGRhdGEuYXV0b2ZvY3VzID8/IGZhbHNlO1xuICAgIHRoaXMuY2hpcHMgPSBkYXRhLmNoaXBzID8/IGZhbHNlO1xuICAgIHRoaXMuc29ydFZhbHVlcyA9IGRhdGEuc29ydHM7XG4gICAgdGhpcy5zb3J0ID0gZGF0YS5zb3J0O1xuICAgIHRoaXMucXVlcnlQYXJhbSA9IGRhdGEucXVlcnlQYXJhbSA/PyBmYWxzZTtcbiAgICB0aGlzLmluaXQgPSBkYXRhLmluaXQ7XG4gICAgdGhpcy5jaGFuZ2UgPSBkYXRhLmNoYW5nZTtcbiAgICB0aGlzLnJlbG9hZCA9IGRhdGEucmVsb2FkO1xuICAgIHRoaXMuYXV0b1JlbG9hZCA9IGRhdGEuYXV0b1JlbG9hZDtcbiAgICB0aGlzLmNsZWFyID0gZGF0YS5jbGVhcjtcbiAgICB0aGlzLnNvcnRDaGFuZ2UgPSBkYXRhLnNvcnRDaGFuZ2U7XG4gICAgdGhpcy5jYXNlID0gZGF0YS5jYXNlID8/ICdjYW1lbCc7XG4gICAgdGhpcy5yZWxvYWRXaGVuQ29uZmlnQ2hhbmdlZCA9IGRhdGEucmVsb2FkV2hlbkNvbmZpZ0NoYW5nZWQ7XG4gICAgdGhpcy5idXR0b24gPSBkYXRhLmJ1dHRvbjtcbiAgICB0aGlzLml0ZW1zID0gZGF0YS5pdGVtcztcbiAgICB0aGlzLmFjdGlvbnMgPSBkYXRhLmFjdGlvbnM7XG4gICAgdGhpcy5jYXNlID0gZGF0YS5jYXNlID8/ICdjYW1lbCc7XG5cbiAgICBpZiAodGhpcy5wZXJzaXN0KSB7XG4gICAgICBpZiAodHlwZW9mIHRoaXMucGVyc2lzdCA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgaWYgKHRoaXMucGVyc2lzdC5uYW1lKSB7XG4gICAgICAgICAgdGhpcy5uYW1lc3BhY2UgPSB0aGlzLnBlcnNpc3QubmFtZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmICghdGhpcy5idXR0b24pIHtcbiAgICAgIHRoaXMuYnV0dG9uID0ge307XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnV0dG9uLmxhYmVsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLmxhYmVsID0gJ0ZpbHRlcnMnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJ1dHRvbi5pY29uID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLmljb24gPSAnZmlsdGVyT3V0bGluZSc7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuYnV0dG9uLnN0eWxlID09PSB1bmRlZmluZWQpIHtcbiAgICAgIHRoaXMuYnV0dG9uLnN0eWxlID0gQnV0dG9uU3R5bGUuUmFpc2VkO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJ1dHRvbi5jb2xvciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbi5jb2xvciA9ICdkZWZhdWx0JztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGVhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNsZWFyID0gKCkgPT4geyB9O1xuICAgIH1cbiAgfVxufVxuIl19
86
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9hcHAvbW9kZWxzL2ZpbHRlci1jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQVl2QyxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsVUFBVSxDQUFDO0FBQ3RDLE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUdsRCxNQUFNLE9BQU8sY0FBYztJQUVsQixJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ1osT0FBTyxHQUF3QixLQUFLLENBQUM7SUFDckMsWUFBWSxDQUE0QjtJQUN4QyxNQUFNLEdBQUcsS0FBSyxDQUFDO0lBQ2YsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixLQUFLLEdBQUcsS0FBSyxDQUFDO0lBQ2QsV0FBVyxDQUFjO0lBQ3pCLFVBQVUsR0FBVSxJQUFJLENBQUM7SUFDekIsSUFBSSxHQUFTLElBQUksQ0FBQztJQUNsQixVQUFVLEdBQUcsS0FBSyxDQUFDO0lBQ25CLElBQUksQ0FBMkQ7SUFDL0QsTUFBTSxDQUFXO0lBQ2pCLE1BQU0sQ0FBVztJQUNqQixVQUFVLENBQXFCO0lBQy9CLEtBQUssQ0FBVztJQUNoQixVQUFVLENBQVc7SUFDckIsSUFBSSxHQUFzQixPQUFPLENBQUM7SUFDbEMsdUJBQXVCLENBQVU7SUFDakMsTUFBTSxDQUFlO0lBQ3JCLEtBQUssQ0FBc0I7SUFDM0IsT0FBTyxDQUFtQjtJQUMxQixTQUFTLENBQVMsQ0FBQyxrQkFBa0I7SUFFNUMsWUFBWSxPQUFxQixFQUFFO1FBQ2pDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkIsQ0FBQztJQUVPLEtBQUssQ0FBQyxPQUFxQixFQUFFO1FBQ25DLE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ2xCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUk7WUFDdkIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtZQUMvQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sSUFBSSxLQUFLO1lBQzVCLFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxJQUFJLEtBQUs7WUFDbEMsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLElBQUksS0FBSztZQUMxQixVQUFVLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDdEIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ2YsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVLElBQUksS0FBSztZQUNwQyxJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsVUFBVSxFQUFFLElBQUksQ0FBQyxVQUFVO1lBQzNCLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSSxJQUFJLE9BQU87WUFDMUIsdUJBQXVCLEVBQUUsSUFBSSxDQUFDLHVCQUF1QjtZQUNyRCxLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3JCLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxJQUFJLFdBQVcsQ0FBQyxNQUFNO1NBQ3BELENBQUMsQ0FBQztRQUVILElBQUksSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2pCLElBQUksT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUNyQyxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7b0JBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUM7Z0JBQ3JDLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM3QixJQUFJLENBQUMsS0FBSyxHQUFHLEdBQUcsRUFBRTtnQkFDaEIsRUFBRTtZQUNKLENBQUMsQ0FBQztRQUNKLENBQUM7UUFFRCxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ3pCLENBQUM7SUFFTyxXQUFXLENBQUMsSUFBa0I7UUFDcEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQ2hDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ25DLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLGVBQWUsQ0FBQztRQUNyQyxDQUFDO1FBRUQsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUNwQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxXQUFXLENBQUMsTUFBTSxDQUFDO1FBQ3pDLENBQUM7UUFFRCxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxLQUFLLFNBQVMsRUFBRSxDQUFDO1lBQ3BDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxHQUFHLFNBQVMsQ0FBQztRQUNoQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnV0dG9uU3R5bGUgfSBmcm9tICcuLi9lbnVtcyc7XG5pbXBvcnQgeyBGc0ZpbHRlckFjdGlvbiB9IGZyb20gJy4uL2ludGVyZmFjZXMvYWN0aW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBDaGFuZ2VGbiwgRmlsdGVyU29ydCwgRnNGaWx0ZXJBdXRvUmVsb2FkLCBTb3J0IH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcbmltcG9ydCB7IElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcgfSBmcm9tICcuLi9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuaW1wb3J0IHtcbiAgRmlsdGVyQnV0dG9uLFxuICBGaWx0ZXJDb25maWcsXG4gIEZzRmlsdGVyUGVyc2lzdGFuY2UsXG4gIElGaWx0ZXJDb25maWdJdGVtLFxufSBmcm9tICcuLy4uL2ludGVyZmFjZXMvY29uZmlnLmludGVyZmFjZSc7XG5cbmV4cG9ydCBjb25zdCBTb3J0QnlGaWVsZCA9ICdzb3J0TmFtZSc7XG5leHBvcnQgY29uc3QgU29ydERpcmVjdGlvbkZpZWxkID0gJ3NvcnREaXJlY3Rpb24nO1xuXG5cbmV4cG9ydCBjbGFzcyBGc0ZpbHRlckNvbmZpZyB7XG5cbiAgcHVibGljIGxvYWQgPSB0cnVlO1xuICBwdWJsaWMgcGVyc2lzdDogRnNGaWx0ZXJQZXJzaXN0YW5jZSA9IGZhbHNlO1xuICBwdWJsaWMgc2F2ZWRGaWx0ZXJzOiBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnO1xuICBwdWJsaWMgaW5saW5lID0gZmFsc2U7XG4gIHB1YmxpYyBhdXRvZm9jdXMgPSBmYWxzZTtcbiAgcHVibGljIGNoaXBzID0gZmFsc2U7XG4gIHB1YmxpYyBidXR0b25TdHlsZTogQnV0dG9uU3R5bGU7XG4gIHB1YmxpYyBzb3J0VmFsdWVzOiBhbnlbXSA9IG51bGw7XG4gIHB1YmxpYyBzb3J0OiBTb3J0ID0gbnVsbDtcbiAgcHVibGljIHF1ZXJ5UGFyYW0gPSBmYWxzZTtcbiAgcHVibGljIGluaXQ6IChxdWVyeT86IGFueSwgc29ydD86IEZpbHRlclNvcnQgfCBudWxsLCBmaWx0ZXI/KSA9PiB2b2lkO1xuICBwdWJsaWMgY2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIHJlbG9hZDogQ2hhbmdlRm47XG4gIHB1YmxpYyBhdXRvUmVsb2FkOiBGc0ZpbHRlckF1dG9SZWxvYWQ7XG4gIHB1YmxpYyBjbGVhcjogQ2hhbmdlRm47XG4gIHB1YmxpYyBzb3J0Q2hhbmdlOiBDaGFuZ2VGbjtcbiAgcHVibGljIGNhc2U6ICdzbmFrZScgfCAnY2FtZWwnID0gJ2NhbWVsJztcbiAgcHVibGljIHJlbG9hZFdoZW5Db25maWdDaGFuZ2VkOiBib29sZWFuO1xuICBwdWJsaWMgYnV0dG9uOiBGaWx0ZXJCdXR0b247XG4gIHB1YmxpYyBpdGVtczogSUZpbHRlckNvbmZpZ0l0ZW1bXTtcbiAgcHVibGljIGFjdGlvbnM6IEZzRmlsdGVyQWN0aW9uW107XG4gIHB1YmxpYyBuYW1lc3BhY2U6IHN0cmluZzsgLy8gZm9yIHBlcnNpc3RhbmNlXG5cbiAgY29uc3RydWN0b3IoZGF0YTogRmlsdGVyQ29uZmlnID0ge30pIHtcbiAgICB0aGlzLl9pbml0KGRhdGEpO1xuICB9XG5cbiAgcHJpdmF0ZSBfaW5pdChkYXRhOiBGaWx0ZXJDb25maWcgPSB7fSkge1xuICAgIE9iamVjdC5hc3NpZ24odGhpcywge1xuICAgICAgbG9hZDogZGF0YS5sb2FkID8/IHRydWUsXG4gICAgICBwZXJzaXN0OiBkYXRhLnBlcnNpc3QsXG4gICAgICBzYXZlZEZpbHRlcnM6IGRhdGEuc2F2ZWRGaWx0ZXJzLFxuICAgICAgaW5saW5lOiBkYXRhLmlubGluZSA/PyBmYWxzZSxcbiAgICAgIGF1dG9mb2N1czogZGF0YS5hdXRvZm9jdXMgPz8gZmFsc2UsXG4gICAgICBjaGlwczogZGF0YS5jaGlwcyA/PyBmYWxzZSxcbiAgICAgIHNvcnRWYWx1ZXM6IGRhdGEuc29ydHMsXG4gICAgICBzb3J0OiBkYXRhLnNvcnQsXG4gICAgICBxdWVyeVBhcmFtOiBkYXRhLnF1ZXJ5UGFyYW0gPz8gZmFsc2UsXG4gICAgICBpbml0OiBkYXRhLmluaXQsXG4gICAgICBjaGFuZ2U6IGRhdGEuY2hhbmdlLFxuICAgICAgcmVsb2FkOiBkYXRhLnJlbG9hZCxcbiAgICAgIGF1dG9SZWxvYWQ6IGRhdGEuYXV0b1JlbG9hZCxcbiAgICAgIGNsZWFyOiBkYXRhLmNsZWFyLFxuICAgICAgc29ydENoYW5nZTogZGF0YS5zb3J0Q2hhbmdlLFxuICAgICAgY2FzZTogZGF0YS5jYXNlID8/ICdjYW1lbCcsXG4gICAgICByZWxvYWRXaGVuQ29uZmlnQ2hhbmdlZDogZGF0YS5yZWxvYWRXaGVuQ29uZmlnQ2hhbmdlZCxcbiAgICAgIGl0ZW1zOiBkYXRhLml0ZW1zLFxuICAgICAgYWN0aW9uczogZGF0YS5hY3Rpb25zLFxuICAgICAgYnV0dG9uU3R5bGU6IGRhdGEuYnV0dG9uU3R5bGUgfHwgQnV0dG9uU3R5bGUuUmFpc2VkLFxuICAgIH0pO1xuXG4gICAgaWYgKHRoaXMucGVyc2lzdCkge1xuICAgICAgaWYgKHR5cGVvZiB0aGlzLnBlcnNpc3QgPT09ICdvYmplY3QnKSB7XG4gICAgICAgIGlmICh0aGlzLnBlcnNpc3QubmFtZSkge1xuICAgICAgICAgIHRoaXMubmFtZXNwYWNlID0gdGhpcy5wZXJzaXN0Lm5hbWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAodGhpcy5jbGVhciA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmNsZWFyID0gKCkgPT4geyBcbiAgICAgICAgLy9cbiAgICAgIH07XG4gICAgfVxuXG4gICAgdGhpcy5faW5pdEJ1dHRvbihkYXRhKTtcbiAgfVxuXG4gIHByaXZhdGUgX2luaXRCdXR0b24oZGF0YTogRmlsdGVyQ29uZmlnKTogdm9pZCB7XG4gICAgdGhpcy5idXR0b24gPSBkYXRhLmJ1dHRvbjtcbiAgICBpZiAoIXRoaXMuYnV0dG9uKSB7XG4gICAgICB0aGlzLmJ1dHRvbiA9IHt9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJ1dHRvbi5sYWJlbCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbi5sYWJlbCA9ICdGaWx0ZXJzJztcbiAgICB9XG5cbiAgICBpZiAodGhpcy5idXR0b24uaWNvbiA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbi5pY29uID0gJ2ZpbHRlck91dGxpbmUnO1xuICAgIH1cblxuICAgIGlmICh0aGlzLmJ1dHRvbi5zdHlsZSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aGlzLmJ1dHRvbi5zdHlsZSA9IEJ1dHRvblN0eWxlLlJhaXNlZDtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5idXR0b24uY29sb3IgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhpcy5idXR0b24uY29sb3IgPSAnZGVmYXVsdCc7XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -9,7 +9,7 @@ export { FsSavedFiltersMenuComponent } from './app/components/saved-filter/saved
9
9
  // Directives
10
10
  export { FilterStatusBarDirective } from './app/directives/status-bar/status-bar.directive';
11
11
  // Enums
12
- export { ActionType, ButtonStyle } from './app/enums';
12
+ export { ButtonStyle } from './app/enums';
13
13
  export { ActionMode } from './app/enums/action-mode.enum';
14
14
  export { ItemDateMode } from './app/enums/item-date-mode.enum';
15
15
  export { ItemType } from './app/enums/item-type.enum';
@@ -34,4 +34,4 @@ export { buildQueryParams } from './app/helpers/build-query-params';
34
34
  export { filterFromQueryParam, filterToQueryParam } from './app/helpers/query-param-transformers';
35
35
  // Const
36
36
  export { QUERY_PARAM_DELIMITER } from './app/consts/query-param-delimiter';
37
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRXpHLFVBQVU7QUFDVixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUU1SCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUF3QzVGLFFBQVE7QUFDUixPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQy9ELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbkUsU0FBUztBQUNULE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRDQUE0QyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDaEUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sb0NBQW9DLENBQUM7QUFDbkUsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlDQUF5QyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDNUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBRXhELFlBQVk7QUFDWixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUdqRSxVQUFVO0FBQ1YsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFFbEcsUUFBUTtBQUNSLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9DQUFvQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgRXh0ZXJuYWxQYXJhbXNDb250cm9sbGVyIH0gZnJvbSAnLi9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zLWNvbnRyb2xsZXIuc2VydmljZSc7XG5leHBvcnQgeyBTYXZlZEZpbHRlcnNDb250cm9sbGVyIH0gZnJvbSAnLi9hcHAvc2VydmljZXMvZXh0ZXJuYWwtcGFyYW1zL3NhdmVkLWZpbHRlcnMtY29udHJvbGxlci5zZXJ2aWNlJztcblxuLy8gTW9kdWxlc1xuZXhwb3J0IHsgRnNGaWx0ZXJNb2R1bGUgfSBmcm9tICcuL2FwcC9mcy1maWx0ZXIubW9kdWxlJztcblxuLy8gQ29tcG9uZW50c1xuZXhwb3J0IHsgRmlsdGVyQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9maWx0ZXIvZmlsdGVyLmNvbXBvbmVudCc7XG5leHBvcnQgeyBGaWx0ZXJJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9maWx0ZXJzLWl0ZW0vZmlsdGVyLWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7IEZzU2F2ZWRGaWx0ZXJzTWVudUNvbXBvbmVudCB9IGZyb20gJy4vYXBwL2NvbXBvbmVudHMvc2F2ZWQtZmlsdGVyL3NhdmVkLWZpbHRlcnMtbWVudS9zYXZlZC1maWx0ZXJzLW1lbnUuY29tcG9uZW50JztcblxuLy8gRGlyZWN0aXZlc1xuZXhwb3J0IHsgRmlsdGVyU3RhdHVzQmFyRGlyZWN0aXZlIH0gZnJvbSAnLi9hcHAvZGlyZWN0aXZlcy9zdGF0dXMtYmFyL3N0YXR1cy1iYXIuZGlyZWN0aXZlJztcblxuLy8gSW50ZXJmYWNlc1xuZXhwb3J0IHtcbiAgRnNGaWx0ZXJBY3Rpb24sXG4gIEZzRmlsdGVyQWN0aW9uQ2xpY2tGbixcbiAgRnNGaWx0ZXJBY3Rpb25EaXNhYmxlZEZuLFxuICBGc0ZpbHRlckFjdGlvblNob3dGbixcbiAgRnNGaWx0ZXJBdXRvUmVsb2FkLFxuICBGc0ZpbHRlckZpbGVBY3Rpb25FcnJvckZuLFxuICBGc0ZpbHRlckZpbGVBY3Rpb25TZWxlY3RGbixcbiAgSUZzRmlsdGVyQnV0dG9uQWN0aW9uLFxuICBJRnNGaWx0ZXJGaWxlQWN0aW9uLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uRmlsZUl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25Hcm91cEl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25JdGVtLFxuICBJRnNGaWx0ZXJNZW51QWN0aW9uTGluayxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcyc7XG5cbmV4cG9ydCB7IElGaWx0ZXJDb25maWdBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2F1dG9jb21wbGV0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0Jhc2VJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9iYXNlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9jaGVja2JveC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0NoaXBzSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvY2hpcHMuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlUmFuZ2VJdGVtLCBJRmlsdGVySXRlbURlZmF1bHREYXRlUmFuZ2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2RhdGUtcmFuZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdEYXRlSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1JhbmdlSXRlbSwgSUZpbHRlckl0ZW1EZWZhdWx0UmFuZ2UgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3JhbmdlLmludGVyZmFjZSc7XG5leHBvcnQgeyBGaWx0ZXJWYWx1ZXNSZXR1cm5GbiwgSUZpbHRlckNvbmZpZ1NlbGVjdElzb2xhdGUsIElGaWx0ZXJDb25maWdTZWxlY3RJdGVtLCBJRmlsdGVyU2VsZWN0VmFsdWUgfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3NlbGVjdC5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ1RleHRJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy90ZXh0LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gIENoYW5nZUZuLCBGaWx0ZXJDb25maWcsIEZpbHRlclNvcnQsIEZzRmlsdGVyUGVyc2lzdGFuY2UsIElGaWx0ZXJDb25maWdJdGVtLCBTb3J0LCBTb3J0SXRlbSxcbn0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9jb25maWcuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgRmlsdGVyUmVtb3RlRGVsZXRlLCBGaWx0ZXJSZW1vdGVMb2FkLCBGaWx0ZXJSZW1vdGVPcmRlciwgRmlsdGVyUmVtb3RlU2F2ZSwgSUZpbHRlclNhdmVkRmlsdGVyLFxuICBJRmlsdGVyU2F2ZWRGaWx0ZXJzQ29uZmlnLFxufSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL3NhdmVkLWZpbHRlcnMuaW50ZXJmYWNlJztcblxuLy8gRW51bXNcbmV4cG9ydCB7IEFjdGlvblR5cGUsIEJ1dHRvblN0eWxlIH0gZnJvbSAnLi9hcHAvZW51bXMnO1xuZXhwb3J0IHsgQWN0aW9uTW9kZSB9IGZyb20gJy4vYXBwL2VudW1zL2FjdGlvbi1tb2RlLmVudW0nO1xuZXhwb3J0IHsgSXRlbURhdGVNb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvaXRlbS1kYXRlLW1vZGUuZW51bSc7XG5leHBvcnQgeyBJdGVtVHlwZSB9IGZyb20gJy4vYXBwL2VudW1zL2l0ZW0tdHlwZS5lbnVtJztcbmV4cG9ydCB7IE1lbnVBY3Rpb25Nb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvbWVudS1hY3Rpb24tbW9kZS5lbnVtJztcbi8vIE1vZGVsc1xuZXhwb3J0IHsgQXV0b2NvbXBsZXRlQ2hpcHNJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2F1dG9jb21wbGV0ZS1jaGlwcy1pdGVtJztcbmV4cG9ydCB7IEF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWl0ZW0nO1xuZXhwb3J0IHsgQmFzZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYmFzZS1pdGVtJztcbmV4cG9ydCB7IENoZWNrYm94SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9jaGVja2JveC1pdGVtJztcbmV4cG9ydCB7IENoaXBzSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9jaGlwcy1pdGVtJztcbmV4cG9ydCB7IERhdGVJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtaXRlbSc7XG5leHBvcnQgeyBEYXRlUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2RhdGUtcmFuZ2UtaXRlbSc7XG5leHBvcnQgeyBEYXRlVGltZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLWl0ZW0nO1xuZXhwb3J0IHsgRGF0ZVRpbWVSYW5nZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS10aW1lLXJhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgUmFuZ2VJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL3JhbmdlLWl0ZW0nO1xuZXhwb3J0IHsgU2VsZWN0SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9zZWxlY3QtaXRlbSc7XG5leHBvcnQgeyBUZXh0SXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy90ZXh0LWl0ZW0nO1xuXG4vLyBJbmplY3RvcnNcbmV4cG9ydCB7IEZTX0ZJTFRFUl9DT05GSUcgfSBmcm9tICcuL2FwcC9pbmplY3RvcnMvZmlsdGVyLWNvbmZpZyc7XG5cblxuLy8gSGVscGVyc1xuZXhwb3J0IHsgYnVpbGRRdWVyeVBhcmFtcyB9IGZyb20gJy4vYXBwL2hlbHBlcnMvYnVpbGQtcXVlcnktcGFyYW1zJztcbmV4cG9ydCB7IGZpbHRlckZyb21RdWVyeVBhcmFtLCBmaWx0ZXJUb1F1ZXJ5UGFyYW0gfSBmcm9tICcuL2FwcC9oZWxwZXJzL3F1ZXJ5LXBhcmFtLXRyYW5zZm9ybWVycyc7XG5cbi8vIENvbnN0XG5leHBvcnQgeyBRVUVSWV9QQVJBTV9ERUxJTUlURVIgfSBmcm9tICcuL2FwcC9jb25zdHMvcXVlcnktcGFyYW0tZGVsaW1pdGVyJztcbiJdfQ==
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9wdWJsaWNfYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLG1EQUFtRCxDQUFDO0FBQzdGLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGlFQUFpRSxDQUFDO0FBRXpHLFVBQVU7QUFDVixPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFeEQsYUFBYTtBQUNiLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQ0FBMEMsQ0FBQztBQUMzRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMxRixPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSwrRUFBK0UsQ0FBQztBQUU1SCxhQUFhO0FBQ2IsT0FBTyxFQUFFLHdCQUF3QixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUF3QzVGLFFBQVE7QUFDUixPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUMxRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUNBQWlDLENBQUM7QUFDL0QsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ3RELE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUNuRSxTQUFTO0FBQ1QsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDbkYsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDeEUsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDMUQsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3hELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxvQ0FBb0MsQ0FBQztBQUNuRSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDakUsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0seUNBQXlDLENBQUM7QUFDNUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQzFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUM1RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFeEQsWUFBWTtBQUNaLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBR2pFLFVBQVU7QUFDVixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSx3Q0FBd0MsQ0FBQztBQUVsRyxRQUFRO0FBQ1IsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0NBQW9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBFeHRlcm5hbFBhcmFtc0NvbnRyb2xsZXIgfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMtY29udHJvbGxlci5zZXJ2aWNlJztcbmV4cG9ydCB7IFNhdmVkRmlsdGVyc0NvbnRyb2xsZXIgfSBmcm9tICcuL2FwcC9zZXJ2aWNlcy9leHRlcm5hbC1wYXJhbXMvc2F2ZWQtZmlsdGVycy1jb250cm9sbGVyLnNlcnZpY2UnO1xuXG4vLyBNb2R1bGVzXG5leHBvcnQgeyBGc0ZpbHRlck1vZHVsZSB9IGZyb20gJy4vYXBwL2ZzLWZpbHRlci5tb2R1bGUnO1xuXG4vLyBDb21wb25lbnRzXG5leHBvcnQgeyBGaWx0ZXJDb21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2ZpbHRlci9maWx0ZXIuY29tcG9uZW50JztcbmV4cG9ydCB7IEZpbHRlckl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2FwcC9jb21wb25lbnRzL2ZpbHRlcnMtaXRlbS9maWx0ZXItaXRlbS5jb21wb25lbnQnO1xuZXhwb3J0IHsgRnNTYXZlZEZpbHRlcnNNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9hcHAvY29tcG9uZW50cy9zYXZlZC1maWx0ZXIvc2F2ZWQtZmlsdGVycy1tZW51L3NhdmVkLWZpbHRlcnMtbWVudS5jb21wb25lbnQnO1xuXG4vLyBEaXJlY3RpdmVzXG5leHBvcnQgeyBGaWx0ZXJTdGF0dXNCYXJEaXJlY3RpdmUgfSBmcm9tICcuL2FwcC9kaXJlY3RpdmVzL3N0YXR1cy1iYXIvc3RhdHVzLWJhci5kaXJlY3RpdmUnO1xuXG4vLyBJbnRlcmZhY2VzXG5leHBvcnQge1xuICBGc0ZpbHRlckFjdGlvbixcbiAgRnNGaWx0ZXJBY3Rpb25DbGlja0ZuLFxuICBGc0ZpbHRlckFjdGlvbkRpc2FibGVkRm4sXG4gIEZzRmlsdGVyQWN0aW9uU2hvd0ZuLFxuICBGc0ZpbHRlckF1dG9SZWxvYWQsXG4gIEZzRmlsdGVyRmlsZUFjdGlvbkVycm9yRm4sXG4gIEZzRmlsdGVyRmlsZUFjdGlvblNlbGVjdEZuLFxuICBJRnNGaWx0ZXJCdXR0b25BY3Rpb24sXG4gIElGc0ZpbHRlckZpbGVBY3Rpb24sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb24sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25GaWxlSXRlbSxcbiAgSUZzRmlsdGVyTWVudUFjdGlvbkdyb3VwSXRlbSxcbiAgSUZzRmlsdGVyTWVudUFjdGlvbkl0ZW0sXG4gIElGc0ZpbHRlck1lbnVBY3Rpb25MaW5rLFxufSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzJztcblxuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0F1dG9jb21wbGV0ZUNoaXBzSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvYXV0b2NvbXBsZXRlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQmFzZUl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2Jhc2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IElGaWx0ZXJDb25maWdDaGVja2JveEl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL2NoZWNrYm94LmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnQ2hpcHNJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9jaGlwcy5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVSYW5nZUl0ZW0sIElGaWx0ZXJJdGVtRGVmYXVsdERhdGVSYW5nZSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvZGF0ZS1yYW5nZS5pbnRlcmZhY2UnO1xuZXhwb3J0IHsgSUZpbHRlckNvbmZpZ0RhdGVJdGVtIH0gZnJvbSAnLi9hcHAvaW50ZXJmYWNlcy9pdGVtcy9kYXRlLmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnUmFuZ2VJdGVtLCBJRmlsdGVySXRlbURlZmF1bHRSYW5nZSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvcmFuZ2UuaW50ZXJmYWNlJztcbmV4cG9ydCB7IEZpbHRlclZhbHVlc1JldHVybkZuLCBJRmlsdGVyQ29uZmlnU2VsZWN0SXNvbGF0ZSwgSUZpbHRlckNvbmZpZ1NlbGVjdEl0ZW0sIElGaWx0ZXJTZWxlY3RWYWx1ZSB9IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvaXRlbXMvc2VsZWN0LmludGVyZmFjZSc7XG5leHBvcnQgeyBJRmlsdGVyQ29uZmlnVGV4dEl0ZW0gfSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2l0ZW1zL3RleHQuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgQ2hhbmdlRm4sIEZpbHRlckNvbmZpZywgRmlsdGVyU29ydCwgRnNGaWx0ZXJQZXJzaXN0YW5jZSwgSUZpbHRlckNvbmZpZ0l0ZW0sIFNvcnQsIFNvcnRJdGVtLFxufSBmcm9tICcuL2FwcC9pbnRlcmZhY2VzL2NvbmZpZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICBGaWx0ZXJSZW1vdGVEZWxldGUsIEZpbHRlclJlbW90ZUxvYWQsIEZpbHRlclJlbW90ZU9yZGVyLCBGaWx0ZXJSZW1vdGVTYXZlLCBJRmlsdGVyU2F2ZWRGaWx0ZXIsXG4gIElGaWx0ZXJTYXZlZEZpbHRlcnNDb25maWcsXG59IGZyb20gJy4vYXBwL2ludGVyZmFjZXMvc2F2ZWQtZmlsdGVycy5pbnRlcmZhY2UnO1xuXG4vLyBFbnVtc1xuZXhwb3J0IHsgQnV0dG9uU3R5bGUgfSBmcm9tICcuL2FwcC9lbnVtcyc7XG5leHBvcnQgeyBBY3Rpb25Nb2RlIH0gZnJvbSAnLi9hcHAvZW51bXMvYWN0aW9uLW1vZGUuZW51bSc7XG5leHBvcnQgeyBJdGVtRGF0ZU1vZGUgfSBmcm9tICcuL2FwcC9lbnVtcy9pdGVtLWRhdGUtbW9kZS5lbnVtJztcbmV4cG9ydCB7IEl0ZW1UeXBlIH0gZnJvbSAnLi9hcHAvZW51bXMvaXRlbS10eXBlLmVudW0nO1xuZXhwb3J0IHsgTWVudUFjdGlvbk1vZGUgfSBmcm9tICcuL2FwcC9lbnVtcy9tZW51LWFjdGlvbi1tb2RlLmVudW0nO1xuLy8gTW9kZWxzXG5leHBvcnQgeyBBdXRvY29tcGxldGVDaGlwc0l0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvYXV0b2NvbXBsZXRlLWNoaXBzLWl0ZW0nO1xuZXhwb3J0IHsgQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9hdXRvY29tcGxldGUtaXRlbSc7XG5leHBvcnQgeyBCYXNlSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9iYXNlLWl0ZW0nO1xuZXhwb3J0IHsgQ2hlY2tib3hJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2NoZWNrYm94LWl0ZW0nO1xuZXhwb3J0IHsgQ2hpcHNJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL2NoaXBzLWl0ZW0nO1xuZXhwb3J0IHsgRGF0ZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS1pdGVtJztcbmV4cG9ydCB7IERhdGVSYW5nZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvZGF0ZS1yYW5nZS1pdGVtJztcbmV4cG9ydCB7IERhdGVUaW1lSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtaXRlbSc7XG5leHBvcnQgeyBEYXRlVGltZVJhbmdlSXRlbSB9IGZyb20gJy4vYXBwL21vZGVscy9pdGVtcy9kYXRlLXRpbWUtcmFuZ2UtaXRlbSc7XG5leHBvcnQgeyBSYW5nZUl0ZW0gfSBmcm9tICcuL2FwcC9tb2RlbHMvaXRlbXMvcmFuZ2UtaXRlbSc7XG5leHBvcnQgeyBTZWxlY3RJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL3NlbGVjdC1pdGVtJztcbmV4cG9ydCB7IFRleHRJdGVtIH0gZnJvbSAnLi9hcHAvbW9kZWxzL2l0ZW1zL3RleHQtaXRlbSc7XG5cbi8vIEluamVjdG9yc1xuZXhwb3J0IHsgRlNfRklMVEVSX0NPTkZJRyB9IGZyb20gJy4vYXBwL2luamVjdG9ycy9maWx0ZXItY29uZmlnJztcblxuXG4vLyBIZWxwZXJzXG5leHBvcnQgeyBidWlsZFF1ZXJ5UGFyYW1zIH0gZnJvbSAnLi9hcHAvaGVscGVycy9idWlsZC1xdWVyeS1wYXJhbXMnO1xuZXhwb3J0IHsgZmlsdGVyRnJvbVF1ZXJ5UGFyYW0sIGZpbHRlclRvUXVlcnlQYXJhbSB9IGZyb20gJy4vYXBwL2hlbHBlcnMvcXVlcnktcGFyYW0tdHJhbnNmb3JtZXJzJztcblxuLy8gQ29uc3RcbmV4cG9ydCB7IFFVRVJZX1BBUkFNX0RFTElNSVRFUiB9IGZyb20gJy4vYXBwL2NvbnN0cy9xdWVyeS1wYXJhbS1kZWxpbWl0ZXInO1xuIl19
@@ -1431,17 +1431,6 @@ var ActionMode;
1431
1431
  ActionMode["File"] = "file";
1432
1432
  })(ActionMode || (ActionMode = {}));
1433
1433
 
1434
- var ActionType;
1435
- (function (ActionType) {
1436
- ActionType["Basic"] = "basic";
1437
- ActionType["Raised"] = "raised";
1438
- ActionType["Icon"] = "icon";
1439
- ActionType["Fab"] = "fab";
1440
- ActionType["MiniFab"] = "mini-fab";
1441
- ActionType["Flat"] = "flat";
1442
- ActionType["Stroked"] = "stroked";
1443
- })(ActionType || (ActionType = {}));
1444
-
1445
1434
  var ButtonStyle;
1446
1435
  (function (ButtonStyle) {
1447
1436
  ButtonStyle["Basic"] = "basic";
@@ -1478,6 +1467,7 @@ class FsFilterConfig {
1478
1467
  inline = false;
1479
1468
  autofocus = false;
1480
1469
  chips = false;
1470
+ buttonStyle;
1481
1471
  sortValues = null;
1482
1472
  sort = null;
1483
1473
  queryParam = false;
@@ -1497,27 +1487,28 @@ class FsFilterConfig {
1497
1487
  this._init(data);
1498
1488
  }
1499
1489
  _init(data = {}) {
1500
- this.load = data.load ?? true;
1501
- this.persist = data.persist;
1502
- this.savedFilters = data.savedFilters;
1503
- this.inline = data.inline ?? false;
1504
- this.autofocus = data.autofocus ?? false;
1505
- this.chips = data.chips ?? false;
1506
- this.sortValues = data.sorts;
1507
- this.sort = data.sort;
1508
- this.queryParam = data.queryParam ?? false;
1509
- this.init = data.init;
1510
- this.change = data.change;
1511
- this.reload = data.reload;
1512
- this.autoReload = data.autoReload;
1513
- this.clear = data.clear;
1514
- this.sortChange = data.sortChange;
1515
- this.case = data.case ?? 'camel';
1516
- this.reloadWhenConfigChanged = data.reloadWhenConfigChanged;
1517
- this.button = data.button;
1518
- this.items = data.items;
1519
- this.actions = data.actions;
1520
- this.case = data.case ?? 'camel';
1490
+ Object.assign(this, {
1491
+ load: data.load ?? true,
1492
+ persist: data.persist,
1493
+ savedFilters: data.savedFilters,
1494
+ inline: data.inline ?? false,
1495
+ autofocus: data.autofocus ?? false,
1496
+ chips: data.chips ?? false,
1497
+ sortValues: data.sorts,
1498
+ sort: data.sort,
1499
+ queryParam: data.queryParam ?? false,
1500
+ init: data.init,
1501
+ change: data.change,
1502
+ reload: data.reload,
1503
+ autoReload: data.autoReload,
1504
+ clear: data.clear,
1505
+ sortChange: data.sortChange,
1506
+ case: data.case ?? 'camel',
1507
+ reloadWhenConfigChanged: data.reloadWhenConfigChanged,
1508
+ items: data.items,
1509
+ actions: data.actions,
1510
+ buttonStyle: data.buttonStyle || ButtonStyle.Raised,
1511
+ });
1521
1512
  if (this.persist) {
1522
1513
  if (typeof this.persist === 'object') {
1523
1514
  if (this.persist.name) {
@@ -1525,6 +1516,15 @@ class FsFilterConfig {
1525
1516
  }
1526
1517
  }
1527
1518
  }
1519
+ if (this.clear === undefined) {
1520
+ this.clear = () => {
1521
+ //
1522
+ };
1523
+ }
1524
+ this._initButton(data);
1525
+ }
1526
+ _initButton(data) {
1527
+ this.button = data.button;
1528
1528
  if (!this.button) {
1529
1529
  this.button = {};
1530
1530
  }
@@ -1540,9 +1540,6 @@ class FsFilterConfig {
1540
1540
  if (this.button.color === undefined) {
1541
1541
  this.button.color = 'default';
1542
1542
  }
1543
- if (this.clear === undefined) {
1544
- this.clear = () => { };
1545
- }
1546
1543
  }
1547
1544
  }
1548
1545
 
@@ -2458,7 +2455,7 @@ class Action {
2458
2455
  customize;
2459
2456
  className;
2460
2457
  click;
2461
- type;
2458
+ style;
2462
2459
  tabIndex;
2463
2460
  fileSelected;
2464
2461
  fileError;
@@ -2558,10 +2555,12 @@ class Action {
2558
2555
  this._showFn = config.show;
2559
2556
  this.tabIndex = config.tabIndex ?? 0;
2560
2557
  this.menu = config.menu;
2561
- if (!this.type) {
2562
- this.type = (config.type || filterConfig.button?.style || ActionType.Raised);
2563
- if (this.type === ActionType.Stroked && this.primary) {
2564
- this.type = ActionType.Flat;
2558
+ if (!this.style) {
2559
+ this.style = config.icon && !config.label ?
2560
+ ButtonStyle.Icon :
2561
+ (config.style || filterConfig.buttonStyle || ButtonStyle.Raised);
2562
+ if (!this.primary && this.style === ButtonStyle.Flat) {
2563
+ this.style = ButtonStyle.Stroked;
2565
2564
  }
2566
2565
  }
2567
2566
  if (config.className) {
@@ -2600,14 +2599,14 @@ class Action {
2600
2599
  }
2601
2600
 
2602
2601
  class FsFilterActionButtonComponent {
2603
- ActionType = ActionType;
2602
+ ButtonStyle = ButtonStyle;
2604
2603
  action;
2605
2604
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterActionButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2606
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: { action: "action" }, host: { classAttribute: "action-button" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"action.type\">\n <button\n type=\"button\"\n *ngSwitchCase=\"ActionType.Icon\"\n mat-icon-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Fab button -->\n <button \n type=\"button\"\n *ngSwitchCase=\"ActionType.Fab\"\n mat-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Mini Fab button -->\n <button \n type=\"button\"\n *ngSwitchCase=\"ActionType.MiniFab\"\n mat-mini-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <button \n type=\"button\"\n *ngSwitchDefault\n mat-button\n class=\"button-basic\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.type === ActionType.Raised,\n 'mat-mdc-unelevated-button': action.type === ActionType.Flat,\n 'mat-mdc-outlined-button': action.type === ActionType.Stroked,\n 'mat-mdc-icon-button': action.type === ActionType.Icon,\n 'icon-placement-right': action.iconPlacement === 'right'\n }\"\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [class]=\"action.classArray.join(' ')\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.icon else withIcon\">\n {{action.label}}\n </ng-container>\n\n <ng-template #withIcon>\n <mat-icon>{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: [":host ::ng-deep .button-basic .mdc-button__label{display:flex;align-items:center}:host ::ng-deep .button-basic .mdc-button__label mat-icon{flex-shrink:0}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label{flex-direction:row-reverse}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label mat-icon{margin-left:5px}:host ::ng-deep .button-basic:not(.icon-placement-right) .mdc-button__label mat-icon{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "directive", type: i9.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2605
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: { action: "action" }, host: { classAttribute: "action-button" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"action.style\">\n <button\n type=\"button\"\n *ngSwitchCase=\"ButtonStyle.Icon\"\n mat-icon-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <!-- Fab button -->\n <button\n type=\"button\"\n *ngSwitchCase=\"ButtonStyle.Fab\"\n mat-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <!-- Mini Fab button -->\n <button\n type=\"button\"\n *ngSwitchCase=\"ButtonStyle.MiniFab\"\n mat-mini-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <button\n type=\"button\"\n *ngSwitchDefault\n mat-button\n class=\"button-basic\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.style === ButtonStyle.Raised,\n 'mat-mdc-unelevated-button': action.style === ButtonStyle.Flat,\n 'mat-mdc-outlined-button': action.style === ButtonStyle.Stroked,\n 'mat-mdc-icon-button': action.style === ButtonStyle.Icon,\n 'icon-placement-right': action.iconPlacement === 'right'\n }\"\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [class]=\"action.classArray.join(' ')\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.icon else withIcon\">\n {{ action.label }}\n </ng-container>\n <ng-template #withIcon>\n <mat-icon>\n {{ action.icon }}\n </mat-icon>\n {{ action.label }}\n </ng-template>\n </ng-template>\n</ng-container>", styles: [":host ::ng-deep .button-basic .mdc-button__label{display:flex;align-items:center}:host ::ng-deep .button-basic .mdc-button__label mat-icon{flex-shrink:0}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label{flex-direction:row-reverse}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label mat-icon{margin-left:5px}:host ::ng-deep .button-basic:not(.icon-placement-right) .mdc-button__label mat-icon{margin-right:5px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3$2.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatMiniFabButton, selector: "button[mat-mini-fab]", exportAs: ["matButton"] }, { kind: "component", type: i3$2.MatFabButton, selector: "button[mat-fab]", inputs: ["extended"], exportAs: ["matButton"] }, { kind: "directive", type: i9.FsButtonDirective, selector: "[mat-raised-button]:not([fsFormButtonStandalone]),[mat-button]:not([fsFormButtonStandalone]),[mat-flat-button]:not([fsFormButtonStandalone]),[mat-stroked-button]:not([fsFormButtonStandalone])", inputs: ["name", "dirtySubmit", "form"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2607
2606
  }
2608
2607
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterActionButtonComponent, decorators: [{
2609
2608
  type: Component,
2610
- args: [{ selector: 'fs-filter-action-button', host: { class: 'action-button' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"action.type\">\n <button\n type=\"button\"\n *ngSwitchCase=\"ActionType.Icon\"\n mat-icon-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Fab button -->\n <button \n type=\"button\"\n *ngSwitchCase=\"ActionType.Fab\"\n mat-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <!-- Mini Fab button -->\n <button \n type=\"button\"\n *ngSwitchCase=\"ActionType.MiniFab\"\n mat-mini-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <button \n type=\"button\"\n *ngSwitchDefault\n mat-button\n class=\"button-basic\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.type === ActionType.Raised,\n 'mat-mdc-unelevated-button': action.type === ActionType.Flat,\n 'mat-mdc-outlined-button': action.type === ActionType.Stroked,\n 'mat-mdc-icon-button': action.type === ActionType.Icon,\n 'icon-placement-right': action.iconPlacement === 'right'\n }\"\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [class]=\"action.classArray.join(' ')\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.icon else withIcon\">\n {{action.label}}\n </ng-container>\n\n <ng-template #withIcon>\n <mat-icon>{{action.icon}}</mat-icon>\n {{action.label}}\n </ng-template>\n </ng-template>\n</ng-container>\n", styles: [":host ::ng-deep .button-basic .mdc-button__label{display:flex;align-items:center}:host ::ng-deep .button-basic .mdc-button__label mat-icon{flex-shrink:0}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label{flex-direction:row-reverse}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label mat-icon{margin-left:5px}:host ::ng-deep .button-basic:not(.icon-placement-right) .mdc-button__label mat-icon{margin-right:5px}\n"] }]
2609
+ args: [{ selector: 'fs-filter-action-button', host: { class: 'action-button' }, changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"action.style\">\n <button\n type=\"button\"\n *ngSwitchCase=\"ButtonStyle.Icon\"\n mat-icon-button\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <!-- Fab button -->\n <button\n type=\"button\"\n *ngSwitchCase=\"ButtonStyle.Fab\"\n mat-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <!-- Mini Fab button -->\n <button\n type=\"button\"\n *ngSwitchCase=\"ButtonStyle.MiniFab\"\n mat-mini-fab\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [ngClass]=\"action.classArray\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <button\n type=\"button\"\n *ngSwitchDefault\n mat-button\n class=\"button-basic\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.style === ButtonStyle.Raised,\n 'mat-mdc-unelevated-button': action.style === ButtonStyle.Flat,\n 'mat-mdc-outlined-button': action.style === ButtonStyle.Stroked,\n 'mat-mdc-icon-button': action.style === ButtonStyle.Icon,\n 'icon-placement-right': action.iconPlacement === 'right'\n }\"\n (click)=\"action.click && action.click($event)\"\n [color]=\"action.color\"\n [class]=\"action.classArray.join(' ')\"\n [disabled]=\"action.disabled$ | async\"\n [tabIndex]=\"action.tabIndex\">\n <ng-template [ngTemplateOutlet]=\"buttonContent\"></ng-template>\n </button>\n <ng-template #buttonContent>\n <ng-container *ngIf=\"!action.icon else withIcon\">\n {{ action.label }}\n </ng-container>\n <ng-template #withIcon>\n <mat-icon>\n {{ action.icon }}\n </mat-icon>\n {{ action.label }}\n </ng-template>\n </ng-template>\n</ng-container>", styles: [":host ::ng-deep .button-basic .mdc-button__label{display:flex;align-items:center}:host ::ng-deep .button-basic .mdc-button__label mat-icon{flex-shrink:0}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label{flex-direction:row-reverse}:host ::ng-deep .button-basic.icon-placement-right .mdc-button__label mat-icon{margin-left:5px}:host ::ng-deep .button-basic:not(.icon-placement-right) .mdc-button__label mat-icon{margin-right:5px}\n"] }]
2611
2610
  }], propDecorators: { action: [{
2612
2611
  type: Input
2613
2612
  }] } });
@@ -2632,7 +2631,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
2632
2631
  class FsFilterActionsComponent {
2633
2632
  kebabActions = [];
2634
2633
  actions = [];
2635
- ActionType = ActionType;
2634
+ ButtonStyle = ButtonStyle;
2636
2635
  ActionMode = ActionMode;
2637
2636
  actionChange(action, value, selectButton) {
2638
2637
  if (action.change) {
@@ -2648,11 +2647,11 @@ class FsFilterActionsComponent {
2648
2647
  }
2649
2648
  }
2650
2649
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterActionsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2651
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: { kebabActions: "kebabActions", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-container [ngSwitch]=\"subAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"subAction.multiple\"\n [accept]=\"subAction.accept || '*'\"\n [minWidth]=\"subAction.minWidth\"\n [minHeight]=\"subAction.minHeight\"\n [imageWidth]=\"subAction.maxWidth\"\n [imageHeight]=\"subAction.maxHeight\"\n (select)=\"subAction.fileSelected($event)\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-container [ngSwitch]=\"childAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"childAction.multiple\"\n [accept]=\"childAction.accept || '*'\"\n [minWidth]=\"childAction.minWidth\"\n [minHeight]=\"childAction.minHeight\"\n [imageWidth]=\"childAction.maxWidth\"\n [imageHeight]=\"childAction.maxHeight\"\n (select)=\"childAction.fileSelected($event)\"\n [hidden]=\"(childAction.visible$ | async) === false\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action action-select-button\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.type === ActionType.Raised,\n 'mat-mdc-unelevated-button': action.type === ActionType.Flat,\n 'mat-mdc-outlined-button': action.type === ActionType.Stroked,\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex;align-items:center}.action-button{display:block}.action.action-select-button{width:auto}.action+.action{margin-left:5px}fs-menu{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$1.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6$1.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i6$1.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i6$1.FsMenuFileItemDirective, selector: "[fs-menu-file-item]", inputs: ["multiple", "accept", "minWidth", "minHeight", "imageWidth", "imageHeight"], outputs: ["select", "error"] }, { kind: "directive", type: i9.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: i8.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "beforeProcessing", "clicked", "declined"] }, { kind: "directive", type: i9$1.FsSelectButtonDirective, selector: "[fsSelectButton]", inputs: ["color", "minWidth", "maxWidth", "width", "buttonType", "deselectOnChange"] }, { kind: "directive", type: i10.FsPopoverDirective, selector: "[fsPopover]", inputs: ["text", "template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger", "enabled"] }, { kind: "component", type: FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: ["action"] }, { kind: "component", type: FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: ["kebabActions"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2650
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.7", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: { kebabActions: "kebabActions", actions: "actions" }, ngImport: i0, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n <fs-menu\n #someRef\n class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-container [ngSwitch]=\"subAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">\n {{ subAction.icon }}\n </mat-icon>\n {{ subAction.label }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"subAction.multiple\"\n [accept]=\"subAction.accept || '*'\"\n [minWidth]=\"subAction.minWidth\"\n [minHeight]=\"subAction.minHeight\"\n [imageWidth]=\"subAction.maxWidth\"\n [imageHeight]=\"subAction.maxHeight\"\n (select)=\"subAction.fileSelected($event)\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">\n {{ subAction.icon }}\n </mat-icon>\n {{ subAction.label }}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-container [ngSwitch]=\"childAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">\n {{ childAction.icon }}\n </mat-icon>\n {{ childAction.label }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"childAction.multiple\"\n [accept]=\"childAction.accept || '*'\"\n [minWidth]=\"childAction.minWidth\"\n [minHeight]=\"childAction.minHeight\"\n [imageWidth]=\"childAction.maxWidth\"\n [imageHeight]=\"childAction.maxHeight\"\n (select)=\"childAction.fileSelected($event)\"\n [hidden]=\"(childAction.visible$ | async) === false\">\n <mat-icon *ngIf=\"childAction.icon\">\n {{ childAction.icon }}\n </mat-icon>\n {{ childAction.label }}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select\n class=\"action action-select-button\"\n [buttonType]=\"'basic'\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.style === ButtonStyle.Raised,\n 'mat-mdc-unelevated-button': action.style === ButtonStyle.Flat,\n 'mat-mdc-outlined-button': action.style === ButtonStyle.Stroked,\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\"\n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option\n *ngFor=\"let item of action.values\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button [action]=\"action\"></fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions [kebabActions]=\"kebabActions\"></fs-filter-action-kebab-actions>\n</ng-container>", styles: [":host{display:inline-flex;align-items:center}.action-button{display:block}.action.action-select-button{width:auto}.action+.action{margin-left:5px}fs-menu{display:none}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i4.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$1.FsMenuComponent, selector: "fs-menu", inputs: ["class", "buttonClass", "buttonType", "buttonColor"], outputs: ["opened", "closed"] }, { kind: "directive", type: i6$1.FsMenuItemDirective, selector: "fs-menu-group,[fs-menu-item]" }, { kind: "directive", type: i6$1.FsMenuTriggerDirective, selector: "[fsMenuTriggerFor]", inputs: ["fsMenuTriggerFor"] }, { kind: "directive", type: i6$1.FsMenuFileItemDirective, selector: "[fs-menu-file-item]", inputs: ["multiple", "accept", "minWidth", "minHeight", "imageWidth", "imageHeight"], outputs: ["select", "error"] }, { kind: "directive", type: i9.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: i8.FsFileComponent, selector: "fs-file", inputs: ["minHeight", "minWidth", "orientate", "multiple", "capture", "allowClick", "allowDrop", "accept", "disabled", "imageWidth", "imageHeight", "imageQuality"], outputs: ["select", "error", "beforeProcessing", "clicked", "declined"] }, { kind: "directive", type: i9$1.FsSelectButtonDirective, selector: "[fsSelectButton]", inputs: ["color", "minWidth", "maxWidth", "width", "buttonType", "deselectOnChange"] }, { kind: "directive", type: i10.FsPopoverDirective, selector: "[fsPopover]", inputs: ["text", "template", "data", "leaveDelay", "showDelay", "maxWidth", "wrapperClass", "autoShow", "autoClose", "loadingDiameter", "loading", "indication", "position", "theme", "size", "trigger", "enabled"] }, { kind: "component", type: FsFilterActionButtonComponent, selector: "fs-filter-action-button", inputs: ["action"] }, { kind: "component", type: FsFilterActionKebabActionsComponent, selector: "fs-filter-action-kebab-actions", inputs: ["kebabActions"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
2652
2651
  }
2653
2652
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FsFilterActionsComponent, decorators: [{
2654
2653
  type: Component,
2655
- args: [{ selector: 'fs-filter-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n\n <fs-menu #someRef class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-container [ngSwitch]=\"subAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"subAction.multiple\"\n [accept]=\"subAction.accept || '*'\"\n [minWidth]=\"subAction.minWidth\"\n [minHeight]=\"subAction.minHeight\"\n [imageWidth]=\"subAction.maxWidth\"\n [imageHeight]=\"subAction.maxHeight\"\n (select)=\"subAction.fileSelected($event)\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">{{subAction.icon}}</mat-icon>\n {{subAction.label}}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-container [ngSwitch]=\"childAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"childAction.multiple\"\n [accept]=\"childAction.accept || '*'\"\n [minWidth]=\"childAction.minWidth\"\n [minHeight]=\"childAction.minHeight\"\n [imageWidth]=\"childAction.maxWidth\"\n [imageHeight]=\"childAction.maxHeight\"\n (select)=\"childAction.fileSelected($event)\"\n [hidden]=\"(childAction.visible$ | async) === false\">\n <mat-icon *ngIf=\"childAction.icon\">{{childAction.icon}}</mat-icon>\n {{childAction.label}}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select \n class=\"action action-select-button\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.type === ActionType.Raised,\n 'mat-mdc-unelevated-button': action.type === ActionType.Flat,\n 'mat-mdc-outlined-button': action.type === ActionType.Stroked,\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\" \n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option \n *ngFor=\"let item of action.values\" \n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button \n [action]=\"action\">\n </fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions\n [kebabActions]=\"kebabActions\">\n </fs-filter-action-kebab-actions>\n</ng-container>\n", styles: [":host{display:inline-flex;align-items:center}.action-button{display:block}.action.action-select-button{width:auto}.action+.action{margin-left:5px}fs-menu{display:none}\n"] }]
2654
+ args: [{ selector: 'fs-filter-actions', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container *ngFor=\"let action of actions\">\n <ng-container [ngSwitch]=\"action.mode\">\n <ng-container *ngSwitchCase=\"ActionMode.Button\">\n <fs-filter-action-button\n [action]=\"action\"\n class=\"action\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n </ng-container>\n <ng-container *ngSwitchCase=\"ActionMode.Menu\">\n <fs-filter-action-button\n class=\"action\"\n [action]=\"action\"\n [fsMenuTriggerFor]=\"someRef\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n </fs-filter-action-button>\n <fs-menu\n #someRef\n class=\"action\">\n <ng-container *ngFor=\"let childAction of action.items\">\n <ng-container *ngIf=\"childAction.isGroup else simpleMenuItem\">\n <fs-menu-group [label]=\"childAction.label\">\n <ng-container *ngFor=\"let subAction of childAction.items\">\n <ng-container [ngSwitch]=\"subAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"subAction.routerLink?.link\"\n [queryParams]=\"subAction.routerLink?.queryParams\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">\n {{ subAction.icon }}\n </mat-icon>\n {{ subAction.label }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"subAction.multiple\"\n [accept]=\"subAction.accept || '*'\"\n [minWidth]=\"subAction.minWidth\"\n [minHeight]=\"subAction.minHeight\"\n [imageWidth]=\"subAction.maxWidth\"\n [imageHeight]=\"subAction.maxHeight\"\n (select)=\"subAction.fileSelected($event)\"\n [hidden]=\"(subAction.visible$ | async) === false\"\n (click)=\"actionClick(subAction, $event)\">\n <mat-icon *ngIf=\"subAction.icon\">\n {{ subAction.icon }}\n </mat-icon>\n {{ subAction.label }}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-container>\n </fs-menu-group>\n </ng-container>\n <ng-template #simpleMenuItem>\n <ng-container [ngSwitch]=\"childAction.mode\">\n <ng-container *ngSwitchCase=\"'menu'\">\n <ng-template\n fs-menu-item\n [link]=\"childAction.routerLink?.link\"\n [queryParams]=\"childAction.routerLink?.queryParams\"\n [hidden]=\"(childAction.visible$ | async) === false\"\n (click)=\"childAction.click($event);\">\n <mat-icon *ngIf=\"childAction.icon\">\n {{ childAction.icon }}\n </mat-icon>\n {{ childAction.label }}\n </ng-template>\n </ng-container>\n <ng-container *ngSwitchCase=\"'file'\">\n <ng-template\n fs-menu-file-item\n [multiple]=\"childAction.multiple\"\n [accept]=\"childAction.accept || '*'\"\n [minWidth]=\"childAction.minWidth\"\n [minHeight]=\"childAction.minHeight\"\n [imageWidth]=\"childAction.maxWidth\"\n [imageHeight]=\"childAction.maxHeight\"\n (select)=\"childAction.fileSelected($event)\"\n [hidden]=\"(childAction.visible$ | async) === false\">\n <mat-icon *ngIf=\"childAction.icon\">\n {{ childAction.icon }}\n </mat-icon>\n {{ childAction.label }}\n </ng-template>\n </ng-container>\n </ng-container>\n </ng-template>\n </ng-container>\n </fs-menu>\n </ng-container>\n <ng-container *ngSwitchCase=\"ActionMode.SelectButton\">\n <mat-select\n class=\"action action-select-button\"\n [buttonType]=\"'basic'\"\n [ngClass]=\"{ \n 'mat-mdc-raised-button': action.style === ButtonStyle.Raised,\n 'mat-mdc-unelevated-button': action.style === ButtonStyle.Flat,\n 'mat-mdc-outlined-button': action.style === ButtonStyle.Stroked,\n }\"\n [placeholder]=\"action.label\"\n [(ngModel)]=\"action.value\"\n (ngModelChange)=\"actionChange(action, $event, selectButton)\"\n fsSelectButton\n #selectButton\n [deselectOnChange]=\"false\">\n <mat-option\n *ngFor=\"let item of action.values\"\n [value]=\"item.value\">\n {{ item.name }}\n </mat-option>\n </mat-select>\n </ng-container>\n <ng-container *ngSwitchCase=\"ActionMode.File\">\n <fs-file\n class=\"action action-button\"\n [accept]=\"action.accept || '*'\"\n [multiple]=\"action.multiple\"\n [minWidth]=\"action.minWidth\"\n [minHeight]=\"action.minHeight\"\n [imageWidth]=\"action.maxWidth\"\n [imageHeight]=\"action.maxHeight\"\n (select)=\"action.fileSelected($event)\"\n (error)=\"action.fileError($event)\"\n (clicked)=\"action.click($event)\"\n fsPopover\n [enabled]=\"!!action.tooltip\"\n [text]=\"action.tooltip\">\n <fs-filter-action-button [action]=\"action\"></fs-filter-action-button>\n </fs-file>\n </ng-container>\n </ng-container>\n</ng-container>\n<ng-container *ngIf=\"kebabActions?.length\">\n <fs-filter-action-kebab-actions [kebabActions]=\"kebabActions\"></fs-filter-action-kebab-actions>\n</ng-container>", styles: [":host{display:inline-flex;align-items:center}.action-button{display:block}.action.action-select-button{width:auto}.action+.action{margin-left:5px}fs-menu{display:none}\n"] }]
2656
2655
  }], propDecorators: { kebabActions: [{
2657
2656
  type: Input
2658
2657
  }], actions: [{
@@ -4390,7 +4389,7 @@ class FilterComponent {
4390
4389
  FsFilterItemsStore,
4391
4390
  SavedFiltersController,
4392
4391
  ActionsController,
4393
- ], queries: [{ propertyName: "statusBar", first: true, predicate: FilterStatusBarDirective, descendants: true }], viewQueries: [{ propertyName: "keywordMatInput", first: true, predicate: ["keywordMatInput"], descendants: true, read: MatInput }, { propertyName: "reloadEl", first: true, predicate: ["reloadEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword; else filterKeyword\">\n <div>\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </div>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"filterToolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"filterActions\"></ng-container>\n </div>\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </ng-container>\n</div>\n<ng-template #filterStatusBarChips>\n <ng-container *ngIf=\"statusBar\">\n <div\n class=\"filter-status-container\"\n [ngClass]=\"{ 'has-status': !!filterStatus.textContent }\">\n <div\n class=\"filter-status\"\n #filterStatus>\n <ng-container *ngTemplateOutlet=\"statusBar.templateRef\"></ng-container>\n </div>\n </div>\n </ng-container>\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>\n<ng-template #filterKeyword>\n <div class=\"filter-keyword\">\n <ng-container *ngIf=\"(keywordVisible$ | async) && !keywordItem?.hide \">\n <mat-form-field\n class=\"search-form-field form-field-padless form-field-lineless\"\n [ngClass]=\"{\n 'has-keyword': !!keyword\n }\">\n <span\n matPrefix\n class=\"icon\">\n <mat-icon matPrefix>\n search\n </mat-icon>\n </span>\n <input\n #keywordMatInput\n matInput\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"keywordChange($event)\"\n name=\"filter-input\"\n [fsClear]=\"true\"\n [placeholder]=\"searchPlaceholder\">\n </mat-form-field>\n </ng-container>\n </div>\n</ng-template>\n<ng-template #filterActions>\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</ng-template>\n<ng-template #filterToolbar>\n <div class=\"filter-toobar\">\n @if (filtersBtnVisible$ | async) {\n @if (hasVisibleItemOrSorting) {\n <a\n mat-icon-button\n class=\"button-filters\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n @if (config.button.icon) {\n <mat-icon svgIcon=\"filterOutline\"></mat-icon>\n }\n {{ config.button.label }}\n </a>\n }\n }\n @if (config.reload || config.autoReload) {\n <div class=\"filter-reload\">\n @if (config.autoReload) {\n <mat-slide-toggle\n name=\"autoReload\"\n class=\"auto-reload\"\n [(ngModel)]=\"autoReload\">\n <span>\n Auto refresh\n </span>\n </mat-slide-toggle>\n }\n @if (config.reload) {\n <a\n mat-icon-button\n (click)=\"reload($event)\"\n class=\"button-reload\">\n <mat-icon #reloadEl>\n refresh\n </mat-icon>\n </a>\n }\n </div>\n }\n </div>\n</ng-template>", styles: [":host{margin-bottom:20px;display:block}:host.has-keyword .filter-status-container.has-status{margin-top:4px}:host:not(.has-keyword) .filter-status-container:not(.has-status)+fs-filter-chips{margin-top:0}:host:not(.has-keyword) .filter-inner-container{display:flex}:host:not(.has-keyword) .filter-toobar{justify-content:flex-end}.filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.filter-container{width:100%}.filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:0}.filter-inner-container .filter-keyword mat-form-field.search-form-field{max-width:100%;width:100px;transition:width .2s ease-in-out;margin-top:0}.filter-inner-container .filter-keyword mat-form-field.search-form-field.has-keyword,.filter-inner-container .filter-keyword mat-form-field.search-form-field.mat-focused{width:400px;transition:width .2s ease-in-out}.filter-inner-container .filter-keyword mat-form-field.search-form-field .icon{margin-left:10px;color:#626262}.filter-inner-container .filter-keyword mat-form-field.search-form-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-actions{display:flex;align-items:center}.filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}.filter-toobar .button-filters,.filter-toobar .button-reload{display:flex;width:40px;padding:8px;height:40px}.filter-toobar .button-filters ::ng-deep svg,.filter-toobar .button-reload ::ng-deep svg{display:flex}.filter-toobar .filter-reload{margin-right:5px;display:flex;align-items:center}.filter-toobar .filter-reload .auto-reload{margin-right:5px}.filter-toobar .filter-reload .auto-reload span{font-size:80%}.results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}fs-filter-chips{margin:4px 0;display:flex;flex-wrap:wrap;gap:5px}@media screen and (min-width: 1200px){html.fs-filter-open body{margin-right:350px}.fs-filter-backdrop{display:none}}html.fs-filter-open{scrollbar-width:none}:host ::ng-deep .auto-reload.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(12px,0,0)}:host ::ng-deep .auto-reload:not(.mat-checked) .mat-slide-toggle-content{color:#ccc}:host ::ng-deep .auto-reload .mat-slide-toggle-thumb,:host ::ng-deep .auto-reload .mat-slide-toggle-thumb-container{height:15px;width:15px}:host ::ng-deep .auto-reload .mat-slide-toggle-content{font-size:90%}:host ::ng-deep .auto-reload .mat-slide-toggle-bar{width:26px;height:10px;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i3$2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i9.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: i14.FsClearComponent, selector: "[fsClear]", inputs: ["ngModel", "visible", "fsClear"], outputs: ["ngModelChange", "cleared"] }, { kind: "component", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: ["filters"] }, { kind: "component", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: ["kebabActions", "actions"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4392
+ ], queries: [{ propertyName: "statusBar", first: true, predicate: FilterStatusBarDirective, descendants: true }], viewQueries: [{ propertyName: "keywordMatInput", first: true, predicate: ["keywordMatInput"], descendants: true, read: MatInput }, { propertyName: "reloadEl", first: true, predicate: ["reloadEl"], descendants: true, read: ElementRef }], ngImport: i0, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword; else filterKeyword\">\n <div>\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </div>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"filterToolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"filterActions\"></ng-container>\n </div>\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </ng-container>\n</div>\n<ng-template #filterStatusBarChips>\n <ng-container *ngIf=\"statusBar\">\n <div\n class=\"filter-status-container\"\n [ngClass]=\"{ 'has-status': !!filterStatus.textContent }\">\n <div\n class=\"filter-status\"\n #filterStatus>\n <ng-container *ngTemplateOutlet=\"statusBar.templateRef\"></ng-container>\n </div>\n </div>\n </ng-container>\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>\n<ng-template #filterKeyword>\n <div class=\"filter-keyword\">\n <ng-container *ngIf=\"(keywordVisible$ | async) && !keywordItem?.hide \">\n <mat-form-field\n class=\"search-form-field form-field-padless\"\n [ngClass]=\"{\n 'has-keyword': !!keyword\n }\">\n <span\n matPrefix\n class=\"icon\">\n <mat-icon matPrefix>\n search\n </mat-icon>\n </span>\n <input\n #keywordMatInput\n matInput\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"keywordChange($event)\"\n name=\"filter-input\"\n [fsClear]=\"true\"\n [placeholder]=\"searchPlaceholder\">\n </mat-form-field>\n </ng-container>\n </div>\n</ng-template>\n<ng-template #filterActions>\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</ng-template>\n<ng-template #filterToolbar>\n <div class=\"filter-toobar\">\n @if (filtersBtnVisible$ | async) {\n @if (hasVisibleItemOrSorting) {\n <a\n mat-icon-button\n class=\"button-filters\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n @if (config.button.icon) {\n <mat-icon svgIcon=\"filterOutline\"></mat-icon>\n }\n {{ config.button.label }}\n </a>\n }\n }\n @if (config.reload) {\n <a\n mat-icon-button\n (click)=\"reload($event)\"\n class=\"button-reload\">\n <mat-icon #reloadEl>\n refresh\n </mat-icon>\n </a>\n }\n @if (config.autoReload) {\n <div class=\"filter-reload\">\n @if (config.autoReload) {\n <mat-slide-toggle\n name=\"autoReload\"\n class=\"auto-reload\"\n [(ngModel)]=\"autoReload\">\n <span>\n Auto refresh\n </span>\n </mat-slide-toggle>\n }\n </div>\n }\n </div>\n</ng-template>", styles: [":host{margin-bottom:20px;display:block}:host.has-keyword .filter-status-container.has-status{margin-top:4px}:host:not(.has-keyword) .filter-status-container:not(.has-status)+fs-filter-chips{margin-top:0}:host:not(.has-keyword) .filter-inner-container{display:flex}:host:not(.has-keyword) .filter-toobar{justify-content:flex-end}.filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.filter-container{width:100%}.filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:0;margin-right:3px}.filter-inner-container .filter-keyword mat-form-field.search-form-field{max-width:100%;width:250px;margin-top:0}.filter-inner-container .filter-keyword mat-form-field.search-form-field .icon{margin-left:10px;color:#626262}.filter-inner-container .filter-keyword mat-form-field.search-form-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-actions{display:flex;align-items:center}.filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center}.filter-toobar .button-filters,.filter-toobar .button-reload{display:flex;width:40px;padding:8px;height:40px}.filter-toobar .button-filters ::ng-deep svg,.filter-toobar .button-reload ::ng-deep svg{display:flex}.filter-toobar .filter-reload{margin-left:10px;display:flex;align-items:center}.filter-toobar .filter-reload .auto-reload{margin-right:5px}.filter-toobar .filter-reload .auto-reload span{font-size:80%}.results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}fs-filter-chips{margin:4px 0;display:flex;flex-wrap:wrap;gap:5px}@media screen and (min-width: 1200px){html.fs-filter-open body{margin-right:350px}.fs-filter-backdrop{display:none}}html.fs-filter-open{scrollbar-width:none}:host ::ng-deep .auto-reload.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(12px,0,0)}:host ::ng-deep .auto-reload:not(.mat-checked) .mat-slide-toggle-content{color:#ccc}:host ::ng-deep .auto-reload .mat-slide-toggle-thumb,:host ::ng-deep .auto-reload .mat-slide-toggle-thumb-container{height:15px;width:15px}:host ::ng-deep .auto-reload .mat-slide-toggle-content{font-size:90%}:host ::ng-deep .auto-reload .mat-slide-toggle-bar{width:26px;height:10px;border-radius:10px}\n"], dependencies: [{ kind: "directive", type: i1$1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i2$1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2$1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2$2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i3$1.MatPrefix, selector: "[matPrefix], [matIconPrefix], [matTextPrefix]", inputs: ["matTextPrefix"] }, { kind: "component", type: i3$2.MatIconAnchor, selector: "a[mat-icon-button]", exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i12.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }, { kind: "directive", type: i9.FsFormNoFsValidatorsDirective, selector: "[ngModel]:not([required]):not([fsFormRequired]):not([fsFormCompare]):not([fsFormDateRange]):not([fsFormEmail]):not([fsFormEmails]):not([fsFormFunction]):not([fsFormGreater]):not([fsFormGreaterEqual]):not([fsFormInteger]):not([fsFormLesser]):not([fsFormMax]):not([fsFormMaxLength]):not([fsFormMin]):not([fsFormMinLength]):not([fsFormNumeric]):not([fsFormPattern]):not([fsFormPhone]):not([fsFormUrl]):not([validate])" }, { kind: "component", type: i14.FsClearComponent, selector: "[fsClear]", inputs: ["ngModel", "visible", "fsClear"], outputs: ["ngModelChange", "cleared"] }, { kind: "component", type: FsFilterChipsComponent, selector: "fs-filter-chips", inputs: ["filters"] }, { kind: "component", type: FsFilterActionsComponent, selector: "fs-filter-actions", inputs: ["kebabActions", "actions"] }, { kind: "pipe", type: i1$1.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
4394
4393
  }
4395
4394
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImport: i0, type: FilterComponent, decorators: [{
4396
4395
  type: Component,
@@ -4403,7 +4402,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4403
4402
  FsFilterItemsStore,
4404
4403
  SavedFiltersController,
4405
4404
  ActionsController,
4406
- ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword; else filterKeyword\">\n <div>\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </div>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"filterToolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"filterActions\"></ng-container>\n </div>\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </ng-container>\n</div>\n<ng-template #filterStatusBarChips>\n <ng-container *ngIf=\"statusBar\">\n <div\n class=\"filter-status-container\"\n [ngClass]=\"{ 'has-status': !!filterStatus.textContent }\">\n <div\n class=\"filter-status\"\n #filterStatus>\n <ng-container *ngTemplateOutlet=\"statusBar.templateRef\"></ng-container>\n </div>\n </div>\n </ng-container>\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>\n<ng-template #filterKeyword>\n <div class=\"filter-keyword\">\n <ng-container *ngIf=\"(keywordVisible$ | async) && !keywordItem?.hide \">\n <mat-form-field\n class=\"search-form-field form-field-padless form-field-lineless\"\n [ngClass]=\"{\n 'has-keyword': !!keyword\n }\">\n <span\n matPrefix\n class=\"icon\">\n <mat-icon matPrefix>\n search\n </mat-icon>\n </span>\n <input\n #keywordMatInput\n matInput\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"keywordChange($event)\"\n name=\"filter-input\"\n [fsClear]=\"true\"\n [placeholder]=\"searchPlaceholder\">\n </mat-form-field>\n </ng-container>\n </div>\n</ng-template>\n<ng-template #filterActions>\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</ng-template>\n<ng-template #filterToolbar>\n <div class=\"filter-toobar\">\n @if (filtersBtnVisible$ | async) {\n @if (hasVisibleItemOrSorting) {\n <a\n mat-icon-button\n class=\"button-filters\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n @if (config.button.icon) {\n <mat-icon svgIcon=\"filterOutline\"></mat-icon>\n }\n {{ config.button.label }}\n </a>\n }\n }\n @if (config.reload || config.autoReload) {\n <div class=\"filter-reload\">\n @if (config.autoReload) {\n <mat-slide-toggle\n name=\"autoReload\"\n class=\"auto-reload\"\n [(ngModel)]=\"autoReload\">\n <span>\n Auto refresh\n </span>\n </mat-slide-toggle>\n }\n @if (config.reload) {\n <a\n mat-icon-button\n (click)=\"reload($event)\"\n class=\"button-reload\">\n <mat-icon #reloadEl>\n refresh\n </mat-icon>\n </a>\n }\n </div>\n }\n </div>\n</ng-template>", styles: [":host{margin-bottom:20px;display:block}:host.has-keyword .filter-status-container.has-status{margin-top:4px}:host:not(.has-keyword) .filter-status-container:not(.has-status)+fs-filter-chips{margin-top:0}:host:not(.has-keyword) .filter-inner-container{display:flex}:host:not(.has-keyword) .filter-toobar{justify-content:flex-end}.filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.filter-container{width:100%}.filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:0}.filter-inner-container .filter-keyword mat-form-field.search-form-field{max-width:100%;width:100px;transition:width .2s ease-in-out;margin-top:0}.filter-inner-container .filter-keyword mat-form-field.search-form-field.has-keyword,.filter-inner-container .filter-keyword mat-form-field.search-form-field.mat-focused{width:400px;transition:width .2s ease-in-out}.filter-inner-container .filter-keyword mat-form-field.search-form-field .icon{margin-left:10px;color:#626262}.filter-inner-container .filter-keyword mat-form-field.search-form-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-actions{display:flex;align-items:center}.filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center;justify-content:space-between}.filter-toobar .button-filters,.filter-toobar .button-reload{display:flex;width:40px;padding:8px;height:40px}.filter-toobar .button-filters ::ng-deep svg,.filter-toobar .button-reload ::ng-deep svg{display:flex}.filter-toobar .filter-reload{margin-right:5px;display:flex;align-items:center}.filter-toobar .filter-reload .auto-reload{margin-right:5px}.filter-toobar .filter-reload .auto-reload span{font-size:80%}.results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}fs-filter-chips{margin:4px 0;display:flex;flex-wrap:wrap;gap:5px}@media screen and (min-width: 1200px){html.fs-filter-open body{margin-right:350px}.fs-filter-backdrop{display:none}}html.fs-filter-open{scrollbar-width:none}:host ::ng-deep .auto-reload.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(12px,0,0)}:host ::ng-deep .auto-reload:not(.mat-checked) .mat-slide-toggle-content{color:#ccc}:host ::ng-deep .auto-reload .mat-slide-toggle-thumb,:host ::ng-deep .auto-reload .mat-slide-toggle-thumb-container{height:15px;width:15px}:host ::ng-deep .auto-reload .mat-slide-toggle-content{font-size:90%}:host ::ng-deep .auto-reload .mat-slide-toggle-bar{width:26px;height:10px;border-radius:10px}\n"] }]
4405
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"filter-container\">\n <div class=\"filter-inner-container\">\n <ng-container *ngIf=\"!hasKeyword; else filterKeyword\">\n <div>\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </div>\n </ng-container>\n <ng-container [ngTemplateOutlet]=\"filterToolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"filterActions\"></ng-container>\n </div>\n <ng-container *ngIf=\"hasKeyword\">\n <ng-container *ngTemplateOutlet=\"filterStatusBarChips\"></ng-container>\n </ng-container>\n</div>\n<ng-template #filterStatusBarChips>\n <ng-container *ngIf=\"statusBar\">\n <div\n class=\"filter-status-container\"\n [ngClass]=\"{ 'has-status': !!filterStatus.textContent }\">\n <div\n class=\"filter-status\"\n #filterStatus>\n <ng-container *ngTemplateOutlet=\"statusBar.templateRef\"></ng-container>\n </div>\n </div>\n </ng-container>\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>\n<ng-template #filterKeyword>\n <div class=\"filter-keyword\">\n <ng-container *ngIf=\"(keywordVisible$ | async) && !keywordItem?.hide \">\n <mat-form-field\n class=\"search-form-field form-field-padless\"\n [ngClass]=\"{\n 'has-keyword': !!keyword\n }\">\n <span\n matPrefix\n class=\"icon\">\n <mat-icon matPrefix>\n search\n </mat-icon>\n </span>\n <input\n #keywordMatInput\n matInput\n [(ngModel)]=\"keyword\"\n (ngModelChange)=\"keywordChange($event)\"\n name=\"filter-input\"\n [fsClear]=\"true\"\n [placeholder]=\"searchPlaceholder\">\n </mat-form-field>\n </ng-container>\n </div>\n</ng-template>\n<ng-template #filterActions>\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</ng-template>\n<ng-template #filterToolbar>\n <div class=\"filter-toobar\">\n @if (filtersBtnVisible$ | async) {\n @if (hasVisibleItemOrSorting) {\n <a\n mat-icon-button\n class=\"button-filters\"\n (click)=\"changeVisibilityClick(!showFilterMenu, $event)\"\n [color]=\"config.button.color\">\n @if (config.button.icon) {\n <mat-icon svgIcon=\"filterOutline\"></mat-icon>\n }\n {{ config.button.label }}\n </a>\n }\n }\n @if (config.reload) {\n <a\n mat-icon-button\n (click)=\"reload($event)\"\n class=\"button-reload\">\n <mat-icon #reloadEl>\n refresh\n </mat-icon>\n </a>\n }\n @if (config.autoReload) {\n <div class=\"filter-reload\">\n @if (config.autoReload) {\n <mat-slide-toggle\n name=\"autoReload\"\n class=\"auto-reload\"\n [(ngModel)]=\"autoReload\">\n <span>\n Auto refresh\n </span>\n </mat-slide-toggle>\n }\n </div>\n }\n </div>\n</ng-template>", styles: [":host{margin-bottom:20px;display:block}:host.has-keyword .filter-status-container.has-status{margin-top:4px}:host:not(.has-keyword) .filter-status-container:not(.has-status)+fs-filter-chips{margin-top:0}:host:not(.has-keyword) .filter-inner-container{display:flex}:host:not(.has-keyword) .filter-toobar{justify-content:flex-end}.filter-status-container{flex-grow:1;display:flex;justify-content:center;flex-direction:column;align-self:flex-end}.filter-status-container .filter-status{overflow:hidden;text-overflow:ellipsis;line-height:17px}.filter-container{width:100%}.filter-inner-container{flex-direction:row;box-sizing:border-box;display:flex;position:relative;align-items:center}.filter-inner-container .filter-keyword{flex-direction:row;box-sizing:border-box;display:flex;align-items:center;min-width:0;margin-right:3px}.filter-inner-container .filter-keyword mat-form-field.search-form-field{max-width:100%;width:250px;margin-top:0}.filter-inner-container .filter-keyword mat-form-field.search-form-field .icon{margin-left:10px;color:#626262}.filter-inner-container .filter-keyword mat-form-field.search-form-field ::ng-deep .mat-mdc-form-field-subscript-wrapper{display:none}.filter-actions{display:flex;align-items:center}.filter-toobar{flex:1;white-space:nowrap;display:flex;align-items:center}.filter-toobar .button-filters,.filter-toobar .button-reload{display:flex;width:40px;padding:8px;height:40px}.filter-toobar .button-filters ::ng-deep svg,.filter-toobar .button-reload ::ng-deep svg{display:flex}.filter-toobar .filter-reload{margin-left:10px;display:flex;align-items:center}.filter-toobar .filter-reload .auto-reload{margin-right:5px}.filter-toobar .filter-reload .auto-reload span{font-size:80%}.results{min-height:90px;position:relative;overflow-x:auto;overflow-y:hidden}fs-filter-chips{margin:4px 0;display:flex;flex-wrap:wrap;gap:5px}@media screen and (min-width: 1200px){html.fs-filter-open body{margin-right:350px}.fs-filter-backdrop{display:none}}html.fs-filter-open{scrollbar-width:none}:host ::ng-deep .auto-reload.mat-checked .mat-slide-toggle-thumb-container{transform:translate3d(12px,0,0)}:host ::ng-deep .auto-reload:not(.mat-checked) .mat-slide-toggle-content{color:#ccc}:host ::ng-deep .auto-reload .mat-slide-toggle-thumb,:host ::ng-deep .auto-reload .mat-slide-toggle-thumb-container{height:15px;width:15px}:host ::ng-deep .auto-reload .mat-slide-toggle-content{font-size:90%}:host ::ng-deep .auto-reload .mat-slide-toggle-bar{width:26px;height:10px;border-radius:10px}\n"] }]
4407
4406
  }], ctorParameters: () => [{ type: FsFilterConfig, decorators: [{
4408
4407
  type: Optional
4409
4408
  }, {
@@ -4742,5 +4741,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.7", ngImpor
4742
4741
  * Generated bundle index. Do not edit.
4743
4742
  */
4744
4743
 
4745
- export { ActionMode, ActionType, AutocompleteChipsItem, AutocompleteItem, BaseItem, ButtonStyle, CheckboxItem, ChipsItem, DateItem, DateRangeItem, DateTimeItem, DateTimeRangeItem, ExternalParamsController, FS_FILTER_CONFIG, FilterComponent, FilterItemComponent, FilterStatusBarDirective, FsFilterModule, FsSavedFiltersMenuComponent, ItemDateMode, ItemType, MenuActionMode, QUERY_PARAM_DELIMITER, RangeItem, SavedFiltersController, SelectItem, TextItem, buildQueryParams, filterFromQueryParam, filterToQueryParam };
4744
+ export { ActionMode, AutocompleteChipsItem, AutocompleteItem, BaseItem, ButtonStyle, CheckboxItem, ChipsItem, DateItem, DateRangeItem, DateTimeItem, DateTimeRangeItem, ExternalParamsController, FS_FILTER_CONFIG, FilterComponent, FilterItemComponent, FilterStatusBarDirective, FsFilterModule, FsSavedFiltersMenuComponent, ItemDateMode, ItemType, MenuActionMode, QUERY_PARAM_DELIMITER, RangeItem, SavedFiltersController, SelectItem, TextItem, buildQueryParams, filterFromQueryParam, filterToQueryParam };
4746
4745
  //# sourceMappingURL=firestitch-filter.mjs.map