@elderbyte/ngx-starter 17.11.0-beta4 → 17.11.0-beta5

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.
@@ -7,14 +7,19 @@ export class IncludeExcludeState {
7
7
  this.mode = mode;
8
8
  }
9
9
  }
10
- export var IncludeExcludeMode;
11
- (function (IncludeExcludeMode) {
12
- IncludeExcludeMode["NEUTRAL"] = "NEUTRAL";
13
- IncludeExcludeMode["INCLUDE"] = "INCLUDE";
14
- IncludeExcludeMode["EXCLUDE"] = "EXCLUDE";
15
- })(IncludeExcludeMode || (IncludeExcludeMode = {}));
10
+ export var IncludeExcludeValue;
11
+ (function (IncludeExcludeValue) {
12
+ IncludeExcludeValue["NEUTRAL"] = "NEUTRAL";
13
+ IncludeExcludeValue["INCLUDE"] = "INCLUDE";
14
+ IncludeExcludeValue["EXCLUDE"] = "EXCLUDE";
15
+ })(IncludeExcludeValue || (IncludeExcludeValue = {}));
16
16
  export class IncludeExcludeSelectionModel {
17
- constructor() {
17
+ /***************************************************************************
18
+ * *
19
+ * Constructor *
20
+ * *
21
+ **************************************************************************/
22
+ constructor(strategy) {
18
23
  /***************************************************************************
19
24
  * *
20
25
  * Fields *
@@ -22,6 +27,9 @@ export class IncludeExcludeSelectionModel {
22
27
  **************************************************************************/
23
28
  this.log = LoggerFactory.getLogger(this.constructor.name);
24
29
  this.stateById$ = new BehaviorSubject(new Map());
30
+ if (!strategy)
31
+ throw new Error('strategy is required!');
32
+ this._strategy = strategy;
25
33
  }
26
34
  /***************************************************************************
27
35
  * *
@@ -34,6 +42,12 @@ export class IncludeExcludeSelectionModel {
34
42
  get selection$() {
35
43
  return this.stateById$.pipe(map(stateMap => Array.from(stateMap.values())));
36
44
  }
45
+ get strategy() {
46
+ return this._strategy;
47
+ }
48
+ set strategy(strategy) {
49
+ this._strategy = strategy;
50
+ }
37
51
  /***************************************************************************
38
52
  * *
39
53
  * Public API *
@@ -42,13 +56,13 @@ export class IncludeExcludeSelectionModel {
42
56
  cycleExisting(id) {
43
57
  const existingState = this.findStateById(id);
44
58
  if (existingState) {
45
- return this.updateState(id, this.cycleFilterEntitySelection(existingState.mode));
59
+ return this.updateState(id, this.nextValueByStrategy(existingState.mode));
46
60
  }
47
61
  else {
48
62
  return null;
49
63
  }
50
64
  }
51
- initTo(ids, initialMode = IncludeExcludeMode.NEUTRAL) {
65
+ initTo(ids, initialValueOverride) {
52
66
  const current = this.stateById$.getValue();
53
67
  const newStates = new Map();
54
68
  ids.forEach(id => {
@@ -56,7 +70,7 @@ export class IncludeExcludeSelectionModel {
56
70
  newStates.set(id, current.get(id));
57
71
  }
58
72
  else {
59
- newStates.set(id, new IncludeExcludeState(id, initialMode));
73
+ newStates.set(id, new IncludeExcludeState(id, initialValueOverride ?? this.initialValueByStrategy()));
60
74
  }
61
75
  });
62
76
  this.stateById$.next(newStates);
@@ -89,20 +103,52 @@ export class IncludeExcludeSelectionModel {
89
103
  * Private methods *
90
104
  * *
91
105
  **************************************************************************/
92
- cycleFilterEntitySelection(selection) {
93
- switch (selection) {
94
- case IncludeExcludeMode.NEUTRAL:
95
- return IncludeExcludeMode.INCLUDE;
96
- case IncludeExcludeMode.INCLUDE:
97
- return IncludeExcludeMode.EXCLUDE;
98
- case IncludeExcludeMode.EXCLUDE:
99
- return IncludeExcludeMode.NEUTRAL;
106
+ initialValueByStrategy() {
107
+ switch (this._strategy) {
108
+ case 'FULL_CYCLE':
109
+ return IncludeExcludeValue.NEUTRAL;
110
+ case 'TOGGLE':
111
+ return IncludeExcludeValue.INCLUDE;
112
+ default:
113
+ throw new Error('Unsupported cycle strategy: ' + this._strategy);
114
+ }
115
+ }
116
+ nextValueByStrategy(current) {
117
+ switch (this._strategy) {
118
+ case 'FULL_CYCLE':
119
+ return this.nextValueFullCycle(current);
120
+ case 'TOGGLE':
121
+ return this.nextValueToggle(current);
122
+ default:
123
+ throw new Error('Unsupported cycle strategy: ' + this._strategy);
124
+ }
125
+ }
126
+ nextValueToggle(current) {
127
+ switch (current) {
128
+ case IncludeExcludeValue.NEUTRAL:
129
+ return IncludeExcludeValue.INCLUDE;
130
+ case IncludeExcludeValue.INCLUDE:
131
+ return IncludeExcludeValue.EXCLUDE;
132
+ case IncludeExcludeValue.EXCLUDE:
133
+ return IncludeExcludeValue.INCLUDE;
134
+ default:
135
+ return IncludeExcludeValue.INCLUDE;
136
+ }
137
+ }
138
+ nextValueFullCycle(current) {
139
+ switch (current) {
140
+ case IncludeExcludeValue.NEUTRAL:
141
+ return IncludeExcludeValue.INCLUDE;
142
+ case IncludeExcludeValue.INCLUDE:
143
+ return IncludeExcludeValue.EXCLUDE;
144
+ case IncludeExcludeValue.EXCLUDE:
145
+ return IncludeExcludeValue.NEUTRAL;
100
146
  default:
101
- return IncludeExcludeMode.NEUTRAL;
147
+ return IncludeExcludeValue.NEUTRAL;
102
148
  }
103
149
  }
104
150
  toStateMap(list) {
105
151
  return new Map(list.map(entity => [entity.id, entity]));
106
152
  }
107
153
  }
108
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLEVBQVUsRUFDbkIsSUFBd0I7UUFEZixPQUFFLEdBQUYsRUFBRSxDQUFRO1FBQ25CLFNBQUksR0FBSixJQUFJLENBQW9CO0lBQzdCLENBQUM7Q0FDTjtBQUVELE1BQU0sQ0FBTixJQUFZLGtCQUlYO0FBSkQsV0FBWSxrQkFBa0I7SUFDNUIseUNBQW1CLENBQUE7SUFDbkIseUNBQW1CLENBQUE7SUFDbkIseUNBQW1CLENBQUE7QUFDckIsQ0FBQyxFQUpXLGtCQUFrQixLQUFsQixrQkFBa0IsUUFJN0I7QUFHRCxNQUFNLE9BQU8sNEJBQTRCO0lBQXpDO1FBRUU7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFckQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7SUE4R2pHLENBQUM7SUE1R0M7Ozs7Z0ZBSTRFO0lBRTVFLElBQVcsU0FBUztRQUNsQixPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxN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QUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLDBCQUEwQixDQUFDLFNBQTZCO1FBQzlELFFBQVEsU0FBUyxFQUFFO1lBQ2pCLEtBQUssa0JBQWtCLENBQUMsT0FBTztnQkFDN0IsT0FBTyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7WUFDcEMsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPO2dCQUM3QixPQUFPLGtCQUFrQixDQUFDLE9BQU8sQ0FBQztZQUNwQyxLQUFLLGtCQUFrQixDQUFDLE9BQU87Z0JBQzdCLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDO1lBQ3BDO2dCQUNFLE9BQU8sa0JBQWtCLENBQUMsT0FBTyxDQUFDO1NBQ3JDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FDaEIsSUFBMkI7UUFFM0IsT0FBTyxJQUFJLEdBQUcsQ0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBJbmNsdWRlRXhjbHVkZVN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsXG4gICAgcHVibGljIG1vZGU6IEluY2x1ZGVFeGNsdWRlTW9kZVxuICApIHsgfVxufVxuXG5leHBvcnQgZW51bSBJbmNsdWRlRXhjbHVkZU1vZGUge1xuICBORVVUUkFMID0gJ05FVVRSQUwnLFxuICBJTkNMVURFID0gJ0lOQ0xVREUnLFxuICBFWENMVURFID0gJ0VYQ0xVREUnXG59XG5cblxuZXhwb3J0IGNsYXNzIEluY2x1ZGVFeGNsdWRlU2VsZWN0aW9uTW9kZWwge1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBGaWVsZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgbG9nID0gTG9nZ2VyRmFjdG9yeS5nZXRMb2dnZXIodGhpcy5jb25zdHJ1Y3Rvci5uYW1lKTtcblxuICBwcml2YXRlIHJlYWRvbmx5IHN0YXRlQnlJZCQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PE1hcDxzdHJpbmcsIEluY2x1ZGVFeGNsdWRlU3RhdGU+PihuZXcgTWFwKCkpO1xuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcm9wZXJ0aWVzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBnZXQgc2VsZWN0aW9uKCk6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXSB7XG4gICAgcmV0dXJuIEFycmF5LmZyb20odGhpcy5zdGF0ZUJ5SWQkLmdldFZhbHVlKCkudmFsdWVzKCkpO1xuICB9XG5cbiAgcHVibGljIGdldCBzZWxlY3Rpb24kKCk6IE9ic2VydmFibGU8SW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdPiB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVCeUlkJC5waXBlKFxuICAgICAgbWFwKHN0YXRlTWFwID0+IEFycmF5LmZyb20oc3RhdGVNYXAudmFsdWVzKCkpKSxcbiAgICApO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFB1YmxpYyBBUEkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGN5Y2xlRXhpc3RpbmcoaWQ6IHN0cmluZyk6IEluY2x1ZGVFeGNsdWRlU3RhdGUgfCBudWxsIHtcbiAgICBjb25zdCBleGlzdGluZ1N0YXRlID0gdGhpcy5maW5kU3RhdGVCeUlkKGlkKTtcbiAgICBpZiAoZXhpc3RpbmdTdGF0ZSkge1xuICAgICAgcmV0dXJuIHRoaXMudXBkYXRlU3RhdGUoXG4gICAgICAgIGlkLFxuICAgICAgICB0aGlzLmN5Y2xlRmlsdGVyRW50aXR5U2VsZWN0aW9uKGV4aXN0aW5nU3RhdGUubW9kZSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0VG8oXG4gICAgaWRzOiBzdHJpbmdbXSxcbiAgICBpbml0aWFsTW9kZSA9IEluY2x1ZGVFeGNsdWRlTW9kZS5ORVVUUkFMXG4gICk6IHZvaWQge1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnN0YXRlQnlJZCQuZ2V0VmFsdWUoKTtcbiAgICBjb25zdCBuZXdTdGF0ZXMgPSBuZXcgTWFwPHN0cmluZywgSW5jbHVkZUV4Y2x1ZGVTdGF0ZT4oKTtcbiAgICBpZHMuZm9yRWFjaChpZCA9PiB7XG4gICAgICBpZihjdXJyZW50LmhhcyhpZCkpe1xuICAgICAgICBuZXdTdGF0ZXMuc2V0KGlkLCBjdXJyZW50LmdldChpZCkpO1xuICAgICAgfWVsc2V7XG4gICAgICAgIG5ld1N0YXRlcy5zZXQoaWQsIG5ldyBJbmNsdWRlRXhjbHVkZVN0YXRlKGlkLCBpbml0aWFsTW9kZSkpXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5zdGF0ZUJ5SWQkLm5leHQobmV3U3RhdGVzKTtcbiAgfVxuXG4gIHB1YmxpYyByZXBsYWNlU2VsZWN0aW9uKFxuICAgIG5ld1N0YXRlczogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdXG4gICk6IHZvaWQge1xuICAgIHRoaXMuc3RhdGVCeUlkJC5uZXh0KHRoaXMudG9TdGF0ZU1hcChuZXdTdGF0ZXMpKTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTdGF0ZShpZDogc3RyaW5nLCBtb2RlOiBJbmNsdWRlRXhjbHVkZU1vZGUpOiBJbmNsdWRlRXhjbHVkZVN0YXRlIHtcbiAgICAgY29uc3QgbWFwID0gdGhpcy5zdGF0ZUJ5SWQkLmdldFZhbHVlKCk7XG4gICAgIGNvbnN0IG5ld1N0YXRlID0gbmV3IEluY2x1ZGVFeGNsdWRlU3RhdGUoaWQsIG1vZGUpO1xuICAgICBtYXAuc2V0KGlkLCBuZXdTdGF0ZSk7XG4gICAgIHRoaXMuc3RhdGVCeUlkJC5uZXh0KG1hcCk7XG4gICAgIHJldHVybiBuZXdTdGF0ZTtcbiAgfVxuXG4gIHB1YmxpYyB1cGRhdGVTdGF0ZXMoXG4gICAgbmV3U3RhdGVzOiBJbmNsdWRlRXhjbHVkZVN0YXRlW11cbiAgKTogdm9pZHtcbiAgICBjb25zdCBjdXJyZW50ID0gdGhpcy5zdGF0ZUJ5SWQkLmdldFZhbHVlKCk7XG4gICAgbmV3U3RhdGVzLmZvckVhY2gobmV3U3RhdGUgPT4ge1xuICAgICAgY3VycmVudC5zZXQobmV3U3RhdGUuaWQsIG5ld1N0YXRlKTtcbiAgICB9KTtcbiAgICB0aGlzLnN0YXRlQnlJZCQubmV4dChjdXJyZW50KTtcbiAgfVxuXG4gIHB1YmxpYyBpc0luTW9kZShpZDogc3RyaW5nLCBtb2RlOiBJbmNsdWRlRXhjbHVkZU1vZGUpOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLmZpbmRTdGF0ZUJ5SWQoaWQpPy5tb2RlID09IG1vZGU7XG4gIH1cblxuICBwdWJsaWMgZmluZFN0YXRlQnlJZChzZWFyY2hlZElkOiBzdHJpbmcpOiBJbmNsdWRlRXhjbHVkZVN0YXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVCeUlkJC5nZXRWYWx1ZSgpLmdldChzZWFyY2hlZElkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgY3ljbGVGaWx0ZXJFbnRpdHlTZWxlY3Rpb24oc2VsZWN0aW9uOiBJbmNsdWRlRXhjbHVkZU1vZGUpOiBJbmNsdWRlRXhjbHVkZU1vZGUge1xuICAgIHN3aXRjaCAoc2VsZWN0aW9uKSB7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlTW9kZS5ORVVUUkFMOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVNb2RlLklOQ0xVREU7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlTW9kZS5JTkNMVURFOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVNb2RlLkVYQ0xVREU7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlTW9kZS5FWENMVURFOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVNb2RlLk5FVVRSQUw7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVNb2RlLk5FVVRSQUw7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSB0b1N0YXRlTWFwKFxuICAgIGxpc3Q6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXVxuICApOiBNYXA8c3RyaW5nLCBJbmNsdWRlRXhjbHVkZVN0YXRlPiB7XG4gICAgcmV0dXJuIG5ldyBNYXAoXG4gICAgICBsaXN0Lm1hcChlbnRpdHkgPT4gW2VudGl0eS5pZCwgZW50aXR5XSlcbiAgICApO1xuICB9XG59XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5jbHVkZS1leGNsdWRlLXNlbGVjdGlvbi1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2VsZGVyYnl0ZS9uZ3gtc3RhcnRlci9zcmMvbGliL2NvbXBvbmVudHMvc2VsZWN0L2ZpbHRlci9pbmNsdWRlLWV4Y2x1ZGUtc2VsZWN0aW9uLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQWEsTUFBTSxNQUFNLENBQUM7QUFDakQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ25ELE9BQU8sRUFBQyxHQUFHLEVBQUMsTUFBTSxnQkFBZ0IsQ0FBQztBQUVuQyxNQUFNLE9BQU8sbUJBQW1CO0lBQzlCLFlBQ2tCLEVBQVUsRUFDbkIsSUFBeUI7UUFEaEIsT0FBRSxHQUFGLEVBQUUsQ0FBUTtRQUNuQixTQUFJLEdBQUosSUFBSSxDQUFxQjtJQUM5QixDQUFDO0NBQ047QUFFRCxNQUFNLENBQU4sSUFBWSxtQkFJWDtBQUpELFdBQVksbUJBQW1CO0lBQzdCLDBDQUFtQixDQUFBO0lBQ25CLDBDQUFtQixDQUFBO0lBQ25CLDBDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyxtQkFBbUIsS0FBbkIsbUJBQW1CLFFBSTlCO0FBSUQsTUFBTSxPQUFPLDRCQUE0QjtJQWF2Qzs7OztnRkFJNEU7SUFFNUUsWUFDRSxRQUFxQztRQWxCdkM7Ozs7b0ZBSTRFO1FBRTNELFFBQUcsR0FBRyxhQUFhLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUM7UUFHckQsZUFBVSxHQUFHLElBQUksZUFBZSxDQUFtQyxJQUFJLEdBQUcsRUFBRSxDQUFDLENBQUM7UUFXN0YsSUFBRyxDQUFDLFFBQVE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNB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QUMsT0FBTztnQkFDOUIsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDckMsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO2dCQUM5QixPQUFPLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztZQUNyQztnQkFDRSxPQUFPLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztTQUN0QztJQUNILENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxPQUE0QjtRQUNyRCxRQUFRLE9BQU8sRUFBRTtZQUNmLEtBQUssbUJBQW1CLENBQUMsT0FBTztnQkFDOUIsT0FBTyxtQkFBbUIsQ0FBQyxPQUFPLENBQUM7WUFDckMsS0FBSyxtQkFBbUIsQ0FBQyxPQUFPO2dCQUM5QixPQUFPLG1CQUFtQixDQUFDLE9BQU8sQ0FBQztZQUNyQyxLQUFLLG1CQUFtQixDQUFDLE9BQU87Z0JBQzlCLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxDQUFDO1lBQ3JDO2dCQUNFLE9BQU8sbUJBQW1CLENBQUMsT0FBTyxDQUFDO1NBQ3RDO0lBQ0gsQ0FBQztJQUVPLFVBQVUsQ0FDaEIsSUFBMkI7UUFFM0IsT0FBTyxJQUFJLEdBQUcsQ0FDWixJQUFJLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxFQUFFLE1BQU0sQ0FBQyxDQUFDLENBQ3hDLENBQUM7SUFDSixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0JlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5pbXBvcnQge0xvZ2dlckZhY3Rvcnl9IGZyb20gJ0BlbGRlcmJ5dGUvdHMtbG9nZ2VyJztcbmltcG9ydCB7bWFwfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbmV4cG9ydCBjbGFzcyBJbmNsdWRlRXhjbHVkZVN0YXRlIHtcbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHJlYWRvbmx5IGlkOiBzdHJpbmcsXG4gICAgcHVibGljIG1vZGU6IEluY2x1ZGVFeGNsdWRlVmFsdWVcbiAgKSB7IH1cbn1cblxuZXhwb3J0IGVudW0gSW5jbHVkZUV4Y2x1ZGVWYWx1ZSB7XG4gIE5FVVRSQUwgPSAnTkVVVFJBTCcsXG4gIElOQ0xVREUgPSAnSU5DTFVERScsXG4gIEVYQ0xVREUgPSAnRVhDTFVERSdcbn1cblxuZXhwb3J0IHR5cGUgSW5jbHVkZUV4Y2x1ZGVDeWNsZVN0cmF0ZWd5ID0gJ1RPR0dMRScgfCAnRlVMTF9DWUNMRSc7XG5cbmV4cG9ydCBjbGFzcyBJbmNsdWRlRXhjbHVkZVNlbGVjdGlvbk1vZGVsIHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGxvZyA9IExvZ2dlckZhY3RvcnkuZ2V0TG9nZ2VyKHRoaXMuY29uc3RydWN0b3IubmFtZSk7XG5cbiAgcHJpdmF0ZSBfc3RyYXRlZ3k6IEluY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneTtcbiAgcHJpdmF0ZSByZWFkb25seSBzdGF0ZUJ5SWQkID0gbmV3IEJlaGF2aW9yU3ViamVjdDxNYXA8c3RyaW5nLCBJbmNsdWRlRXhjbHVkZVN0YXRlPj4obmV3IE1hcCgpKTtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogQ29uc3RydWN0b3IgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdHJhdGVneTogSW5jbHVkZUV4Y2x1ZGVDeWNsZVN0cmF0ZWd5XG4gICkge1xuICAgIGlmKCFzdHJhdGVneSkgdGhyb3cgbmV3IEVycm9yKCdzdHJhdGVneSBpcyByZXF1aXJlZCEnKTtcbiAgICB0aGlzLl9zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHVibGljIGdldCBzZWxlY3Rpb24oKTogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdIHtcbiAgICByZXR1cm4gQXJyYXkuZnJvbSh0aGlzLnN0YXRlQnlJZCQuZ2V0VmFsdWUoKS52YWx1ZXMoKSk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHNlbGVjdGlvbiQoKTogT2JzZXJ2YWJsZTxJbmNsdWRlRXhjbHVkZVN0YXRlW10+IHtcbiAgICByZXR1cm4gdGhpcy5zdGF0ZUJ5SWQkLnBpcGUoXG4gICAgICBtYXAoc3RhdGVNYXAgPT4gQXJyYXkuZnJvbShzdGF0ZU1hcC52YWx1ZXMoKSkpLFxuICAgICk7XG4gIH1cblxuICBwdWJsaWMgZ2V0IHN0cmF0ZWd5KCk6IEluY2x1ZGVFeGNsdWRlQ3ljbGVTdHJhdGVneSB7XG4gICAgcmV0dXJuIHRoaXMuX3N0cmF0ZWd5O1xuICB9XG5cbiAgcHVibGljIHNldCBzdHJhdGVneShzdHJhdGVneTogSW5jbHVkZUV4Y2x1ZGVDeWNsZVN0cmF0ZWd5KSB7XG4gICAgdGhpcy5fc3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQdWJsaWMgQVBJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHB1YmxpYyBjeWNsZUV4aXN0aW5nKGlkOiBzdHJpbmcpOiBJbmNsdWRlRXhjbHVkZVN0YXRlIHwgbnVsbCB7XG4gICAgY29uc3QgZXhpc3RpbmdTdGF0ZSA9IHRoaXMuZmluZFN0YXRlQnlJZChpZCk7XG4gICAgaWYgKGV4aXN0aW5nU3RhdGUpIHtcbiAgICAgIHJldHVybiB0aGlzLnVwZGF0ZVN0YXRlKFxuICAgICAgICBpZCxcbiAgICAgICAgdGhpcy5uZXh0VmFsdWVCeVN0cmF0ZWd5KGV4aXN0aW5nU3RhdGUubW9kZSlcbiAgICAgICk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBpbml0VG8oXG4gICAgaWRzOiBzdHJpbmdbXSxcbiAgICBpbml0aWFsVmFsdWVPdmVycmlkZT86IEluY2x1ZGVFeGNsdWRlVmFsdWVcbiAgKTogdm9pZCB7XG4gICAgY29uc3QgY3VycmVudCA9IHRoaXMuc3RhdGVCeUlkJC5nZXRWYWx1ZSgpO1xuICAgIGNvbnN0IG5ld1N0YXRlcyA9IG5ldyBNYXA8c3RyaW5nLCBJbmNsdWRlRXhjbHVkZVN0YXRlPigpO1xuICAgIGlkcy5mb3JFYWNoKGlkID0+IHtcbiAgICAgIGlmKGN1cnJlbnQuaGFzKGlkKSl7XG4gICAgICAgIG5ld1N0YXRlcy5zZXQoaWQsIGN1cnJlbnQuZ2V0KGlkKSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBuZXdTdGF0ZXMuc2V0KGlkLCBuZXcgSW5jbHVkZUV4Y2x1ZGVTdGF0ZShpZCwgaW5pdGlhbFZhbHVlT3ZlcnJpZGUgPz8gdGhpcy5pbml0aWFsVmFsdWVCeVN0cmF0ZWd5KCkpKVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuc3RhdGVCeUlkJC5uZXh0KG5ld1N0YXRlcyk7XG4gIH1cblxuICBwdWJsaWMgcmVwbGFjZVNlbGVjdGlvbihcbiAgICBuZXdTdGF0ZXM6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXVxuICApOiB2b2lkIHtcbiAgICB0aGlzLnN0YXRlQnlJZCQubmV4dCh0aGlzLnRvU3RhdGVNYXAobmV3U3RhdGVzKSk7XG4gIH1cblxuICBwdWJsaWMgdXBkYXRlU3RhdGUoaWQ6IHN0cmluZywgbW9kZTogSW5jbHVkZUV4Y2x1ZGVWYWx1ZSk6IEluY2x1ZGVFeGNsdWRlU3RhdGUge1xuICAgICBjb25zdCBtYXAgPSB0aGlzLnN0YXRlQnlJZCQuZ2V0VmFsdWUoKTtcbiAgICAgY29uc3QgbmV3U3RhdGUgPSBuZXcgSW5jbHVkZUV4Y2x1ZGVTdGF0ZShpZCwgbW9kZSk7XG4gICAgIG1hcC5zZXQoaWQsIG5ld1N0YXRlKTtcbiAgICAgdGhpcy5zdGF0ZUJ5SWQkLm5leHQobWFwKTtcbiAgICAgcmV0dXJuIG5ld1N0YXRlO1xuICB9XG5cbiAgcHVibGljIHVwZGF0ZVN0YXRlcyhcbiAgICBuZXdTdGF0ZXM6IEluY2x1ZGVFeGNsdWRlU3RhdGVbXVxuICApOiB2b2lke1xuICAgIGNvbnN0IGN1cnJlbnQgPSB0aGlzLnN0YXRlQnlJZCQuZ2V0VmFsdWUoKTtcbiAgICBuZXdTdGF0ZXMuZm9yRWFjaChuZXdTdGF0ZSA9PiB7XG4gICAgICBjdXJyZW50LnNldChuZXdTdGF0ZS5pZCwgbmV3U3RhdGUpO1xuICAgIH0pO1xuICAgIHRoaXMuc3RhdGVCeUlkJC5uZXh0KGN1cnJlbnQpO1xuICB9XG5cbiAgcHVibGljIGlzSW5Nb2RlKGlkOiBzdHJpbmcsIG1vZGU6IEluY2x1ZGVFeGNsdWRlVmFsdWUpOiBib29sZWFue1xuICAgIHJldHVybiB0aGlzLmZpbmRTdGF0ZUJ5SWQoaWQpPy5tb2RlID09IG1vZGU7XG4gIH1cblxuICBwdWJsaWMgZmluZFN0YXRlQnlJZChzZWFyY2hlZElkOiBzdHJpbmcpOiBJbmNsdWRlRXhjbHVkZVN0YXRlIHwgbnVsbCB7XG4gICAgcmV0dXJuIHRoaXMuc3RhdGVCeUlkJC5nZXRWYWx1ZSgpLmdldChzZWFyY2hlZElkKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBQcml2YXRlIG1ldGhvZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIHByaXZhdGUgaW5pdGlhbFZhbHVlQnlTdHJhdGVneSgpOiBJbmNsdWRlRXhjbHVkZVZhbHVlIHtcbiAgICBzd2l0Y2ggKHRoaXMuX3N0cmF0ZWd5KXtcbiAgICAgIGNhc2UgJ0ZVTExfQ1lDTEUnOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5ORVVUUkFMO1xuICAgICAgY2FzZSAnVE9HR0xFJzpcbiAgICAgICAgcmV0dXJuIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHRocm93IG5ldyBFcnJvcignVW5zdXBwb3J0ZWQgY3ljbGUgc3RyYXRlZ3k6ICcgKyB0aGlzLl9zdHJhdGVneSk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0VmFsdWVCeVN0cmF0ZWd5KGN1cnJlbnQ6IEluY2x1ZGVFeGNsdWRlVmFsdWUpOiBJbmNsdWRlRXhjbHVkZVZhbHVlIHtcbiAgICBzd2l0Y2ggKHRoaXMuX3N0cmF0ZWd5KXtcbiAgICAgIGNhc2UgJ0ZVTExfQ1lDTEUnOlxuICAgICAgICByZXR1cm4gdGhpcy5uZXh0VmFsdWVGdWxsQ3ljbGUoY3VycmVudCk7XG4gICAgICBjYXNlICdUT0dHTEUnOlxuICAgICAgICByZXR1cm4gdGhpcy5uZXh0VmFsdWVUb2dnbGUoY3VycmVudCk7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1Vuc3VwcG9ydGVkIGN5Y2xlIHN0cmF0ZWd5OiAnICsgdGhpcy5fc3RyYXRlZ3kpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgbmV4dFZhbHVlVG9nZ2xlKGN1cnJlbnQ6IEluY2x1ZGVFeGNsdWRlVmFsdWUpOiBJbmNsdWRlRXhjbHVkZVZhbHVlIHtcbiAgICBzd2l0Y2ggKGN1cnJlbnQpIHtcbiAgICAgIGNhc2UgSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5ORVVUUkFMOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5JTkNMVURFO1xuICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU6XG4gICAgICAgIHJldHVybiBJbmNsdWRlRXhjbHVkZVZhbHVlLkVYQ0xVREU7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuRVhDTFVERTpcbiAgICAgICAgcmV0dXJuIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTtcbiAgICAgIGRlZmF1bHQ6XG4gICAgICAgIHJldHVybiBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBuZXh0VmFsdWVGdWxsQ3ljbGUoY3VycmVudDogSW5jbHVkZUV4Y2x1ZGVWYWx1ZSk6IEluY2x1ZGVFeGNsdWRlVmFsdWUge1xuICAgIHN3aXRjaCAoY3VycmVudCkge1xuICAgICAgY2FzZSBJbmNsdWRlRXhjbHVkZVZhbHVlLk5FVVRSQUw6XG4gICAgICAgIHJldHVybiBJbmNsdWRlRXhjbHVkZVZhbHVlLklOQ0xVREU7XG4gICAgICBjYXNlIEluY2x1ZGVFeGNsdWRlVmFsdWUuSU5DTFVERTpcbiAgICAgICAgcmV0dXJuIEluY2x1ZGVFeGNsdWRlVmFsdWUuRVhDTFVERTtcbiAgICAgIGNhc2UgSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5FWENMVURFOlxuICAgICAgICByZXR1cm4gSW5jbHVkZUV4Y2x1ZGVWYWx1ZS5ORVVUUkFMO1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgcmV0dXJuIEluY2x1ZGVFeGNsdWRlVmFsdWUuTkVVVFJBTDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHRvU3RhdGVNYXAoXG4gICAgbGlzdDogSW5jbHVkZUV4Y2x1ZGVTdGF0ZVtdXG4gICk6IE1hcDxzdHJpbmcsIEluY2x1ZGVFeGNsdWRlU3RhdGU+IHtcbiAgICByZXR1cm4gbmV3IE1hcChcbiAgICAgIGxpc3QubWFwKGVudGl0eSA9PiBbZW50aXR5LmlkLCBlbnRpdHldKVxuICAgICk7XG4gIH1cbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import * as i2$1 from '@angular/common';
2
2
  import { formatDate, CommonModule, formatCurrency, getCurrencySymbol, NgIf, AsyncPipe, NgFor, NgClass, NgTemplateOutlet, NgStyle, formatNumber, DecimalPipe, DatePipe, registerLocaleData, CurrencyPipe } from '@angular/common';
3
3
  import * as i0 from '@angular/core';
4
- import { Pipe, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Directive, Output, Input, forwardRef, ViewChild, HostBinding, ViewChildren, ContentChild, Injectable, Component, ChangeDetectionStrategy, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, ViewEncapsulation, InjectionToken, ContentChildren, Self } from '@angular/core';
4
+ import { Pipe, LOCALE_ID, Inject, NgModule, Optional, SkipSelf, Directive, Output, Input, forwardRef, ViewChild, HostBinding, ViewChildren, ContentChild, Injectable, Component, ChangeDetectionStrategy, Host, APP_INITIALIZER, TemplateRef, HostListener, EventEmitter, ViewEncapsulation, InjectionToken, ContentChildren, Self, input } from '@angular/core';
5
5
  import * as i1 from '@angular/platform-browser';
6
6
  import { Duration, Period, TemporalQueries, LocalTime, Instant, LocalDate, nativeJs, ZoneId, DateTimeFormatter, convert, ZonedDateTime, Temporal } from '@js-joda/core';
7
7
  import { LoggerFactory } from '@elderbyte/ts-logger';
@@ -23266,12 +23266,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
23266
23266
  type: Optional
23267
23267
  }] }, { type: i0.DestroyRef }] });
23268
23268
 
23269
- class ElderFilterChipTemplate {
23270
- /***************************************************************************
23271
- * *
23272
- * Constructor *
23273
- * *
23274
- **************************************************************************/
23269
+ class ElderFilterChipTemplateComponent {
23275
23270
  constructor() {
23276
23271
  /***************************************************************************
23277
23272
  * *
@@ -23279,8 +23274,7 @@ class ElderFilterChipTemplate {
23279
23274
  * *
23280
23275
  **************************************************************************/
23281
23276
  this._avatarRef$ = new BehaviorSubject(null);
23282
- this._bodyRef$ = new BehaviorSubject(null);
23283
- this._resolveAvatar$ = new BehaviorSubject(null);
23277
+ this.avatarResolverFn = input.required();
23284
23278
  }
23285
23279
  /***************************************************************************
23286
23280
  * *
@@ -23293,30 +23287,15 @@ class ElderFilterChipTemplate {
23293
23287
  get avatarRef$() {
23294
23288
  return this._avatarRef$.asObservable();
23295
23289
  }
23296
- set bodyRef(avatarRef) {
23297
- this._bodyRef$.next(avatarRef);
23298
- }
23299
- get bodyRef$() {
23300
- return this._bodyRef$.asObservable();
23301
- }
23302
- set resolveAvatar(fn) {
23303
- this._resolveAvatar$.next(fn);
23304
- }
23305
- get resolveAvatar$() {
23306
- return this._resolveAvatar$.asObservable();
23307
- }
23308
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderFilterChipTemplate, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23309
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: ElderFilterChipTemplate, isStandalone: true, selector: "elder-filter-chip-template", viewQueries: [{ propertyName: "avatarRef", first: true, predicate: ["avatar"], descendants: true }, { propertyName: "bodyRef", first: true, predicate: ["body"], descendants: true }], ngImport: i0, template: "<ng-template #avatar let-chipModel>\n @if(resolveAvatar$ | async; as resolveAvatar) {\n <mat-icon class=\"material-icons-outlined\">{{resolveAvatar(chipModel?.value?.id)}}</mat-icon>\n }\n</ng-template>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "pipe", type: AsyncPipe, name: "async" }, { kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
23290
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderFilterChipTemplateComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
23291
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.11", type: ElderFilterChipTemplateComponent, isStandalone: true, selector: "elder-filter-chip-template", inputs: { avatarResolverFn: { classPropertyName: "avatarResolverFn", publicName: "avatarResolverFn", isSignal: true, isRequired: true, transformFunction: null } }, viewQueries: [{ propertyName: "avatarRef", first: true, predicate: ["avatar"], descendants: true }], ngImport: i0, template: "<ng-template #avatar let-chipModel>\n @if(avatarResolverFn(); as resolveAvatar) {\n <mat-icon class=\"material-icons-outlined\">{{resolveAvatar(chipModel?.value?.id)}}</mat-icon>\n }\n</ng-template>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"], dependencies: [{ kind: "component", type: MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
23310
23292
  }
23311
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderFilterChipTemplate, decorators: [{
23293
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderFilterChipTemplateComponent, decorators: [{
23312
23294
  type: Component,
23313
- args: [{ selector: 'elder-filter-chip-template', standalone: true, imports: [AsyncPipe, MatIcon], template: "<ng-template #avatar let-chipModel>\n @if(resolveAvatar$ | async; as resolveAvatar) {\n <mat-icon class=\"material-icons-outlined\">{{resolveAvatar(chipModel?.value?.id)}}</mat-icon>\n }\n</ng-template>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
23314
- }], ctorParameters: () => [], propDecorators: { avatarRef: [{
23295
+ args: [{ selector: 'elder-filter-chip-template', standalone: true, imports: [AsyncPipe, MatIcon], changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-template #avatar let-chipModel>\n @if(avatarResolverFn(); as resolveAvatar) {\n <mat-icon class=\"material-icons-outlined\">{{resolveAvatar(chipModel?.value?.id)}}</mat-icon>\n }\n</ng-template>\n", styles: [".elder-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.elder-trailing-icon{color:var(--mdc-chip-with-trailing-icon-trailing-icon-color);opacity:.54}.cdk-drag-preview{box-sizing:border-box;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}\n"] }]
23296
+ }], propDecorators: { avatarRef: [{
23315
23297
  type: ViewChild,
23316
23298
  args: ['avatar']
23317
- }], bodyRef: [{
23318
- type: ViewChild,
23319
- args: ['body']
23320
23299
  }] } });
23321
23300
 
23322
23301
  class IncludeExcludeState {
@@ -23325,14 +23304,19 @@ class IncludeExcludeState {
23325
23304
  this.mode = mode;
23326
23305
  }
23327
23306
  }
23328
- var IncludeExcludeMode;
23329
- (function (IncludeExcludeMode) {
23330
- IncludeExcludeMode["NEUTRAL"] = "NEUTRAL";
23331
- IncludeExcludeMode["INCLUDE"] = "INCLUDE";
23332
- IncludeExcludeMode["EXCLUDE"] = "EXCLUDE";
23333
- })(IncludeExcludeMode || (IncludeExcludeMode = {}));
23307
+ var IncludeExcludeValue;
23308
+ (function (IncludeExcludeValue) {
23309
+ IncludeExcludeValue["NEUTRAL"] = "NEUTRAL";
23310
+ IncludeExcludeValue["INCLUDE"] = "INCLUDE";
23311
+ IncludeExcludeValue["EXCLUDE"] = "EXCLUDE";
23312
+ })(IncludeExcludeValue || (IncludeExcludeValue = {}));
23334
23313
  class IncludeExcludeSelectionModel {
23335
- constructor() {
23314
+ /***************************************************************************
23315
+ * *
23316
+ * Constructor *
23317
+ * *
23318
+ **************************************************************************/
23319
+ constructor(strategy) {
23336
23320
  /***************************************************************************
23337
23321
  * *
23338
23322
  * Fields *
@@ -23340,6 +23324,9 @@ class IncludeExcludeSelectionModel {
23340
23324
  **************************************************************************/
23341
23325
  this.log = LoggerFactory.getLogger(this.constructor.name);
23342
23326
  this.stateById$ = new BehaviorSubject(new Map());
23327
+ if (!strategy)
23328
+ throw new Error('strategy is required!');
23329
+ this._strategy = strategy;
23343
23330
  }
23344
23331
  /***************************************************************************
23345
23332
  * *
@@ -23352,6 +23339,12 @@ class IncludeExcludeSelectionModel {
23352
23339
  get selection$() {
23353
23340
  return this.stateById$.pipe(map(stateMap => Array.from(stateMap.values())));
23354
23341
  }
23342
+ get strategy() {
23343
+ return this._strategy;
23344
+ }
23345
+ set strategy(strategy) {
23346
+ this._strategy = strategy;
23347
+ }
23355
23348
  /***************************************************************************
23356
23349
  * *
23357
23350
  * Public API *
@@ -23360,13 +23353,13 @@ class IncludeExcludeSelectionModel {
23360
23353
  cycleExisting(id) {
23361
23354
  const existingState = this.findStateById(id);
23362
23355
  if (existingState) {
23363
- return this.updateState(id, this.cycleFilterEntitySelection(existingState.mode));
23356
+ return this.updateState(id, this.nextValueByStrategy(existingState.mode));
23364
23357
  }
23365
23358
  else {
23366
23359
  return null;
23367
23360
  }
23368
23361
  }
23369
- initTo(ids, initialMode = IncludeExcludeMode.NEUTRAL) {
23362
+ initTo(ids, initialValueOverride) {
23370
23363
  const current = this.stateById$.getValue();
23371
23364
  const newStates = new Map();
23372
23365
  ids.forEach(id => {
@@ -23374,7 +23367,7 @@ class IncludeExcludeSelectionModel {
23374
23367
  newStates.set(id, current.get(id));
23375
23368
  }
23376
23369
  else {
23377
- newStates.set(id, new IncludeExcludeState(id, initialMode));
23370
+ newStates.set(id, new IncludeExcludeState(id, initialValueOverride ?? this.initialValueByStrategy()));
23378
23371
  }
23379
23372
  });
23380
23373
  this.stateById$.next(newStates);
@@ -23407,16 +23400,48 @@ class IncludeExcludeSelectionModel {
23407
23400
  * Private methods *
23408
23401
  * *
23409
23402
  **************************************************************************/
23410
- cycleFilterEntitySelection(selection) {
23411
- switch (selection) {
23412
- case IncludeExcludeMode.NEUTRAL:
23413
- return IncludeExcludeMode.INCLUDE;
23414
- case IncludeExcludeMode.INCLUDE:
23415
- return IncludeExcludeMode.EXCLUDE;
23416
- case IncludeExcludeMode.EXCLUDE:
23417
- return IncludeExcludeMode.NEUTRAL;
23403
+ initialValueByStrategy() {
23404
+ switch (this._strategy) {
23405
+ case 'FULL_CYCLE':
23406
+ return IncludeExcludeValue.NEUTRAL;
23407
+ case 'TOGGLE':
23408
+ return IncludeExcludeValue.INCLUDE;
23409
+ default:
23410
+ throw new Error('Unsupported cycle strategy: ' + this._strategy);
23411
+ }
23412
+ }
23413
+ nextValueByStrategy(current) {
23414
+ switch (this._strategy) {
23415
+ case 'FULL_CYCLE':
23416
+ return this.nextValueFullCycle(current);
23417
+ case 'TOGGLE':
23418
+ return this.nextValueToggle(current);
23419
+ default:
23420
+ throw new Error('Unsupported cycle strategy: ' + this._strategy);
23421
+ }
23422
+ }
23423
+ nextValueToggle(current) {
23424
+ switch (current) {
23425
+ case IncludeExcludeValue.NEUTRAL:
23426
+ return IncludeExcludeValue.INCLUDE;
23427
+ case IncludeExcludeValue.INCLUDE:
23428
+ return IncludeExcludeValue.EXCLUDE;
23429
+ case IncludeExcludeValue.EXCLUDE:
23430
+ return IncludeExcludeValue.INCLUDE;
23418
23431
  default:
23419
- return IncludeExcludeMode.NEUTRAL;
23432
+ return IncludeExcludeValue.INCLUDE;
23433
+ }
23434
+ }
23435
+ nextValueFullCycle(current) {
23436
+ switch (current) {
23437
+ case IncludeExcludeValue.NEUTRAL:
23438
+ return IncludeExcludeValue.INCLUDE;
23439
+ case IncludeExcludeValue.INCLUDE:
23440
+ return IncludeExcludeValue.EXCLUDE;
23441
+ case IncludeExcludeValue.EXCLUDE:
23442
+ return IncludeExcludeValue.NEUTRAL;
23443
+ default:
23444
+ return IncludeExcludeValue.NEUTRAL;
23420
23445
  }
23421
23446
  }
23422
23447
  toStateMap(list) {
@@ -23468,11 +23493,11 @@ class ElderChipFilterStyleResolver {
23468
23493
  resolveChipSpec(filterEntity) {
23469
23494
  if (filterEntity) {
23470
23495
  switch (filterEntity.mode) {
23471
- case IncludeExcludeMode.NEUTRAL:
23496
+ case IncludeExcludeValue.NEUTRAL:
23472
23497
  return this.neutralChipSpec;
23473
- case IncludeExcludeMode.INCLUDE:
23498
+ case IncludeExcludeValue.INCLUDE:
23474
23499
  return this.includedChipSpec;
23475
- case IncludeExcludeMode.EXCLUDE:
23500
+ case IncludeExcludeValue.EXCLUDE:
23476
23501
  return this.excludedChipSpec;
23477
23502
  default:
23478
23503
  return this.neutralChipSpec;
@@ -23481,11 +23506,11 @@ class ElderChipFilterStyleResolver {
23481
23506
  }
23482
23507
  resolveAvatar(filterEntity) {
23483
23508
  switch (filterEntity.mode) {
23484
- case IncludeExcludeMode.NEUTRAL:
23509
+ case IncludeExcludeValue.NEUTRAL:
23485
23510
  return 'radio_button_unchecked';
23486
- case IncludeExcludeMode.INCLUDE:
23511
+ case IncludeExcludeValue.INCLUDE:
23487
23512
  return 'task_alt';
23488
- case IncludeExcludeMode.EXCLUDE:
23513
+ case IncludeExcludeValue.EXCLUDE:
23489
23514
  return 'block';
23490
23515
  default:
23491
23516
  return 'circle';
@@ -24329,29 +24354,36 @@ class ElderChipsFilterDirective {
24329
24354
  * *
24330
24355
  **************************************************************************/
24331
24356
  this.log = LoggerFactory.getLogger(this.constructor.name);
24332
- this.selectionModel = new IncludeExcludeSelectionModel();
24357
+ this.selectionModel = new IncludeExcludeSelectionModel('FULL_CYCLE');
24333
24358
  this.chipStyleResolver = new ElderChipFilterStyleResolver();
24334
24359
  this.setupFilterChips();
24335
24360
  this.setupElderMultiSelectChipsListeners();
24336
24361
  }
24362
+ /***************************************************************************
24363
+ * *
24364
+ * Properties *
24365
+ * *
24366
+ **************************************************************************/
24367
+ set cycleStrategy(strategy) {
24368
+ this.selectionModel.strategy = strategy;
24369
+ }
24337
24370
  /***************************************************************************
24338
24371
  * *
24339
24372
  * Private methods *
24340
24373
  * *
24341
24374
  **************************************************************************/
24342
24375
  setupFilterChips() {
24343
- const ref = this.vcr.createComponent(ElderFilterChipTemplate);
24344
- ref.instance.resolveAvatar = (id) => this.resolveAvatar(id);
24345
- combineLatest([
24346
- ref.instance.resolveAvatar$,
24347
- ref.instance.avatarRef$
24348
- ])
24349
- .pipe(takeUntilDestroyed(this.destroyRef), filter(([resolveAvatar, avatarRef]) => !!resolveAvatar && !!avatarRef))
24350
- .subscribe(([resolveAvatar, avatarRef]) => {
24376
+ const chipTemplate = this.createFilterChipTemplate();
24377
+ this.elderMultiSelectChips.chipSpecFn = (entity) => this.resolveChipSpec(entity);
24378
+ chipTemplate.avatarRef$.pipe(takeUntilDestroyed(this.destroyRef), filter((avatarRef) => !!avatarRef), first()).subscribe((avatarRef) => {
24351
24379
  this.elderMultiSelectChips.chipAvatarTemplate = avatarRef;
24352
- this.elderMultiSelectChips.chipSpecFn = (entity) => this.resolveChipSpec(entity);
24353
24380
  });
24354
24381
  }
24382
+ createFilterChipTemplate() {
24383
+ const ref = this.vcr.createComponent(ElderFilterChipTemplateComponent);
24384
+ ref.setInput('avatarResolverFn', (id) => this.resolveAvatar(id));
24385
+ return ref.instance;
24386
+ }
24355
24387
  setupElderMultiSelectChipsListeners() {
24356
24388
  this.elderMultiSelectChips.currentClicked
24357
24389
  .pipe(takeUntilDestroyed(this.destroyRef))
@@ -24384,7 +24416,7 @@ class ElderChipsFilterDirective {
24384
24416
  return this.selectionModel.findStateById(id);
24385
24417
  }
24386
24418
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderChipsFilterDirective, deps: [{ token: ElderMultiSelectChipsComponent }, { token: ElderSearchInputDirective }, { token: i0.ViewContainerRef }, { token: i0.DestroyRef }], target: i0.ɵɵFactoryTarget.Directive }); }
24387
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderChipsFilterDirective, isStandalone: true, selector: "[elderChipsFilter]", ngImport: i0 }); }
24419
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.11", type: ElderChipsFilterDirective, isStandalone: true, selector: "[elderChipsFilter]", inputs: { cycleStrategy: "cycleStrategy" }, ngImport: i0 }); }
24388
24420
  }
24389
24421
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderChipsFilterDirective, decorators: [{
24390
24422
  type: Directive,
@@ -24392,7 +24424,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
24392
24424
  selector: '[elderChipsFilter]',
24393
24425
  standalone: true
24394
24426
  }]
24395
- }], ctorParameters: () => [{ type: ElderMultiSelectChipsComponent }, { type: ElderSearchInputDirective }, { type: i0.ViewContainerRef }, { type: i0.DestroyRef }] });
24427
+ }], ctorParameters: () => [{ type: ElderMultiSelectChipsComponent }, { type: ElderSearchInputDirective }, { type: i0.ViewContainerRef }, { type: i0.DestroyRef }], propDecorators: { cycleStrategy: [{
24428
+ type: Input
24429
+ }] } });
24396
24430
 
24397
24431
  /***************************************************************************
24398
24432
  * *
@@ -24509,7 +24543,7 @@ class IncludeExcludeInputConverter {
24509
24543
  let splitValues = null;
24510
24544
  if (FilterCommons.isArrayAndNotEmpty(value)) {
24511
24545
  const values = FilterCommons.getValuesIfArrayElseEmpty(value);
24512
- splitValues = values.filter(value => this.selectionModel.isInMode(value, IncludeExcludeMode.INCLUDE));
24546
+ splitValues = values.filter(value => this.selectionModel.isInMode(value, IncludeExcludeValue.INCLUDE));
24513
24547
  }
24514
24548
  return this.validateArrayAndReturn(splitValues);
24515
24549
  }
@@ -24518,7 +24552,7 @@ class IncludeExcludeInputConverter {
24518
24552
  if (FilterCommons.isArrayAndNotEmpty(value)) {
24519
24553
  const values = FilterCommons.getValuesIfArrayElseEmpty(value);
24520
24554
  splitValues = values
24521
- .filter(value => this.selectionModel.isInMode(value, IncludeExcludeMode.EXCLUDE));
24555
+ .filter(value => this.selectionModel.isInMode(value, IncludeExcludeValue.EXCLUDE));
24522
24556
  }
24523
24557
  return this.validateArrayAndReturn(splitValues);
24524
24558
  }
@@ -24532,8 +24566,8 @@ class IncludeExcludeInputConverter {
24532
24566
  }
24533
24567
  updateSelectionModel(includeValue, excludeValue) {
24534
24568
  const updates = [
24535
- ...this.buildNewSelectionStates(includeValue, IncludeExcludeMode.INCLUDE),
24536
- ...this.buildNewSelectionStates(excludeValue, IncludeExcludeMode.EXCLUDE),
24569
+ ...this.buildNewSelectionStates(includeValue, IncludeExcludeValue.INCLUDE),
24570
+ ...this.buildNewSelectionStates(excludeValue, IncludeExcludeValue.EXCLUDE),
24537
24571
  ];
24538
24572
  this.selectionModel.updateStates(updates);
24539
24573
  }
@@ -24649,7 +24683,7 @@ class ElderSelectModule {
24649
24683
  ElderMultiSelectAllInitialDirective,
24650
24684
  ElderAutoSelectSuggestFirstDirective,
24651
24685
  ElderChipsFilterDirective,
24652
- ElderFilterChipTemplate,
24686
+ ElderFilterChipTemplateComponent,
24653
24687
  ElderSearchIncludeExcludeDirective], exports: [ElderSelectComponent,
24654
24688
  ElderSelectValueDirective,
24655
24689
  TemplatedSelectionDialogComponent,
@@ -24666,7 +24700,7 @@ class ElderSelectModule {
24666
24700
  ElderMultiSelectAllInitialDirective,
24667
24701
  ElderAutoSelectSuggestFirstDirective,
24668
24702
  ElderChipsFilterDirective,
24669
- ElderFilterChipTemplate,
24703
+ ElderFilterChipTemplateComponent,
24670
24704
  ElderSearchIncludeExcludeDirective] }); }
24671
24705
  static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSelectModule, imports: [CommonModule, FormsModule, ReactiveFormsModule,
24672
24706
  MatFormFieldModule,
@@ -24685,7 +24719,7 @@ class ElderSelectModule {
24685
24719
  TemplatedSelectionDialogComponent,
24686
24720
  ElderMultiSelectChipsComponent,
24687
24721
  ElderMultiSelectChipOptionsComponent,
24688
- ElderFilterChipTemplate] }); }
24722
+ ElderFilterChipTemplateComponent] }); }
24689
24723
  }
24690
24724
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ElderSelectModule, decorators: [{
24691
24725
  type: NgModule,
@@ -24722,7 +24756,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
24722
24756
  ElderMultiSelectAllInitialDirective,
24723
24757
  ElderAutoSelectSuggestFirstDirective,
24724
24758
  ElderChipsFilterDirective,
24725
- ElderFilterChipTemplate,
24759
+ ElderFilterChipTemplateComponent,
24726
24760
  ElderSearchIncludeExcludeDirective
24727
24761
  ],
24728
24762
  exports: [
@@ -24742,7 +24776,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
24742
24776
  ElderMultiSelectAllInitialDirective,
24743
24777
  ElderAutoSelectSuggestFirstDirective,
24744
24778
  ElderChipsFilterDirective,
24745
- ElderFilterChipTemplate,
24779
+ ElderFilterChipTemplateComponent,
24746
24780
  ElderSearchIncludeExcludeDirective,
24747
24781
  ]
24748
24782
  }]
@@ -33325,5 +33359,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
33325
33359
  * Generated bundle index. Do not edit.
33326
33360
  */
33327
33361
 
33328
- export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsFilterDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplate, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeMode, IncludeExcludeSelectionModel, IncludeExcludeState, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
33362
+ export { ActivationEventSource, Arrays, AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, CurrencyFormatUtil, CurrencyUnit, CurrencyUnitRegistry, CustomDateAdapter, DataContextActivePage, DataContextAutoStarter, DataContextBase, DataContextBuilder, DataContextContinuableBase, DataContextContinuablePaged, DataContextContinuableToken, DataContextLifeCycleBinding, DataContextSelectionDirective, DataContextSimple, DataContextSnapshot, DataContextSourceEventBinding, DataContextStateIndicatorComponent, DataContextStatus, DataSourceAdapter, DataSourceBase, DataSourceChangeEvent, DataSourceChangeType, DataSourceProcessor, DataTransferFactory, DataTransferProgress, DataTransferProgressAggregate, DataTransferState, DataTransferStatus, DataViewIframeAdapterDirective, DataViewIframeComponent, DataViewMessage, DataViewMessageTypeValues, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, DurationFormatUtil, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutoSelectSuggestFirstDirective, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBadgeChipAvatarDirective, ElderBadgeChipDirective, ElderBadgeComponent, ElderBadgeDirective, ElderBadgeModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsFilterDirective, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDeleteActiveDirective, ElderDetailDialogComponent, ElderDetailDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDropZoneComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFilterChipTemplateComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMasterActivationDirective, ElderMasterDetailComponent, ElderMasterDetailModule, ElderMasterDetailService, ElderMasterDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectAllInitialDirective, ElderMultiSelectBase, ElderMultiSelectChipOptionsComponent, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, ElderOverlayRef, ElderOverlayTriggerDirective, ElderPaddingDirective, ElderPanelComponent, ElderPanelModule, ElderPeriodInputComponent, ElderPipesModule, ElderPlugParentFormDirective, ElderProgressBarComponent, ElderProgressBarModule, ElderQuantityFormFieldComponent, ElderQuantityInputControlComponent, ElderQuantityModule, ElderQuantityPipe, ElderQuantityRangeValidator, ElderQuantityService, ElderQuantityTransformPipe, ElderQuestionDialogComponent, ElderRepeatPipe, ElderRepeatPipeLegacy, ElderRequiredDimensionsValidator, ElderRequiredIgnoreZeroValidator, ElderRequiredQuantityValidator, ElderRoundPipe, ElderRouteOutletDrawerService, ElderRouterOutletService, ElderRouterService, ElderSafeUrlPipe, ElderScrollContainerComponent, ElderScrollbarDirective, ElderScrollbarModule, ElderSearchBoxComponent, ElderSearchContextDirective, ElderSearchIncludeExcludeDirective, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSearchUrlDirective, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectOptionComponent, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, ElderSuggestionPanelComponent, ElderSvgViewerComponent, ElderTabDirective, ElderTabFocusTrapDirective, ElderTabGroupRoutingDirective, ElderTabModule, ElderTableActivationDirective, ElderTableComponent, ElderTableExtensionDirective, ElderTableGroup, ElderTableModel, ElderTableModelCdkTableBinding, ElderTableModelQueryGroup, ElderTableModule, ElderTableProviders, ElderTableRootDirective, ElderTableSortDirective, ElderTableToolbarDirective, ElderThemeApplierDirective, ElderThemeDirective, ElderThemeModule, ElderThemePreferenceService, ElderThemeService, ElderThemeToggleComponent, ElderTimeModule, ElderToastModule, ElderToastService, ElderTogglePanelComponent, ElderTogglePanelPrimaryDirective, ElderTogglePanelSecondaryDirective, ElderTogglePanelTriggerDirective, ElderToolbarColumnDirective, ElderToolbarComponent, ElderToolbarContentDirective, ElderToolbarModule, ElderToolbarService, ElderToolbarTitleComponent, ElderToolbarTitleService, ElderTouchedDirective, ElderTrimPipe, ElderTripleStateCheckboxDirective, ElderTruncatePipe, ElderUnitSelectDirective, ElderUnitService, ElderUrlFragment, ElderUrlFragmentModule, ElderUrlFragmentParamsService, ElderUrlFragmentSwitcherComponent, ElderValidationErrorDirective, ElderViewersModule, EntitySetPatch, ErrorUtil, ExceptionDetailCtx, FileEntry, FileListingRx, FileUploadClient, Filter, FilterContext, FilterUtil, FocusUtil, FormFieldBaseComponent, GlobalDragDropService, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IncludeExcludeSelectionModel, IncludeExcludeState, IncludeExcludeValue, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalFormatUtil, IsoIntervalParsePipe, IsoIntervalPipe, ItemActivationEvent, ItemActivationOptions, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleTags, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterDetailActivationEvent, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveEventSourceState, ReactiveFetchEventSource, ReactiveFetchEventSourceService, ReactiveMap, ReactiveSSeMessage, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectChipSpecUtil, SelectOptionChipSpecUtil, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, StandardToastComponent, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, Translated, TranslatedConverter, TranslatedEnumValue, TranslatedText, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, coerceInterval, coerceIntervalIsoStr, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, initSearchUrlService, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isDataViewMessageType, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, lazySample, lazySampleTime, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
33329
33363
  //# sourceMappingURL=elderbyte-ngx-starter.mjs.map