@elderbyte/ngx-starter 15.5.2 → 15.6.1

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.
package/_index.scss CHANGED
@@ -5,17 +5,17 @@
5
5
  @forward "./theming/elder-config";
6
6
 
7
7
  @use "./theming/elder-toast-theme" as elder-toast;
8
- @use "./theming/elder-chip-theme" as elder-chip;
8
+ @use "./src/lib/components/chips/elder-chip-theme" as elder-chip;
9
9
  @use "./theming/elder-style-fixes" as elder-fixes;
10
10
  @use "./theming/elder-config" as elder-config;
11
- @use "theming/elder-mdc-support" as elder-mdc-support;
11
+ @use "./theming/elder-mdc-support" as elder-mdc-support;
12
12
  @use "./theming/elder-common" as elder-common;
13
13
  @use "./theming/elder-flex-layout" as elder-flex-layout;
14
14
  @use "./src/lib/components/panels/flat/elder-panel-theme" as elder-panel;
15
15
  @use "./src/lib/components/panels/card-panel/elder-card-panel.component" as elder-card-panel;
16
16
  @use "./src/lib/components/panels/elder-dialog-panel/elder-dialog-panel.component" as elder-dialog-panel;
17
17
  @use "./src/lib/components/navigation/nav/nav-link/elder-nav-link.component" as elder-nav-link;
18
- @use "src/lib/components/navigation/nav/elder-nav-theme" as elder-nav;
18
+ @use "./src/lib/components/navigation/nav/elder-nav-theme" as elder-nav;
19
19
  @use "./src/lib/components/expand-toggle-button/elder-expand-toggle-button.component" as elder-expand-toggle-button;
20
20
  @use "./src/lib/components/data-view/table/elder-table/elder-table.component" as elder-table;
21
21
  @use "./src/lib/components/data-view/grid/elder-grid/elder-grid.component" as elder-grid;
@@ -15,7 +15,10 @@ export class ElderChipLabelDirective {
15
15
  * *
16
16
  **************************************************************************/
17
17
  this.baseClass = 'elder-chip-label';
18
- this.appearance = 'md3';
18
+ this._appearance = 'md3';
19
+ }
20
+ ngOnInit() {
21
+ this.refreshClasses();
19
22
  }
20
23
  /***************************************************************************
21
24
  * *
@@ -23,44 +26,89 @@ export class ElderChipLabelDirective {
23
26
  * *
24
27
  **************************************************************************/
25
28
  get classes() {
26
- return this.buildClassesString();
29
+ return this.cssClasses;
30
+ }
31
+ /***************************************************************************
32
+ * *
33
+ * Properties *
34
+ * *
35
+ **************************************************************************/
36
+ set appearance(appearance) {
37
+ this._appearance = appearance;
38
+ this.refreshClasses();
39
+ }
40
+ set themeColor(themeColor) {
41
+ this._themeColor = themeColor;
42
+ this.refreshClasses();
43
+ }
44
+ set stateColor(stateColor) {
45
+ this._stateColor = stateColor;
46
+ this.refreshClasses();
47
+ }
48
+ set levelColor(levelColor) {
49
+ this._levelColor = levelColor;
50
+ this.refreshClasses();
27
51
  }
28
52
  /***************************************************************************
29
53
  * *
30
54
  * Private methods *
31
55
  * *
32
56
  **************************************************************************/
57
+ refreshClasses() {
58
+ this.cssClasses = this.buildClassesString();
59
+ }
33
60
  buildClassesString() {
34
- const classes = [this.baseClass];
35
- if (this.appearance) {
36
- classes.push(this.getAppearanceClass(this.appearance));
61
+ return this.buildClasses()
62
+ .filter(cls => !!cls)
63
+ .join(' ');
64
+ }
65
+ buildClasses() {
66
+ const appearance = this._appearance ?? 'legacy';
67
+ switch (appearance) {
68
+ case 'md3':
69
+ return [this.baseClass, 'md3', this.resolveColorClass() ?? 'none'];
70
+ case 'legacy':
71
+ return [this.baseClass, 'legacy', this.resolveColorClass()];
72
+ }
73
+ }
74
+ resolveColorClass() {
75
+ let colorClass;
76
+ if (this._themeColor) {
77
+ colorClass = this.getThemeColorClass(this._themeColor);
78
+ }
79
+ else if (this._stateColor) {
80
+ colorClass = this.getStateColorClass(this._stateColor);
37
81
  }
38
- if (this.themeColor) {
39
- classes.push(this.getThemeColorClass(this.themeColor));
82
+ else if (this._levelColor) {
83
+ colorClass = this.getLevelColorClass(this._levelColor);
40
84
  }
41
- if (this.stateColor) {
42
- classes.push(this.getStateColorClass(this.stateColor));
85
+ else {
86
+ return undefined;
43
87
  }
44
- return classes.join(' ');
88
+ return colorClass;
45
89
  }
46
- getAppearanceClass(appearance) {
47
- if (appearance) {
48
- switch (appearance) {
49
- case 'md3':
50
- return 'md3';
51
- case 'legacy':
52
- return 'legacy';
90
+ getLevelColorClass(state) {
91
+ if (state) {
92
+ switch (state) {
93
+ case 'low':
94
+ return 'level-low';
95
+ case 'medium':
96
+ return 'level-medium';
97
+ case 'high':
98
+ return 'level-high';
99
+ case 'critical':
100
+ return 'level-critical';
101
+ default:
102
+ return 'state-other'; // TODO
53
103
  }
54
104
  }
55
105
  else {
56
- return 'legacy';
106
+ return undefined;
57
107
  }
58
108
  }
59
109
  getStateColorClass(state) {
60
110
  if (state) {
61
111
  switch (state) {
62
- case 'none':
63
- return 'state-none';
64
112
  case 'open':
65
113
  return 'state-open';
66
114
  case 'inProgress':
@@ -76,7 +124,7 @@ export class ElderChipLabelDirective {
76
124
  }
77
125
  }
78
126
  else {
79
- return 'state-none';
127
+ return undefined;
80
128
  }
81
129
  }
82
130
  getThemeColorClass(color) {
@@ -96,7 +144,7 @@ export class ElderChipLabelDirective {
96
144
  }
97
145
  }
98
146
  ElderChipLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderChipLabelDirective, deps: [{ token: i1.MatChip, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
99
- ElderChipLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: { themeColor: ["color", "themeColor"], stateColor: "stateColor", appearance: "appearance" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 });
147
+ ElderChipLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: { appearance: "appearance", themeColor: ["color", "themeColor"], stateColor: "stateColor", levelColor: "levelColor" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 });
100
148
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderChipLabelDirective, decorators: [{
101
149
  type: Directive,
102
150
  args: [{
@@ -106,15 +154,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
106
154
  type: Optional
107
155
  }, {
108
156
  type: Host
109
- }] }]; }, propDecorators: { themeColor: [{
157
+ }] }]; }, propDecorators: { classes: [{
158
+ type: HostBinding,
159
+ args: ['class']
160
+ }], appearance: [{
161
+ type: Input
162
+ }], themeColor: [{
110
163
  type: Input,
111
164
  args: ['color']
112
165
  }], stateColor: [{
113
166
  type: Input
114
- }], appearance: [{
167
+ }], levelColor: [{
115
168
  type: Input
116
- }], classes: [{
117
- type: HostBinding,
118
- args: ['class']
119
169
  }] } });
120
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcC1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFXNUUsTUFBTSxPQUFPLHVCQUF1QjtJQW1CbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3VDLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUF4QnZEOzs7O29GQUk0RTtRQUUzRCxjQUFTLEdBQUcsa0JBQWtCLENBQUM7UUFTekMsZUFBVSxHQUF3QixLQUFLLENBQUE7SUFVMUMsQ0FBQztJQUVMOzs7O2dGQUk0RTtJQUU1RSxJQUNXLE9BQU87UUFDakIsT0FBTyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGtCQUFrQjtRQUN4QixNQUFNLE9BQU8sR0FBYSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUUzQyxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDbkIsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLE9BQU8sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQztJQUVPLGtCQUFrQixDQUFDLFVBQStCO1FBQ3hELElBQUksVUFBVSxFQUFFO1lBQ2QsUUFBUSxVQUFVLEVBQUU7Z0JBQ2xCLEtBQUssS0FBSztvQkFDUixPQUFPLEtBQUssQ0FBQTtnQkFDZCxLQUFLLFFBQVE7b0JBQ1gsT0FBTyxRQUFRLENBQUE7YUFDbEI7U0FDRjthQUFNO1lBQ0wsT0FBTyxRQUFRLENBQUE7U0FDaEI7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBc0I7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxRQUFRLEtBQUssRUFBRTtnQkFDYixLQUFLLE1BQU07b0JBQ1QsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLEtBQUssTUFBTTtvQkFDVCxPQUFPLFlBQVksQ0FBQztnQkFDdEIsS0FBSyxZQUFZO29CQUNmLE9BQU8sbUJBQW1CLENBQUM7Z0JBQzdCLEtBQUssV0FBVztvQkFDZCxPQUFPLGlCQUFpQixDQUFBO2dCQUMxQixLQUFLLE1BQU07b0JBQ1QsT0FBTyxZQUFZLENBQUE7Z0JBQ3JCLEtBQUssT0FBTztvQkFDVixPQUFPLGFBQWEsQ0FBQTtnQkFDdEI7b0JBQ0UsT0FBTyxhQUFhLENBQUE7YUFDdkI7U0FDRjthQUFNO1lBQ0wsT0FBTyxZQUFZLENBQUM7U0FDckI7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBbUI7UUFDNUMsSUFBSSxLQUFLLEVBQUU7WUFDVCxRQUFRLEtBQUssRUFBRTtnQkFDYixLQUFLLFNBQVM7b0JBQ1osT0FBTyxlQUFlLENBQUM7Z0JBQ3pCLEtBQUssUUFBUTtvQkFDWCxPQUFPLGNBQWMsQ0FBQztnQkFDeEIsS0FBSyxNQUFNO29CQUNULE9BQU8sWUFBWSxDQUFDO2FBQ3ZCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQzs7b0hBakhVLHVCQUF1Qjt3R0FBdkIsdUJBQXVCOzJGQUF2Qix1QkFBdUI7a0JBSG5DLFNBQVM7bUJBQUM7b0JBQ1QsUUFBUSxFQUFFLGtCQUFrQjtpQkFDN0I7OzBCQTJCSSxRQUFROzswQkFBSSxJQUFJOzRDQWZaLFVBQVU7c0JBRGhCLEtBQUs7dUJBQUMsT0FBTztnQkFJUCxVQUFVO3NCQURoQixLQUFLO2dCQUlDLFVBQVU7c0JBRGhCLEtBQUs7Z0JBb0JLLE9BQU87c0JBRGpCLFdBQVc7dUJBQUMsT0FBTyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGlyZWN0aXZlLCBIb3N0LCBIb3N0QmluZGluZywgSW5wdXQsIE9wdGlvbmFsfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7TWF0Q2hpcH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hpcHMnO1xuaW1wb3J0IHtUaGVtZVBhbGV0dGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NvcmUnO1xuXG5leHBvcnQgdHlwZSBFbGRlclN0YXRlQ29sb3IgPSAnbm9uZScgfCAnb3BlbicgfCAnaW5Qcm9ncmVzcycgfCAnY29tcGxldGVkJyB8ICd3YXJuJyB8ICdlcnJvcicgfCAnb3RoZXInO1xuZXhwb3J0IHR5cGUgRWxkZXJDaGlwQXBwZWFyYW5jZSA9ICdtZDMnIHwgJ2xlZ2FjeSdcblxuXG5ARGlyZWN0aXZlKHtcbiAgc2VsZWN0b3I6ICdbZWxkZXJDaGlwTGFiZWxdJ1xufSlcbmV4cG9ydCBjbGFzcyBFbGRlckNoaXBMYWJlbERpcmVjdGl2ZSB7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEZpZWxkcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWFkb25seSBiYXNlQ2xhc3MgPSAnZWxkZXItY2hpcC1sYWJlbCc7XG5cbiAgQElucHV0KCdjb2xvcicpXG4gIHB1YmxpYyB0aGVtZUNvbG9yOiBUaGVtZVBhbGV0dGU7XG5cbiAgQElucHV0KClcbiAgcHVibGljIHN0YXRlQ29sb3I6IEVsZGVyU3RhdGVDb2xvcjtcblxuICBASW5wdXQoKVxuICBwdWJsaWMgYXBwZWFyYW5jZTogRWxkZXJDaGlwQXBwZWFyYW5jZSA9ICdtZDMnXG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IG1hdENoaXA6IE1hdENoaXAsXG4gICkgeyB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIEhvc3QgQmluZGluZ3MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcycpXG4gIHB1YmxpYyBnZXQgY2xhc3NlcygpOiBzdHJpbmcge1xuICAgcmV0dXJuIHRoaXMuYnVpbGRDbGFzc2VzU3RyaW5nKCk7XG4gIH1cblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogUHJpdmF0ZSBtZXRob2RzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIGJ1aWxkQ2xhc3Nlc1N0cmluZygpOiBzdHJpbmcge1xuICAgIGNvbnN0IGNsYXNzZXM6IHN0cmluZ1tdID0gW3RoaXMuYmFzZUNsYXNzXTtcblxuICAgIGlmICh0aGlzLmFwcGVhcmFuY2UpIHtcbiAgICAgIGNsYXNzZXMucHVzaCh0aGlzLmdldEFwcGVhcmFuY2VDbGFzcyh0aGlzLmFwcGVhcmFuY2UpKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50aGVtZUNvbG9yKSB7XG4gICAgICBjbGFzc2VzLnB1c2godGhpcy5nZXRUaGVtZUNvbG9yQ2xhc3ModGhpcy50aGVtZUNvbG9yKSk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMuc3RhdGVDb2xvcikge1xuICAgICAgY2xhc3Nlcy5wdXNoKHRoaXMuZ2V0U3RhdGVDb2xvckNsYXNzKHRoaXMuc3RhdGVDb2xvcikpO1xuICAgIH1cblxuICAgIHJldHVybiBjbGFzc2VzLmpvaW4oJyAnKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0QXBwZWFyYW5jZUNsYXNzKGFwcGVhcmFuY2U6IEVsZGVyQ2hpcEFwcGVhcmFuY2UpOiBzdHJpbmcge1xuICAgIGlmIChhcHBlYXJhbmNlKSB7XG4gICAgICBzd2l0Y2ggKGFwcGVhcmFuY2UpIHtcbiAgICAgICAgY2FzZSAnbWQzJzpcbiAgICAgICAgICByZXR1cm4gJ21kMydcbiAgICAgICAgY2FzZSAnbGVnYWN5JzpcbiAgICAgICAgICByZXR1cm4gJ2xlZ2FjeSdcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuICdsZWdhY3knXG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRTdGF0ZUNvbG9yQ2xhc3Moc3RhdGU6IEVsZGVyU3RhdGVDb2xvcik6IHN0cmluZyB7XG4gICAgaWYgKHN0YXRlKSB7XG4gICAgICBzd2l0Y2ggKHN0YXRlKSB7XG4gICAgICAgIGNhc2UgJ25vbmUnOlxuICAgICAgICAgIHJldHVybiAnc3RhdGUtbm9uZSc7XG4gICAgICAgIGNhc2UgJ29wZW4nOlxuICAgICAgICAgIHJldHVybiAnc3RhdGUtb3Blbic7XG4gICAgICAgIGNhc2UgJ2luUHJvZ3Jlc3MnOlxuICAgICAgICAgIHJldHVybiAnc3RhdGUtaW4tcHJvZ3Jlc3MnO1xuICAgICAgICBjYXNlICdjb21wbGV0ZWQnOlxuICAgICAgICAgIHJldHVybiAnc3RhdGUtY29tcGxldGVkJ1xuICAgICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgICByZXR1cm4gJ3N0YXRlLXdhcm4nXG4gICAgICAgIGNhc2UgJ2Vycm9yJzpcbiAgICAgICAgICByZXR1cm4gJ3N0YXRlLWVycm9yJ1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgIHJldHVybiAnc3RhdGUtb3RoZXInXG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiAnc3RhdGUtbm9uZSc7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaGVtZUNvbG9yQ2xhc3MoY29sb3I6IFRoZW1lUGFsZXR0ZSk6IHN0cmluZyB7XG4gICAgaWYgKGNvbG9yKSB7XG4gICAgICBzd2l0Y2ggKGNvbG9yKSB7XG4gICAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICAgIHJldHVybiAnY29sb3ItcHJpbWFyeSc7XG4gICAgICAgIGNhc2UgJ2FjY2VudCc6XG4gICAgICAgICAgcmV0dXJuICdjb2xvci1hY2NlbnQnO1xuICAgICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgICByZXR1cm4gJ2NvbG9yLXdhcm4nO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19
170
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxkZXItY2hpcC1sYWJlbC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9lbGRlcmJ5dGUvbmd4LXN0YXJ0ZXIvc3JjL2xpYi9jb21wb25lbnRzL2NoaXBzL2VsZGVyLWNoaXAtbGFiZWwuZGlyZWN0aXZlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQVUsUUFBUSxFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFZcEYsTUFBTSxPQUFPLHVCQUF1QjtJQWlCbEM7Ozs7Z0ZBSTRFO0lBRTVFLFlBQ3VDLE9BQWdCO1FBQWhCLFlBQU8sR0FBUCxPQUFPLENBQVM7UUF0QnZEOzs7O29GQUk0RTtRQUUzRCxjQUFTLEdBQUcsa0JBQWtCLENBQUM7UUFJeEMsZ0JBQVcsR0FBd0IsS0FBSyxDQUFDO0lBY2pELENBQUM7SUFFTSxRQUFRO1FBQ2IsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRDs7OztnRkFJNEU7SUFFNUUsSUFDVyxPQUFPO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRTVFLElBQ1csVUFBVSxDQUFDLFVBQStCO1FBQ25ELElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQsSUFDVyxVQUFVLENBQUMsVUFBd0I7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxVQUFVLENBQUM7UUFDOUIsSUFBSSxDQUFDLGNBQWMsRUFBRSxDQUFDO0lBQ3hCLENBQUM7SUFFRCxJQUNXLFVBQVUsQ0FBQyxVQUEyQjtRQUMvQyxJQUFJLENBQUMsV0FBVyxHQUFHLFVBQVUsQ0FBQztRQUM5QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELElBQ1csVUFBVSxDQUFDLFVBQTJCO1FBQy9DLElBQUksQ0FBQyxXQUFXLEdBQUcsVUFBVSxDQUFDO1FBQzlCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRUQ7Ozs7Z0ZBSTRFO0lBRXBFLGNBQWM7UUFDcEIsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQztJQUM5QyxDQUFDO0lBRU8sa0JBQWtCO1FBQ3hCLE9BQU8sSUFBSSxDQUFDLFlBQVksRUFBRTthQUN2QixNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO2FBQ3BCLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNmLENBQUM7SUFFTyxZQUFZO1FBQ2xCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxXQUFXLElBQUksUUFBUSxDQUFDO1FBQ2hELFFBQVEsVUFBVSxFQUFFO1lBQ2xCLEtBQUssS0FBSztnQkFDUixPQUFPLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxLQUFLLEVBQUUsSUFBSSxDQUFDLGlCQUFpQixFQUFFLElBQUksTUFBTSxDQUFDLENBQUM7WUFDckUsS0FBSyxRQUFRO2dCQUNYLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDO1NBQy9EO0lBQ0gsQ0FBQztJQUVPLGlCQUFpQjtRQUN2QixJQUFJLFVBQWtCLENBQUM7UUFDdkIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQ3BCLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hEO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzNCLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hEO2FBQU0sSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFO1lBQzNCLFVBQVUsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1NBQ3hEO2FBQU07WUFDTCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtRQUNELE9BQU8sVUFBVSxDQUFDO0lBQ3BCLENBQUM7SUFFTyxrQkFBa0IsQ0FBQyxLQUFzQjtRQUMvQyxJQUFJLEtBQUssRUFBRTtZQUNULFFBQVEsS0FBSyxFQUFFO2dCQUNiLEtBQUssS0FBSztvQkFDUixPQUFPLFdBQVcsQ0FBQztnQkFDckIsS0FBSyxRQUFRO29CQUNYLE9BQU8sY0FBYyxDQUFDO2dCQUN4QixLQUFLLE1BQU07b0JBQ1QsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLEtBQUssVUFBVTtvQkFDYixPQUFPLGdCQUFnQixDQUFDO2dCQUMxQjtvQkFDRSxPQUFPLGFBQWEsQ0FBQyxDQUFDLE9BQU87YUFDaEM7U0FDRjthQUFNO1lBQ0wsT0FBTyxTQUFTLENBQUM7U0FDbEI7SUFDSCxDQUFDO0lBRU8sa0JBQWtCLENBQUMsS0FBc0I7UUFDL0MsSUFBSSxLQUFLLEVBQUU7WUFDVCxRQUFRLEtBQUssRUFBRTtnQkFDYixLQUFLLE1BQU07b0JBQ1QsT0FBTyxZQUFZLENBQUM7Z0JBQ3RCLEtBQUssWUFBWTtvQkFDZixPQUFPLG1CQUFtQixDQUFDO2dCQUM3QixLQUFLLFdBQVc7b0JBQ2QsT0FBTyxpQkFBaUIsQ0FBQztnQkFDM0IsS0FBSyxNQUFNO29CQUNULE9BQU8sWUFBWSxDQUFDO2dCQUN0QixLQUFLLE9BQU87b0JBQ1YsT0FBTyxhQUFhLENBQUM7Z0JBQ3ZCO29CQUNFLE9BQU8sYUFBYSxDQUFDO2FBQ3hCO1NBQ0Y7YUFBTTtZQUNMLE9BQU8sU0FBUyxDQUFDO1NBQ2xCO0lBQ0gsQ0FBQztJQUVPLGtCQUFrQixDQUFDLEtBQW1CO1FBQzVDLElBQUksS0FBSyxFQUFFO1lBQ1QsUUFBUSxLQUFLLEVBQUU7Z0JBQ2IsS0FBSyxTQUFTO29CQUNaLE9BQU8sZUFBZSxDQUFDO2dCQUN6QixLQUFLLFFBQVE7b0JBQ1gsT0FBTyxjQUFjLENBQUM7Z0JBQ3hCLEtBQUssTUFBTTtvQkFDVCxPQUFPLFlBQVksQ0FBQzthQUN2QjtTQUNGO2FBQU07WUFDTCxPQUFPLFNBQVMsQ0FBQztTQUNsQjtJQUNILENBQUM7O29IQXRLVSx1QkFBdUI7d0dBQXZCLHVCQUF1QjsyRkFBdkIsdUJBQXVCO2tCQUhuQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxrQkFBa0I7aUJBQzdCOzswQkF5QkksUUFBUTs7MEJBQUksSUFBSTs0Q0FlUixPQUFPO3NCQURqQixXQUFXO3VCQUFDLE9BQU87Z0JBWVQsVUFBVTtzQkFEcEIsS0FBSztnQkFPSyxVQUFVO3NCQURwQixLQUFLO3VCQUFDLE9BQU87Z0JBT0gsVUFBVTtzQkFEcEIsS0FBSztnQkFPSyxVQUFVO3NCQURwQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtEaXJlY3RpdmUsIEhvc3QsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25Jbml0LCBPcHRpb25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge01hdENoaXB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2NoaXBzJztcbmltcG9ydCB7VGhlbWVQYWxldHRlfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcblxuZXhwb3J0IHR5cGUgRWxkZXJTdGF0ZUNvbG9yID0gdW5kZWZpbmVkIHwgJ29wZW4nIHwgJ2luUHJvZ3Jlc3MnIHwgJ2NvbXBsZXRlZCcgfCAnd2FybicgfCAnZXJyb3InIHwgJ290aGVyJztcbmV4cG9ydCB0eXBlIEVsZGVyTGV2ZWxDb2xvciA9IHVuZGVmaW5lZCB8ICdsb3cnIHwgJ21lZGl1bScgfCAnaGlnaCcgfCAnY3JpdGljYWwnXG5leHBvcnQgdHlwZSBFbGRlckNoaXBBcHBlYXJhbmNlID0gJ21kMycgfCAnbGVnYWN5J1xuXG5cbkBEaXJlY3RpdmUoe1xuICBzZWxlY3RvcjogJ1tlbGRlckNoaXBMYWJlbF0nXG59KVxuZXhwb3J0IGNsYXNzIEVsZGVyQ2hpcExhYmVsRGlyZWN0aXZlIGltcGxlbWVudHMgT25Jbml0IHtcblxuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogRmllbGRzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cblxuICBwcml2YXRlIHJlYWRvbmx5IGJhc2VDbGFzcyA9ICdlbGRlci1jaGlwLWxhYmVsJztcblxuICBwcml2YXRlIGNzc0NsYXNzZXM6IHN0cmluZztcblxuICBwcml2YXRlIF9hcHBlYXJhbmNlOiBFbGRlckNoaXBBcHBlYXJhbmNlID0gJ21kMyc7XG4gIHByaXZhdGUgX3N0YXRlQ29sb3I6IEVsZGVyU3RhdGVDb2xvcjtcbiAgcHJpdmF0ZSBfdGhlbWVDb2xvcjogVGhlbWVQYWxldHRlO1xuICBwcml2YXRlIF9sZXZlbENvbG9yOiBFbGRlckxldmVsQ29sb3I7XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIENvbnN0cnVjdG9yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgY29uc3RydWN0b3IoXG4gICAgQE9wdGlvbmFsKCkgQEhvc3QoKSBwcml2YXRlIHJlYWRvbmx5IG1hdENoaXA6IE1hdENoaXAsXG4gICkge1xuICB9XG5cbiAgcHVibGljIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIHRoaXMucmVmcmVzaENsYXNzZXMoKTtcbiAgfVxuXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKiBIb3N0IEJpbmRpbmdzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuXG4gIEBIb3N0QmluZGluZygnY2xhc3MnKVxuICBwdWJsaWMgZ2V0IGNsYXNzZXMoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5jc3NDbGFzc2VzO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByb3BlcnRpZXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgQElucHV0KClcbiAgcHVibGljIHNldCBhcHBlYXJhbmNlKGFwcGVhcmFuY2U6IEVsZGVyQ2hpcEFwcGVhcmFuY2UpIHtcbiAgICB0aGlzLl9hcHBlYXJhbmNlID0gYXBwZWFyYW5jZTtcbiAgICB0aGlzLnJlZnJlc2hDbGFzc2VzKCk7XG4gIH1cblxuICBASW5wdXQoJ2NvbG9yJylcbiAgcHVibGljIHNldCB0aGVtZUNvbG9yKHRoZW1lQ29sb3I6IFRoZW1lUGFsZXR0ZSkge1xuICAgIHRoaXMuX3RoZW1lQ29sb3IgPSB0aGVtZUNvbG9yO1xuICAgIHRoaXMucmVmcmVzaENsYXNzZXMoKTtcbiAgfVxuXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZXQgc3RhdGVDb2xvcihzdGF0ZUNvbG9yOiBFbGRlclN0YXRlQ29sb3IpIHtcbiAgICB0aGlzLl9zdGF0ZUNvbG9yID0gc3RhdGVDb2xvcjtcbiAgICB0aGlzLnJlZnJlc2hDbGFzc2VzKCk7XG4gIH1cblxuICBASW5wdXQoKVxuICBwdWJsaWMgc2V0IGxldmVsQ29sb3IobGV2ZWxDb2xvcjogRWxkZXJMZXZlbENvbG9yKSB7XG4gICAgdGhpcy5fbGV2ZWxDb2xvciA9IGxldmVsQ29sb3I7XG4gICAgdGhpcy5yZWZyZXNoQ2xhc3NlcygpO1xuICB9XG5cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAqIFByaXZhdGUgbWV0aG9kcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpcbiAgICogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKlxuICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5cbiAgcHJpdmF0ZSByZWZyZXNoQ2xhc3NlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNzc0NsYXNzZXMgPSB0aGlzLmJ1aWxkQ2xhc3Nlc1N0cmluZygpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENsYXNzZXNTdHJpbmcoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5idWlsZENsYXNzZXMoKVxuICAgICAgLmZpbHRlcihjbHMgPT4gISFjbHMpXG4gICAgICAuam9pbignICcpO1xuICB9XG5cbiAgcHJpdmF0ZSBidWlsZENsYXNzZXMoKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGFwcGVhcmFuY2UgPSB0aGlzLl9hcHBlYXJhbmNlID8/ICdsZWdhY3knO1xuICAgIHN3aXRjaCAoYXBwZWFyYW5jZSkge1xuICAgICAgY2FzZSAnbWQzJzpcbiAgICAgICAgcmV0dXJuIFt0aGlzLmJhc2VDbGFzcywgJ21kMycsIHRoaXMucmVzb2x2ZUNvbG9yQ2xhc3MoKSA/PyAnbm9uZSddO1xuICAgICAgY2FzZSAnbGVnYWN5JzpcbiAgICAgICAgcmV0dXJuIFt0aGlzLmJhc2VDbGFzcywgJ2xlZ2FjeScsIHRoaXMucmVzb2x2ZUNvbG9yQ2xhc3MoKV07XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZXNvbHZlQ29sb3JDbGFzcygpOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICAgIGxldCBjb2xvckNsYXNzOiBzdHJpbmc7XG4gICAgaWYgKHRoaXMuX3RoZW1lQ29sb3IpIHtcbiAgICAgIGNvbG9yQ2xhc3MgPSB0aGlzLmdldFRoZW1lQ29sb3JDbGFzcyh0aGlzLl90aGVtZUNvbG9yKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX3N0YXRlQ29sb3IpIHtcbiAgICAgIGNvbG9yQ2xhc3MgPSB0aGlzLmdldFN0YXRlQ29sb3JDbGFzcyh0aGlzLl9zdGF0ZUNvbG9yKTtcbiAgICB9IGVsc2UgaWYgKHRoaXMuX2xldmVsQ29sb3IpIHtcbiAgICAgIGNvbG9yQ2xhc3MgPSB0aGlzLmdldExldmVsQ29sb3JDbGFzcyh0aGlzLl9sZXZlbENvbG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gICAgcmV0dXJuIGNvbG9yQ2xhc3M7XG4gIH1cblxuICBwcml2YXRlIGdldExldmVsQ29sb3JDbGFzcyhzdGF0ZTogRWxkZXJMZXZlbENvbG9yKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgY2FzZSAnbG93JzpcbiAgICAgICAgICByZXR1cm4gJ2xldmVsLWxvdyc7XG4gICAgICAgIGNhc2UgJ21lZGl1bSc6XG4gICAgICAgICAgcmV0dXJuICdsZXZlbC1tZWRpdW0nO1xuICAgICAgICBjYXNlICdoaWdoJzpcbiAgICAgICAgICByZXR1cm4gJ2xldmVsLWhpZ2gnO1xuICAgICAgICBjYXNlICdjcml0aWNhbCc6XG4gICAgICAgICAgcmV0dXJuICdsZXZlbC1jcml0aWNhbCc7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdzdGF0ZS1vdGhlcic7IC8vIFRPRE9cbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldFN0YXRlQ29sb3JDbGFzcyhzdGF0ZTogRWxkZXJTdGF0ZUNvbG9yKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICBpZiAoc3RhdGUpIHtcbiAgICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgY2FzZSAnb3Blbic6XG4gICAgICAgICAgcmV0dXJuICdzdGF0ZS1vcGVuJztcbiAgICAgICAgY2FzZSAnaW5Qcm9ncmVzcyc6XG4gICAgICAgICAgcmV0dXJuICdzdGF0ZS1pbi1wcm9ncmVzcyc7XG4gICAgICAgIGNhc2UgJ2NvbXBsZXRlZCc6XG4gICAgICAgICAgcmV0dXJuICdzdGF0ZS1jb21wbGV0ZWQnO1xuICAgICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgICByZXR1cm4gJ3N0YXRlLXdhcm4nO1xuICAgICAgICBjYXNlICdlcnJvcic6XG4gICAgICAgICAgcmV0dXJuICdzdGF0ZS1lcnJvcic7XG4gICAgICAgIGRlZmF1bHQ6XG4gICAgICAgICAgcmV0dXJuICdzdGF0ZS1vdGhlcic7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBnZXRUaGVtZUNvbG9yQ2xhc3MoY29sb3I6IFRoZW1lUGFsZXR0ZSk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gICAgaWYgKGNvbG9yKSB7XG4gICAgICBzd2l0Y2ggKGNvbG9yKSB7XG4gICAgICAgIGNhc2UgJ3ByaW1hcnknOlxuICAgICAgICAgIHJldHVybiAnY29sb3ItcHJpbWFyeSc7XG4gICAgICAgIGNhc2UgJ2FjY2VudCc6XG4gICAgICAgICAgcmV0dXJuICdjb2xvci1hY2NlbnQnO1xuICAgICAgICBjYXNlICd3YXJuJzpcbiAgICAgICAgICByZXR1cm4gJ2NvbG9yLXdhcm4nO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -21275,7 +21275,10 @@ class ElderChipLabelDirective {
21275
21275
  * *
21276
21276
  **************************************************************************/
21277
21277
  this.baseClass = 'elder-chip-label';
21278
- this.appearance = 'md3';
21278
+ this._appearance = 'md3';
21279
+ }
21280
+ ngOnInit() {
21281
+ this.refreshClasses();
21279
21282
  }
21280
21283
  /***************************************************************************
21281
21284
  * *
@@ -21283,44 +21286,90 @@ class ElderChipLabelDirective {
21283
21286
  * *
21284
21287
  **************************************************************************/
21285
21288
  get classes() {
21286
- return this.buildClassesString();
21289
+ return this.cssClasses;
21290
+ }
21291
+ /***************************************************************************
21292
+ * *
21293
+ * Properties *
21294
+ * *
21295
+ **************************************************************************/
21296
+ set appearance(appearance) {
21297
+ this._appearance = appearance;
21298
+ this.refreshClasses();
21299
+ }
21300
+ set themeColor(themeColor) {
21301
+ this._themeColor = themeColor;
21302
+ this.refreshClasses();
21303
+ }
21304
+ set stateColor(stateColor) {
21305
+ this._stateColor = stateColor;
21306
+ this.refreshClasses();
21307
+ }
21308
+ set levelColor(levelColor) {
21309
+ this._levelColor = levelColor;
21310
+ this.refreshClasses();
21287
21311
  }
21288
21312
  /***************************************************************************
21289
21313
  * *
21290
21314
  * Private methods *
21291
21315
  * *
21292
21316
  **************************************************************************/
21317
+ refreshClasses() {
21318
+ this.cssClasses = this.buildClassesString();
21319
+ }
21293
21320
  buildClassesString() {
21294
- const classes = [this.baseClass];
21295
- if (this.appearance) {
21296
- classes.push(this.getAppearanceClass(this.appearance));
21321
+ return this.buildClasses()
21322
+ .filter(cls => !!cls)
21323
+ .join(' ');
21324
+ }
21325
+ buildClasses() {
21326
+ var _a, _b;
21327
+ const appearance = (_a = this._appearance) !== null && _a !== void 0 ? _a : 'legacy';
21328
+ switch (appearance) {
21329
+ case 'md3':
21330
+ return [this.baseClass, 'md3', (_b = this.resolveColorClass()) !== null && _b !== void 0 ? _b : 'none'];
21331
+ case 'legacy':
21332
+ return [this.baseClass, 'legacy', this.resolveColorClass()];
21333
+ }
21334
+ }
21335
+ resolveColorClass() {
21336
+ let colorClass;
21337
+ if (this._themeColor) {
21338
+ colorClass = this.getThemeColorClass(this._themeColor);
21297
21339
  }
21298
- if (this.themeColor) {
21299
- classes.push(this.getThemeColorClass(this.themeColor));
21340
+ else if (this._stateColor) {
21341
+ colorClass = this.getStateColorClass(this._stateColor);
21300
21342
  }
21301
- if (this.stateColor) {
21302
- classes.push(this.getStateColorClass(this.stateColor));
21343
+ else if (this._levelColor) {
21344
+ colorClass = this.getLevelColorClass(this._levelColor);
21303
21345
  }
21304
- return classes.join(' ');
21346
+ else {
21347
+ return undefined;
21348
+ }
21349
+ return colorClass;
21305
21350
  }
21306
- getAppearanceClass(appearance) {
21307
- if (appearance) {
21308
- switch (appearance) {
21309
- case 'md3':
21310
- return 'md3';
21311
- case 'legacy':
21312
- return 'legacy';
21351
+ getLevelColorClass(state) {
21352
+ if (state) {
21353
+ switch (state) {
21354
+ case 'low':
21355
+ return 'level-low';
21356
+ case 'medium':
21357
+ return 'level-medium';
21358
+ case 'high':
21359
+ return 'level-high';
21360
+ case 'critical':
21361
+ return 'level-critical';
21362
+ default:
21363
+ return 'state-other'; // TODO
21313
21364
  }
21314
21365
  }
21315
21366
  else {
21316
- return 'legacy';
21367
+ return undefined;
21317
21368
  }
21318
21369
  }
21319
21370
  getStateColorClass(state) {
21320
21371
  if (state) {
21321
21372
  switch (state) {
21322
- case 'none':
21323
- return 'state-none';
21324
21373
  case 'open':
21325
21374
  return 'state-open';
21326
21375
  case 'inProgress':
@@ -21336,7 +21385,7 @@ class ElderChipLabelDirective {
21336
21385
  }
21337
21386
  }
21338
21387
  else {
21339
- return 'state-none';
21388
+ return undefined;
21340
21389
  }
21341
21390
  }
21342
21391
  getThemeColorClass(color) {
@@ -21356,7 +21405,7 @@ class ElderChipLabelDirective {
21356
21405
  }
21357
21406
  }
21358
21407
  ElderChipLabelDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderChipLabelDirective, deps: [{ token: i6.MatChip, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
21359
- ElderChipLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: { themeColor: ["color", "themeColor"], stateColor: "stateColor", appearance: "appearance" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 });
21408
+ ElderChipLabelDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.1.2", type: ElderChipLabelDirective, selector: "[elderChipLabel]", inputs: { appearance: "appearance", themeColor: ["color", "themeColor"], stateColor: "stateColor", levelColor: "levelColor" }, host: { properties: { "class": "this.classes" } }, ngImport: i0 });
21360
21409
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImport: i0, type: ElderChipLabelDirective, decorators: [{
21361
21410
  type: Directive,
21362
21411
  args: [{
@@ -21368,16 +21417,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
21368
21417
  }, {
21369
21418
  type: Host
21370
21419
  }] }];
21371
- }, propDecorators: { themeColor: [{
21420
+ }, propDecorators: { classes: [{
21421
+ type: HostBinding,
21422
+ args: ['class']
21423
+ }], appearance: [{
21424
+ type: Input
21425
+ }], themeColor: [{
21372
21426
  type: Input,
21373
21427
  args: ['color']
21374
21428
  }], stateColor: [{
21375
21429
  type: Input
21376
- }], appearance: [{
21430
+ }], levelColor: [{
21377
21431
  type: Input
21378
- }], classes: [{
21379
- type: HostBinding,
21380
- args: ['class']
21381
21432
  }] } });
21382
21433
 
21383
21434
  class ElderChipsModule {
@@ -28996,3 +29047,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.1.2", ngImpor
28996
29047
 
28997
29048
  export { AuditedEntity, AutoStartSpec, BlobUrl, BytesFormat, BytesPerSecondFormat, BytesPipe, CardDropEvent, CardOrganizerData, CardStack, CollectionUtil, ComparatorBuilder, ConfirmDialogConfig, ContinuableListing, CsvColumnSpec, CsvSerializer, CsvSpec, CsvStreamExporter, CsvStreamExporterBuilder, CsvStreamExporterBuilderService, Currency, CurrencyCode, 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, DataViewOptionsProviderBinding, DataViewSelection, DataViewSelectionInit, DateUtil, DelegateContinuableDataSource, DelegateDataSource, DelegateListDataSource, DelegatePagedDataSource, Dimensions, DrawerOutletBinding, DurationBucket, DurationFormat, ELDER_DATA_VIEW, ELDER_SELECT_BASE, ElderAccessDeniedComponent, ElderAccessDeniedModule, ElderAppHeaderComponent, ElderAuditModule, ElderAuditedEntityComponent, ElderAutoSelectFirstDirective, ElderAutocompleteComponent, ElderAutocompleteDirective, ElderAutocompleteManyDirective, ElderAutocompleteModule, ElderBlobViewerComponent, ElderBreadCrumbsComponent, ElderBreadCrumbsModule, ElderButtonGroupComponent, ElderButtonGroupModule, ElderCardComponent, ElderCardContentDirective, ElderCardHeaderActionsDirective, ElderCardHeaderComponent, ElderCardModule, ElderCardOrganizerComponent, ElderCardOrganizerModule, ElderCardPanelComponent, ElderCardStackComponent, ElderCardSubtitleDirective, ElderCardTitleDirective, ElderCheckboxState, ElderChipLabelDirective, ElderChipListSelectComponent, ElderChipListSelectModule, ElderChipsModule, ElderClearSelectDirective, ElderClipboardPutDirective, ElderClipboardService, ElderConfirmDialogComponent, ElderConnectivityModule, ElderConnectivityService, ElderContainersModule, ElderCsvExportBtnComponent, ElderCsvModule, ElderCurrencyModule, ElderCurrencyPipe, ElderDataCommonModule, ElderDataToolbarComponent, ElderDataTransferModule, ElderDataTransferService, ElderDataViewBaseComponent, ElderDataViewOptions, ElderDataViewOptionsProvider, ElderDateSwitcherComponent, ElderDateTimeInputComponent, ElderDelayedFocusDirective, ElderDialogConfig, ElderDialogModule, ElderDialogPanelComponent, ElderDialogService, ElderDimensionsInputComponent, ElderDurationInputComponent, ElderEntityValueAccessorUtil, ElderEnumTranslationService, ElderErrorModule, ElderEventSourceService, ElderExceptionDetailComponent, ElderExpandToggleButtonComponent, ElderExpandToggleButtonModule, ElderFileDropZoneDirective, ElderFileModule, ElderFileSelectComponent, ElderFileSelectDirective, ElderFileUploadComponent, ElderFormFieldControlBase, ElderFormFieldDenseDirective, ElderFormFieldLabelDirective, ElderFormFieldNoHintDirective, ElderFormFieldNoSpinnerDirective, ElderFormsDirectivesModule, ElderFormsModule, ElderFromFieldBase, ElderFromFieldEntityBase, ElderFromFieldMultiEntityBase, ElderGlobalSearchComponent, ElderGlobalSearchModule, ElderGlobalSearchService, ElderGridComponent, ElderGridModule, ElderGridTileDirective, ElderGridToolbarDirective, ElderHeaderComponent, ElderHeaderModule, ElderHttpClient, ElderI18nEntitiesModule, ElderIFrameModule, ElderInfiniteAutocompleteDirective, ElderInfiniteScrollDirective, ElderInfiniteScrollLegacyDirective, ElderInfiniteScrollModule, ElderInputPatternDirective, ElderIntervalInputComponent, ElderKeyEventDirective, ElderLabelInputComponent, ElderLabelsModule, ElderLanguageConfig, ElderLanguageInterceptor, ElderLanguageModule, ElderLanguageService, ElderLanguageSwitcherComponent, ElderLocalDateInputComponent, ElderLocalTimeInputComponent, ElderLocalesDeChModule, ElderLocalizedInputComponent, ElderLocalizedInputDialogComponent, ElderLocalizedInputDialogService, ElderLocalizedInputTableComponent, ElderLocalizedTextColumnDirective, ElderLocalizedTextsDirective, ElderMaxValidator, ElderMeasuresModule, ElderMinValidator, ElderMultiEntityValueAccessorUtil, ElderMultiSelectBase, ElderMultiSelectChipsComponent, ElderMultiSelectFormField, ElderMultipleOfUtil, ElderMultipleOfValidator, ElderNavGroupComponent, ElderNavLinkComponent, ElderNavListComponent, ElderNavModule, ElderNextFocusableDirective, ElderNumberCellDirective, ElderOfflineIndicatorComponent, ElderOverlayComponent, ElderOverlayModule, ElderOverlayOriginDirective, 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, ElderSearchInputDirective, ElderSearchModule, ElderSearchPanelComponent, ElderSelectBase, ElderSelectChipAvatarDirective, ElderSelectChipDirective, ElderSelectComponent, ElderSelectComponentState, ElderSelectCustomInputDirective, ElderSelectFormField, ElderSelectModule, ElderSelectOnTabDirective, ElderSelectValueDirective, ElderSelectionDialogComponent, ElderSelectionDialogDirective, ElderSelectionMasterCheckboxComponent, ElderSelectionPopupTriggerAdapterDirective, ElderShellCenterDirective, ElderShellComponent, ElderShellModule, ElderShellNavigationToggleComponent, ElderShellService, ElderShellSideLeftDirective, ElderShellSideRightDirective, ElderShellSlotDirective, ElderSimpleSelectionViewComponent, ElderSimpleSelectionViewModule, ElderSingleSortComponent, ElderStackCardDirective, ElderStopEventPropagationDirective, 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, FileUploadClient, Filter, FilterContext, FilterUtil, FormFieldBaseComponent, HttpClientBuilder, HttpClientPristine, HttpDataTransfer, HttpDataTransferAggregateComponent, HttpDataTransferComponent, HttpDataTransferIndicatorComponent, HttpDataTransferOverviewComponent, HttpParamsBuilder, I18nBase, I18nPickAsyncPipe, I18nPickPipe, I18nText, IFrameState, IframeCloseDirective, IframeDialogComponent, IframeHostComponent, IframeService, IframeSideContentComponent, IndexedEntities, InternalRestClientConfig, Interval, IsoDurationPipe, IsoIntervalParsePipe, IsoIntervalPipe, JsonMapUtil, KafentConfig, KafentEvent, KafentEventService, KafentEventStream, KafentEventStreamDisabled, KafentEventStreamSse, KafentEventTransport, KafentModule, KafentSseEventChannel, KafentTokenProvider, KafentTokenProviderSessionStorage, KafentTopicSse, KnownElderThemes, KnownLocaleType, LocalListDataSource, LocalPagedDataSource, LocalisationPickerService, MasterSelectionState, MatTableDataContextBinding, MatTableDataContextBindingBuilder, MultiModelBaseComponent, NextNumberUtil, Objects, OnlineStatus, Page, PageRequest, Pageable, ParseUtil, Path, PathNode, PeriodBucket, PeriodDuration, PeriodFormat, ProcessIterationContext, ProcessState, PropertyPathUtil, Quantity, QueryListBinding, QuestionDialogConfig, ReactiveEventSource, ReactiveMap, RefreshingEntity, RestClient, RestClientConfig, RestClientContinuable, RestClientList, RestClientPaged, SearchQuery, SelectionModel, SelectionModelPopupDirective, Sets, SimpleLocalisationPicker, Sort, SortOption, SortUtil, SubBar, SuggestionProvider, TemplateCompositeControl, TemplatedSelectionDialogComponent, ThemeSpec, TimeAgoPipe, TimeDurationPipe, TimeUtil, ToIsoDateStringPipe, ToastType, TokenChunkRequest, ToolbarHeader, TranslatedEnumValue, TypedEventMessage, Unit, UnitDimension, UnitDimensionInfo, UnitInfo, UnitRegistry, UrlBuilder, UrlQueryParams, UuidUtil, ValueAccessorBase, ValueWrapper, ViewProviders, WeightPipe, alphaNumStringComparator, buildFormIntegrationProviders, createDataOptionsProvider, createSelectionModel, existingOrNewElderTableModel, isActivePagedDataContext, isContinuableDataContext, isContinuableDataSource, isDataContext, isDataSource, isElderEntityValueAccessor, isElderMultiEntityValueAccessor, isListDataSource, isPagedDataSource, naturalValueComparator, newElderTableModel, proxyControlContainer, registerLocale, runInZone, themeInit };
28998
29049
  //# sourceMappingURL=elderbyte-ngx-starter.mjs.map
29050
+ //# sourceMappingURL=elderbyte-ngx-starter.mjs.map