@openziti/ziti-console-lib 0.12.8 → 0.12.10

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 (101) hide show
  1. package/assets/components/tabIdentities.html +0 -1
  2. package/assets/components/tabServices.html +1 -0
  3. package/assets/fonts/icomoon.eot +0 -0
  4. package/assets/fonts/icomoon.svg +3 -0
  5. package/assets/fonts/icomoon.ttf +0 -0
  6. package/assets/fonts/icomoon.woff +0 -0
  7. package/assets/fonts/icomoon.woff2 +0 -0
  8. package/assets/styles/global.scss +102 -0
  9. package/assets/styles/icons.css +4 -1
  10. package/esm2022/lib/features/card-list/card-list.component.mjs +6 -3
  11. package/esm2022/lib/features/creation-summary-dialog/creation-summary-dialog.component.mjs +5 -3
  12. package/esm2022/lib/features/custom-tags/custom-tags.component.mjs +56 -24
  13. package/esm2022/lib/features/data-table/cells/table-cell-select/table-cell-select.component.mjs +18 -5
  14. package/esm2022/lib/features/data-table/data-table.component.mjs +5 -3
  15. package/esm2022/lib/features/multi-action-button/multi-action-button.component.mjs +3 -3
  16. package/esm2022/lib/features/preview-list/preview-list.component.mjs +13 -3
  17. package/esm2022/lib/features/preview-selections/preview-selections.component.mjs +1 -1
  18. package/esm2022/lib/features/projectable-forms/api-session/api-session-form.component.mjs +1 -1
  19. package/esm2022/lib/features/projectable-forms/auth-policy/auth-policy-form.component.mjs +1 -1
  20. package/esm2022/lib/features/projectable-forms/certificate-authority/certificate-authority-form.component.mjs +1 -1
  21. package/esm2022/lib/features/projectable-forms/certificate-authority/verify-certificate/verify-certificate.component.mjs +1 -1
  22. package/esm2022/lib/features/projectable-forms/config-type/config-type-form.component.mjs +1 -1
  23. package/esm2022/lib/features/projectable-forms/configuration/configuration-form.component.mjs +1 -1
  24. package/esm2022/lib/features/projectable-forms/edge-router/edge-router-form.component.mjs +1 -1
  25. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.component.mjs +1 -1
  26. package/esm2022/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.mjs +3 -1
  27. package/esm2022/lib/features/projectable-forms/form-header/form-header.component.mjs +25 -4
  28. package/esm2022/lib/features/projectable-forms/identity/identity-form.component.mjs +120 -23
  29. package/esm2022/lib/features/projectable-forms/jwt-signer/jwt-signer-form.component.mjs +1 -1
  30. package/esm2022/lib/features/projectable-forms/posture-check/posture-check-form.component.mjs +1 -1
  31. package/esm2022/lib/features/projectable-forms/projectable-form.class.mjs +4 -1
  32. package/esm2022/lib/features/projectable-forms/service/service-form.component.mjs +17 -4
  33. package/esm2022/lib/features/projectable-forms/service/service-form.service.mjs +51 -12
  34. package/esm2022/lib/features/projectable-forms/service/simple-service/simple-service.component.mjs +316 -112
  35. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.component.mjs +1 -1
  36. package/esm2022/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.mjs +3 -1
  37. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.component.mjs +1 -1
  38. package/esm2022/lib/features/projectable-forms/service-policy/service-policy-form.service.mjs +4 -2
  39. package/esm2022/lib/features/projectable-forms/session/session-form.component.mjs +3 -3
  40. package/esm2022/lib/features/projectable-forms/terminator/terminator-form.component.mjs +1 -1
  41. package/esm2022/lib/features/projectable-forms/transit-router/transit-router-form.component.mjs +1 -1
  42. package/esm2022/lib/features/reset-enrollment/reset-enrollment.component.mjs +3 -3
  43. package/esm2022/lib/pages/edge-router-policies/edge-router-policies-page.component.mjs +6 -1
  44. package/esm2022/lib/pages/identities/identities-page.component.mjs +3 -9
  45. package/esm2022/lib/pages/identities/identities-page.service.mjs +50 -1
  46. package/esm2022/lib/pages/services/services-page.component.mjs +2 -13
  47. package/esm2022/lib/pages/services/services-page.service.mjs +35 -2
  48. package/esm2022/lib/pages/terminators/terminators-page.component.mjs +7 -5
  49. package/esm2022/lib/services/ziti-controller-data.service.mjs +4 -4
  50. package/esm2022/lib/services/ziti-data.service.mjs +1 -1
  51. package/esm2022/lib/shared/list-page-component.class.mjs +4 -1
  52. package/esm2022/lib/shared/list-page-service.class.mjs +5 -2
  53. package/esm2022/lib/urls.mjs +34 -0
  54. package/esm2022/lib/version.mjs +2 -2
  55. package/fesm2022/openziti-ziti-console-lib.mjs +780 -236
  56. package/fesm2022/openziti-ziti-console-lib.mjs.map +1 -1
  57. package/lib/features/card-list/card-list.component.d.ts +1 -0
  58. package/lib/features/card-list/card-list.component.d.ts.map +1 -1
  59. package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts +1 -0
  60. package/lib/features/creation-summary-dialog/creation-summary-dialog.component.d.ts.map +1 -1
  61. package/lib/features/custom-tags/custom-tags.component.d.ts +19 -3
  62. package/lib/features/custom-tags/custom-tags.component.d.ts.map +1 -1
  63. package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts +2 -6
  64. package/lib/features/data-table/cells/table-cell-select/table-cell-select.component.d.ts.map +1 -1
  65. package/lib/features/data-table/data-table.component.d.ts +1 -0
  66. package/lib/features/data-table/data-table.component.d.ts.map +1 -1
  67. package/lib/features/preview-list/preview-list.component.d.ts +3 -1
  68. package/lib/features/preview-list/preview-list.component.d.ts.map +1 -1
  69. package/lib/features/projectable-forms/edge-router-policy/edge-router-policy-form.service.d.ts.map +1 -1
  70. package/lib/features/projectable-forms/form-header/form-header.component.d.ts +14 -3
  71. package/lib/features/projectable-forms/form-header/form-header.component.d.ts.map +1 -1
  72. package/lib/features/projectable-forms/identity/identity-form.component.d.ts +14 -1
  73. package/lib/features/projectable-forms/identity/identity-form.component.d.ts.map +1 -1
  74. package/lib/features/projectable-forms/projectable-form.class.d.ts +1 -0
  75. package/lib/features/projectable-forms/projectable-form.class.d.ts.map +1 -1
  76. package/lib/features/projectable-forms/service/service-form.component.d.ts +1 -0
  77. package/lib/features/projectable-forms/service/service-form.component.d.ts.map +1 -1
  78. package/lib/features/projectable-forms/service/service-form.service.d.ts +9 -3
  79. package/lib/features/projectable-forms/service/service-form.service.d.ts.map +1 -1
  80. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts +25 -6
  81. package/lib/features/projectable-forms/service/simple-service/simple-service.component.d.ts.map +1 -1
  82. package/lib/features/projectable-forms/service-edge-router-policy/service-edge-router-policy-form.service.d.ts.map +1 -1
  83. package/lib/features/projectable-forms/service-policy/service-policy-form.service.d.ts.map +1 -1
  84. package/lib/pages/edge-router-policies/edge-router-policies-page.component.d.ts.map +1 -1
  85. package/lib/pages/identities/identities-page.component.d.ts +0 -2
  86. package/lib/pages/identities/identities-page.component.d.ts.map +1 -1
  87. package/lib/pages/identities/identities-page.service.d.ts +3 -0
  88. package/lib/pages/identities/identities-page.service.d.ts.map +1 -1
  89. package/lib/pages/services/services-page.component.d.ts +0 -3
  90. package/lib/pages/services/services-page.component.d.ts.map +1 -1
  91. package/lib/pages/services/services-page.service.d.ts +2 -0
  92. package/lib/pages/services/services-page.service.d.ts.map +1 -1
  93. package/lib/services/ziti-controller-data.service.d.ts +1 -1
  94. package/lib/services/ziti-controller-data.service.d.ts.map +1 -1
  95. package/lib/services/ziti-data.service.d.ts +1 -1
  96. package/lib/services/ziti-data.service.d.ts.map +1 -1
  97. package/lib/shared/list-page-component.class.d.ts.map +1 -1
  98. package/lib/shared/list-page-service.class.d.ts.map +1 -1
  99. package/lib/urls.d.ts +34 -0
  100. package/lib/urls.d.ts.map +1 -0
  101. package/package.json +1 -1
@@ -14,10 +14,11 @@
14
14
  limitations under the License.
15
15
  */
16
16
  import { Component, EventEmitter, Input, Output } from '@angular/core';
17
- import { isEmpty, map, unset } from "lodash";
17
+ import { isEmpty, map, unset, debounce, cloneDeep, set } from "lodash";
18
18
  import * as i0 from "@angular/core";
19
19
  import * as i1 from "@angular/common";
20
20
  import * as i2 from "@angular/forms";
21
+ import * as i3 from "ng-click-outside";
21
22
  class CustomTagsComponent {
22
23
  constructor() {
23
24
  this.tags = {};
@@ -27,54 +28,85 @@ class CustomTagsComponent {
27
28
  this.newTagValue = '';
28
29
  this.errors = {};
29
30
  this.object = Object;
31
+ this.newTag = { name: '', value: '', initName: '', initVal: '', showNewTag: true, errors: {} };
32
+ this.tagNameChangedDebounced = debounce(this.tagNameChanged, 350);
33
+ this.tagValueChangedDebounced = debounce(this.tagValueChanged, 350);
34
+ this.updateTagsArrayDebounced = debounce(this.updateTagsArray, 350);
35
+ this.updateTagsObjectDebounced = debounce(this.updateTagsObject, 350);
30
36
  }
31
37
  ngOnInit() {
32
- this.updateTagsArray();
38
+ this.updateTagsArray({});
33
39
  }
34
40
  ngOnChanges(changes) {
35
- this.updateTagsArray();
41
+ this.updateTagsArray({});
36
42
  }
37
- updateTagsArray() {
43
+ updateTagsArray(event) {
38
44
  this.tagsArray = map(this.tags, (value, key) => {
39
- return { name: key, value: value };
45
+ return { name: key, value: value, initName: key, initVal: value, errors: {} };
40
46
  });
41
47
  this.tagsChange.emit(this.tags);
48
+ event?.srcElement?.focus();
42
49
  }
43
- addTag() {
44
- this.errors = {};
45
- if (isEmpty(this.newTagName)) {
46
- this.errors['name'] = true;
47
- }
48
- if (isEmpty(this.newTagValue)) {
49
- this.errors['value'] = true;
50
- }
51
- if (!isEmpty(this.errors)) {
52
- return;
53
- }
54
- this.tags[this.newTagName] = this.newTagValue;
55
- this.newTagName = '';
56
- this.newTagValue = '';
57
- this.updateTagsArray();
50
+ updateTagsObject(event) {
51
+ this.tagsArray.forEach((tag) => {
52
+ if (tag.initName !== tag.name) {
53
+ unset(this.tags, tag.initName);
54
+ tag.initName = tag.name;
55
+ }
56
+ if (isEmpty(tag.name) && isEmpty(tag.value)) {
57
+ unset(this.tags, tag.name);
58
+ }
59
+ this.tags[tag.name] = tag.value;
60
+ });
61
+ this.tagsChange.emit(this.tags);
62
+ }
63
+ addTag(event) {
64
+ this.validate();
65
+ set(this.tagsArray, `[${this.tagsArray.length - 1}].showNewTag`, false);
66
+ const newTag = cloneDeep(this.newTag);
67
+ this.tagsArray = [...this.tagsArray, newTag];
68
+ this.updateTagsObject();
69
+ event?.stopPropagation();
70
+ event?.preventDefault();
58
71
  }
59
72
  removeTag(tagName) {
60
73
  unset(this.tags, tagName);
61
- this.updateTagsArray();
74
+ this.updateTagsArray({});
75
+ set(this.tagsArray, `[${this.tagsArray.length - 1}].showNewTag`, true);
62
76
  }
63
77
  enterKeyPressed(event) {
64
78
  this.addTag();
65
79
  event.stopPropagation();
66
80
  event.preventDefault();
67
81
  }
82
+ tagNameChanged(tag, event) {
83
+ this.updateTagsObjectDebounced(event);
84
+ }
85
+ tagValueChanged(tag, event) {
86
+ this.updateTagsObjectDebounced(event);
87
+ }
88
+ validate(event) {
89
+ this.tagsArray.forEach((tag) => {
90
+ const errors = {};
91
+ if (isEmpty(tag.name)) {
92
+ errors['name'] = true;
93
+ }
94
+ if (isEmpty(tag.value)) {
95
+ errors['value'] = true;
96
+ }
97
+ tag.errors = errors;
98
+ });
99
+ }
68
100
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomTagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
69
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: { tags: "tags" }, outputs: { tagsChange: "tagsChange" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"TagExtended\">\n <div class=\"grid tags\">\n <label>Name</label><label>Value</label>\n </div>\n <div id=\"NewTags\" >\n <div class=\"grid tags\" *ngFor=\"let tag of tagsArray\">\n <input\n id=\"NewKey\"\n maxlength=\"100\"\n placeholder=\"enter the tag key\"\n [(ngModel)]=\"tag['name']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <input\n id=\"NewValue\"\n placeholder=\"enter the value\"\n type=\"text\"\n maxlength=\"100\"\n [(ngModel)]=\"tag['value']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <div class=\"removeIcon icon-clear\" (click)=\"removeTag(tag.name)\"></div>\n </div>\n </div>\n <div class=\"grid tags\">\n <input id=\"NewKey\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagName\" [ngClass]=\"{invalid: this.errors.name}\" maxlength=\"100\" placeholder=\"enter the tag key\">\n <input id=\"NewValue\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagValue\" [ngClass]=\"{invalid: this.errors.value}\" placeholder=\"enter the value\" maxlength=\"100\">\n <div id=\"AddCustomButton\" class=\"addIcon icon-add\" (click)=\"addTag()\"></div>\n </div>\n</div>", styles: [".grid.tags .invalid{border-color:var(--red)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] }); }
101
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: CustomTagsComponent, selector: "lib-custom-tags", inputs: { tags: "tags" }, outputs: { tagsChange: "tagsChange" }, usesOnChanges: true, ngImport: i0, template: "<div id=\"TagExtended\" (clickOutside)=\"validate($event)\">\n <div class=\"add-button-container add-vlan-button add-config-open\" (click)=\"addTag($event)\">\n <div class=\"icon-add addIcon\"></div>\n <span class=\"add-icon-label\">New Tag</span>\n </div>\n <div *ngIf=\"tagsArray.length >= 1\" class=\"grid tags\">\n <label>Name</label><label>Value</label>\n </div>\n <div id=\"NewTags\" >\n <div *ngIf=\"tagsArray.length <= 0\" class=\"no-tags-container\">\n No tags to display...\n </div>\n <div class=\"grid tags\" *ngFor=\"let tag of tagsArray\">\n <input\n maxlength=\"100\"\n placeholder=\"enter tag name...\"\n [(ngModel)]=\"tag['name']\"\n [ngClass]=\"{invalid: tag.errors.name}\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n (keyup)=\"tagNameChanged(tag, $event)\"\n (change)=\"validate($event)\"\n >\n <input\n placeholder=\"enter tag value...\"\n type=\"text\"\n maxlength=\"100\"\n [(ngModel)]=\"tag['value']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n (keyup)=\"tagValueChanged(tag, $event)\"\n (change)=\"validate($event)\"\n >\n <div class=\"tag-actions\">\n <div class=\"removeIcon icon-clear\" (click)=\"removeTag(tag.name)\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".grid.tags .invalid{border-color:var(--red)}.no-tags-container{height:2rem;display:flex;align-items:center;color:var(--tableText);opacity:.65;font-weight:600}.add-button-container{position:absolute;right:0;top:-1.5rem;display:flex;flex-direction:row;height:1.75rem;align-items:center;margin-right:0;border-radius:var(--inputBorderRadius);padding:var(--paddingSmall);background:var(--mainBackground);cursor:pointer;transition:.3s;background-color:var(--primaryColor)!important;width:-moz-fit-content;width:fit-content;margin-top:-.25rem;color:var(--offWhite_ALWAYS);gap:var(--gapSmall)}.add-button-container .icon-add{font-size:1rem;position:relative;top:unset;left:unset;right:unset;color:var(--background)}.add-button-container:active{transform:translateY(1px)}.add-button-container:hover{filter:brightness(.93)}.tag-actions{position:absolute;top:0;right:0rem;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:100%;margin-right:.5rem;gap:var(--gapSmall)}.tag-actions .addIcon{position:relative;font-size:1.125rem;color:var(--primary);cursor:pointer;transition:var(--transition);top:unset;right:unset}.tag-actions .removeIcon{position:relative;font-size:1.125rem;color:var(--primary);cursor:pointer;font-weight:400;transition:var(--transition);top:unset;right:unset}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i2.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i3.ClickOutsideDirective, selector: "[clickOutside]", inputs: ["clickOutsideEnabled", "attachOutsideOnClick", "delayClickOutsideInit", "emitOnBlur", "exclude", "excludeBeforeClick", "clickOutsideEvents"], outputs: ["clickOutside"] }] }); }
70
102
  }
71
103
  export { CustomTagsComponent };
72
104
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: CustomTagsComponent, decorators: [{
73
105
  type: Component,
74
- args: [{ selector: 'lib-custom-tags', template: "<div id=\"TagExtended\">\n <div class=\"grid tags\">\n <label>Name</label><label>Value</label>\n </div>\n <div id=\"NewTags\" >\n <div class=\"grid tags\" *ngFor=\"let tag of tagsArray\">\n <input\n id=\"NewKey\"\n maxlength=\"100\"\n placeholder=\"enter the tag key\"\n [(ngModel)]=\"tag['name']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <input\n id=\"NewValue\"\n placeholder=\"enter the value\"\n type=\"text\"\n maxlength=\"100\"\n [(ngModel)]=\"tag['value']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n >\n <div class=\"removeIcon icon-clear\" (click)=\"removeTag(tag.name)\"></div>\n </div>\n </div>\n <div class=\"grid tags\">\n <input id=\"NewKey\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagName\" [ngClass]=\"{invalid: this.errors.name}\" maxlength=\"100\" placeholder=\"enter the tag key\">\n <input id=\"NewValue\" (keyup.enter)=\"enterKeyPressed($event)\" [(ngModel)]=\"newTagValue\" [ngClass]=\"{invalid: this.errors.value}\" placeholder=\"enter the value\" maxlength=\"100\">\n <div id=\"AddCustomButton\" class=\"addIcon icon-add\" (click)=\"addTag()\"></div>\n </div>\n</div>", styles: [".grid.tags .invalid{border-color:var(--red)}\n"] }]
106
+ args: [{ selector: 'lib-custom-tags', template: "<div id=\"TagExtended\" (clickOutside)=\"validate($event)\">\n <div class=\"add-button-container add-vlan-button add-config-open\" (click)=\"addTag($event)\">\n <div class=\"icon-add addIcon\"></div>\n <span class=\"add-icon-label\">New Tag</span>\n </div>\n <div *ngIf=\"tagsArray.length >= 1\" class=\"grid tags\">\n <label>Name</label><label>Value</label>\n </div>\n <div id=\"NewTags\" >\n <div *ngIf=\"tagsArray.length <= 0\" class=\"no-tags-container\">\n No tags to display...\n </div>\n <div class=\"grid tags\" *ngFor=\"let tag of tagsArray\">\n <input\n maxlength=\"100\"\n placeholder=\"enter tag name...\"\n [(ngModel)]=\"tag['name']\"\n [ngClass]=\"{invalid: tag.errors.name}\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n (keyup)=\"tagNameChanged(tag, $event)\"\n (change)=\"validate($event)\"\n >\n <input\n placeholder=\"enter tag value...\"\n type=\"text\"\n maxlength=\"100\"\n [(ngModel)]=\"tag['value']\"\n (keyup.enter)=\"enterKeyPressed($event)\"\n (keyup)=\"tagValueChanged(tag, $event)\"\n (change)=\"validate($event)\"\n >\n <div class=\"tag-actions\">\n <div class=\"removeIcon icon-clear\" (click)=\"removeTag(tag.name)\"></div>\n </div>\n </div>\n </div>\n</div>\n", styles: [".grid.tags .invalid{border-color:var(--red)}.no-tags-container{height:2rem;display:flex;align-items:center;color:var(--tableText);opacity:.65;font-weight:600}.add-button-container{position:absolute;right:0;top:-1.5rem;display:flex;flex-direction:row;height:1.75rem;align-items:center;margin-right:0;border-radius:var(--inputBorderRadius);padding:var(--paddingSmall);background:var(--mainBackground);cursor:pointer;transition:.3s;background-color:var(--primaryColor)!important;width:-moz-fit-content;width:fit-content;margin-top:-.25rem;color:var(--offWhite_ALWAYS);gap:var(--gapSmall)}.add-button-container .icon-add{font-size:1rem;position:relative;top:unset;left:unset;right:unset;color:var(--background)}.add-button-container:active{transform:translateY(1px)}.add-button-container:hover{filter:brightness(.93)}.tag-actions{position:absolute;top:0;right:0rem;display:flex;flex-direction:row;justify-content:flex-end;align-items:center;height:100%;margin-right:.5rem;gap:var(--gapSmall)}.tag-actions .addIcon{position:relative;font-size:1.125rem;color:var(--primary);cursor:pointer;transition:var(--transition);top:unset;right:unset}.tag-actions .removeIcon{position:relative;font-size:1.125rem;color:var(--primary);cursor:pointer;font-weight:400;transition:var(--transition);top:unset;right:unset}\n"] }]
75
107
  }], ctorParameters: function () { return []; }, propDecorators: { tags: [{
76
108
  type: Input
77
109
  }], tagsChange: [{
78
110
  type: Output
79
111
  }] } });
80
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2N1c3RvbS10YWdzL2N1c3RvbS10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jdXN0b20tdGFncy9jdXN0b20tdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQUMsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFFM0MsTUFLYSxtQkFBbUI7SUFXOUI7UUFUUyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxFLGNBQVMsR0FBRyxFQUFFLENBQUM7UUFDZixlQUFVLEdBQUcsRUFBRSxDQUFDO1FBQ2hCLGdCQUFXLEdBQUcsRUFBRSxDQUFDO1FBQ2pCLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFDakIsV0FBTSxHQUFHLE1BQU0sQ0FBQztJQUVELENBQUM7SUFFaEIsUUFBUTtRQUNOLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVyxDQUFDLE9BQXNCO1FBQ2hDLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtJQUN4QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxLQUFLLEVBQUUsR0FBRyxFQUFFLEVBQUU7WUFDN0MsT0FBTyxFQUFDLElBQUksRUFBRSxHQUFHLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBQyxDQUFBO1FBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xDLENBQUM7SUFFRCxNQUFNO1FBQ0osSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1lBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzVCO1FBQ0QsSUFBRyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQzVCLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQzdCO1FBQ0QsSUFBRyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDeEIsT0FBTztTQUNSO1FBQ0QsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUM5QyxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMsV0FBVyxHQUFHLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELFNBQVMsQ0FBQyxPQUFlO1FBQ3ZCLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzFCLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsZUFBZSxDQUFDLEtBQUs7UUFDbkIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ2QsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN6QixDQUFDOytHQXREVSxtQkFBbUI7bUdBQW5CLG1CQUFtQiw2SUN4QmhDLDgzQ0E2Qk07O1NETE8sbUJBQW1COzRGQUFuQixtQkFBbUI7a0JBTC9CLFNBQVM7K0JBQ0UsaUJBQWlCOzBFQU1sQixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0ksVUFBVTtzQkFBbkIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gICAgQ29weXJpZ2h0IE5ldEZvdW5kcnkgSW5jLlxuXG4gICAgTGljZW5zZWQgdW5kZXIgdGhlIEFwYWNoZSBMaWNlbnNlLCBWZXJzaW9uIDIuMCAodGhlIFwiTGljZW5zZVwiKTtcbiAgICB5b3UgbWF5IG5vdCB1c2UgdGhpcyBmaWxlIGV4Y2VwdCBpbiBjb21wbGlhbmNlIHdpdGggdGhlIExpY2Vuc2UuXG4gICAgWW91IG1heSBvYnRhaW4gYSBjb3B5IG9mIHRoZSBMaWNlbnNlIGF0XG5cbiAgICBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbiAgICBVbmxlc3MgcmVxdWlyZWQgYnkgYXBwbGljYWJsZSBsYXcgb3IgYWdyZWVkIHRvIGluIHdyaXRpbmcsIHNvZnR3YXJlXG4gICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIExpY2Vuc2UgaXMgZGlzdHJpYnV0ZWQgb24gYW4gXCJBUyBJU1wiIEJBU0lTLFxuICAgIFdJVEhPVVQgV0FSUkFOVElFUyBPUiBDT05ESVRJT05TIE9GIEFOWSBLSU5ELCBlaXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkLlxuICAgIFNlZSB0aGUgTGljZW5zZSBmb3IgdGhlIHNwZWNpZmljIGxhbmd1YWdlIGdvdmVybmluZyBwZXJtaXNzaW9ucyBhbmRcbiAgICBsaW1pdGF0aW9ucyB1bmRlciB0aGUgTGljZW5zZS5cbiovXG5cbmltcG9ydCB7Q29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7aXNFbXB0eSwgbWFwLCB1bnNldH0gZnJvbSBcImxvZGFzaFwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdsaWItY3VzdG9tLXRhZ3MnLFxuICB0ZW1wbGF0ZVVybDogJy4vY3VzdG9tLXRhZ3MuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9jdXN0b20tdGFncy5jb21wb25lbnQuc2NzcyddXG59KVxuZXhwb3J0IGNsYXNzIEN1c3RvbVRhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcyB7XG5cbiAgQElucHV0KCkgdGFnczogYW55ID0ge307XG4gIEBPdXRwdXQoKSB0YWdzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8YW55PiA9IG5ldyBFdmVudEVtaXR0ZXI8YW55PigpO1xuXG4gIHRhZ3NBcnJheSA9IFtdO1xuICBuZXdUYWdOYW1lID0gJyc7XG4gIG5ld1RhZ1ZhbHVlID0gJyc7XG4gIGVycm9yczogYW55ID0ge307XG4gIG9iamVjdCA9IE9iamVjdDtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7XG4gICAgdGhpcy51cGRhdGVUYWdzQXJyYXkoKTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnVwZGF0ZVRhZ3NBcnJheSgpXG4gIH1cblxuICB1cGRhdGVUYWdzQXJyYXkoKSB7XG4gICAgdGhpcy50YWdzQXJyYXkgPSBtYXAodGhpcy50YWdzLCAodmFsdWUsIGtleSkgPT4ge1xuICAgICAgcmV0dXJuIHtuYW1lOiBrZXksIHZhbHVlOiB2YWx1ZX1cbiAgICB9KTtcbiAgICB0aGlzLnRhZ3NDaGFuZ2UuZW1pdCh0aGlzLnRhZ3MpO1xuICB9XG5cbiAgYWRkVGFnKCkge1xuICAgIHRoaXMuZXJyb3JzID0ge307XG4gICAgaWYoaXNFbXB0eSh0aGlzLm5ld1RhZ05hbWUpKSB7XG4gICAgICB0aGlzLmVycm9yc1snbmFtZSddID0gdHJ1ZTtcbiAgICB9XG4gICAgaWYoaXNFbXB0eSh0aGlzLm5ld1RhZ1ZhbHVlKSkge1xuICAgICAgdGhpcy5lcnJvcnNbJ3ZhbHVlJ10gPSB0cnVlO1xuICAgIH1cbiAgICBpZighaXNFbXB0eSh0aGlzLmVycm9ycykpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgdGhpcy50YWdzW3RoaXMubmV3VGFnTmFtZV0gPSB0aGlzLm5ld1RhZ1ZhbHVlO1xuICAgIHRoaXMubmV3VGFnTmFtZSA9ICcnO1xuICAgIHRoaXMubmV3VGFnVmFsdWUgPSAnJztcbiAgICB0aGlzLnVwZGF0ZVRhZ3NBcnJheSgpO1xuICB9XG5cbiAgcmVtb3ZlVGFnKHRhZ05hbWU6IHN0cmluZykge1xuICAgIHVuc2V0KHRoaXMudGFncywgdGFnTmFtZSk7XG4gICAgdGhpcy51cGRhdGVUYWdzQXJyYXkoKTtcbiAgfVxuXG4gIGVudGVyS2V5UHJlc3NlZChldmVudCkge1xuICAgIHRoaXMuYWRkVGFnKCk7XG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgfVxufVxuIiwiPGRpdiBpZD1cIlRhZ0V4dGVuZGVkXCI+XG4gICAgPGRpdiBjbGFzcz1cImdyaWQgdGFnc1wiPlxuICAgICAgICA8bGFiZWw+TmFtZTwvbGFiZWw+PGxhYmVsPlZhbHVlPC9sYWJlbD5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2IGlkPVwiTmV3VGFnc1wiID5cbiAgICAgICAgPGRpdiBjbGFzcz1cImdyaWQgdGFnc1wiICpuZ0Zvcj1cImxldCB0YWcgb2YgdGFnc0FycmF5XCI+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICBpZD1cIk5ld0tleVwiXG4gICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTAwXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImVudGVyIHRoZSB0YWcga2V5XCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZ1snbmFtZSddXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZW50ZXJLZXlQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgaWQ9XCJOZXdWYWx1ZVwiXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlbnRlciB0aGUgdmFsdWVcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnWyd2YWx1ZSddXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZW50ZXJLZXlQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbW92ZUljb24gaWNvbi1jbGVhclwiIChjbGljayk9XCJyZW1vdmVUYWcodGFnLm5hbWUpXCI+PC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxkaXYgY2xhc3M9XCJncmlkIHRhZ3NcIj5cbiAgICAgICAgPGlucHV0IGlkPVwiTmV3S2V5XCIgKGtleXVwLmVudGVyKT1cImVudGVyS2V5UHJlc3NlZCgkZXZlbnQpXCIgWyhuZ01vZGVsKV09XCJuZXdUYWdOYW1lXCIgW25nQ2xhc3NdPVwie2ludmFsaWQ6IHRoaXMuZXJyb3JzLm5hbWV9XCIgbWF4bGVuZ3RoPVwiMTAwXCIgcGxhY2Vob2xkZXI9XCJlbnRlciB0aGUgdGFnIGtleVwiPlxuICAgICAgICA8aW5wdXQgaWQ9XCJOZXdWYWx1ZVwiIChrZXl1cC5lbnRlcik9XCJlbnRlcktleVByZXNzZWQoJGV2ZW50KVwiIFsobmdNb2RlbCldPVwibmV3VGFnVmFsdWVcIiBbbmdDbGFzc109XCJ7aW52YWxpZDogdGhpcy5lcnJvcnMudmFsdWV9XCIgcGxhY2Vob2xkZXI9XCJlbnRlciB0aGUgdmFsdWVcIiBtYXhsZW5ndGg9XCIxMDBcIj5cbiAgICAgICAgPGRpdiBpZD1cIkFkZEN1c3RvbUJ1dHRvblwiIGNsYXNzPVwiYWRkSWNvbiBpY29uLWFkZFwiIChjbGljayk9XCJhZGRUYWcoKVwiPjwvZGl2PlxuICAgIDwvZGl2PlxuPC9kaXY+Il19
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLXRhZ3MuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2N1c3RvbS10YWdzL2N1c3RvbS10YWdzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3ppdGktY29uc29sZS1saWIvc3JjL2xpYi9mZWF0dXJlcy9jdXN0b20tdGFncy9jdXN0b20tdGFncy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7RUFjRTtBQUVGLE9BQU8sRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFnQixNQUFNLGVBQWUsQ0FBQztBQUN2RyxPQUFPLEVBQVUsT0FBTyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxHQUFHLEVBQUMsTUFBTSxRQUFRLENBQUM7Ozs7O0FBRTlFLE1BS2EsbUJBQW1CO0lBa0I5QjtRQWhCUyxTQUFJLEdBQVEsRUFBRSxDQUFDO1FBQ2QsZUFBVSxHQUFzQixJQUFJLFlBQVksRUFBTyxDQUFDO1FBRWxFLGNBQVMsR0FBUSxFQUFFLENBQUM7UUFDcEIsZUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNoQixnQkFBVyxHQUFHLEVBQUUsQ0FBQztRQUNqQixXQUFNLEdBQVEsRUFBRSxDQUFDO1FBQ2pCLFdBQU0sR0FBRyxNQUFNLENBQUM7UUFFaEIsV0FBTSxHQUFHLEVBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUMsQ0FBQztRQUV4Riw0QkFBdUIsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLGNBQWMsRUFB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cmlnaHQgTmV0Rm91bmRyeSBJbmMuXG5cbiAgICBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UsIFZlcnNpb24gMi4wICh0aGUgXCJMaWNlbnNlXCIpO1xuICAgIHlvdSBtYXkgbm90IHVzZSB0aGlzIGZpbGUgZXhjZXB0IGluIGNvbXBsaWFuY2Ugd2l0aCB0aGUgTGljZW5zZS5cbiAgICBZb3UgbWF5IG9idGFpbiBhIGNvcHkgb2YgdGhlIExpY2Vuc2UgYXRcblxuICAgIGh0dHBzOi8vd3d3LmFwYWNoZS5vcmcvbGljZW5zZXMvTElDRU5TRS0yLjBcblxuICAgIFVubGVzcyByZXF1aXJlZCBieSBhcHBsaWNhYmxlIGxhdyBvciBhZ3JlZWQgdG8gaW4gd3JpdGluZywgc29mdHdhcmVcbiAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgTGljZW5zZSBpcyBkaXN0cmlidXRlZCBvbiBhbiBcIkFTIElTXCIgQkFTSVMsXG4gICAgV0lUSE9VVCBXQVJSQU5USUVTIE9SIENPTkRJVElPTlMgT0YgQU5ZIEtJTkQsIGVpdGhlciBleHByZXNzIG9yIGltcGxpZWQuXG4gICAgU2VlIHRoZSBMaWNlbnNlIGZvciB0aGUgc3BlY2lmaWMgbGFuZ3VhZ2UgZ292ZXJuaW5nIHBlcm1pc3Npb25zIGFuZFxuICAgIGxpbWl0YXRpb25zIHVuZGVyIHRoZSBMaWNlbnNlLlxuKi9cblxuaW1wb3J0IHtDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIFNpbXBsZUNoYW5nZXN9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmb3JFYWNoLCBpc0VtcHR5LCBtYXAsIHVuc2V0LCBkZWJvdW5jZSwgY2xvbmVEZWVwLCBzZXR9IGZyb20gXCJsb2Rhc2hcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLWN1c3RvbS10YWdzJyxcbiAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS10YWdzLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vY3VzdG9tLXRhZ3MuY29tcG9uZW50LnNjc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBDdXN0b21UYWdzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xuXG4gIEBJbnB1dCgpIHRhZ3M6IGFueSA9IHt9O1xuICBAT3V0cHV0KCkgdGFnc0NoYW5nZTogRXZlbnRFbWl0dGVyPGFueT4gPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcblxuICB0YWdzQXJyYXk6IGFueSA9IFtdO1xuICBuZXdUYWdOYW1lID0gJyc7XG4gIG5ld1RhZ1ZhbHVlID0gJyc7XG4gIGVycm9yczogYW55ID0ge307XG4gIG9iamVjdCA9IE9iamVjdDtcblxuICBuZXdUYWcgPSB7bmFtZTogJycsIHZhbHVlOiAnJywgaW5pdE5hbWU6ICcnLCBpbml0VmFsOiAnJywgc2hvd05ld1RhZzogdHJ1ZSwgZXJyb3JzOiB7fX07XG5cbiAgdGFnTmFtZUNoYW5nZWREZWJvdW5jZWQgPSBkZWJvdW5jZSh0aGlzLnRhZ05hbWVDaGFuZ2VkLCAzNTApO1xuICB0YWdWYWx1ZUNoYW5nZWREZWJvdW5jZWQgPSBkZWJvdW5jZSh0aGlzLnRhZ1ZhbHVlQ2hhbmdlZCwgMzUwKTtcbiAgdXBkYXRlVGFnc0FycmF5RGVib3VuY2VkID0gZGVib3VuY2UodGhpcy51cGRhdGVUYWdzQXJyYXksIDM1MCk7XG4gIHVwZGF0ZVRhZ3NPYmplY3REZWJvdW5jZWQgPSBkZWJvdW5jZSh0aGlzLnVwZGF0ZVRhZ3NPYmplY3QsIDM1MCk7XG5cbiAgY29uc3RydWN0b3IoKSB7fVxuXG4gIG5nT25Jbml0KCkge1xuICAgIHRoaXMudXBkYXRlVGFnc0FycmF5KHt9KTtcbiAgfVxuXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICB0aGlzLnVwZGF0ZVRhZ3NBcnJheSh7fSk7XG4gIH1cblxuICB1cGRhdGVUYWdzQXJyYXkoZXZlbnQ/OiBhbnkpIHtcbiAgICB0aGlzLnRhZ3NBcnJheSA9IG1hcCh0aGlzLnRhZ3MsICh2YWx1ZSwga2V5KSA9PiB7XG4gICAgICByZXR1cm4ge25hbWU6IGtleSwgdmFsdWU6IHZhbHVlLCBpbml0TmFtZToga2V5LCBpbml0VmFsOiB2YWx1ZSwgZXJyb3JzOiB7fX1cbiAgICB9KTtcbiAgICB0aGlzLnRhZ3NDaGFuZ2UuZW1pdCh0aGlzLnRhZ3MpO1xuICAgIGV2ZW50Py5zcmNFbGVtZW50Py5mb2N1cygpO1xuICB9XG5cbiAgdXBkYXRlVGFnc09iamVjdChldmVudD86IGFueSkge1xuICAgIHRoaXMudGFnc0FycmF5LmZvckVhY2goKHRhZykgPT4ge1xuICAgICAgaWYgKHRhZy5pbml0TmFtZSAhPT0gdGFnLm5hbWUpIHtcbiAgICAgICAgdW5zZXQodGhpcy50YWdzLCB0YWcuaW5pdE5hbWUpO1xuICAgICAgICB0YWcuaW5pdE5hbWUgPSB0YWcubmFtZTtcbiAgICAgIH1cbiAgICAgIGlmIChpc0VtcHR5KHRhZy5uYW1lKSAmJiBpc0VtcHR5KHRhZy52YWx1ZSkpIHtcbiAgICAgICAgdW5zZXQodGhpcy50YWdzLCB0YWcubmFtZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnRhZ3NbdGFnLm5hbWVdID0gdGFnLnZhbHVlO1xuICAgIH0pO1xuICAgIHRoaXMudGFnc0NoYW5nZS5lbWl0KHRoaXMudGFncyk7XG4gIH1cblxuICBhZGRUYWcoZXZlbnQ/KSB7XG4gICAgdGhpcy52YWxpZGF0ZSgpO1xuICAgIHNldCh0aGlzLnRhZ3NBcnJheSwgYFske3RoaXMudGFnc0FycmF5Lmxlbmd0aCAtIDF9XS5zaG93TmV3VGFnYCwgZmFsc2UpO1xuICAgIGNvbnN0IG5ld1RhZyA9IGNsb25lRGVlcCh0aGlzLm5ld1RhZyk7XG4gICAgdGhpcy50YWdzQXJyYXkgPSBbLi4udGhpcy50YWdzQXJyYXksIG5ld1RhZ107XG4gICAgdGhpcy51cGRhdGVUYWdzT2JqZWN0KCk7XG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xuICB9XG5cbiAgcmVtb3ZlVGFnKHRhZ05hbWU6IHN0cmluZykge1xuICAgIHVuc2V0KHRoaXMudGFncywgdGFnTmFtZSk7XG4gICAgdGhpcy51cGRhdGVUYWdzQXJyYXkoe30pO1xuICAgIHNldCh0aGlzLnRhZ3NBcnJheSwgYFske3RoaXMudGFnc0FycmF5Lmxlbmd0aCAtIDF9XS5zaG93TmV3VGFnYCwgdHJ1ZSk7XG4gIH1cblxuICBlbnRlcktleVByZXNzZWQoZXZlbnQpIHtcbiAgICB0aGlzLmFkZFRhZygpO1xuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gIH1cblxuICB0YWdOYW1lQ2hhbmdlZCh0YWc6IGFueSwgZXZlbnQ/KSB7XG4gICAgdGhpcy51cGRhdGVUYWdzT2JqZWN0RGVib3VuY2VkKGV2ZW50KTtcbiAgfVxuXG4gIHRhZ1ZhbHVlQ2hhbmdlZCh0YWc6IGFueSwgZXZlbnQ/KSB7XG4gICAgdGhpcy51cGRhdGVUYWdzT2JqZWN0RGVib3VuY2VkKGV2ZW50KTtcbiAgfVxuXG4gIHZhbGlkYXRlKGV2ZW50Pykge1xuICAgIHRoaXMudGFnc0FycmF5LmZvckVhY2goKHRhZykgPT4ge1xuICAgICAgY29uc3QgZXJyb3JzID0ge307XG4gICAgICBpZiAoaXNFbXB0eSh0YWcubmFtZSkpIHtcbiAgICAgICAgZXJyb3JzWyduYW1lJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgaWYgKGlzRW1wdHkodGFnLnZhbHVlKSkge1xuICAgICAgICBlcnJvcnNbJ3ZhbHVlJ10gPSB0cnVlO1xuICAgICAgfVxuICAgICAgdGFnLmVycm9ycyA9IGVycm9ycztcbiAgICB9KTtcbiAgfVxuXG59XG4iLCI8ZGl2IGlkPVwiVGFnRXh0ZW5kZWRcIiAoY2xpY2tPdXRzaWRlKT1cInZhbGlkYXRlKCRldmVudClcIj5cbiAgICA8ZGl2IGNsYXNzPVwiYWRkLWJ1dHRvbi1jb250YWluZXIgYWRkLXZsYW4tYnV0dG9uIGFkZC1jb25maWctb3BlblwiIChjbGljayk9XCJhZGRUYWcoJGV2ZW50KVwiPlxuICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi1hZGQgYWRkSWNvblwiPjwvZGl2PlxuICAgICAgICA8c3BhbiBjbGFzcz1cImFkZC1pY29uLWxhYmVsXCI+TmV3IFRhZzwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8ZGl2ICpuZ0lmPVwidGFnc0FycmF5Lmxlbmd0aCA+PSAxXCIgY2xhc3M9XCJncmlkIHRhZ3NcIj5cbiAgICAgICAgPGxhYmVsPk5hbWU8L2xhYmVsPjxsYWJlbD5WYWx1ZTwvbGFiZWw+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBpZD1cIk5ld1RhZ3NcIiA+XG4gICAgICAgIDxkaXYgKm5nSWY9XCJ0YWdzQXJyYXkubGVuZ3RoIDw9IDBcIiBjbGFzcz1cIm5vLXRhZ3MtY29udGFpbmVyXCI+XG4gICAgICAgICAgICBObyB0YWdzIHRvIGRpc3BsYXkuLi5cbiAgICAgICAgPC9kaXY+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJncmlkIHRhZ3NcIiAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3NBcnJheVwiPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgbWF4bGVuZ3RoPVwiMTAwXCJcbiAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cImVudGVyIHRhZyBuYW1lLi4uXCJcbiAgICAgICAgICAgICAgICBbKG5nTW9kZWwpXT1cInRhZ1snbmFtZSddXCJcbiAgICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7aW52YWxpZDogdGFnLmVycm9ycy5uYW1lfVwiXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cImVudGVyS2V5UHJlc3NlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoa2V5dXApPVwidGFnTmFtZUNoYW5nZWQodGFnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJlbnRlciB0YWcgdmFsdWUuLi5cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICBtYXhsZW5ndGg9XCIxMDBcIlxuICAgICAgICAgICAgICAgIFsobmdNb2RlbCldPVwidGFnWyd2YWx1ZSddXCJcbiAgICAgICAgICAgICAgICAoa2V5dXAuZW50ZXIpPVwiZW50ZXJLZXlQcmVzc2VkKCRldmVudClcIlxuICAgICAgICAgICAgICAgIChrZXl1cCk9XCJ0YWdWYWx1ZUNoYW5nZWQodGFnLCAkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInZhbGlkYXRlKCRldmVudClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhZy1hY3Rpb25zXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJlbW92ZUljb24gaWNvbi1jbGVhclwiIChjbGljayk9XCJyZW1vdmVUYWcodGFnLm5hbWUpXCI+PC9kaXY+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG48L2Rpdj5cbiJdfQ==
@@ -2,6 +2,7 @@ import { Component } from '@angular/core';
2
2
  import _ from 'lodash';
3
3
  import * as i0 from "@angular/core";
4
4
  import * as i1 from "@angular/common";
5
+ import * as i2 from "@angular/material/tooltip";
5
6
  class TableCellSelectComponent {
6
7
  constructor() {
7
8
  this.item = {
@@ -18,7 +19,8 @@ class TableCellSelectComponent {
18
19
  this.disableToggle =
19
20
  _.get(this.item, 'typeId') === 'Router' ||
20
21
  _.get(this.item, 'exclusiveTo') ||
21
- _.get(this.item, 'reserved') === true;
22
+ _.get(this.item, 'reserved') === true ||
23
+ _.get(this.item, 'isSystem') === true;
22
24
  }
23
25
  refresh(params) {
24
26
  this.cellParams = params;
@@ -26,7 +28,8 @@ class TableCellSelectComponent {
26
28
  this.disableToggle =
27
29
  _.get(this.item, 'typeId') === 'Router' ||
28
30
  _.get(this.item, 'exclusiveTo') ||
29
- _.get(this.item, 'reserved') === true;
31
+ _.get(this.item, 'reserved') === true ||
32
+ _.get(this.item, 'isSystem') === true;
30
33
  return true;
31
34
  }
32
35
  toggle(item) {
@@ -35,12 +38,22 @@ class TableCellSelectComponent {
35
38
  }
36
39
  this.cellParams.toggleItem(item, this.cellParams);
37
40
  }
41
+ get tooltip() {
42
+ let tooltip = '';
43
+ if (this.item?.isSystem) {
44
+ tooltip = 'Deleting "system" entities is not allowed';
45
+ }
46
+ else if (this.item?.typeId === 'Router') {
47
+ tooltip = 'Unable to delete "Router" Identities. Please delete the associated Router instead.';
48
+ }
49
+ return tooltip;
50
+ }
38
51
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellSelectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
39
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellSelectComponent, selector: "app-table-cell-select", ngImport: i0, template: "<div\n #toggleButton\n (click)=\"toggle(item)\"\n *ngIf=\"!item.hideSelect\"\n [ngClass]=\"{ selected: item.selected, disabled: disableToggle }\"\n attr.name=\"RowSelect0_{{ item.name }}\"\n class=\"row-toggle tSelect\"\n id=\"RowSelect0_{{ item.id }}\"\n attr.data-id=\"{{item.id}}\"\n></div>\n", styles: [".row-toggle.tSelect{width:1.5625rem;height:1.5625rem;border:.1rem var(--stroke) solid;border-radius:.9375rem;cursor:pointer;transition:background-color .5s;position:absolute;top:.8125rem;left:.625rem;background-color:var(--navigation);transition:var(--transition)}.row-toggle.tSelect.selected{background-color:var(--green);background-size:45%;background-position:center center;border:none;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC)}.row-toggle.tSelect.disabled{opacity:.6;cursor:not-allowed;transform:initial!important}.row-toggle.tSelect.disabled:hover{width:1.5625rem;height:1.5625rem;border:.125rem var(--offWhite) solid;border-radius:.9375rem;transition:background-color .5s;position:absolute;top:.8125rem;left:1.0625rem;background-color:var(--background)}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] }); }
52
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TableCellSelectComponent, selector: "app-table-cell-select", ngImport: i0, template: "<div\n #toggleButton\n (click)=\"toggle(item)\"\n *ngIf=\"!item.hideSelect\"\n [ngClass]=\"{ selected: item.selected, disabled: disableToggle }\"\n attr.name=\"RowSelect0_{{ item.name }}\"\n class=\"row-toggle tSelect\"\n id=\"RowSelect0_{{ item.id }}\"\n attr.data-id=\"{{item.id}}\"\n [matTooltip]=\"tooltip\"\n></div>\n", styles: [".row-toggle.tSelect{width:1.5625rem;height:1.5625rem;border:.1rem var(--stroke) solid;border-radius:.9375rem;cursor:pointer;position:absolute;top:.8125rem;left:.625rem;background-color:var(--navigation)}.row-toggle.tSelect:hover{border:.125rem var(--placeholder) solid;background-color:var(--background)}.row-toggle.tSelect.selected{background-color:var(--green);background-size:45%;background-position:center center;border:none;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC)}.row-toggle.tSelect.disabled{opacity:.3;cursor:not-allowed;transform:initial!important}.row-toggle.tSelect.disabled:hover{border:.1rem var(--stroke) solid;background-color:var(--navigation)}\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.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }] }); }
40
53
  }
41
54
  export { TableCellSelectComponent };
42
55
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TableCellSelectComponent, decorators: [{
43
56
  type: Component,
44
- args: [{ selector: 'app-table-cell-select', template: "<div\n #toggleButton\n (click)=\"toggle(item)\"\n *ngIf=\"!item.hideSelect\"\n [ngClass]=\"{ selected: item.selected, disabled: disableToggle }\"\n attr.name=\"RowSelect0_{{ item.name }}\"\n class=\"row-toggle tSelect\"\n id=\"RowSelect0_{{ item.id }}\"\n attr.data-id=\"{{item.id}}\"\n></div>\n", styles: [".row-toggle.tSelect{width:1.5625rem;height:1.5625rem;border:.1rem var(--stroke) solid;border-radius:.9375rem;cursor:pointer;transition:background-color .5s;position:absolute;top:.8125rem;left:.625rem;background-color:var(--navigation);transition:var(--transition)}.row-toggle.tSelect.selected{background-color:var(--green);background-size:45%;background-position:center center;border:none;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC)}.row-toggle.tSelect.disabled{opacity:.6;cursor:not-allowed;transform:initial!important}.row-toggle.tSelect.disabled:hover{width:1.5625rem;height:1.5625rem;border:.125rem var(--offWhite) solid;border-radius:.9375rem;transition:background-color .5s;position:absolute;top:.8125rem;left:1.0625rem;background-color:var(--background)}\n"] }]
57
+ args: [{ selector: 'app-table-cell-select', template: "<div\n #toggleButton\n (click)=\"toggle(item)\"\n *ngIf=\"!item.hideSelect\"\n [ngClass]=\"{ selected: item.selected, disabled: disableToggle }\"\n attr.name=\"RowSelect0_{{ item.name }}\"\n class=\"row-toggle tSelect\"\n id=\"RowSelect0_{{ item.id }}\"\n attr.data-id=\"{{item.id}}\"\n [matTooltip]=\"tooltip\"\n></div>\n", styles: [".row-toggle.tSelect{width:1.5625rem;height:1.5625rem;border:.1rem var(--stroke) solid;border-radius:.9375rem;cursor:pointer;position:absolute;top:.8125rem;left:.625rem;background-color:var(--navigation)}.row-toggle.tSelect:hover{border:.125rem var(--placeholder) solid;background-color:var(--background)}.row-toggle.tSelect.selected{background-color:var(--green);background-size:45%;background-position:center center;border:none;background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAYCAYAAAD+vg1LAAABdElEQVRIia3UPWsUURSH8f9GRRvtFKtIgoKggo2CYO0XsLKzsbARbNKJYGPndxEEO8VGRRvBF6xFBAkplPiyb/lZzAx7d9jE3ewcmOLOPTyc85x7bw/pKI4keZ7kUpIHQVffIwxU0e91VPHlJK+T9Or19y7Ah5N8TLJeg3eSXO9CwcNCwQCPkWWhFzE2iZ84viz4ED4X4DFuNPvLgO8XCoZ4Wu7vF3oeo0LBL5xcFnwA7wsFI9xs5+0HvFG33ih4NitvUejZAgp/sLoseAVvC7dD3NotfxHw3ZaCl+jtBT6qOn+n94CuoV8o+Fv/27WQ4E3dXh9XZyT18Kql4M7/OozJsdnBb1xoJd0uFIxqzyvzgJ+Y3KAxtrBeJ6yqJt/EEGfmmUlwDB9aVX3FCbwwPbCNeaANOKoX6UvL41axHuOd6tYtBA5OYdP0a9XECOfmhbbBUT0u26pBNjHAvUWgs8DBFdPD/ISDXYCDa/iBb3UXC0GRf9rA4qSLGyBIAAAAAElFTkSuQmCC)}.row-toggle.tSelect.disabled{opacity:.3;cursor:not-allowed;transform:initial!important}.row-toggle.tSelect.disabled:hover{border:.1rem var(--stroke) solid;background-color:var(--navigation)}\n"] }]
45
58
  }] });
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1zZWxlY3QvdGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1zZWxlY3QvdGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7OztBQUV2QixNQUthLHdCQUF3QjtJQUxyQztRQU9FLFNBQUksR0FBRztZQUNMLEVBQUUsRUFBRSxFQUFFO1lBQ04sSUFBSSxFQUFFLEVBQUU7WUFDUixRQUFRLEVBQUUsS0FBSztZQUNmLFVBQVUsRUFBRSxLQUFLO1NBQ2xCLENBQUM7UUFDRixrQkFBYSxHQUFHLEtBQUssQ0FBQztLQTJCdkI7SUF6QkMsTUFBTSxDQUFDLE1BQTJCO1FBQ2hDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYTtZQUNoQixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssUUFBUTtnQkFDdkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQztJQUMxQyxDQUFDO0lBRUQsT0FBTyxDQUFDLE1BQTJCO1FBQ2pDLElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYTtZQUNoQixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLEtBQUssUUFBUTtnQkFDdkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLGFBQWEsQ0FBQztnQkFDL0IsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQzsrR0FsQ1Usd0JBQXdCO21HQUF4Qix3QkFBd0IsNkRDVnJDLGlUQVVBOztTREFhLHdCQUF3Qjs0RkFBeEIsd0JBQXdCO2tCQUxwQyxTQUFTOytCQUNFLHVCQUF1QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7SUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wfSBmcm9tICdhZy1ncmlkLWFuZ3VsYXInO1xuaW1wb3J0IHtJQ2VsbFJlbmRlcmVyUGFyYW1zfSBmcm9tICdhZy1ncmlkLWNvbW11bml0eSc7XG5pbXBvcnQgXyBmcm9tICdsb2Rhc2gnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtdGFibGUtY2VsbC1zZWxlY3QnLFxuICB0ZW1wbGF0ZVVybDogJy4vdGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90YWJsZS1jZWxsLXNlbGVjdC5jb21wb25lbnQuc2NzcyddLFxufSlcbmV4cG9ydCBjbGFzcyBUYWJsZUNlbGxTZWxlY3RDb21wb25lbnQgaW1wbGVtZW50cyBJQ2VsbFJlbmRlcmVyQW5ndWxhckNvbXAge1xuICBjZWxsUGFyYW1zO1xuICBpdGVtID0ge1xuICAgIGlkOiAnJyxcbiAgICBuYW1lOiAnJyxcbiAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgaGlkZVNlbGVjdDogZmFsc2UsXG4gIH07XG4gIGRpc2FibGVUb2dnbGUgPSBmYWxzZTtcblxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5jZWxsUGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMuaXRlbSA9IHBhcmFtcy5kYXRhO1xuICAgIHRoaXMuZGlzYWJsZVRvZ2dsZSA9XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICd0eXBlSWQnKSA9PT0gJ1JvdXRlcicgfHxcbiAgICAgIF8uZ2V0KHRoaXMuaXRlbSwgJ2V4Y2x1c2l2ZVRvJykgfHxcbiAgICAgIF8uZ2V0KHRoaXMuaXRlbSwgJ3Jlc2VydmVkJykgPT09IHRydWU7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIHRoaXMuY2VsbFBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLml0ZW0gPSBwYXJhbXMuZGF0YTtcbiAgICB0aGlzLmRpc2FibGVUb2dnbGUgPVxuICAgICAgXy5nZXQodGhpcy5pdGVtLCAndHlwZUlkJykgPT09ICdSb3V0ZXInIHx8XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICdleGNsdXNpdmVUbycpIHx8XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICdyZXNlcnZlZCcpID09PSB0cnVlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlKGl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VsbFBhcmFtcy50b2dnbGVJdGVtIHx8IHRoaXMuZGlzYWJsZVRvZ2dsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNlbGxQYXJhbXMudG9nZ2xlSXRlbShpdGVtLCB0aGlzLmNlbGxQYXJhbXMpO1xuICB9XG59XG4iLCI8ZGl2XG4gICN0b2dnbGVCdXR0b25cbiAgKGNsaWNrKT1cInRvZ2dsZShpdGVtKVwiXG4gICpuZ0lmPVwiIWl0ZW0uaGlkZVNlbGVjdFwiXG4gIFtuZ0NsYXNzXT1cInsgc2VsZWN0ZWQ6IGl0ZW0uc2VsZWN0ZWQsIGRpc2FibGVkOiBkaXNhYmxlVG9nZ2xlIH1cIlxuICBhdHRyLm5hbWU9XCJSb3dTZWxlY3QwX3t7IGl0ZW0ubmFtZSB9fVwiXG4gIGNsYXNzPVwicm93LXRvZ2dsZSB0U2VsZWN0XCJcbiAgaWQ9XCJSb3dTZWxlY3QwX3t7IGl0ZW0uaWQgfX1cIlxuICBhdHRyLmRhdGEtaWQ9XCJ7e2l0ZW0uaWR9fVwiXG4+PC9kaXY+XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1zZWxlY3QvdGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMveml0aS1jb25zb2xlLWxpYi9zcmMvbGliL2ZlYXR1cmVzL2RhdGEtdGFibGUvY2VsbHMvdGFibGUtY2VsbC1zZWxlY3QvdGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUd4QyxPQUFPLENBQUMsTUFBTSxRQUFRLENBQUM7Ozs7QUFFdkIsTUFLYSx3QkFBd0I7SUFMckM7UUFPRSxTQUFJLEdBQVE7WUFDVixFQUFFLEVBQUUsRUFBRTtZQUNOLElBQUksRUFBRSxFQUFFO1lBQ1IsUUFBUSxFQUFFLEtBQUs7WUFDZixVQUFVLEVBQUUsS0FBSztTQUNsQixDQUFDO1FBQ0Ysa0JBQWEsR0FBRyxLQUFLLENBQUM7S0F1Q3ZCO0lBckNDLE1BQU0sQ0FBQyxNQUEyQjtRQUNoQyxJQUFJLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQztRQUN6QixJQUFJLENBQUMsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxDQUFDLGFBQWE7WUFDaEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFFBQVEsQ0FBQyxLQUFLLFFBQVE7Z0JBQ3ZDLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxhQUFhLENBQUM7Z0JBQy9CLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsS0FBSyxJQUFJO2dCQUNyQyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEtBQUssSUFBSSxDQUFDO0lBQzFDLENBQUM7SUFFRCxPQUFPLENBQUMsTUFBMkI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7UUFDekIsSUFBSSxDQUFDLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDO1FBQ3hCLElBQUksQ0FBQyxhQUFhO1lBQ2hCLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsS0FBSyxRQUFRO2dCQUN2QyxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDO2dCQUMvQixDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLEtBQUssSUFBSTtnQkFDckMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxLQUFLLElBQUksQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxNQUFNLENBQUMsSUFBSTtRQUNULElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQ3JELE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDcEQsQ0FBQztJQUVELElBQUksT0FBTztRQUNULElBQUksT0FBTyxHQUFHLEVBQUUsQ0FBQztRQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsUUFBUSxFQUFFO1lBQ3ZCLE9BQU8sR0FBRywyQ0FBMkMsQ0FBQztTQUN2RDthQUFNLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ3pDLE9BQU8sR0FBRyxvRkFBb0YsQ0FBQztTQUNoRztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7K0dBOUNVLHdCQUF3QjttR0FBeEIsd0JBQXdCLDZEQ1ZyQyw2VUFXQTs7U0REYSx3QkFBd0I7NEZBQXhCLHdCQUF3QjtrQkFMcEMsU0FBUzsrQkFDRSx1QkFBdUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0lDZWxsUmVuZGVyZXJBbmd1bGFyQ29tcH0gZnJvbSAnYWctZ3JpZC1hbmd1bGFyJztcbmltcG9ydCB7SUNlbGxSZW5kZXJlclBhcmFtc30gZnJvbSAnYWctZ3JpZC1jb21tdW5pdHknO1xuaW1wb3J0IF8gZnJvbSAnbG9kYXNoJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnYXBwLXRhYmxlLWNlbGwtc2VsZWN0JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3RhYmxlLWNlbGwtc2VsZWN0LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vdGFibGUtY2VsbC1zZWxlY3QuY29tcG9uZW50LnNjc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgVGFibGVDZWxsU2VsZWN0Q29tcG9uZW50IGltcGxlbWVudHMgSUNlbGxSZW5kZXJlckFuZ3VsYXJDb21wIHtcbiAgY2VsbFBhcmFtcztcbiAgaXRlbTogYW55ID0ge1xuICAgIGlkOiAnJyxcbiAgICBuYW1lOiAnJyxcbiAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgaGlkZVNlbGVjdDogZmFsc2UsXG4gIH07XG4gIGRpc2FibGVUb2dnbGUgPSBmYWxzZTtcblxuICBhZ0luaXQocGFyYW1zOiBJQ2VsbFJlbmRlcmVyUGFyYW1zKTogdm9pZCB7XG4gICAgdGhpcy5jZWxsUGFyYW1zID0gcGFyYW1zO1xuICAgIHRoaXMuaXRlbSA9IHBhcmFtcy5kYXRhO1xuICAgIHRoaXMuZGlzYWJsZVRvZ2dsZSA9XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICd0eXBlSWQnKSA9PT0gJ1JvdXRlcicgfHxcbiAgICAgIF8uZ2V0KHRoaXMuaXRlbSwgJ2V4Y2x1c2l2ZVRvJykgfHxcbiAgICAgIF8uZ2V0KHRoaXMuaXRlbSwgJ3Jlc2VydmVkJykgPT09IHRydWUgfHxcbiAgICAgIF8uZ2V0KHRoaXMuaXRlbSwgJ2lzU3lzdGVtJykgPT09IHRydWU7XG4gIH1cblxuICByZWZyZXNoKHBhcmFtczogSUNlbGxSZW5kZXJlclBhcmFtcyk6IGJvb2xlYW4ge1xuICAgIHRoaXMuY2VsbFBhcmFtcyA9IHBhcmFtcztcbiAgICB0aGlzLml0ZW0gPSBwYXJhbXMuZGF0YTtcbiAgICB0aGlzLmRpc2FibGVUb2dnbGUgPVxuICAgICAgXy5nZXQodGhpcy5pdGVtLCAndHlwZUlkJykgPT09ICdSb3V0ZXInIHx8XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICdleGNsdXNpdmVUbycpIHx8XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICdyZXNlcnZlZCcpID09PSB0cnVlIHx8XG4gICAgICBfLmdldCh0aGlzLml0ZW0sICdpc1N5c3RlbScpID09PSB0cnVlO1xuICAgIHJldHVybiB0cnVlO1xuICB9XG5cbiAgdG9nZ2xlKGl0ZW0pOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuY2VsbFBhcmFtcy50b2dnbGVJdGVtIHx8IHRoaXMuZGlzYWJsZVRvZ2dsZSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLmNlbGxQYXJhbXMudG9nZ2xlSXRlbShpdGVtLCB0aGlzLmNlbGxQYXJhbXMpO1xuICB9XG5cbiAgZ2V0IHRvb2x0aXAoKSB7XG4gICAgbGV0IHRvb2x0aXAgPSAnJztcbiAgICBpZiAodGhpcy5pdGVtPy5pc1N5c3RlbSkge1xuICAgICAgdG9vbHRpcCA9ICdEZWxldGluZyBcInN5c3RlbVwiIGVudGl0aWVzIGlzIG5vdCBhbGxvd2VkJztcbiAgICB9IGVsc2UgaWYgKHRoaXMuaXRlbT8udHlwZUlkID09PSAnUm91dGVyJykge1xuICAgICAgdG9vbHRpcCA9ICdVbmFibGUgdG8gZGVsZXRlIFwiUm91dGVyXCIgSWRlbnRpdGllcy4gUGxlYXNlIGRlbGV0ZSB0aGUgYXNzb2NpYXRlZCBSb3V0ZXIgaW5zdGVhZC4nO1xuICAgIH1cbiAgICByZXR1cm4gdG9vbHRpcDtcbiAgfVxufVxuIiwiPGRpdlxuICAjdG9nZ2xlQnV0dG9uXG4gIChjbGljayk9XCJ0b2dnbGUoaXRlbSlcIlxuICAqbmdJZj1cIiFpdGVtLmhpZGVTZWxlY3RcIlxuICBbbmdDbGFzc109XCJ7IHNlbGVjdGVkOiBpdGVtLnNlbGVjdGVkLCBkaXNhYmxlZDogZGlzYWJsZVRvZ2dsZSB9XCJcbiAgYXR0ci5uYW1lPVwiUm93U2VsZWN0MF97eyBpdGVtLm5hbWUgfX1cIlxuICBjbGFzcz1cInJvdy10b2dnbGUgdFNlbGVjdFwiXG4gIGlkPVwiUm93U2VsZWN0MF97eyBpdGVtLmlkIH19XCJcbiAgYXR0ci5kYXRhLWlkPVwie3tpdGVtLmlkfX1cIlxuICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwXCJcbj48L2Rpdj5cbiJdfQ==