@jooler/inputs 0.0.51 → 0.0.53

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.
Files changed (50) hide show
  1. package/esm2022/lib/ag-grid-select-mixin.mjs +73 -0
  2. package/esm2022/lib/choose-enum/choose-enum.component.mjs +57 -42
  3. package/esm2022/lib/choose-enum-renderer/choose-enum-renderer.component.mjs +35 -21
  4. package/esm2022/lib/custom-colors/bom-production-type.enum.mjs +11 -0
  5. package/esm2022/lib/custom-colors/enum-custom-color-mapping.mjs +32 -0
  6. package/esm2022/lib/custom-colors/enum-custom-colors.mjs +21 -0
  7. package/esm2022/lib/custom-colors/sales-order-status.enum.mjs +27 -0
  8. package/esm2022/lib/enum-custom-label-mapping.mjs +32 -0
  9. package/esm2022/lib/enum-helper-functions.mjs +85 -0
  10. package/esm2022/lib/enum-helper.model.mjs +14 -0
  11. package/esm2022/lib/enum-models/bill-status.model.mjs +25 -0
  12. package/esm2022/lib/enum-models/charge-level.enum.mjs +6 -0
  13. package/esm2022/lib/enum-models/custom-order-request-status.enum.mjs +29 -0
  14. package/esm2022/lib/enum-models/invitation-status.model.mjs +15 -0
  15. package/esm2022/lib/enum-models/invoice-status.model.mjs +15 -0
  16. package/esm2022/lib/enum-models/locker-transfer-status.enum.mjs +11 -0
  17. package/esm2022/lib/enum-models/priority.model.mjs +13 -0
  18. package/esm2022/lib/enum-models/quotation-status.model.mjs +19 -0
  19. package/esm2022/lib/enum-models/request-status.model.mjs +15 -0
  20. package/esm2022/lib/enum-string-class-map.mjs +26 -0
  21. package/esm2022/lib/json/enum-custom-label-mappings.json +10 -0
  22. package/esm2022/lib/primary-colors.mjs +9 -1
  23. package/fesm2022/inputs.mjs +523 -96
  24. package/fesm2022/inputs.mjs.map +1 -1
  25. package/lib/ag-grid-select-mixin.d.ts +22 -0
  26. package/lib/choose-enum/choose-enum.component.d.ts +12 -7
  27. package/lib/choose-enum-renderer/choose-enum-renderer.component.d.ts +7 -9
  28. package/lib/custom-colors/bom-production-type.enum.d.ts +5 -0
  29. package/lib/custom-colors/enum-custom-color-mapping.d.ts +11 -0
  30. package/lib/custom-colors/enum-custom-colors.d.ts +2 -0
  31. package/lib/custom-colors/sales-order-status.enum.d.ts +13 -0
  32. package/lib/enum-custom-label-mapping.d.ts +7 -0
  33. package/lib/enum-helper-functions.d.ts +7 -0
  34. package/lib/enum-helper.model.d.ts +8 -0
  35. package/lib/enum-models/bill-status.model.d.ts +12 -0
  36. package/lib/enum-models/charge-level.enum.d.ts +4 -0
  37. package/lib/enum-models/custom-order-request-status.enum.d.ts +14 -0
  38. package/lib/enum-models/invitation-status.model.d.ts +7 -0
  39. package/lib/enum-models/invoice-status.model.d.ts +13 -0
  40. package/lib/enum-models/locker-transfer-status.enum.d.ts +5 -0
  41. package/lib/enum-models/priority.model.d.ts +6 -0
  42. package/lib/enum-models/quotation-status.model.d.ts +9 -0
  43. package/lib/enum-models/request-status.model.d.ts +7 -0
  44. package/lib/enum-string-class-map.d.ts +3 -0
  45. package/lib/primary-colors.d.ts +8 -0
  46. package/package.json +1 -1
  47. package/esm2022/lib/models/enum-helper-functions.mjs +0 -57
  48. package/esm2022/lib/models/enum-helper.model.mjs +0 -2
  49. package/lib/models/enum-helper-functions.d.ts +0 -5
  50. package/lib/models/enum-helper.model.d.ts +0 -6
@@ -0,0 +1,73 @@
1
+ export class AgGridSelectMixin {
2
+ params;
3
+ key;
4
+ value;
5
+ rowId;
6
+ isEdit;
7
+ index;
8
+ arrayKey = 'entries';
9
+ rowLevelFG;
10
+ width;
11
+ selectedItemId;
12
+ agInit(params) {
13
+ this.initializeRenderer(params);
14
+ }
15
+ initializeRenderer(params) {
16
+ this.params = params;
17
+ this.width = params.width;
18
+ this.key = params.context.createKey(params.columnApi, params.column);
19
+ this.value = params.value;
20
+ this.rowId = params.node.id;
21
+ this.index = params.node.rowIndex;
22
+ if (params.context.arrayKey) {
23
+ this.arrayKey = params.context.arrayKey;
24
+ }
25
+ this.setRowLevelFG();
26
+ }
27
+ setRowLevelFG() {
28
+ this.index = this.params.node.rowIndex;
29
+ let tableFG = this.params.context.formGroup;
30
+ let fa = tableFG.get(this.arrayKey);
31
+ let rowLevelFG = fa.at(this.index);
32
+ this.rowLevelFG = rowLevelFG;
33
+ }
34
+ getFormControl() {
35
+ let fc = this.rowLevelFG.get(this.key);
36
+ return fc;
37
+ }
38
+ updateValue(params, value) {
39
+ this.setRowLevelFG();
40
+ this.getFormControl().setValue(value);
41
+ let rowNode = params.node;
42
+ rowNode.setDataValue(this.key, value);
43
+ }
44
+ // $event here is an object.
45
+ onSelection($event) {
46
+ this.selectedItemId = $event?.id;
47
+ this.updateValue(this.params, $event?.id);
48
+ if (this.params.onSelection instanceof Function) {
49
+ const params = {
50
+ object: $event,
51
+ rowData: this.params.node.data,
52
+ value: $event.id,
53
+ rowNode: this.params.node,
54
+ };
55
+ this.params.onSelection(params);
56
+ }
57
+ }
58
+ onEnumSelected($event) {
59
+ this.updateValue(this.params, $event);
60
+ if (this.params.onSelection instanceof Function) {
61
+ const params = {
62
+ rowData: this.params.node.data,
63
+ value: $event,
64
+ rowNode: this.params.node,
65
+ };
66
+ this.params.onSelection(params);
67
+ }
68
+ }
69
+ refresh(param) {
70
+ return false;
71
+ }
72
+ }
73
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWctZ3JpZC1zZWxlY3QtbWl4aW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9hZy1ncmlkLXNlbGVjdC1taXhpbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFJQSxNQUFNLE9BQU8saUJBQWlCO0lBQzVCLE1BQU0sQ0FBTTtJQUNaLEdBQUcsQ0FBUztJQUNaLEtBQUssQ0FBQztJQUNOLEtBQUssQ0FBUztJQUNkLE1BQU0sQ0FBVTtJQUNoQixLQUFLLENBQVM7SUFDZCxRQUFRLEdBQVcsU0FBUyxDQUFDO0lBQzdCLFVBQVUsQ0FBWTtJQUN0QixLQUFLLENBQVM7SUFDZCxjQUFjLENBQVM7SUFFdkIsTUFBTSxDQUFDLE1BQU07UUFDWCxJQUFJLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVELGtCQUFrQixDQUFDLE1BQU07UUFDdkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDckUsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDO1FBQzFCLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDNUIsSUFBSSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNsQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFO1lBQzNCLElBQUksQ0FBQyxRQUFRLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDekM7UUFDRCxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUN2QyxJQUFJLE9BQU8sR0FBYyxJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUM7UUFDdkQsSUFBSSxFQUFFLEdBQWMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFjLENBQUM7UUFDNUQsSUFBSSxVQUFVLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFjLENBQUM7UUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVELGNBQWM7UUFDWixJQUFJLEVBQUUsR0FBZ0IsSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBZ0IsQ0FBQztRQUNuRSxPQUFPLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBTSxFQUFFLEtBQW9CO1FBQ3RDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3RDLElBQUksT0FBTyxHQUFZLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDbkMsT0FBTyxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFRCw0QkFBNEI7SUFDNUIsV0FBVyxDQUFDLE1BQVc7UUFDckIsSUFBSSxDQUFDLGNBQWMsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDMUMsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsWUFBWSxRQUFRLEVBQUU7WUFDL0MsTUFBTSxNQUFNLEdBQUc7Z0JBQ2IsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUk7Z0JBQzlCLEtBQUssRUFBRSxNQUFNLENBQUMsRUFBRTtnQkFDaEIsT0FBTyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSTthQUMxQixDQUFDO1lBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLE1BQWM7UUFDM0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3RDLElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxXQUFXLFlBQVksUUFBUSxFQUFFO1lBQy9DLE1BQU0sTUFBTSxHQUFHO2dCQUNiLE9BQU8sRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJO2dCQUM5QixLQUFLLEVBQUUsTUFBTTtnQkFDYixPQUFPLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJO2FBQzFCLENBQUM7WUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNqQztJQUNILENBQUM7SUFFRCxPQUFPLENBQUMsS0FBSztRQUNYLE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9ybUFycmF5LCBGb3JtQ29udHJvbCwgRm9ybUdyb3VwIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7IFJvd05vZGUgfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5cbmV4cG9ydCBjbGFzcyBBZ0dyaWRTZWxlY3RNaXhpbiBpbXBsZW1lbnRzIElDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcCB7XG4gIHBhcmFtczogYW55O1xuICBrZXk6IHN0cmluZztcbiAgdmFsdWU7XG4gIHJvd0lkOiBudW1iZXI7XG4gIGlzRWRpdDogYm9vbGVhbjtcbiAgaW5kZXg6IG51bWJlcjtcbiAgYXJyYXlLZXk6IHN0cmluZyA9ICdlbnRyaWVzJztcbiAgcm93TGV2ZWxGRzogRm9ybUdyb3VwO1xuICB3aWR0aDogbnVtYmVyO1xuICBzZWxlY3RlZEl0ZW1JZDogbnVtYmVyO1xuXG4gIGFnSW5pdChwYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLmluaXRpYWxpemVSZW5kZXJlcihwYXJhbXMpO1xuICB9XG5cbiAgaW5pdGlhbGl6ZVJlbmRlcmVyKHBhcmFtcykge1xuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMud2lkdGggPSBwYXJhbXMud2lkdGg7XG4gICAgdGhpcy5rZXkgPSBwYXJhbXMuY29udGV4dC5jcmVhdGVLZXkocGFyYW1zLmNvbHVtbkFwaSwgcGFyYW1zLmNvbHVtbik7XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy52YWx1ZTtcbiAgICB0aGlzLnJvd0lkID0gcGFyYW1zLm5vZGUuaWQ7XG4gICAgdGhpcy5pbmRleCA9IHBhcmFtcy5ub2RlLnJvd0luZGV4O1xuICAgIGlmIChwYXJhbXMuY29udGV4dC5hcnJheUtleSkge1xuICAgICAgdGhpcy5hcnJheUtleSA9IHBhcmFtcy5jb250ZXh0LmFycmF5S2V5O1xuICAgIH1cbiAgICB0aGlzLnNldFJvd0xldmVsRkcoKTtcbiAgfVxuXG4gIHNldFJvd0xldmVsRkcoKSB7XG4gICAgdGhpcy5pbmRleCA9IHRoaXMucGFyYW1zLm5vZGUucm93SW5kZXg7XG4gICAgbGV0IHRhYmxlRkc6IEZvcm1Hcm91cCA9IHRoaXMucGFyYW1zLmNvbnRleHQuZm9ybUdyb3VwO1xuICAgIGxldCBmYTogRm9ybUFycmF5ID0gdGFibGVGRy5nZXQodGhpcy5hcnJheUtleSkgYXMgRm9ybUFycmF5O1xuICAgIGxldCByb3dMZXZlbEZHID0gZmEuYXQodGhpcy5pbmRleCkgYXMgRm9ybUdyb3VwO1xuICAgIHRoaXMucm93TGV2ZWxGRyA9IHJvd0xldmVsRkc7XG4gIH1cblxuICBnZXRGb3JtQ29udHJvbCgpIHtcbiAgICBsZXQgZmM6IEZvcm1Db250cm9sID0gdGhpcy5yb3dMZXZlbEZHLmdldCh0aGlzLmtleSkgYXMgRm9ybUNvbnRyb2w7XG4gICAgcmV0dXJuIGZjO1xuICB9XG5cbiAgdXBkYXRlVmFsdWUocGFyYW1zLCB2YWx1ZTogbnVtYmVyIHwgbnVsbCkge1xuICAgIHRoaXMuc2V0Um93TGV2ZWxGRygpO1xuICAgIHRoaXMuZ2V0Rm9ybUNvbnRyb2woKS5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgbGV0IHJvd05vZGU6IFJvd05vZGUgPSBwYXJhbXMubm9kZTtcbiAgICByb3dOb2RlLnNldERhdGFWYWx1ZSh0aGlzLmtleSwgdmFsdWUpO1xuICB9XG5cbiAgLy8gJGV2ZW50IGhlcmUgaXMgYW4gb2JqZWN0LlxuICBvblNlbGVjdGlvbigkZXZlbnQ6IGFueSkge1xuICAgIHRoaXMuc2VsZWN0ZWRJdGVtSWQgPSAkZXZlbnQ/LmlkO1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5wYXJhbXMsICRldmVudD8uaWQpO1xuICAgIGlmICh0aGlzLnBhcmFtcy5vblNlbGVjdGlvbiBpbnN0YW5jZW9mIEZ1bmN0aW9uKSB7XG4gICAgICBjb25zdCBwYXJhbXMgPSB7XG4gICAgICAgIG9iamVjdDogJGV2ZW50LFxuICAgICAgICByb3dEYXRhOiB0aGlzLnBhcmFtcy5ub2RlLmRhdGEsXG4gICAgICAgIHZhbHVlOiAkZXZlbnQuaWQsXG4gICAgICAgIHJvd05vZGU6IHRoaXMucGFyYW1zLm5vZGUsXG4gICAgICB9O1xuICAgICAgdGhpcy5wYXJhbXMub25TZWxlY3Rpb24ocGFyYW1zKTtcbiAgICB9XG4gIH1cblxuICBvbkVudW1TZWxlY3RlZCgkZXZlbnQ6IG51bWJlcikge1xuICAgIHRoaXMudXBkYXRlVmFsdWUodGhpcy5wYXJhbXMsICRldmVudCk7XG4gICAgaWYgKHRoaXMucGFyYW1zLm9uU2VsZWN0aW9uIGluc3RhbmNlb2YgRnVuY3Rpb24pIHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgcm93RGF0YTogdGhpcy5wYXJhbXMubm9kZS5kYXRhLFxuICAgICAgICB2YWx1ZTogJGV2ZW50LFxuICAgICAgICByb3dOb2RlOiB0aGlzLnBhcmFtcy5ub2RlLFxuICAgICAgfTtcbiAgICAgIHRoaXMucGFyYW1zLm9uU2VsZWN0aW9uKHBhcmFtcyk7XG4gICAgfVxuICB9XG5cbiAgcmVmcmVzaChwYXJhbSk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  import { Component, EventEmitter, forwardRef, Input, Output, } from '@angular/core';
2
2
  import { NG_VALUE_ACCESSOR } from '@angular/forms';
3
- import { EnumHelperBaseClass } from '../models/enum-helper-functions';
3
+ import { EnumHelperBaseClass } from '../enum-helper-functions';
4
4
  import * as i0 from "@angular/core";
5
5
  import * as i1 from "@angular/common";
6
6
  import * as i2 from "@ng-select/ng-select";
@@ -13,13 +13,11 @@ export class ChooseEnumComponent {
13
13
  clearable = true;
14
14
  customColors;
15
15
  enumChoices;
16
- virtualScroll = false;
17
16
  getValuesArrayFromEnum = EnumHelperBaseClass.getEnumOptionsFromEnumClass;
18
- indexesToDisable = [];
17
+ valuesToDisable = [];
18
+ valuesToHide = [];
19
19
  isChip = true;
20
20
  isDropdownDisabled = false;
21
- isItemHidden;
22
- isItemDisabled;
23
21
  isMultiple;
24
22
  label = 'label';
25
23
  labelTextAlign = 'left';
@@ -30,49 +28,63 @@ export class ChooseEnumComponent {
30
28
  percentWidth = false;
31
29
  selectedItem;
32
30
  width;
31
+ isReadOnly = false;
32
+ virtualScroll = false;
33
33
  change = new EventEmitter();
34
34
  close = new EventEmitter();
35
35
  constructor() { }
36
- ngOnChanges() {
36
+ ngOnInit() {
37
37
  if (this.getValuesArrayFromEnum != null) {
38
38
  this.items = this.getValuesArrayFromEnum(this.enumChoices, this.customColors, this.allowAllCapsValues);
39
39
  }
40
- if (this.isItemDisabled == true) {
41
- if (this.indexesToDisable.length > 0) {
42
- for (let index of this.indexesToDisable) {
43
- this.items[index].disabled = true;
44
- }
45
- }
40
+ if (this.valuesToDisable.length > 0) {
41
+ this.disabledItems();
46
42
  }
47
- if (this.isItemHidden == true) {
48
- if (this.indexesToDisable.length > 0) {
49
- for (let index of this.indexesToDisable) {
50
- let itemIndex = this.items.findIndex((item) => item.value == index);
51
- this.items.splice(itemIndex, 1);
52
- }
53
- }
43
+ if (this.valuesToHide.length > 0) {
44
+ this.hideItems();
54
45
  }
46
+ this.sortAndReorderItems();
55
47
  }
56
- ngOnInit() {
48
+ ngOnChanges() {
57
49
  if (this.getValuesArrayFromEnum != null) {
58
50
  this.items = this.getValuesArrayFromEnum(this.enumChoices, this.customColors, this.allowAllCapsValues);
59
51
  }
60
- if (this.isItemDisabled == true) {
61
- if (this.indexesToDisable.length > 0) {
62
- for (let index of this.indexesToDisable) {
63
- this.items[index].disabled = true;
64
- }
52
+ if (this.valuesToDisable.length > 0) {
53
+ this.disabledItems();
54
+ }
55
+ if (this.valuesToHide.length > 0) {
56
+ this.hideItems();
57
+ }
58
+ this.sortAndReorderItems();
59
+ }
60
+ disabledItems() {
61
+ for (let value of this.valuesToDisable) {
62
+ let index = this.items.findIndex(enumOption => enumOption.value == value);
63
+ if (index >= 0) {
64
+ this.items[index].disabled = true;
65
+ }
66
+ else {
67
+ throw Error('Index was not found for an enum element in the valuesToDisable array provided.');
65
68
  }
66
69
  }
67
- if (this.isItemHidden == true) {
68
- if (this.indexesToDisable.length > 0) {
69
- for (let index of this.indexesToDisable) {
70
- let itemIndex = this.items.findIndex((item) => item.value == index);
71
- this.items.splice(itemIndex, 1);
72
- }
70
+ }
71
+ hideItems() {
72
+ for (let value of this.valuesToHide) {
73
+ let index = this.items.findIndex(enumOption => enumOption.value == value);
74
+ if (index >= 0) {
75
+ this.items.splice(index, 1);
76
+ }
77
+ else {
78
+ throw Error('Index was not found for an enum element in the valuesToHide array provided.');
73
79
  }
74
80
  }
75
81
  }
82
+ sortAndReorderItems() {
83
+ const nonDisabledItems = this.items.filter(item => !item.disabled);
84
+ const disabledItems = this.items.filter(item => item.disabled);
85
+ nonDisabledItems.sort((a, b) => a.label.localeCompare(b.label));
86
+ this.items = [...nonDisabledItems, ...disabledItems];
87
+ }
76
88
  writeValue(type) {
77
89
  if (type != undefined) {
78
90
  this.selectedItem = type;
@@ -94,6 +106,7 @@ export class ChooseEnumComponent {
94
106
  this.close.emit();
95
107
  }
96
108
  onSelectedItemChanged() {
109
+ this.propogateTouch();
97
110
  this.propagateChange(this.selectedItem);
98
111
  this.change.emit(this.selectedItem);
99
112
  }
@@ -102,6 +115,7 @@ export class ChooseEnumComponent {
102
115
  }
103
116
  clear() {
104
117
  this.selectedItem = null;
118
+ this.propogateTouch();
105
119
  }
106
120
  setStyles() {
107
121
  let style = {
@@ -117,17 +131,18 @@ export class ChooseEnumComponent {
117
131
  textAlign: this.labelTextAlign,
118
132
  fontWeight: this.labelTextFontWeight,
119
133
  fontSize: this.labelTextFontSize + 'rem',
134
+ padding: '0.4rem',
120
135
  };
121
136
  return style;
122
137
  }
123
138
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChooseEnumComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
124
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChooseEnumComponent, selector: "choose-enum", inputs: { appendTo: "appendTo", allowAllCapsValues: "allowAllCapsValues", clearable: "clearable", customColors: "customColors", enumChoices: "enumChoices", virtualScroll: "virtualScroll", getValuesArrayFromEnum: "getValuesArrayFromEnum", indexesToDisable: "indexesToDisable", isChip: "isChip", isDropdownDisabled: "isDropdownDisabled", isItemHidden: "isItemHidden", isItemDisabled: "isItemDisabled", isMultiple: "isMultiple", label: "label", labelTextAlign: "labelTextAlign", labelTextFontWeight: "labelTextFontWeight", labelTextFontSize: "labelTextFontSize", paddingTop: "paddingTop", placeholder: "placeholder", percentWidth: "percentWidth", selectedItem: "selectedItem", width: "width" }, outputs: { change: "change", close: "close" }, providers: [
139
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChooseEnumComponent, selector: "choose-enum", inputs: { appendTo: "appendTo", allowAllCapsValues: "allowAllCapsValues", clearable: "clearable", customColors: "customColors", enumChoices: "enumChoices", getValuesArrayFromEnum: "getValuesArrayFromEnum", valuesToDisable: "valuesToDisable", valuesToHide: "valuesToHide", isChip: "isChip", isDropdownDisabled: "isDropdownDisabled", isMultiple: "isMultiple", label: "label", labelTextAlign: "labelTextAlign", labelTextFontWeight: "labelTextFontWeight", labelTextFontSize: "labelTextFontSize", paddingTop: "paddingTop", placeholder: "placeholder", percentWidth: "percentWidth", selectedItem: "selectedItem", width: "width", isReadOnly: "isReadOnly", virtualScroll: "virtualScroll" }, outputs: { change: "change", close: "close" }, providers: [
125
140
  {
126
141
  provide: NG_VALUE_ACCESSOR,
127
142
  useExisting: forwardRef(() => ChooseEnumComponent),
128
143
  multi: true,
129
144
  },
130
- ], usesOnChanges: true, ngImport: i0, template: "<div class=\"select\">\r\n <ng-select\r\n [ngStyle]=\"setStyles()\"\r\n (blur)=\"updateBlur()\"\r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n [items]=\"items\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\"\r\n [disabled]=\"isDropdownDisabled\"\r\n [clearable]=\"clearable\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [clearAllText]=\"'clear everything'\"\r\n (clear)=\"clear()\"\r\n [appendTo]=\"appendTo\"\r\n dropdownPosition=\"bottom\">\r\n <ng-template\r\n class=\"template\"\r\n ng-option-tmp\r\n ng-label-tmp\r\n let-item=\"item\"\r\n let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\" [customColors]=\"customColors\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n", styles: [".select{width:100%}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgChipComponent, selector: "ng-chip", inputs: ["backgroundColor", "size", "clear", "customColors", "enumClass", "enumValue", "inputType", "item", "isClickable", "label", "width", "withCross"] }] });
145
+ ], usesOnChanges: true, ngImport: i0, template: "<div>\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [virtualScroll]=\"virtualScroll\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\" [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [readonly]=\"isReadOnly\"\r\n [clearable]=\"clearable\" (clear)=\"clear()\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"isChip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: clearable, clear: clear }\">\r\n </ng-container>\r\n </ng-container>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-clear=\"clear\">\r\n <div [ngClass]=\"{ disabled: item.disabled }\">\r\n <div *ngIf=\"isChip\" class=\"chip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: false, clear: clear }\">\r\n </ng-container>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n\r\n<ng-template #chip let-showCross=\"showCross\" let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip [enumClass]=\"enumChoices\" [withCross]=\"showCross\" [enumValue]=\"item.value\" [customColors]=\"customColors\"\r\n [item]=\"item\" [clear]=\"clear\">\r\n </ng-chip>\r\n</ng-template>", styles: [".disabled{cursor:not-allowed}.disabled .chip{filter:opacity(.3)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "component", type: i2.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i2.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i2.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i4.NgChipComponent, selector: "ng-chip", inputs: ["backgroundColor", "size", "clear", "customColors", "enumClass", "enumValue", "inputType", "item", "isClickable", "label", "width", "withCross"] }] });
131
146
  }
132
147
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChooseEnumComponent, decorators: [{
133
148
  type: Component,
@@ -137,7 +152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
137
152
  useExisting: forwardRef(() => ChooseEnumComponent),
138
153
  multi: true,
139
154
  },
140
- ], template: "<div class=\"select\">\r\n <ng-select\r\n [ngStyle]=\"setStyles()\"\r\n (blur)=\"updateBlur()\"\r\n bindLabel=\"label\"\r\n bindValue=\"value\"\r\n [items]=\"items\"\r\n [placeholder]=\"placeholder\"\r\n (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\"\r\n [multiple]=\"isMultiple\"\r\n [disabled]=\"isDropdownDisabled\"\r\n [clearable]=\"clearable\"\r\n [virtualScroll]=\"virtualScroll\"\r\n [clearAllText]=\"'clear everything'\"\r\n (clear)=\"clear()\"\r\n [appendTo]=\"appendTo\"\r\n dropdownPosition=\"bottom\">\r\n <ng-template\r\n class=\"template\"\r\n ng-option-tmp\r\n ng-label-tmp\r\n let-item=\"item\"\r\n let-index=\"index\"\r\n let-search=\"searchTerm\">\r\n <div *ngIf=\"isChip\">\r\n <ng-chip [enumClass]=\"enumChoices\" [enumValue]=\"item.value\" [customColors]=\"customColors\">\r\n </ng-chip>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n", styles: [".select{width:100%}\n"] }]
155
+ ], template: "<div>\r\n <ng-select [ngStyle]=\"setStyles()\" (blur)=\"updateBlur()\" bindLabel=\"label\" bindValue=\"value\" [items]=\"items\"\r\n [virtualScroll]=\"virtualScroll\" [placeholder]=\"placeholder\" (change)=\"onSelectedItemChanged()\"\r\n [(ngModel)]=\"selectedItem\" [multiple]=\"isMultiple\" [disabled]=\"isDropdownDisabled\" [readonly]=\"isReadOnly\"\r\n [clearable]=\"clearable\" (clear)=\"clear()\" [appendTo]=\"appendTo\" dropdownPosition=\"bottom\">\r\n <ng-template ng-label-tmp let-item=\"item\" let-clear=\"clear\">\r\n <ng-container *ngIf=\"isChip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: clearable, clear: clear }\">\r\n </ng-container>\r\n </ng-container>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </ng-template>\r\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-clear=\"clear\">\r\n <div [ngClass]=\"{ disabled: item.disabled }\">\r\n <div *ngIf=\"isChip\" class=\"chip\">\r\n <ng-container [ngTemplateOutlet]=\"chip\"\r\n [ngTemplateOutletContext]=\"{ item: item, showCross: false, clear: clear }\">\r\n </ng-container>\r\n </div>\r\n <div [ngStyle]=\"setLabelStyle()\" *ngIf=\"!isChip\">{{ item.label }}</div>\r\n </div>\r\n </ng-template>\r\n </ng-select>\r\n</div>\r\n\r\n<ng-template #chip let-showCross=\"showCross\" let-item=\"item\" let-clear=\"clear\">\r\n <ng-chip [enumClass]=\"enumChoices\" [withCross]=\"showCross\" [enumValue]=\"item.value\" [customColors]=\"customColors\"\r\n [item]=\"item\" [clear]=\"clear\">\r\n </ng-chip>\r\n</ng-template>", styles: [".disabled{cursor:not-allowed}.disabled .chip{filter:opacity(.3)}\n"] }]
141
156
  }], ctorParameters: function () { return []; }, propDecorators: { appendTo: [{
142
157
  type: Input
143
158
  }], allowAllCapsValues: [{
@@ -148,20 +163,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
148
163
  type: Input
149
164
  }], enumChoices: [{
150
165
  type: Input
151
- }], virtualScroll: [{
152
- type: Input
153
166
  }], getValuesArrayFromEnum: [{
154
167
  type: Input
155
- }], indexesToDisable: [{
168
+ }], valuesToDisable: [{
169
+ type: Input
170
+ }], valuesToHide: [{
156
171
  type: Input
157
172
  }], isChip: [{
158
173
  type: Input
159
174
  }], isDropdownDisabled: [{
160
175
  type: Input
161
- }], isItemHidden: [{
162
- type: Input
163
- }], isItemDisabled: [{
164
- type: Input
165
176
  }], isMultiple: [{
166
177
  type: Input
167
178
  }], label: [{
@@ -182,9 +193,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
182
193
  type: Input
183
194
  }], width: [{
184
195
  type: Input
196
+ }], isReadOnly: [{
197
+ type: Input
198
+ }], virtualScroll: [{
199
+ type: Input
185
200
  }], change: [{
186
201
  type: Output
187
202
  }], close: [{
188
203
  type: Output
189
204
  }] } });
190
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDOzs7Ozs7QUFjdEUsTUFBTSxPQUFPLG1CQUFtQjtJQUc5QixLQUFLLENBQVE7SUFDSixRQUFRLEdBQVcsTUFBTSxDQUFDO0lBQzFCLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUNwQyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBQzFCLFlBQVksQ0FBVztJQUN2QixXQUFXLENBQU07SUFDakIsYUFBYSxHQUFXLEtBQUssQ0FBQztJQUM5QixzQkFBc0IsR0FDN0IsbUJBQW1CLENBQUMsMkJBQTJCLENBQUM7SUFDekMsZ0JBQWdCLEdBQWEsRUFBRSxDQUFDO0lBQ2hDLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLFlBQVksQ0FBVTtJQUN0QixjQUFjLENBQVU7SUFDeEIsVUFBVSxDQUFVO0lBQ3BCLEtBQUssR0FBVyxPQUFPLENBQUM7SUFDeEIsY0FBYyxHQUFXLE1BQU0sQ0FBQztJQUNoQyxtQkFBbUIsQ0FBUztJQUM1QixpQkFBaUIsQ0FBUztJQUMxQixVQUFVLENBQVM7SUFDbkIsV0FBVyxDQUFT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LEtBQUs7Z0JBQ0ksTUFBTTtzQkFBZixNQUFNO2dCQUNHLEtBQUs7c0JBQWQsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIEV2ZW50RW1pdHRlcixcclxuICBmb3J3YXJkUmVmLFxyXG4gIElucHV0LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT3V0cHV0LFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IEVudW1IZWxwZXJCYXNlQ2xhc3MgfSBmcm9tICcuLi9tb2RlbHMvZW51bS1oZWxwZXItZnVuY3Rpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2hvb3NlLWVudW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtZW51bS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hvb3NlLWVudW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENob29zZUVudW1Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob29zZUVudW1Db21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBDb250cm9sVmFsdWVBY2Nlc3NvclxyXG57XHJcbiAgaXRlbXM6IGFueVtdO1xyXG4gIEBJbnB1dCgpIGFwcGVuZFRvOiBzdHJpbmcgPSAnYm9keSc7XHJcbiAgQElucHV0KCkgYWxsb3dBbGxDYXBzVmFsdWVzOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBjdXN0b21Db2xvcnM6IHN0cmluZ1tdO1xyXG4gIEBJbnB1dCgpIGVudW1DaG9pY2VzOiBhbnk7XHJcbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbDpib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgZ2V0VmFsdWVzQXJyYXlGcm9tRW51bTogRnVuY3Rpb24gPVxyXG4gICAgRW51bUhlbHBlckJhc2VDbGFzcy5nZXRFbnVtT3B0aW9uc0Zyb21FbnVtQ2xhc3M7XHJcbiAgQElucHV0KCkgaW5kZXhlc1RvRGlzYWJsZTogbnVtYmVyW10gPSBbXTtcclxuICBASW5wdXQoKSBpc0NoaXA6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGlzRHJvcGRvd25EaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBJbnB1dCgpIGlzSXRlbUhpZGRlbjogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc0l0ZW1EaXNhYmxlZDogYm9vbGVhbjtcclxuICBASW5wdXQoKSBpc011bHRpcGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dEFsaWduOiBzdHJpbmcgPSAnbGVmdCc7XHJcbiAgQElucHV0KCkgbGFiZWxUZXh0Rm9udFdlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dEZvbnRTaXplOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFkZGluZ1RvcDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGVyY2VudFdpZHRoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBAT3V0cHV0KCkgY2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG4gIEBPdXRwdXQoKSBjbG9zZSA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7fVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIGlmICh0aGlzLmdldFZhbHVlc0FycmF5RnJvbUVudW0gIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtKFxyXG4gICAgICAgIHRoaXMuZW51bUNob2ljZXMsXHJcbiAgICAgICAgdGhpcy5jdXN0b21Db2xvcnMsXHJcbiAgICAgICAgdGhpcy5hbGxvd0FsbENhcHNWYWx1ZXNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzSXRlbURpc2FibGVkID09IHRydWUpIHtcclxuICAgICAgaWYgKHRoaXMuaW5kZXhlc1RvRGlzYWJsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgZm9yIChsZXQgaW5kZXggb2YgdGhpcy5pbmRleGVzVG9EaXNhYmxlKSB7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zW2luZGV4XS5kaXNhYmxlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc0l0ZW1IaWRkZW4gPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAodGhpcy5pbmRleGVzVG9EaXNhYmxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCBvZiB0aGlzLmluZGV4ZXNUb0Rpc2FibGUpIHtcclxuICAgICAgICAgIGxldCBpdGVtSW5kZXggPSB0aGlzLml0ZW1zLmZpbmRJbmRleCgoaXRlbSkgPT4gaXRlbS52YWx1ZSA9PSBpbmRleCk7XHJcbiAgICAgICAgICB0aGlzLml0ZW1zLnNwbGljZShpdGVtSW5kZXgsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZ2V0VmFsdWVzQXJyYXlGcm9tRW51bShcclxuICAgICAgICB0aGlzLmVudW1DaG9pY2VzLFxyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sb3JzLFxyXG4gICAgICAgIHRoaXMuYWxsb3dBbGxDYXBzVmFsdWVzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMuaXNJdGVtRGlzYWJsZWQgPT0gdHJ1ZSkge1xyXG4gICAgICBpZiAodGhpcy5pbmRleGVzVG9EaXNhYmxlLmxlbmd0aCA+IDApIHtcclxuICAgICAgICBmb3IgKGxldCBpbmRleCBvZiB0aGlzLmluZGV4ZXNUb0Rpc2FibGUpIHtcclxuICAgICAgICAgIHRoaXMuaXRlbXNbaW5kZXhdLmRpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGlmICh0aGlzLmlzSXRlbUhpZGRlbiA9PSB0cnVlKSB7XHJcbiAgICAgIGlmICh0aGlzLmluZGV4ZXNUb0Rpc2FibGUubGVuZ3RoID4gMCkge1xyXG4gICAgICAgIGZvciAobGV0IGluZGV4IG9mIHRoaXMuaW5kZXhlc1RvRGlzYWJsZSkge1xyXG4gICAgICAgICAgbGV0IGl0ZW1JbmRleCA9IHRoaXMuaXRlbXMuZmluZEluZGV4KChpdGVtKSA9PiBpdGVtLnZhbHVlID09IGluZGV4KTtcclxuICAgICAgICAgIHRoaXMuaXRlbXMuc3BsaWNlKGl0ZW1JbmRleCwgMSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHR5cGU6IG51bWJlcikge1xyXG4gICAgaWYgKHR5cGUgIT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdHlwZTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PSBudWxsKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gdHlwZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uQ2hhbmdlKGZuOiBhbnkpIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlID0gZm47XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSkge1xyXG4gICAgdGhpcy5wcm9wb2dhdGVUb3VjaCA9IGZuO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBwcm9wYWdhdGVDaGFuZ2UgPSAoXzogYW55KSA9PiB7fTtcclxuICBwcml2YXRlIHByb3BvZ2F0ZVRvdWNoID0gKCkgPT4ge307XHJcblxyXG4gIHVwZGF0ZUJsdXIoKSB7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoKCk7XHJcbiAgICB0aGlzLmNsb3NlLmVtaXQoKTtcclxuICB9XHJcblxyXG4gIG9uU2VsZWN0ZWRJdGVtQ2hhbmdlZCgpIHtcclxuICAgIHRoaXMucHJvcGFnYXRlQ2hhbmdlKHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICAgIHRoaXMuY2hhbmdlLmVtaXQodGhpcy5zZWxlY3RlZEl0ZW0pO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzYWJsZWRTdGF0ZShpc0Rpc2FibGVkOiBib29sZWFuKSB7XHJcbiAgICB0aGlzLmlzRHJvcGRvd25EaXNhYmxlZCA9IGlzRGlzYWJsZWQ7XHJcbiAgfVxyXG5cclxuICBjbGVhcigpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtID0gbnVsbDtcclxuICB9XHJcblxyXG4gIHNldFN0eWxlcygpIHtcclxuICAgIGxldCBzdHlsZSA9IHtcclxuICAgICAgcGFkZGluZ1RvcDogdGhpcy5wYWRkaW5nVG9wICsgJ3JlbScsXHJcbiAgICB9O1xyXG4gICAgaWYgKHRoaXMud2lkdGgpIHtcclxuICAgICAgc3R5bGVbJ3dpZHRoJ10gPSB0aGlzLndpZHRoICsgJ3JlbSc7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG5cclxuICBzZXRMYWJlbFN0eWxlKCkge1xyXG4gICAgbGV0IHN0eWxlID0ge1xyXG4gICAgICB0ZXh0QWxpZ246IHRoaXMubGFiZWxUZXh0QWxpZ24sXHJcbiAgICAgIGZvbnRXZWlnaHQ6IHRoaXMubGFiZWxUZXh0Rm9udFdlaWdodCxcclxuICAgICAgZm9udFNpemU6IHRoaXMubGFiZWxUZXh0Rm9udFNpemUgKyAncmVtJyxcclxuICAgIH07XHJcbiAgICByZXR1cm4gc3R5bGU7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJzZWxlY3RcIj5cclxuICA8bmctc2VsZWN0XHJcbiAgICBbbmdTdHlsZV09XCJzZXRTdHlsZXMoKVwiXHJcbiAgICAoYmx1cik9XCJ1cGRhdGVCbHVyKClcIlxyXG4gICAgYmluZExhYmVsPVwibGFiZWxcIlxyXG4gICAgYmluZFZhbHVlPVwidmFsdWVcIlxyXG4gICAgW2l0ZW1zXT1cIml0ZW1zXCJcclxuICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlclwiXHJcbiAgICAoY2hhbmdlKT1cIm9uU2VsZWN0ZWRJdGVtQ2hhbmdlZCgpXCJcclxuICAgIFsobmdNb2RlbCldPVwic2VsZWN0ZWRJdGVtXCJcclxuICAgIFttdWx0aXBsZV09XCJpc011bHRpcGxlXCJcclxuICAgIFtkaXNhYmxlZF09XCJpc0Ryb3Bkb3duRGlzYWJsZWRcIlxyXG4gICAgW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIlxyXG4gICAgW3ZpcnR1YWxTY3JvbGxdPVwidmlydHVhbFNjcm9sbFwiXHJcbiAgICBbY2xlYXJBbGxUZXh0XT1cIidjbGVhciBldmVyeXRoaW5nJ1wiXHJcbiAgICAoY2xlYXIpPVwiY2xlYXIoKVwiXHJcbiAgICBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIlxyXG4gICAgZHJvcGRvd25Qb3NpdGlvbj1cImJvdHRvbVwiPlxyXG4gICAgPG5nLXRlbXBsYXRlXHJcbiAgICAgIGNsYXNzPVwidGVtcGxhdGVcIlxyXG4gICAgICBuZy1vcHRpb24tdG1wXHJcbiAgICAgIG5nLWxhYmVsLXRtcFxyXG4gICAgICBsZXQtaXRlbT1cIml0ZW1cIlxyXG4gICAgICBsZXQtaW5kZXg9XCJpbmRleFwiXHJcbiAgICAgIGxldC1zZWFyY2g9XCJzZWFyY2hUZXJtXCI+XHJcbiAgICAgIDxkaXYgKm5nSWY9XCJpc0NoaXBcIj5cclxuICAgICAgICA8bmctY2hpcCBbZW51bUNsYXNzXT1cImVudW1DaG9pY2VzXCIgW2VudW1WYWx1ZV09XCJpdGVtLnZhbHVlXCIgW2N1c3RvbUNvbG9yc109XCJjdXN0b21Db2xvcnNcIj5cclxuICAgICAgICA8L25nLWNoaXA+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldExhYmVsU3R5bGUoKVwiICpuZ0lmPVwiIWlzQ2hpcFwiPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgPC9uZy1zZWxlY3Q+XHJcbjwvZGl2PlxyXG4iXX0=
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWVudW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0vY2hvb3NlLWVudW0uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxZQUFZLEVBQ1osVUFBVSxFQUNWLEtBQUssRUFHTCxNQUFNLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDOzs7Ozs7QUFjL0QsTUFBTSxPQUFPLG1CQUFtQjtJQUM5QixLQUFLLENBQWU7SUFDWCxRQUFRLEdBQVcsTUFBTSxDQUFDO0lBQzFCLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUNwQyxTQUFTLEdBQVksSUFBSSxDQUFDO0lBQzFCLFlBQVksQ0FBVztJQUN2QixXQUFXLENBQU07SUFDakIsc0JBQXNCLEdBQWEsbUJBQW1CLENBQUMsMkJBQTJCLENBQUM7SUFDbkYsZUFBZSxHQUFhLEVBQUUsQ0FBQztJQUMvQixZQUFZLEdBQWEsRUFBRSxDQUFDO0lBQzVCLE1BQU0sR0FBWSxJQUFJLENBQUM7SUFDdkIsa0JBQWtCLEdBQVksS0FBSyxDQUFDO0lBQ3BDLFVBQVUsQ0FBVTtJQUNwQixLQUFLLEdBQVcsT0FBTyxDQUFDO0lBQ3hCLGNBQWMsR0FBVyxNQUFNLENBQUM7SUFDaEMsbUJBQW1CLENBQVM7SUFDNUIsaUJBQWlCLENBQVM7SUFDMUIsVUFBVSxDQUFTO0lBQ25CLFdBQVcsQ0FBUztJQUNwQixZQUFZLEdBQVksS0FBSyxDQUFDO0lBQzlCLFlB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QixLQUFLO2dCQUNHLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLHNCQUFzQjtzQkFBOUIsS0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLGtCQUFrQjtzQkFBMUIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxjQUFjO3NCQUF0QixLQUFLO2dCQUNHLG1CQUFtQjtzQkFBM0IsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csVUFBVTtzQkFBbEIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNJLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxLQUFLO3NCQUFkLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgZm9yd2FyZFJlZixcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBFbnVtT3B0aW9uIH0gZnJvbSAnLi4vZW51bS1oZWxwZXIubW9kZWwnO1xyXG5pbXBvcnQgeyBFbnVtSGVscGVyQmFzZUNsYXNzIH0gZnJvbSAnLi4vZW51bS1oZWxwZXItZnVuY3Rpb25zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2hvb3NlLWVudW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtZW51bS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hvb3NlLWVudW0uY29tcG9uZW50LnNjc3MnXSxcclxuICBwcm92aWRlcnM6IFtcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXHJcbiAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IENob29zZUVudW1Db21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZSxcclxuICAgIH0sXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob29zZUVudW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xyXG4gIGl0ZW1zOiBFbnVtT3B0aW9uW107XHJcbiAgQElucHV0KCkgYXBwZW5kVG86IHN0cmluZyA9ICdib2R5JztcclxuICBASW5wdXQoKSBhbGxvd0FsbENhcHNWYWx1ZXM6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBjbGVhcmFibGU6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIEBJbnB1dCgpIGN1c3RvbUNvbG9yczogc3RyaW5nW107XHJcbiAgQElucHV0KCkgZW51bUNob2ljZXM6IGFueTtcclxuICBASW5wdXQoKSBnZXRWYWx1ZXNBcnJheUZyb21FbnVtOiBGdW5jdGlvbiA9IEVudW1IZWxwZXJCYXNlQ2xhc3MuZ2V0RW51bU9wdGlvbnNGcm9tRW51bUNsYXNzO1xyXG4gIEBJbnB1dCgpIHZhbHVlc1RvRGlzYWJsZTogbnVtYmVyW10gPSBbXTtcclxuICBASW5wdXQoKSB2YWx1ZXNUb0hpZGU6IG51bWJlcltdID0gW107XHJcbiAgQElucHV0KCkgaXNDaGlwOiBib29sZWFuID0gdHJ1ZTtcclxuICBASW5wdXQoKSBpc0Ryb3Bkb3duRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASW5wdXQoKSBpc011bHRpcGxlOiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGxhYmVsOiBzdHJpbmcgPSAnbGFiZWwnO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dEFsaWduOiBzdHJpbmcgPSAnbGVmdCc7XHJcbiAgQElucHV0KCkgbGFiZWxUZXh0Rm9udFdlaWdodDogc3RyaW5nO1xyXG4gIEBJbnB1dCgpIGxhYmVsVGV4dEZvbnRTaXplOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGFkZGluZ1RvcDogbnVtYmVyO1xyXG4gIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmc7XHJcbiAgQElucHV0KCkgcGVyY2VudFdpZHRoOiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWRJdGVtOiBhbnk7XHJcbiAgQElucHV0KCkgd2lkdGg6IG51bWJlcjtcclxuICBASW5wdXQoKSBpc1JlYWRPbmx5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgQElucHV0KCkgdmlydHVhbFNjcm9sbDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIEBPdXRwdXQoKSBjaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XHJcbiAgQE91dHB1dCgpIGNsb3NlID0gbmV3IEV2ZW50RW1pdHRlcigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIGlmICh0aGlzLmdldFZhbHVlc0FycmF5RnJvbUVudW0gIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLml0ZW1zID0gdGhpcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtKFxyXG4gICAgICAgIHRoaXMuZW51bUNob2ljZXMsXHJcbiAgICAgICAgdGhpcy5jdXN0b21Db2xvcnMsXHJcbiAgICAgICAgdGhpcy5hbGxvd0FsbENhcHNWYWx1ZXNcclxuICAgICAgKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbHVlc1RvRGlzYWJsZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuZGlzYWJsZWRJdGVtcygpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsdWVzVG9IaWRlLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5oaWRlSXRlbXMoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc29ydEFuZFJlb3JkZXJJdGVtcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICBpZiAodGhpcy5nZXRWYWx1ZXNBcnJheUZyb21FbnVtICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5pdGVtcyA9IHRoaXMuZ2V0VmFsdWVzQXJyYXlGcm9tRW51bShcclxuICAgICAgICB0aGlzLmVudW1DaG9pY2VzLFxyXG4gICAgICAgIHRoaXMuY3VzdG9tQ29sb3JzLFxyXG4gICAgICAgIHRoaXMuYWxsb3dBbGxDYXBzVmFsdWVzXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy52YWx1ZXNUb0Rpc2FibGUubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmRpc2FibGVkSXRlbXMoKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbHVlc1RvSGlkZS5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMuaGlkZUl0ZW1zKCk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNvcnRBbmRSZW9yZGVySXRlbXMoKTtcclxuICB9XHJcblxyXG4gIGRpc2FibGVkSXRlbXMoKSB7XHJcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB0aGlzLnZhbHVlc1RvRGlzYWJsZSkge1xyXG4gICAgICBsZXQgaW5kZXg6IG51bWJlciA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGVudW1PcHRpb24gPT4gZW51bU9wdGlvbi52YWx1ZSA9PSB2YWx1ZSk7XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtc1tpbmRleF0uZGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IEVycm9yKFxyXG4gICAgICAgICAgJ0luZGV4IHdhcyBub3QgZm91bmQgZm9yIGFuIGVudW0gZWxlbWVudCBpbiB0aGUgdmFsdWVzVG9EaXNhYmxlIGFycmF5IHByb3ZpZGVkLidcclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBoaWRlSXRlbXMoKSB7XHJcbiAgICBmb3IgKGxldCB2YWx1ZSBvZiB0aGlzLnZhbHVlc1RvSGlkZSkge1xyXG4gICAgICBsZXQgaW5kZXg6IG51bWJlciA9IHRoaXMuaXRlbXMuZmluZEluZGV4KGVudW1PcHRpb24gPT4gZW51bU9wdGlvbi52YWx1ZSA9PSB2YWx1ZSk7XHJcbiAgICAgIGlmIChpbmRleCA+PSAwKSB7XHJcbiAgICAgICAgdGhpcy5pdGVtcy5zcGxpY2UoaW5kZXgsIDEpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHRocm93IEVycm9yKCdJbmRleCB3YXMgbm90IGZvdW5kIGZvciBhbiBlbnVtIGVsZW1lbnQgaW4gdGhlIHZhbHVlc1RvSGlkZSBhcnJheSBwcm92aWRlZC4nKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc29ydEFuZFJlb3JkZXJJdGVtcygpOiB2b2lkIHtcclxuICAgIGNvbnN0IG5vbkRpc2FibGVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+ICFpdGVtLmRpc2FibGVkKTtcclxuICAgIGNvbnN0IGRpc2FibGVkSXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihpdGVtID0+IGl0ZW0uZGlzYWJsZWQpO1xyXG4gICAgbm9uRGlzYWJsZWRJdGVtcy5zb3J0KChhLCBiKSA9PiBhLmxhYmVsLmxvY2FsZUNvbXBhcmUoYi5sYWJlbCkpO1xyXG4gICAgdGhpcy5pdGVtcyA9IFsuLi5ub25EaXNhYmxlZEl0ZW1zLCAuLi5kaXNhYmxlZEl0ZW1zXTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodHlwZTogbnVtYmVyKSB7XHJcbiAgICBpZiAodHlwZSAhPSB1bmRlZmluZWQpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0eXBlO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09IG51bGwpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0gPSB0eXBlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHVibGljIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSkge1xyXG4gICAgdGhpcy5wcm9wYWdhdGVDaGFuZ2UgPSBmbjtcclxuICB9XHJcblxyXG4gIHB1YmxpYyByZWdpc3Rlck9uVG91Y2hlZChmbjogYW55KSB7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoID0gZm47XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHByb3BhZ2F0ZUNoYW5nZSA9IChfOiBhbnkpID0+IHsgfTtcclxuICBwcml2YXRlIHByb3BvZ2F0ZVRvdWNoID0gKCkgPT4geyB9O1xyXG5cclxuICB1cGRhdGVCbHVyKCkge1xyXG4gICAgdGhpcy5wcm9wb2dhdGVUb3VjaCgpO1xyXG4gICAgdGhpcy5jbG9zZS5lbWl0KCk7XHJcbiAgfVxyXG5cclxuICBvblNlbGVjdGVkSXRlbUNoYW5nZWQoKSB7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoKCk7XHJcbiAgICB0aGlzLnByb3BhZ2F0ZUNoYW5nZSh0aGlzLnNlbGVjdGVkSXRlbSk7XHJcbiAgICB0aGlzLmNoYW5nZS5lbWl0KHRoaXMuc2VsZWN0ZWRJdGVtKTtcclxuICB9XHJcblxyXG4gIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xyXG4gICAgdGhpcy5pc0Ryb3Bkb3duRGlzYWJsZWQgPSBpc0Rpc2FibGVkO1xyXG4gIH1cclxuXHJcbiAgY2xlYXIoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbSA9IG51bGw7XHJcbiAgICB0aGlzLnByb3BvZ2F0ZVRvdWNoKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdHlsZXMoKSB7XHJcbiAgICBsZXQgc3R5bGUgPSB7XHJcbiAgICAgIHBhZGRpbmdUb3A6IHRoaXMucGFkZGluZ1RvcCArICdyZW0nLFxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLndpZHRoKSB7XHJcbiAgICAgIHN0eWxlWyd3aWR0aCddID0gdGhpcy53aWR0aCArICdyZW0nO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFiZWxTdHlsZSgpIHtcclxuICAgIGxldCBzdHlsZSA9IHtcclxuICAgICAgdGV4dEFsaWduOiB0aGlzLmxhYmVsVGV4dEFsaWduLFxyXG4gICAgICBmb250V2VpZ2h0OiB0aGlzLmxhYmVsVGV4dEZvbnRXZWlnaHQsXHJcbiAgICAgIGZvbnRTaXplOiB0aGlzLmxhYmVsVGV4dEZvbnRTaXplICsgJ3JlbScsXHJcbiAgICAgIHBhZGRpbmc6ICcwLjRyZW0nLFxyXG4gICAgfTtcclxuICAgIHJldHVybiBzdHlsZTtcclxuICB9XHJcbn1cclxuIiwiPGRpdj5cclxuICA8bmctc2VsZWN0IFtuZ1N0eWxlXT1cInNldFN0eWxlcygpXCIgKGJsdXIpPVwidXBkYXRlQmx1cigpXCIgYmluZExhYmVsPVwibGFiZWxcIiBiaW5kVmFsdWU9XCJ2YWx1ZVwiIFtpdGVtc109XCJpdGVtc1wiXHJcbiAgICBbdmlydHVhbFNjcm9sbF09XCJ2aXJ0dWFsU2Nyb2xsXCIgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCIgKGNoYW5nZSk9XCJvblNlbGVjdGVkSXRlbUNoYW5nZWQoKVwiXHJcbiAgICBbKG5nTW9kZWwpXT1cInNlbGVjdGVkSXRlbVwiIFttdWx0aXBsZV09XCJpc011bHRpcGxlXCIgW2Rpc2FibGVkXT1cImlzRHJvcGRvd25EaXNhYmxlZFwiIFtyZWFkb25seV09XCJpc1JlYWRPbmx5XCJcclxuICAgIFtjbGVhcmFibGVdPVwiY2xlYXJhYmxlXCIgKGNsZWFyKT1cImNsZWFyKClcIiBbYXBwZW5kVG9dPVwiYXBwZW5kVG9cIiBkcm9wZG93blBvc2l0aW9uPVwiYm90dG9tXCI+XHJcbiAgICA8bmctdGVtcGxhdGUgbmctbGFiZWwtdG1wIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NoaXBcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaXBcIlxyXG4gICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cInsgaXRlbTogaXRlbSwgc2hvd0Nyb3NzOiBjbGVhcmFibGUsIGNsZWFyOiBjbGVhciB9XCI+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8ZGl2IFtuZ1N0eWxlXT1cInNldExhYmVsU3R5bGUoKVwiICpuZ0lmPVwiIWlzQ2hpcFwiPnt7IGl0ZW0ubGFiZWwgfX08L2Rpdj5cclxuICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8bmctdGVtcGxhdGUgbmctb3B0aW9uLXRtcCBsZXQtaXRlbT1cIml0ZW1cIiBsZXQtaW5kZXg9XCJpbmRleFwiIGxldC1zZWFyY2g9XCJzZWFyY2hUZXJtXCIgbGV0LWNsZWFyPVwiY2xlYXJcIj5cclxuICAgICAgPGRpdiBbbmdDbGFzc109XCJ7IGRpc2FibGVkOiBpdGVtLmRpc2FibGVkIH1cIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiaXNDaGlwXCIgY2xhc3M9XCJjaGlwXCI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNoaXBcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwieyBpdGVtOiBpdGVtLCBzaG93Q3Jvc3M6IGZhbHNlLCBjbGVhcjogY2xlYXIgfVwiPlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBbbmdTdHlsZV09XCJzZXRMYWJlbFN0eWxlKClcIiAqbmdJZj1cIiFpc0NoaXBcIj57eyBpdGVtLmxhYmVsIH19PC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy10ZW1wbGF0ZT5cclxuICA8L25nLXNlbGVjdD5cclxuPC9kaXY+XHJcblxyXG48bmctdGVtcGxhdGUgI2NoaXAgbGV0LXNob3dDcm9zcz1cInNob3dDcm9zc1wiIGxldC1pdGVtPVwiaXRlbVwiIGxldC1jbGVhcj1cImNsZWFyXCI+XHJcbiAgPG5nLWNoaXAgW2VudW1DbGFzc109XCJlbnVtQ2hvaWNlc1wiIFt3aXRoQ3Jvc3NdPVwic2hvd0Nyb3NzXCIgW2VudW1WYWx1ZV09XCJpdGVtLnZhbHVlXCIgW2N1c3RvbUNvbG9yc109XCJjdXN0b21Db2xvcnNcIlxyXG4gICAgW2l0ZW1dPVwiaXRlbVwiIFtjbGVhcl09XCJjbGVhclwiPlxyXG4gIDwvbmctY2hpcD5cclxuPC9uZy10ZW1wbGF0ZT4iXX0=
@@ -1,31 +1,45 @@
1
1
  import { Component } from '@angular/core';
2
+ import { AgGridSelectMixin } from '../ag-grid-select-mixin';
2
3
  import * as i0 from "@angular/core";
3
- import * as i1 from "../choose-enum/choose-enum.component";
4
- export class ChooseEnumRendererComponent {
5
- params;
6
- formControlValue;
7
- key;
8
- enumValue;
9
- rowId;
10
- constructor() { }
11
- agInit(params) {
12
- this.params = params;
13
- this.enumValue = params.value;
14
- this.key = params.context.createKey(params.columnApi, params.column);
4
+ import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/forms";
6
+ import * as i3 from "../choose-enum/choose-enum.component";
7
+ export class ChooseEnumRendererComponent extends AgGridSelectMixin {
8
+ valuesToDisable = [];
9
+ valuesToHide = [];
10
+ isChip = true;
11
+ clearable = true;
12
+ constructor() {
13
+ super();
15
14
  }
16
- onCellDataChanged($event) {
17
- let value = $event;
18
- this.formControlValue = this.params.context.formGroup.get("entries").at(this.params.node.rowIndex);
19
- this.formControlValue?.get(this.key).setValue(value);
15
+ agInit(params) {
16
+ super.agInit(params);
17
+ if (params.valuesToDisable != null) {
18
+ this.valuesToDisable = params.valuesToDisable;
19
+ }
20
+ if (params.valuesToHide != null) {
21
+ this.valuesToHide = params.valuesToHide;
22
+ }
23
+ if (params.isChip != null) {
24
+ this.isChip = params.isChip;
25
+ }
26
+ if (params.clearable != null) {
27
+ this.clearable = params.clearable;
28
+ }
20
29
  }
21
- refresh(params) {
22
- return false;
30
+ get showError() {
31
+ if (this.rowLevelFG.get(this.key).errors && this.rowLevelFG.get(this.key).touched) {
32
+ return true;
33
+ }
34
+ else {
35
+ return false;
36
+ }
23
37
  }
24
38
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChooseEnumRendererComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
25
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChooseEnumRendererComponent, selector: "choose-enum-renderer", ngImport: i0, template: "<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>", styles: [""], dependencies: [{ kind: "component", type: i1.ChooseEnumComponent, selector: "choose-enum", inputs: ["appendTo", "allowAllCapsValues", "clearable", "customColors", "enumChoices", "virtualScroll", "getValuesArrayFromEnum", "indexesToDisable", "isChip", "isDropdownDisabled", "isItemHidden", "isItemDisabled", "isMultiple", "label", "labelTextAlign", "labelTextFontWeight", "labelTextFontSize", "paddingTop", "placeholder", "percentWidth", "selectedItem", "width"], outputs: ["change", "close"] }] });
39
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: ChooseEnumRendererComponent, selector: "choose-enum-renderer", usesInheritance: true, ngImport: i0, template: "<div class=\"all\" [ngClass]=\"{ single: !showError, double: showError }\" *ngIf=\"rowLevelFG\" [formGroup]=\"rowLevelFG\">\r\n <choose-enum [clearable]=\"clearable\" [formControlName]=\"key\" [appendTo]=\"'body'\" [label]=\"params.label\"\r\n [labelTextAlign]=\"params.labelTextAlign\" [labelTextFontWeight]=\"params.labelTextFontWeight\"\r\n [labelTextFontSize]=\"params.labelTextFontSize\" [selectedItem]=\"params.value\" [valuesToHide]=\"valuesToHide\"\r\n [valuesToDisable]=\"valuesToDisable\" [isDropdownDisabled]=\"params.isDropdownDisabled\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\" [isChip]=\"isChip\"\r\n [paddingTop]=\"params.paddingTop\" [customColors]=\"params.customColors\" (change)=\"onEnumSelected($event)\">\r\n </choose-enum>\r\n</div>", styles: [".all{display:grid;gap:.5rem;align-items:center;margin:auto}.single{grid-template-columns:auto}.double{grid-template-columns:auto max-content}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i3.ChooseEnumComponent, selector: "choose-enum", inputs: ["appendTo", "allowAllCapsValues", "clearable", "customColors", "enumChoices", "getValuesArrayFromEnum", "valuesToDisable", "valuesToHide", "isChip", "isDropdownDisabled", "isMultiple", "label", "labelTextAlign", "labelTextFontWeight", "labelTextFontSize", "paddingTop", "placeholder", "percentWidth", "selectedItem", "width", "isReadOnly", "virtualScroll"], outputs: ["change", "close"] }] });
26
40
  }
27
41
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: ChooseEnumRendererComponent, decorators: [{
28
42
  type: Component,
29
- args: [{ selector: 'choose-enum-renderer', template: "<choose-enum [label]=\"params.label\" [appendTo]=\"'body'\" [isItemHidden]=\"params.isItemHidden\"\r\n [isItemDisabled]=\"params.isItemDisabled\" [labelTextAlign]=\"params.labelTextAlign\"\r\n [labelTextFontWeight]=\"params.labelTextFontWeight\" [labelTextFontSize]=\"params.labelTextFontSize\"\r\n [selectedItem]=\"params.value\" [indexesToDisable]=\"params.indexesToDisable\"\r\n [isDropdownDisabled]=\"params.isDropdownDisabled\" [getValuesArrayFromEnum]=\"params.getLabelAndColorFromEnumValue\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\"\r\n [isChip]=\"params.isChip\" [paddingTop]=\"params.paddingTop\" [allowAllCapsValues]=\"params.allowAllCapsValues\"\r\n (change)=\"onCellDataChanged($event)\">\r\n</choose-enum>" }]
43
+ args: [{ selector: 'choose-enum-renderer', template: "<div class=\"all\" [ngClass]=\"{ single: !showError, double: showError }\" *ngIf=\"rowLevelFG\" [formGroup]=\"rowLevelFG\">\r\n <choose-enum [clearable]=\"clearable\" [formControlName]=\"key\" [appendTo]=\"'body'\" [label]=\"params.label\"\r\n [labelTextAlign]=\"params.labelTextAlign\" [labelTextFontWeight]=\"params.labelTextFontWeight\"\r\n [labelTextFontSize]=\"params.labelTextFontSize\" [selectedItem]=\"params.value\" [valuesToHide]=\"valuesToHide\"\r\n [valuesToDisable]=\"valuesToDisable\" [isDropdownDisabled]=\"params.isDropdownDisabled\"\r\n [enumChoices]=\"params.enumChoices\" [placeholder]=\"params.placeholder\" [width]=\"params.width\" [isChip]=\"isChip\"\r\n [paddingTop]=\"params.paddingTop\" [customColors]=\"params.customColors\" (change)=\"onEnumSelected($event)\">\r\n </choose-enum>\r\n</div>", styles: [".all{display:grid;gap:.5rem;align-items:center;margin:auto}.single{grid-template-columns:auto}.double{grid-template-columns:auto max-content}\n"] }]
30
44
  }], ctorParameters: function () { return []; } });
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0tcmVuZGVyZXIvY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0tcmVuZGVyZXIvY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBUTFDLE1BQU0sT0FBTywyQkFBMkI7SUFDdEMsTUFBTSxDQUFNO0lBQ1osZ0JBQWdCLENBQUM7SUFDakIsR0FBRyxDQUFDO0lBQ0osU0FBUyxDQUFTO0lBQ2xCLEtBQUssQ0FBUztJQUVkLGdCQUFnQixDQUFDO0lBRWpCLE1BQU0sQ0FBQyxNQUFXO1FBQ2hCLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQztRQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ3ZFLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxNQUFNO1FBQ3RCLElBQUksS0FBSyxHQUFRLE1BQU0sQ0FBQztRQUN4QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDbkcsSUFBSSxDQUFDLGdCQUFnQixFQUFFLEdBQUcsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXZELENBQUM7SUFFRCxPQUFPLENBQUMsTUFBVztRQUNqQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7d0dBeEJVLDJCQUEyQjs0RkFBM0IsMkJBQTJCLDREQ1J4QyxteUJBUWM7OzRGREFELDJCQUEyQjtrQkFMdkMsU0FBUzsrQkFDRSxzQkFBc0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2hvb3NlLWVudW0tcmVuZGVyZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtZW51bS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQ2hvb3NlRW51bVJlbmRlcmVyQ29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcclxuICBwYXJhbXM6IGFueTtcclxuICBmb3JtQ29udHJvbFZhbHVlO1xyXG4gIGtleTtcclxuICBlbnVtVmFsdWU6IG51bWJlcjtcclxuICByb3dJZDogbnVtYmVyO1xyXG5cclxuICBjb25zdHJ1Y3RvcigpIHsgfVxyXG5cclxuICBhZ0luaXQocGFyYW1zOiBhbnkpIHtcclxuICAgIHRoaXMucGFyYW1zID0gcGFyYW1zO1xyXG4gICAgdGhpcy5lbnVtVmFsdWUgPSBwYXJhbXMudmFsdWU7XHJcbiAgICB0aGlzLmtleSA9IHBhcmFtcy5jb250ZXh0LmNyZWF0ZUtleShwYXJhbXMuY29sdW1uQXBpLCBwYXJhbXMuY29sdW1uKTtcclxuICB9XHJcblxyXG4gIG9uQ2VsbERhdGFDaGFuZ2VkKCRldmVudCkge1xyXG4gICAgbGV0IHZhbHVlOiBhbnkgPSAkZXZlbnQ7XHJcbiAgICB0aGlzLmZvcm1Db250cm9sVmFsdWUgPSB0aGlzLnBhcmFtcy5jb250ZXh0LmZvcm1Hcm91cC5nZXQoXCJlbnRyaWVzXCIpLmF0KHRoaXMucGFyYW1zLm5vZGUucm93SW5kZXgpO1xyXG4gICAgdGhpcy5mb3JtQ29udHJvbFZhbHVlPy5nZXQodGhpcy5rZXkpLnNldFZhbHVlKHZhbHVlKTtcclxuXHJcbiAgfVxyXG5cclxuICByZWZyZXNoKHBhcmFtczogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gZmFsc2U7XHJcbiAgfVxyXG59XHJcbiIsIjxjaG9vc2UtZW51bSBbbGFiZWxdPVwicGFyYW1zLmxhYmVsXCIgW2FwcGVuZFRvXT1cIidib2R5J1wiIFtpc0l0ZW1IaWRkZW5dPVwicGFyYW1zLmlzSXRlbUhpZGRlblwiXHJcbiAgICBbaXNJdGVtRGlzYWJsZWRdPVwicGFyYW1zLmlzSXRlbURpc2FibGVkXCIgW2xhYmVsVGV4dEFsaWduXT1cInBhcmFtcy5sYWJlbFRleHRBbGlnblwiXHJcbiAgICBbbGFiZWxUZXh0Rm9udFdlaWdodF09XCJwYXJhbXMubGFiZWxUZXh0Rm9udFdlaWdodFwiIFtsYWJlbFRleHRGb250U2l6ZV09XCJwYXJhbXMubGFiZWxUZXh0Rm9udFNpemVcIlxyXG4gICAgW3NlbGVjdGVkSXRlbV09XCJwYXJhbXMudmFsdWVcIiBbaW5kZXhlc1RvRGlzYWJsZV09XCJwYXJhbXMuaW5kZXhlc1RvRGlzYWJsZVwiXHJcbiAgICBbaXNEcm9wZG93bkRpc2FibGVkXT1cInBhcmFtcy5pc0Ryb3Bkb3duRGlzYWJsZWRcIiBbZ2V0VmFsdWVzQXJyYXlGcm9tRW51bV09XCJwYXJhbXMuZ2V0TGFiZWxBbmRDb2xvckZyb21FbnVtVmFsdWVcIlxyXG4gICAgW2VudW1DaG9pY2VzXT1cInBhcmFtcy5lbnVtQ2hvaWNlc1wiIFtwbGFjZWhvbGRlcl09XCJwYXJhbXMucGxhY2Vob2xkZXJcIiBbd2lkdGhdPVwicGFyYW1zLndpZHRoXCJcclxuICAgIFtpc0NoaXBdPVwicGFyYW1zLmlzQ2hpcFwiIFtwYWRkaW5nVG9wXT1cInBhcmFtcy5wYWRkaW5nVG9wXCIgW2FsbG93QWxsQ2Fwc1ZhbHVlc109XCJwYXJhbXMuYWxsb3dBbGxDYXBzVmFsdWVzXCJcclxuICAgIChjaGFuZ2UpPVwib25DZWxsRGF0YUNoYW5nZWQoJGV2ZW50KVwiPlxyXG48L2Nob29zZS1lbnVtPiJdfQ==
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0tcmVuZGVyZXIvY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY2hvb3NlLWVudW0tcmVuZGVyZXIvY2hvb3NlLWVudW0tcmVuZGVyZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7Ozs7QUFTNUQsTUFBTSxPQUFPLDJCQUE0QixTQUFRLGlCQUFpQjtJQUNoRSxlQUFlLEdBQWEsRUFBRSxDQUFDO0lBQy9CLFlBQVksR0FBYSxFQUFFLENBQUM7SUFDNUIsTUFBTSxHQUFZLElBQUksQ0FBQztJQUN2QixTQUFTLEdBQVksSUFBSSxDQUFDO0lBRTFCO1FBQ0UsS0FBSyxFQUFFLENBQUM7SUFDVixDQUFDO0lBRUQsTUFBTSxDQUFDLE1BQVc7UUFDaEIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyQixJQUFJLE1BQU0sQ0FBQyxlQUFlLElBQUksSUFBSSxFQUFFO1lBQ2xDLElBQUksQ0FBQyxlQUFlLEdBQUcsTUFBTSxDQUFDLGVBQWUsQ0FBQztTQUMvQztRQUNELElBQUksTUFBTSxDQUFDLFlBQVksSUFBSSxJQUFJLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFlBQVksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxNQUFNLENBQUMsTUFBTSxJQUFJLElBQUksRUFBRTtZQUN6QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUM7U0FDN0I7UUFDRCxJQUFJLE1BQU0sQ0FBQyxTQUFTLElBQUksSUFBSSxFQUFFO1lBQzVCLElBQUksQ0FBQyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQztTQUNuQztJQUNILENBQUM7SUFFRCxJQUFJLFNBQVM7UUFDWCxJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRTtZQUNqRixPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxPQUFPLEtBQUssQ0FBQztTQUNkO0lBQ0gsQ0FBQzt3R0FoQ1UsMkJBQTJCOzRGQUEzQiwyQkFBMkIsbUZDVnhDLDIxQkFRTTs7NEZERU8sMkJBQTJCO2tCQVB2QyxTQUFTOytCQUNFLHNCQUFzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBZ0dyaWRTZWxlY3RNaXhpbiB9IGZyb20gJy4uL2FnLWdyaWQtc2VsZWN0LW1peGluJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnY2hvb3NlLWVudW0tcmVuZGVyZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jaG9vc2UtZW51bS1yZW5kZXJlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbXHJcbiAgICAnLi9jaG9vc2UtZW51bS1yZW5kZXJlci5jb21wb25lbnQuc2NzcycsXHJcbiAgXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENob29zZUVudW1SZW5kZXJlckNvbXBvbmVudCBleHRlbmRzIEFnR3JpZFNlbGVjdE1peGluIHtcclxuICB2YWx1ZXNUb0Rpc2FibGU6IG51bWJlcltdID0gW107XHJcbiAgdmFsdWVzVG9IaWRlOiBudW1iZXJbXSA9IFtdO1xyXG4gIGlzQ2hpcDogYm9vbGVhbiA9IHRydWU7XHJcbiAgY2xlYXJhYmxlOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgYWdJbml0KHBhcmFtczogYW55KTogdm9pZCB7XHJcbiAgICBzdXBlci5hZ0luaXQocGFyYW1zKTtcclxuICAgIGlmIChwYXJhbXMudmFsdWVzVG9EaXNhYmxlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy52YWx1ZXNUb0Rpc2FibGUgPSBwYXJhbXMudmFsdWVzVG9EaXNhYmxlO1xyXG4gICAgfVxyXG4gICAgaWYgKHBhcmFtcy52YWx1ZXNUb0hpZGUgIT0gbnVsbCkge1xyXG4gICAgICB0aGlzLnZhbHVlc1RvSGlkZSA9IHBhcmFtcy52YWx1ZXNUb0hpZGU7XHJcbiAgICB9XHJcbiAgICBpZiAocGFyYW1zLmlzQ2hpcCAhPSBudWxsKSB7XHJcbiAgICAgIHRoaXMuaXNDaGlwID0gcGFyYW1zLmlzQ2hpcDtcclxuICAgIH1cclxuICAgIGlmIChwYXJhbXMuY2xlYXJhYmxlICE9IG51bGwpIHtcclxuICAgICAgdGhpcy5jbGVhcmFibGUgPSBwYXJhbXMuY2xlYXJhYmxlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0IHNob3dFcnJvcigpIHtcclxuICAgIGlmICh0aGlzLnJvd0xldmVsRkcuZ2V0KHRoaXMua2V5KS5lcnJvcnMgJiYgdGhpcy5yb3dMZXZlbEZHLmdldCh0aGlzLmtleSkudG91Y2hlZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFsbFwiIFtuZ0NsYXNzXT1cInsgc2luZ2xlOiAhc2hvd0Vycm9yLCBkb3VibGU6IHNob3dFcnJvciB9XCIgKm5nSWY9XCJyb3dMZXZlbEZHXCIgW2Zvcm1Hcm91cF09XCJyb3dMZXZlbEZHXCI+XHJcbiAgICA8Y2hvb3NlLWVudW0gW2NsZWFyYWJsZV09XCJjbGVhcmFibGVcIiBbZm9ybUNvbnRyb2xOYW1lXT1cImtleVwiIFthcHBlbmRUb109XCInYm9keSdcIiBbbGFiZWxdPVwicGFyYW1zLmxhYmVsXCJcclxuICAgICAgICBbbGFiZWxUZXh0QWxpZ25dPVwicGFyYW1zLmxhYmVsVGV4dEFsaWduXCIgW2xhYmVsVGV4dEZvbnRXZWlnaHRdPVwicGFyYW1zLmxhYmVsVGV4dEZvbnRXZWlnaHRcIlxyXG4gICAgICAgIFtsYWJlbFRleHRGb250U2l6ZV09XCJwYXJhbXMubGFiZWxUZXh0Rm9udFNpemVcIiBbc2VsZWN0ZWRJdGVtXT1cInBhcmFtcy52YWx1ZVwiIFt2YWx1ZXNUb0hpZGVdPVwidmFsdWVzVG9IaWRlXCJcclxuICAgICAgICBbdmFsdWVzVG9EaXNhYmxlXT1cInZhbHVlc1RvRGlzYWJsZVwiIFtpc0Ryb3Bkb3duRGlzYWJsZWRdPVwicGFyYW1zLmlzRHJvcGRvd25EaXNhYmxlZFwiXHJcbiAgICAgICAgW2VudW1DaG9pY2VzXT1cInBhcmFtcy5lbnVtQ2hvaWNlc1wiIFtwbGFjZWhvbGRlcl09XCJwYXJhbXMucGxhY2Vob2xkZXJcIiBbd2lkdGhdPVwicGFyYW1zLndpZHRoXCIgW2lzQ2hpcF09XCJpc0NoaXBcIlxyXG4gICAgICAgIFtwYWRkaW5nVG9wXT1cInBhcmFtcy5wYWRkaW5nVG9wXCIgW2N1c3RvbUNvbG9yc109XCJwYXJhbXMuY3VzdG9tQ29sb3JzXCIgKGNoYW5nZSk9XCJvbkVudW1TZWxlY3RlZCgkZXZlbnQpXCI+XHJcbiAgICA8L2Nob29zZS1lbnVtPlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,11 @@
1
+ import { PrimaryColors } from "../primary-colors";
2
+ export var BOMProductionType;
3
+ (function (BOMProductionType) {
4
+ BOMProductionType[BOMProductionType["MANUFACTURED_IN_HOUSE"] = 0] = "MANUFACTURED_IN_HOUSE";
5
+ BOMProductionType[BOMProductionType["PARTIALLY_MANUFACTURED_IN_HOUSE"] = 1] = "PARTIALLY_MANUFACTURED_IN_HOUSE";
6
+ })(BOMProductionType || (BOMProductionType = {}));
7
+ export const bomProductionTypeColors = Object.values({
8
+ [BOMProductionType.MANUFACTURED_IN_HOUSE]: PrimaryColors.$primaryLimeGreenColor,
9
+ [BOMProductionType.PARTIALLY_MANUFACTURED_IN_HOUSE]: PrimaryColors.$primaryBlueColor,
10
+ });
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYm9tLXByb2R1Y3Rpb24tdHlwZS5lbnVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY3VzdG9tLWNvbG9ycy9ib20tcHJvZHVjdGlvbi10eXBlLmVudW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRWxELE1BQU0sQ0FBTixJQUFZLGlCQUdYO0FBSEQsV0FBWSxpQkFBaUI7SUFDM0IsMkZBQXlCLENBQUE7SUFDekIsK0dBQW1DLENBQUE7QUFDckMsQ0FBQyxFQUhXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFHNUI7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDO0lBQ25ELENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsRUFBRSxhQUFhLENBQUMsc0JBQXNCO0lBQy9FLENBQUMsaUJBQWlCLENBQUMsK0JBQStCLENBQUMsRUFBRSxhQUFhLENBQUMsaUJBQWlCO0NBQ3JGLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByaW1hcnlDb2xvcnMgfSBmcm9tIFwiLi4vcHJpbWFyeS1jb2xvcnNcIjtcblxuZXhwb3J0IGVudW0gQk9NUHJvZHVjdGlvblR5cGUge1xuICBNQU5VRkFDVFVSRURfSU5fSE9VU0UgPSAwLFxuICBQQVJUSUFMTFlfTUFOVUZBQ1RVUkVEX0lOX0hPVVNFID0gMSxcbn1cblxuZXhwb3J0IGNvbnN0IGJvbVByb2R1Y3Rpb25UeXBlQ29sb3JzID0gT2JqZWN0LnZhbHVlcyh7XG4gIFtCT01Qcm9kdWN0aW9uVHlwZS5NQU5VRkFDVFVSRURfSU5fSE9VU0VdOiBQcmltYXJ5Q29sb3JzLiRwcmltYXJ5TGltZUdyZWVuQ29sb3IsXG4gIFtCT01Qcm9kdWN0aW9uVHlwZS5QQVJUSUFMTFlfTUFOVUZBQ1RVUkVEX0lOX0hPVVNFXTogUHJpbWFyeUNvbG9ycy4kcHJpbWFyeUJsdWVDb2xvcixcbn0pO1xuIl19
@@ -0,0 +1,32 @@
1
+ import { enumClassMap } from '../enum-string-class-map';
2
+ import { enumCustomColors } from './enum-custom-colors';
3
+ export class EnumCustomColorMapping {
4
+ enumClass;
5
+ colors;
6
+ constructor(enumClass, colors) {
7
+ this.enumClass = enumClass;
8
+ if (this.validateColors(enumClass, colors)) {
9
+ this.colors = colors;
10
+ }
11
+ else {
12
+ throw new Error(`The length of your custom colors list does not match the enum class provided.`);
13
+ }
14
+ }
15
+ validateColors(enumClass, colors) {
16
+ // Get the total number of enum values by counting keys
17
+ const enumValues = Object.keys(enumClass).filter(key => isNaN(Number(key))).length;
18
+ return colors.length === enumValues;
19
+ }
20
+ }
21
+ // Function to create EnumCustomColorMapping instances from JSON array
22
+ function createEnumCustomColorMappings(mappings) {
23
+ return mappings.map(json => {
24
+ const enumClass = enumClassMap[json.enumClass];
25
+ if (!enumClass) {
26
+ throw new Error(`Enum class "${json.enumClass}" not found.`);
27
+ }
28
+ return new EnumCustomColorMapping(enumClass, json.colors);
29
+ });
30
+ }
31
+ export const enumCustomColorMappings = createEnumCustomColorMappings(enumCustomColors);
32
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1jdXN0b20tY29sb3ItbWFwcGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lucHV0cy9zcmMvbGliL2N1c3RvbS1jb2xvcnMvZW51bS1jdXN0b20tY29sb3ItbWFwcGluZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDeEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFPeEQsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQyxTQUFTLENBQU07SUFDZixNQUFNLENBQVc7SUFFakIsWUFBWSxTQUFjLEVBQUUsTUFBZ0I7UUFDMUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUM7UUFDM0IsSUFBSSxJQUFJLENBQUMsY0FBYyxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsRUFBRTtZQUMxQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztTQUN0QjthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYiwrRUFBK0UsQ0FDaEYsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVPLGNBQWMsQ0FBQyxTQUFjLEVBQUUsTUFBZ0I7UUFDckQsdURBQXVEO1FBQ3ZELE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDO1FBQ25GLE9BQU8sTUFBTSxDQUFDLE1BQU0sS0FBSyxVQUFVLENBQUM7SUFDdEMsQ0FBQztDQUNGO0FBRUQsc0VBQXNFO0FBQ3RFLFNBQVMsNkJBQTZCLENBQ3BDLFFBQW1DO0lBRW5DLE9BQU8sUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUN6QixNQUFNLFNBQVMsR0FBRyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFDZCxNQUFNLElBQUksS0FBSyxDQUFDLGVBQWUsSUFBSSxDQUFDLFNBQVMsY0FBYyxDQUFDLENBQUM7U0FDOUQ7UUFDRCxPQUFPLElBQUksc0JBQXNCLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM1RCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyw2QkFBNkIsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZW51bUNsYXNzTWFwIH0gZnJvbSAnLi4vZW51bS1zdHJpbmctY2xhc3MtbWFwJztcbmltcG9ydCB7IGVudW1DdXN0b21Db2xvcnMgfSBmcm9tICcuL2VudW0tY3VzdG9tLWNvbG9ycyc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUVudW1DdXN0b21Db2xvck1hcHBpbmcge1xuICBlbnVtQ2xhc3M6IGFueTtcbiAgY29sb3JzOiBzdHJpbmdbXTtcbn1cblxuZXhwb3J0IGNsYXNzIEVudW1DdXN0b21Db2xvck1hcHBpbmcge1xuICBlbnVtQ2xhc3M6IGFueTtcbiAgY29sb3JzOiBzdHJpbmdbXTtcblxuICBjb25zdHJ1Y3RvcihlbnVtQ2xhc3M6IGFueSwgY29sb3JzOiBzdHJpbmdbXSkge1xuICAgIHRoaXMuZW51bUNsYXNzID0gZW51bUNsYXNzO1xuICAgIGlmICh0aGlzLnZhbGlkYXRlQ29sb3JzKGVudW1DbGFzcywgY29sb3JzKSkge1xuICAgICAgdGhpcy5jb2xvcnMgPSBjb2xvcnM7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYFRoZSBsZW5ndGggb2YgeW91ciBjdXN0b20gY29sb3JzIGxpc3QgZG9lcyBub3QgbWF0Y2ggdGhlIGVudW0gY2xhc3MgcHJvdmlkZWQuYFxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHZhbGlkYXRlQ29sb3JzKGVudW1DbGFzczogYW55LCBjb2xvcnM6IHN0cmluZ1tdKTogYm9vbGVhbiB7XG4gICAgLy8gR2V0IHRoZSB0b3RhbCBudW1iZXIgb2YgZW51bSB2YWx1ZXMgYnkgY291bnRpbmcga2V5c1xuICAgIGNvbnN0IGVudW1WYWx1ZXMgPSBPYmplY3Qua2V5cyhlbnVtQ2xhc3MpLmZpbHRlcihrZXkgPT4gaXNOYU4oTnVtYmVyKGtleSkpKS5sZW5ndGg7XG4gICAgcmV0dXJuIGNvbG9ycy5sZW5ndGggPT09IGVudW1WYWx1ZXM7XG4gIH1cbn1cblxuLy8gRnVuY3Rpb24gdG8gY3JlYXRlIEVudW1DdXN0b21Db2xvck1hcHBpbmcgaW5zdGFuY2VzIGZyb20gSlNPTiBhcnJheVxuZnVuY3Rpb24gY3JlYXRlRW51bUN1c3RvbUNvbG9yTWFwcGluZ3MoXG4gIG1hcHBpbmdzOiBJRW51bUN1c3RvbUNvbG9yTWFwcGluZ1tdXG4pOiBFbnVtQ3VzdG9tQ29sb3JNYXBwaW5nW10ge1xuICByZXR1cm4gbWFwcGluZ3MubWFwKGpzb24gPT4ge1xuICAgIGNvbnN0IGVudW1DbGFzcyA9IGVudW1DbGFzc01hcFtqc29uLmVudW1DbGFzc107XG4gICAgaWYgKCFlbnVtQ2xhc3MpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW51bSBjbGFzcyBcIiR7anNvbi5lbnVtQ2xhc3N9XCIgbm90IGZvdW5kLmApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IEVudW1DdXN0b21Db2xvck1hcHBpbmcoZW51bUNsYXNzLCBqc29uLmNvbG9ycyk7XG4gIH0pO1xufVxuXG5leHBvcnQgY29uc3QgZW51bUN1c3RvbUNvbG9yTWFwcGluZ3MgPSBjcmVhdGVFbnVtQ3VzdG9tQ29sb3JNYXBwaW5ncyhlbnVtQ3VzdG9tQ29sb3JzKTtcbiJdfQ==
@@ -0,0 +1,21 @@
1
+ import { billStatusColors } from "../enum-models/bill-status.model";
2
+ import { customOrderRequestStatusColors } from "../enum-models/custom-order-request-status.enum";
3
+ import { invitationStatusColors } from "../enum-models/invitation-status.model";
4
+ import { lockerTransferStatusColors } from "../enum-models/locker-transfer-status.enum";
5
+ import { priorityColors } from "../enum-models/priority.model";
6
+ import { quotationStatusColors } from "../enum-models/quotation-status.model";
7
+ import { requestStatusColors } from "../enum-models/request-status.model";
8
+ import { bomProductionTypeColors } from "./bom-production-type.enum";
9
+ import { salesOrderStatusColors } from "./sales-order-status.enum";
10
+ export const enumCustomColors = [
11
+ { enumClass: 'CustomOrderRequestStatus', colors: customOrderRequestStatusColors },
12
+ { enumClass: 'Priority', colors: priorityColors },
13
+ { enumClass: 'QuotationStatus', colors: quotationStatusColors },
14
+ { enumClass: 'LockerTransferStatus', colors: lockerTransferStatusColors },
15
+ { enumClass: 'BillStatus', colors: billStatusColors },
16
+ { enumClass: 'SalesOrderStatus', colors: salesOrderStatusColors },
17
+ { enumClass: 'RequestStatus', colors: requestStatusColors },
18
+ { enumClass: 'InvitationStatus', colors: invitationStatusColors },
19
+ { enumClass: 'BOMProductionType', colors: bomProductionTypeColors },
20
+ ];
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW51bS1jdXN0b20tY29sb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaW5wdXRzL3NyYy9saWIvY3VzdG9tLWNvbG9ycy9lbnVtLWN1c3RvbS1jb2xvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sa0NBQWtDLENBQUM7QUFDcEUsT0FBTyxFQUFFLDhCQUE4QixFQUFFLE1BQU0saURBQWlELENBQUM7QUFDakcsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sd0NBQXdDLENBQUM7QUFDaEYsT0FBTyxFQUFFLDBCQUEwQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDeEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQzFFLE9BQU8sRUFBRSx1QkFBdUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBRXJFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR25FLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUE4QjtJQUN6RCxFQUFFLFNBQVMsRUFBRSwwQkFBMEIsRUFBRSxNQUFNLEVBQUUsOEJBQThCLEVBQUU7SUFDakYsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxjQUFjLEVBQUU7SUFDakQsRUFBRSxTQUFTLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxFQUFFLHFCQUFxQixFQUFFO0lBQy9ELEVBQUUsU0FBUyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sRUFBRSwwQkFBMEIsRUFBRTtJQUN6RSxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFO0lBQ3JELEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRTtJQUNqRSxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsTUFBTSxFQUFFLG1CQUFtQixFQUFFO0lBQzNELEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sRUFBRSxzQkFBc0IsRUFBRTtJQUNqRSxFQUFFLFNBQVMsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLEVBQUUsdUJBQXVCLEVBQUU7Q0FDcEUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGJpbGxTdGF0dXNDb2xvcnMgfSBmcm9tIFwiLi4vZW51bS1tb2RlbHMvYmlsbC1zdGF0dXMubW9kZWxcIjtcbmltcG9ydCB7IGN1c3RvbU9yZGVyUmVxdWVzdFN0YXR1c0NvbG9ycyB9IGZyb20gXCIuLi9lbnVtLW1vZGVscy9jdXN0b20tb3JkZXItcmVxdWVzdC1zdGF0dXMuZW51bVwiO1xuaW1wb3J0IHsgaW52aXRhdGlvblN0YXR1c0NvbG9ycyB9IGZyb20gXCIuLi9lbnVtLW1vZGVscy9pbnZpdGF0aW9uLXN0YXR1cy5tb2RlbFwiO1xuaW1wb3J0IHsgbG9ja2VyVHJhbnNmZXJTdGF0dXNDb2xvcnMgfSBmcm9tIFwiLi4vZW51bS1tb2RlbHMvbG9ja2VyLXRyYW5zZmVyLXN0YXR1cy5lbnVtXCI7XG5pbXBvcnQgeyBwcmlvcml0eUNvbG9ycyB9IGZyb20gXCIuLi9lbnVtLW1vZGVscy9wcmlvcml0eS5tb2RlbFwiO1xuaW1wb3J0IHsgcXVvdGF0aW9uU3RhdHVzQ29sb3JzIH0gZnJvbSBcIi4uL2VudW0tbW9kZWxzL3F1b3RhdGlvbi1zdGF0dXMubW9kZWxcIjtcbmltcG9ydCB7IHJlcXVlc3RTdGF0dXNDb2xvcnMgfSBmcm9tIFwiLi4vZW51bS1tb2RlbHMvcmVxdWVzdC1zdGF0dXMubW9kZWxcIjtcbmltcG9ydCB7IGJvbVByb2R1Y3Rpb25UeXBlQ29sb3JzIH0gZnJvbSBcIi4vYm9tLXByb2R1Y3Rpb24tdHlwZS5lbnVtXCI7XG5pbXBvcnQgeyBJRW51bUN1c3RvbUNvbG9yTWFwcGluZyB9IGZyb20gXCIuL2VudW0tY3VzdG9tLWNvbG9yLW1hcHBpbmdcIjtcbmltcG9ydCB7IHNhbGVzT3JkZXJTdGF0dXNDb2xvcnMgfSBmcm9tIFwiLi9zYWxlcy1vcmRlci1zdGF0dXMuZW51bVwiO1xuXG5cbmV4cG9ydCBjb25zdCBlbnVtQ3VzdG9tQ29sb3JzOiBJRW51bUN1c3RvbUNvbG9yTWFwcGluZ1tdID0gW1xuICB7IGVudW1DbGFzczogJ0N1c3RvbU9yZGVyUmVxdWVzdFN0YXR1cycsIGNvbG9yczogY3VzdG9tT3JkZXJSZXF1ZXN0U3RhdHVzQ29sb3JzIH0sXG4gIHsgZW51bUNsYXNzOiAnUHJpb3JpdHknLCBjb2xvcnM6IHByaW9yaXR5Q29sb3JzIH0sXG4gIHsgZW51bUNsYXNzOiAnUXVvdGF0aW9uU3RhdHVzJywgY29sb3JzOiBxdW90YXRpb25TdGF0dXNDb2xvcnMgfSxcbiAgeyBlbnVtQ2xhc3M6ICdMb2NrZXJUcmFuc2ZlclN0YXR1cycsIGNvbG9yczogbG9ja2VyVHJhbnNmZXJTdGF0dXNDb2xvcnMgfSxcbiAgeyBlbnVtQ2xhc3M6ICdCaWxsU3RhdHVzJywgY29sb3JzOiBiaWxsU3RhdHVzQ29sb3JzIH0sXG4gIHsgZW51bUNsYXNzOiAnU2FsZXNPcmRlclN0YXR1cycsIGNvbG9yczogc2FsZXNPcmRlclN0YXR1c0NvbG9ycyB9LFxuICB7IGVudW1DbGFzczogJ1JlcXVlc3RTdGF0dXMnLCBjb2xvcnM6IHJlcXVlc3RTdGF0dXNDb2xvcnMgfSxcbiAgeyBlbnVtQ2xhc3M6ICdJbnZpdGF0aW9uU3RhdHVzJywgY29sb3JzOiBpbnZpdGF0aW9uU3RhdHVzQ29sb3JzIH0sXG4gIHsgZW51bUNsYXNzOiAnQk9NUHJvZHVjdGlvblR5cGUnLCBjb2xvcnM6IGJvbVByb2R1Y3Rpb25UeXBlQ29sb3JzIH0sXG5dO1xuIl19
@@ -0,0 +1,27 @@
1
+ import { PrimaryColors } from "../primary-colors";
2
+ export var SalesOrderStatus;
3
+ (function (SalesOrderStatus) {
4
+ SalesOrderStatus[SalesOrderStatus["DRAFT"] = 0] = "DRAFT";
5
+ SalesOrderStatus[SalesOrderStatus["PENDING_APPROVAL"] = 1] = "PENDING_APPROVAL";
6
+ SalesOrderStatus[SalesOrderStatus["APPROVED"] = 2] = "APPROVED";
7
+ SalesOrderStatus[SalesOrderStatus["TO_DELIVER_AND_TO_BILL"] = 3] = "TO_DELIVER_AND_TO_BILL";
8
+ SalesOrderStatus[SalesOrderStatus["TO_BILL"] = 4] = "TO_BILL";
9
+ SalesOrderStatus[SalesOrderStatus["PARTIALLY_DELIVERED_AND_PARTIALLY_BILLED"] = 5] = "PARTIALLY_DELIVERED_AND_PARTIALLY_BILLED";
10
+ SalesOrderStatus[SalesOrderStatus["PARTIALLY_DELIVERED_AND_TO_BILL"] = 6] = "PARTIALLY_DELIVERED_AND_TO_BILL";
11
+ SalesOrderStatus[SalesOrderStatus["COMPLETED"] = 7] = "COMPLETED";
12
+ SalesOrderStatus[SalesOrderStatus["CANCELED"] = 8] = "CANCELED";
13
+ SalesOrderStatus[SalesOrderStatus["CLOSED"] = 9] = "CLOSED";
14
+ })(SalesOrderStatus || (SalesOrderStatus = {}));
15
+ export const salesOrderStatusColors = Object.values({
16
+ [SalesOrderStatus.DRAFT]: PrimaryColors.$primaryBlueColor,
17
+ [SalesOrderStatus.PENDING_APPROVAL]: PrimaryColors.$primaryYellowColor,
18
+ [SalesOrderStatus.APPROVED]: PrimaryColors.$primaryTealColor,
19
+ [SalesOrderStatus.TO_DELIVER_AND_TO_BILL]: PrimaryColors.$primaryPurpleColor,
20
+ [SalesOrderStatus.TO_BILL]: PrimaryColors.$primaryPinkColor,
21
+ [SalesOrderStatus.PARTIALLY_DELIVERED_AND_PARTIALLY_BILLED]: PrimaryColors.$primaryOrangeColor,
22
+ [SalesOrderStatus.PARTIALLY_DELIVERED_AND_TO_BILL]: PrimaryColors.$primaryNavyBlueColor,
23
+ [SalesOrderStatus.COMPLETED]: PrimaryColors.$primaryLimeGreenColor,
24
+ [SalesOrderStatus.CANCELED]: PrimaryColors.$primaryGrayColor,
25
+ [SalesOrderStatus.CLOSED]: PrimaryColors.$primaryCarbonColor,
26
+ });
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FsZXMtb3JkZXItc3RhdHVzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pbnB1dHMvc3JjL2xpYi9jdXN0b20tY29sb3JzL3NhbGVzLW9yZGVyLXN0YXR1cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUVsRCxNQUFNLENBQU4sSUFBWSxnQkFXWDtBQVhELFdBQVksZ0JBQWdCO0lBQzFCLHlEQUFTLENBQUE7SUFDVCwrRUFBb0IsQ0FBQTtJQUNwQiwrREFBWSxDQUFBO0lBQ1osMkZBQTBCLENBQUE7SUFDMUIsNkRBQVcsQ0FBQTtJQUNYLCtIQUE0QyxDQUFBO0lBQzVDLDZHQUFtQyxDQUFBO0lBQ25DLGlFQUFhLENBQUE7SUFDYiwrREFBWSxDQUFBO0lBQ1osMkRBQVUsQ0FBQTtBQUNaLENBQUMsRUFYVyxnQkFBZ0IsS0FBaEIsZ0JBQWdCLFFBVzNCO0FBRUQsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNsRCxDQUFDLGdCQUFnQixDQUFDLEtBQUssQ0FBQyxFQUFFLGFBQWEsQ0FBQyxpQkFBaUI7SUFDekQsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxtQkFBbUI7SUFDdEUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLENBQUMsaUJBQWlCO0lBQzVELENBQUMsZ0JBQWdCLENBQUMsc0JBQXNCLENBQUMsRUFBRSxhQUFhLENBQUMsbUJBQW1CO0lBQzVFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLEVBQUUsYUFBYSxDQUFDLGlCQUFpQjtJQUMzRCxDQUFDLGdCQUFnQixDQUFDLHdDQUF3QyxDQUFDLEVBQUUsYUFBYSxDQUFDLG1CQUFtQjtJQUM5RixDQUFDLGdCQUFnQixDQUFDLCtCQUErQixDQUFDLEVBQUUsYUFBYSxDQUFDLHFCQUFxQjtJQUN2RixDQUFDLGdCQUFnQixDQUFDLFNBQVMsQ0FBQyxFQUFFLGFBQWEsQ0FBQyxzQkFBc0I7SUFDbEUsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxhQUFhLENBQUMsaUJBQWlCO0lBQzVELENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEVBQUUsYUFBYSxDQUFDLG1CQUFtQjtDQUM3RCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcmltYXJ5Q29sb3JzIH0gZnJvbSBcIi4uL3ByaW1hcnktY29sb3JzXCI7XG5cbmV4cG9ydCBlbnVtIFNhbGVzT3JkZXJTdGF0dXMge1xuICBEUkFGVCA9IDAsXG4gIFBFTkRJTkdfQVBQUk9WQUwgPSAxLFxuICBBUFBST1ZFRCA9IDIsXG4gIFRPX0RFTElWRVJfQU5EX1RPX0JJTEwgPSAzLFxuICBUT19CSUxMID0gNCxcbiAgUEFSVElBTExZX0RFTElWRVJFRF9BTkRfUEFSVElBTExZX0JJTExFRCA9IDUsXG4gIFBBUlRJQUxMWV9ERUxJVkVSRURfQU5EX1RPX0JJTEwgPSA2LFxuICBDT01QTEVURUQgPSA3LFxuICBDQU5DRUxFRCA9IDgsXG4gIENMT1NFRCA9IDksXG59XG5cbmV4cG9ydCBjb25zdCBzYWxlc09yZGVyU3RhdHVzQ29sb3JzID0gT2JqZWN0LnZhbHVlcyh7XG4gIFtTYWxlc09yZGVyU3RhdHVzLkRSQUZUXTogUHJpbWFyeUNvbG9ycy4kcHJpbWFyeUJsdWVDb2xvcixcbiAgW1NhbGVzT3JkZXJTdGF0dXMuUEVORElOR19BUFBST1ZBTF06IFByaW1hcnlDb2xvcnMuJHByaW1hcnlZZWxsb3dDb2xvcixcbiAgW1NhbGVzT3JkZXJTdGF0dXMuQVBQUk9WRURdOiBQcmltYXJ5Q29sb3JzLiRwcmltYXJ5VGVhbENvbG9yLFxuICBbU2FsZXNPcmRlclN0YXR1cy5UT19ERUxJVkVSX0FORF9UT19CSUxMXTogUHJpbWFyeUNvbG9ycy4kcHJpbWFyeVB1cnBsZUNvbG9yLFxuICBbU2FsZXNPcmRlclN0YXR1cy5UT19CSUxMXTogUHJpbWFyeUNvbG9ycy4kcHJpbWFyeVBpbmtDb2xvcixcbiAgW1NhbGVzT3JkZXJTdGF0dXMuUEFSVElBTExZX0RFTElWRVJFRF9BTkRfUEFSVElBTExZX0JJTExFRF06IFByaW1hcnlDb2xvcnMuJHByaW1hcnlPcmFuZ2VDb2xvcixcbiAgW1NhbGVzT3JkZXJTdGF0dXMuUEFSVElBTExZX0RFTElWRVJFRF9BTkRfVE9fQklMTF06IFByaW1hcnlDb2xvcnMuJHByaW1hcnlOYXZ5Qmx1ZUNvbG9yLFxuICBbU2FsZXNPcmRlclN0YXR1cy5DT01QTEVURURdOiBQcmltYXJ5Q29sb3JzLiRwcmltYXJ5TGltZUdyZWVuQ29sb3IsXG4gIFtTYWxlc09yZGVyU3RhdHVzLkNBTkNFTEVEXTogUHJpbWFyeUNvbG9ycy4kcHJpbWFyeUdyYXlDb2xvcixcbiAgW1NhbGVzT3JkZXJTdGF0dXMuQ0xPU0VEXTogUHJpbWFyeUNvbG9ycy4kcHJpbWFyeUNhcmJvbkNvbG9yLFxufSk7XG4iXX0=