@gravitee/ui-particles-angular 4.13.0 → 5.0.0

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 (96) hide show
  1. package/{esm2015/gravitee-ui-particles-angular.js → esm2020/gravitee-ui-particles-angular.mjs} +0 -0
  2. package/{esm2015/lib/gio-avatar/gio-avatar.component.js → esm2020/lib/gio-avatar/gio-avatar.component.mjs} +5 -9
  3. package/{esm2015/lib/gio-avatar/gio-avatar.module.js → esm2020/lib/gio-avatar/gio-avatar.module.mjs} +5 -6
  4. package/{esm2015/lib/gio-avatar/index.js → esm2020/lib/gio-avatar/index.mjs} +0 -0
  5. package/esm2020/lib/gio-banner/gio-banner.component.mjs +101 -0
  6. package/{esm2015/lib/gio-banner/gio-banner.module.js → esm2020/lib/gio-banner/gio-banner.module.mjs} +5 -12
  7. package/{esm2015/lib/gio-breadcrumb/gio-breadcrumb-item.directive.js → esm2020/lib/gio-breadcrumb/gio-breadcrumb-item.directive.mjs} +3 -3
  8. package/esm2020/lib/gio-breadcrumb/gio-breadcrumb.component.mjs +32 -0
  9. package/{esm2015/lib/gio-breadcrumb/gio-breadcrumb.module.js → esm2020/lib/gio-breadcrumb/gio-breadcrumb.module.mjs} +5 -6
  10. package/{esm2015/lib/gio-breadcrumb/index.js → esm2020/lib/gio-breadcrumb/index.mjs} +0 -0
  11. package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.mjs +55 -0
  12. package/esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.mjs +40 -0
  13. package/{esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.js → esm2020/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.module.mjs} +5 -6
  14. package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.component.mjs +40 -0
  15. package/esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.harness.mjs +34 -0
  16. package/{esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.module.js → esm2020/lib/gio-confirm-dialog/gio-confirm-dialog.module.mjs} +5 -6
  17. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +29 -0
  18. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.mjs +27 -0
  19. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.mjs +26 -0
  20. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.harness.mjs +95 -0
  21. package/esm2020/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +167 -0
  22. package/{esm2015/lib/gio-form-file-picker/gio-form-file-picker.model.js → esm2020/lib/gio-form-file-picker/gio-form-file-picker.model.mjs} +0 -0
  23. package/{esm2015/lib/gio-form-file-picker/gio-form-file-picker.module.js → esm2020/lib/gio-form-file-picker/gio-form-file-picker.module.mjs} +4 -4
  24. package/{esm2015/lib/gio-form-file-picker/index.js → esm2020/lib/gio-form-file-picker/index.mjs} +0 -0
  25. package/esm2020/lib/gio-form-headers/gio-form-headers.component.mjs +233 -0
  26. package/esm2020/lib/gio-form-headers/gio-form-headers.harness.mjs +65 -0
  27. package/{esm2015/lib/gio-form-headers/gio-form-headers.module.js → esm2020/lib/gio-form-headers/gio-form-headers.module.mjs} +5 -6
  28. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.component.mjs +243 -0
  29. package/esm2020/lib/gio-form-tags-input/gio-form-tags-input.harness.mjs +67 -0
  30. package/{esm2015/lib/gio-form-tags-input/gio-form-tags-input.module.js → esm2020/lib/gio-form-tags-input/gio-form-tags-input.module.mjs} +5 -6
  31. package/{esm2015/lib/gio-icons/gio-icons.module.js → esm2020/lib/gio-icons/gio-icons.module.mjs} +5 -6
  32. package/esm2020/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.mjs +26 -0
  33. package/esm2020/lib/gio-menu/gio-menu-header/gio-menu-header.component.mjs +26 -0
  34. package/{esm2015/lib/gio-menu/gio-menu-item/gio-menu-item.component.js → esm2020/lib/gio-menu/gio-menu-item/gio-menu-item.component.mjs} +5 -9
  35. package/esm2020/lib/gio-menu/gio-menu-list/gio-menu-list.component.mjs +26 -0
  36. package/esm2020/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.mjs +53 -0
  37. package/esm2020/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.mjs +41 -0
  38. package/esm2020/lib/gio-menu/gio-menu.component.mjs +50 -0
  39. package/{esm2015/lib/gio-menu/gio-menu.module.js → esm2020/lib/gio-menu/gio-menu.module.mjs} +4 -4
  40. package/{esm2015/lib/gio-menu/gio-menu.service.js → esm2020/lib/gio-menu/gio-menu.service.mjs} +3 -3
  41. package/{esm2015/lib/gio-menu/index.js → esm2020/lib/gio-menu/index.mjs} +0 -0
  42. package/esm2020/lib/gio-save-bar/gio-save-bar.component.mjs +129 -0
  43. package/esm2020/lib/gio-save-bar/gio-save-bar.harness.mjs +49 -0
  44. package/{esm2015/lib/gio-save-bar/gio-save-bar.module.js → esm2020/lib/gio-save-bar/gio-save-bar.module.mjs} +5 -6
  45. package/esm2020/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.mjs +31 -0
  46. package/esm2020/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.mjs +42 -0
  47. package/{esm2015/lib/gio-submenu/gio-submenu.component.js → esm2020/lib/gio-submenu/gio-submenu.component.mjs} +9 -13
  48. package/{esm2015/lib/gio-submenu/gio-submenu.module.js → esm2020/lib/gio-submenu/gio-submenu.module.mjs} +4 -4
  49. package/{esm2015/lib/gio-submenu/index.js → esm2020/lib/gio-submenu/index.mjs} +0 -0
  50. package/esm2020/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.mjs +35 -0
  51. package/esm2020/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.mjs +35 -0
  52. package/{esm2015/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.js → esm2020/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.module.mjs} +4 -4
  53. package/esm2020/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.mjs +26 -0
  54. package/{esm2015/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.js → esm2020/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.module.mjs} +4 -4
  55. package/esm2020/lib/gio-top-bar/gio-top-bar.component.mjs +34 -0
  56. package/{esm2015/lib/gio-top-bar/gio-top-bar.module.js → esm2020/lib/gio-top-bar/gio-top-bar.module.mjs} +4 -4
  57. package/{esm2015/lib/gio-top-bar/index.js → esm2020/lib/gio-top-bar/index.mjs} +0 -0
  58. package/{esm2015/lib/public-api.js → esm2020/lib/public-api.mjs} +0 -0
  59. package/{esm2015/public-api.js → esm2020/public-api.mjs} +0 -0
  60. package/fesm2015/{gravitee-ui-particles-angular.js → gravitee-ui-particles-angular.mjs} +223 -413
  61. package/fesm2015/gravitee-ui-particles-angular.mjs.map +1 -0
  62. package/fesm2020/gravitee-ui-particles-angular.mjs +2754 -0
  63. package/fesm2020/gravitee-ui-particles-angular.mjs.map +1 -0
  64. package/package.json +25 -12
  65. package/bundles/gravitee-ui-particles-angular.umd.js +0 -3727
  66. package/bundles/gravitee-ui-particles-angular.umd.js.map +0 -1
  67. package/esm2015/lib/gio-banner/gio-banner.component.js +0 -121
  68. package/esm2015/lib/gio-breadcrumb/gio-breadcrumb.component.js +0 -36
  69. package/esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.component.js +0 -60
  70. package/esm2015/lib/gio-confirm-and-validate-dialog/gio-confirm-and-validate-dialog.harness.js +0 -45
  71. package/esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.component.js +0 -45
  72. package/esm2015/lib/gio-confirm-dialog/gio-confirm-dialog.harness.js +0 -39
  73. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.js +0 -34
  74. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-empty/gio-form-file-picker-empty.component.js +0 -31
  75. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker-label/gio-form-file-picker-label.component.js +0 -31
  76. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker.component.harness.js +0 -114
  77. package/esm2015/lib/gio-form-file-picker/gio-form-file-picker.component.js +0 -177
  78. package/esm2015/lib/gio-form-headers/gio-form-headers.component.js +0 -237
  79. package/esm2015/lib/gio-form-headers/gio-form-headers.harness.js +0 -76
  80. package/esm2015/lib/gio-form-tags-input/gio-form-tags-input.component.js +0 -255
  81. package/esm2015/lib/gio-form-tags-input/gio-form-tags-input.harness.js +0 -78
  82. package/esm2015/lib/gio-menu/gio-menu-footer/gio-menu-footer.component.js +0 -30
  83. package/esm2015/lib/gio-menu/gio-menu-header/gio-menu-header.component.js +0 -30
  84. package/esm2015/lib/gio-menu/gio-menu-list/gio-menu-list.component.js +0 -30
  85. package/esm2015/lib/gio-menu/gio-menu-selector/gio-menu-selector.component.js +0 -57
  86. package/esm2015/lib/gio-menu/gio-menu-selector/gio-menu-selector.harness.js +0 -48
  87. package/esm2015/lib/gio-menu/gio-menu.component.js +0 -55
  88. package/esm2015/lib/gio-save-bar/gio-save-bar.component.js +0 -135
  89. package/esm2015/lib/gio-save-bar/gio-save-bar.harness.js +0 -60
  90. package/esm2015/lib/gio-submenu/gio-submenu-group/gio-submenu-group.component.js +0 -35
  91. package/esm2015/lib/gio-submenu/gio-submenu-item/gio-submenu-item.component.js +0 -47
  92. package/esm2015/lib/gio-top-bar/gio-top-bar-content/gio-top-bar-content.component.js +0 -39
  93. package/esm2015/lib/gio-top-bar/gio-top-bar-link/gio-top-bar-link.component.js +0 -39
  94. package/esm2015/lib/gio-top-bar/gio-top-bar-menu/gio-top-bar-menu.component.js +0 -30
  95. package/esm2015/lib/gio-top-bar/gio-top-bar.component.js +0 -38
  96. package/fesm2015/gravitee-ui-particles-angular.js.map +0 -1
@@ -0,0 +1,2754 @@
1
+ import { trigger, transition, style, animate } from '@angular/animations';
2
+ import * as i0 from '@angular/core';
3
+ import { EventEmitter, Component, HostBinding, Input, Output, HostListener, NgModule, Optional, Self, ViewChild, Directive, Inject, forwardRef, ChangeDetectionStrategy, Injectable, ViewEncapsulation, ContentChildren } from '@angular/core';
4
+ import { timer, Subject, fromEvent, of, BehaviorSubject } from 'rxjs';
5
+ import * as i1 from '@angular/material/card';
6
+ import { MatCardModule } from '@angular/material/card';
7
+ import * as i2 from '@angular/material/button';
8
+ import { MatButtonModule } from '@angular/material/button';
9
+ import * as i2$1 from '@angular/common';
10
+ import { CommonModule } from '@angular/common';
11
+ import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/cdk/testing';
12
+ import { coerceBooleanProperty } from '@angular/cdk/coercion';
13
+ import * as i3$1 from '@angular/material/form-field';
14
+ import { MatFormFieldControl, MatFormFieldModule } from '@angular/material/form-field';
15
+ import { isEmpty, toLower, dropRight, isNil, isArray, remove } from 'lodash';
16
+ import { startWith, map, distinctUntilChanged, tap, debounce, takeUntil, delay, filter, switchMap } from 'rxjs/operators';
17
+ import * as i7 from '@angular/forms';
18
+ import { FormsModule, FormArray, FormGroup, FormControl, NG_VALUE_ACCESSOR, ReactiveFormsModule } from '@angular/forms';
19
+ import * as i2$2 from '@angular/cdk/a11y';
20
+ import { A11yModule } from '@angular/cdk/a11y';
21
+ import * as i3 from '@angular/material/chips';
22
+ import { MatChipsModule } from '@angular/material/chips';
23
+ import * as i1$1 from '@angular/material/icon';
24
+ import { MatIconModule } from '@angular/material/icon';
25
+ import * as i5 from '@angular/material/autocomplete';
26
+ import { MatAutocompleteModule } from '@angular/material/autocomplete';
27
+ import * as i6 from '@angular/material/core';
28
+ import { MatOptionModule, MatRippleModule } from '@angular/material/core';
29
+ import * as i6$1 from '@angular/material/input';
30
+ import { MatInputModule } from '@angular/material/input';
31
+ import * as i2$4 from '@angular/material/select';
32
+ import { MatSelectModule } from '@angular/material/select';
33
+ import { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';
34
+ import { MatChipListHarness } from '@angular/material/chips/testing';
35
+ import { HttpClientModule } from '@angular/common/http';
36
+ import * as i2$3 from '@angular/platform-browser';
37
+ import * as i1$2 from '@angular/material/dialog';
38
+ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
39
+ import { MatButtonHarness } from '@angular/material/button/testing';
40
+ import { MatInputHarness } from '@angular/material/input/testing';
41
+ import * as i10 from '@angular/cdk/text-field';
42
+ import * as i6$2 from 'ngx-file-helpers';
43
+ import { ReadMode, NgxFileHelpersModule } from 'ngx-file-helpers';
44
+ import { MatSelectHarness } from '@angular/material/select/testing';
45
+ import { toSvg } from 'jdenticon';
46
+
47
+ /*
48
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
49
+ *
50
+ * Licensed under the Apache License, Version 2.0 (the "License");
51
+ * you may not use this file except in compliance with the License.
52
+ * You may obtain a copy of the License at
53
+ *
54
+ * http://www.apache.org/licenses/LICENSE-2.0
55
+ *
56
+ * Unless required by applicable law or agreed to in writing, software
57
+ * distributed under the License is distributed on an "AS IS" BASIS,
58
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
59
+ * See the License for the specific language governing permissions and
60
+ * limitations under the License.
61
+ */
62
+ class GioSaveBarComponent {
63
+ constructor() {
64
+ this.isSubmitted = false;
65
+ this.opened = false;
66
+ /**
67
+ * When true, the submit button have invalidate display
68
+ * And on submit clicked the output event is emit on submitInvalidState (and not on submit)
69
+ */
70
+ this.invalidState = false;
71
+ this.creationMode = false;
72
+ this.hasSubmitLock = true;
73
+ this.resetClicked = new EventEmitter();
74
+ this.submitted = new EventEmitter();
75
+ this.submittedInvalidState = new EventEmitter();
76
+ }
77
+ get isSticky() {
78
+ return !this.creationMode;
79
+ }
80
+ get isOpen() {
81
+ if (this.creationMode) {
82
+ return true;
83
+ }
84
+ if (this.form) {
85
+ return this.form.dirty;
86
+ }
87
+ return this.opened;
88
+ }
89
+ onResetClicked() {
90
+ if (this.form) {
91
+ this.form.reset(this.formInitialValues);
92
+ this.form.markAsPristine();
93
+ }
94
+ this.resetClicked.emit();
95
+ }
96
+ onDisableSubmitLock() {
97
+ this.hasSubmitLock = false;
98
+ }
99
+ onSubmitClicked() {
100
+ if ((this.form && this.form.invalid) || this.invalidState) {
101
+ this.form?.markAllAsTouched();
102
+ this.submittedInvalidState.emit();
103
+ return;
104
+ }
105
+ if (this.isSubmitted) {
106
+ return;
107
+ }
108
+ this.submitted.emit();
109
+ if (this.hasSubmitLock) {
110
+ this.isSubmitted = true;
111
+ timer(2000).subscribe(() => (this.isSubmitted = false));
112
+ }
113
+ }
114
+ }
115
+ GioSaveBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
116
+ GioSaveBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSaveBarComponent, selector: "gio-save-bar", inputs: { opened: "opened", invalidState: "invalidState", creationMode: "creationMode", form: "form", formInitialValues: "formInitialValues" }, outputs: { resetClicked: "resetClicked", submitted: "submitted", submittedInvalidState: "submittedInvalidState" }, host: { listeners: { "disable-submit-lock": "onDisableSubmitLock()" }, properties: { "class.save-bar-sticky": "this.isSticky", "class.is-open": "this.isOpen" } }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div *ngIf=\"isOpen\" [@slideUpDown] [@.disabled]=\"creationMode\">\n <mat-card class=\"save-bar__content\" [class.mat-elevation-z3]=\"creationMode\" [class.mat-elevation-z6]=\"!creationMode\">\n <div class=\"save-bar__content__label\">{{ creationMode ? '' : 'You have unsaved changes' }}</div>\n <div>\n <button *ngIf=\"!creationMode\" class=\"save-bar__content__reset-button\" mat-button type=\"button\" (click)=\"onResetClicked()\">\n Discard\n </button>\n <button\n class=\"save-bar__content__submit-button\"\n [class.invalid]=\"(form && form.invalid) || invalidState\"\n mat-flat-button\n color=\"primary\"\n [type]=\"form ? 'submit' : 'button'\"\n (click)=\"onSubmitClicked()\"\n >\n {{ creationMode ? 'Create' : 'Save' }}\n </button>\n </div>\n </mat-card>\n</div>\n", styles: [":host{z-index:1000;display:block;height:68px;margin-top:32px;visibility:hidden}:host.is-open{visibility:visible}:host(.save-bar-sticky){position:sticky;bottom:0;margin-right:-16px;margin-left:-16px}.save-bar__content{display:flex;height:100%;align-items:center;justify-content:space-between;padding:16px 24px}.save-bar__content__label{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.save-bar__content__reset-button{margin-right:16px}.save-bar__content__submit-button.invalid{background-color:#d6ffff;color:#000}.save-bar__content__submit-button.invalid:hover:enabled{background-color:#099;color:#fff}\n"], components: [{ type: i1.MatCard, selector: "mat-card", exportAs: ["matCard"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], animations: [
117
+ trigger('slideUpDown', [
118
+ transition(':enter', [
119
+ style({ transform: 'translateY(40vh)', opacity: '0' }),
120
+ animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(0)', opacity: '1' })),
121
+ ]),
122
+ transition(':leave', [
123
+ style({ transform: 'translateY(0)', opacity: '1' }),
124
+ animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(40vh)', opacity: '0' })),
125
+ ]),
126
+ ]),
127
+ ] });
128
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarComponent, decorators: [{
129
+ type: Component,
130
+ args: [{ selector: 'gio-save-bar', animations: [
131
+ trigger('slideUpDown', [
132
+ transition(':enter', [
133
+ style({ transform: 'translateY(40vh)', opacity: '0' }),
134
+ animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(0)', opacity: '1' })),
135
+ ]),
136
+ transition(':leave', [
137
+ style({ transform: 'translateY(0)', opacity: '1' }),
138
+ animate('300ms cubic-bezier(0.4, 0.0, 0.2, 1)', style({ transform: 'translateY(40vh)', opacity: '0' })),
139
+ ]),
140
+ ]),
141
+ ], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n\n<div *ngIf=\"isOpen\" [@slideUpDown] [@.disabled]=\"creationMode\">\n <mat-card class=\"save-bar__content\" [class.mat-elevation-z3]=\"creationMode\" [class.mat-elevation-z6]=\"!creationMode\">\n <div class=\"save-bar__content__label\">{{ creationMode ? '' : 'You have unsaved changes' }}</div>\n <div>\n <button *ngIf=\"!creationMode\" class=\"save-bar__content__reset-button\" mat-button type=\"button\" (click)=\"onResetClicked()\">\n Discard\n </button>\n <button\n class=\"save-bar__content__submit-button\"\n [class.invalid]=\"(form && form.invalid) || invalidState\"\n mat-flat-button\n color=\"primary\"\n [type]=\"form ? 'submit' : 'button'\"\n (click)=\"onSubmitClicked()\"\n >\n {{ creationMode ? 'Create' : 'Save' }}\n </button>\n </div>\n </mat-card>\n</div>\n", styles: [":host{z-index:1000;display:block;height:68px;margin-top:32px;visibility:hidden}:host.is-open{visibility:visible}:host(.save-bar-sticky){position:sticky;bottom:0;margin-right:-16px;margin-left:-16px}.save-bar__content{display:flex;height:100%;align-items:center;justify-content:space-between;padding:16px 24px}.save-bar__content__label{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.save-bar__content__reset-button{margin-right:16px}.save-bar__content__submit-button.invalid{background-color:#d6ffff;color:#000}.save-bar__content__submit-button.invalid:hover:enabled{background-color:#099;color:#fff}\n"] }]
142
+ }], propDecorators: { isSticky: [{
143
+ type: HostBinding,
144
+ args: ['class.save-bar-sticky']
145
+ }], opened: [{
146
+ type: Input
147
+ }], invalidState: [{
148
+ type: Input
149
+ }], creationMode: [{
150
+ type: Input
151
+ }], form: [{
152
+ type: Input
153
+ }], formInitialValues: [{
154
+ type: Input
155
+ }], resetClicked: [{
156
+ type: Output
157
+ }], submitted: [{
158
+ type: Output
159
+ }], submittedInvalidState: [{
160
+ type: Output
161
+ }], isOpen: [{
162
+ type: HostBinding,
163
+ args: ['class.is-open']
164
+ }], onDisableSubmitLock: [{
165
+ type: HostListener,
166
+ args: ['disable-submit-lock']
167
+ }] } });
168
+
169
+ /*
170
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
171
+ *
172
+ * Licensed under the Apache License, Version 2.0 (the "License");
173
+ * you may not use this file except in compliance with the License.
174
+ * You may obtain a copy of the License at
175
+ *
176
+ * http://www.apache.org/licenses/LICENSE-2.0
177
+ *
178
+ * Unless required by applicable law or agreed to in writing, software
179
+ * distributed under the License is distributed on an "AS IS" BASIS,
180
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
181
+ * See the License for the specific language governing permissions and
182
+ * limitations under the License.
183
+ */
184
+ class GioSaveBarModule {
185
+ }
186
+ GioSaveBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
187
+ GioSaveBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, declarations: [GioSaveBarComponent], imports: [CommonModule, MatCardModule, MatButtonModule], exports: [GioSaveBarComponent] });
188
+ GioSaveBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, imports: [[CommonModule, MatCardModule, MatButtonModule]] });
189
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSaveBarModule, decorators: [{
190
+ type: NgModule,
191
+ args: [{
192
+ imports: [CommonModule, MatCardModule, MatButtonModule],
193
+ declarations: [GioSaveBarComponent],
194
+ exports: [GioSaveBarComponent],
195
+ }]
196
+ }] });
197
+
198
+ /*
199
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
200
+ *
201
+ * Licensed under the Apache License, Version 2.0 (the "License");
202
+ * you may not use this file except in compliance with the License.
203
+ * You may obtain a copy of the License at
204
+ *
205
+ * http://www.apache.org/licenses/LICENSE-2.0
206
+ *
207
+ * Unless required by applicable law or agreed to in writing, software
208
+ * distributed under the License is distributed on an "AS IS" BASIS,
209
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
210
+ * See the License for the specific language governing permissions and
211
+ * limitations under the License.
212
+ */
213
+ class GioSaveBarHarness extends ComponentHarness {
214
+ constructor() {
215
+ super(...arguments);
216
+ this.resetButtonSelector = '.save-bar__content__reset-button';
217
+ this.submitButtonSelector = '.save-bar__content__submit-button';
218
+ this.getSubmitButton = this.locatorFor(this.submitButtonSelector);
219
+ this.getResetButton = this.locatorFor(this.resetButtonSelector);
220
+ }
221
+ async isVisible() {
222
+ const submitButton = await this.locatorForOptional(this.submitButtonSelector)();
223
+ return submitButton !== null;
224
+ }
225
+ async clickSubmit() {
226
+ const host = await this.host();
227
+ await host.dispatchEvent('disable-submit-lock');
228
+ const submitButton = await this.getSubmitButton();
229
+ return submitButton.click();
230
+ }
231
+ async isSubmitButtonInvalid() {
232
+ const submitButton = await this.getSubmitButton();
233
+ return submitButton.hasClass('invalid');
234
+ }
235
+ async isResetButtonVisible() {
236
+ const submitButton = await this.locatorForOptional(this.resetButtonSelector)();
237
+ return submitButton !== null;
238
+ }
239
+ async clickReset() {
240
+ const resetButton = await this.getResetButton();
241
+ return resetButton.click();
242
+ }
243
+ }
244
+ GioSaveBarHarness.hostSelector = 'gio-save-bar';
245
+
246
+ class GioFormTagsInputComponent {
247
+ constructor(
248
+ // From ControlValueAccessor interface
249
+ ngControl, elRef, fm, changeDetectorRef) {
250
+ this.ngControl = ngControl;
251
+ this.elRef = elRef;
252
+ this.fm = fm;
253
+ this.changeDetectorRef = changeDetectorRef;
254
+ this._onChange = () => ({});
255
+ this._onTouched = () => ({});
256
+ this.touched = false;
257
+ this.ariaLabel = '';
258
+ this.addOnBlur = true;
259
+ /**
260
+ * Function called each time a tag is added, it can be used to hook inside the
261
+ * addition process to, for instance, have custom validation in the components
262
+ * using `gio-form-tags-input`.
263
+ *
264
+ * Parameters are:
265
+ * - `tag`: The value of the tag to add
266
+ * - `validationCb`: The callback function to call when validation is done. If
267
+ * called with `true` it will add the tag, otherwise it will just ignore it
268
+ */
269
+ this.tagValidationHook = undefined;
270
+ this._tagInput = null;
271
+ this._value = null;
272
+ // From ControlValueAccessor interface
273
+ this.stateChanges = new Subject();
274
+ // From ControlValueAccessor interface
275
+ this.id = `gio-form-tags-input-${GioFormTagsInputComponent.nextId++}`;
276
+ this._placeholder = '';
277
+ // From ControlValueAccessor interface
278
+ this.focused = false;
279
+ this._required = false;
280
+ this._disabled = false;
281
+ // From ControlValueAccessor interface
282
+ this.describedBy = '';
283
+ // Replace the provider from above with this.
284
+ if (this.ngControl != null) {
285
+ // Setting the value accessor directly (instead of using
286
+ // the providers) to avoid running into a circular import.
287
+ this.ngControl.valueAccessor = this;
288
+ }
289
+ fm.monitor(elRef.nativeElement, true).subscribe(origin => {
290
+ this.focused = !!origin;
291
+ this._onTouched();
292
+ this.touched = true;
293
+ this.stateChanges.next();
294
+ });
295
+ }
296
+ set autocompleteOptions(v) {
297
+ this._autocompleteOptions = v;
298
+ this.initAutocomplete();
299
+ }
300
+ set tagInput(v) {
301
+ this._tagInput = v;
302
+ this.initAutocomplete();
303
+ }
304
+ // From ControlValueAccessor interface
305
+ get value() {
306
+ return this._value;
307
+ }
308
+ set value(_tags) {
309
+ this._value = _tags;
310
+ this._onChange(_tags);
311
+ this.stateChanges.next();
312
+ }
313
+ // From ControlValueAccessor interface
314
+ get placeholder() {
315
+ return this._placeholder;
316
+ }
317
+ set placeholder(plh) {
318
+ this._placeholder = plh;
319
+ this.stateChanges.next();
320
+ }
321
+ // From ControlValueAccessor interface
322
+ get empty() {
323
+ return isEmpty(this.value) && isEmpty(this._tagInput?.nativeElement?.value);
324
+ }
325
+ // From ControlValueAccessor interface
326
+ get shouldLabelFloat() {
327
+ return this.focused || !this.empty;
328
+ }
329
+ // From ControlValueAccessor interface
330
+ get required() {
331
+ return this._required;
332
+ }
333
+ set required(req) {
334
+ this._required = coerceBooleanProperty(req);
335
+ this.stateChanges.next();
336
+ }
337
+ // From ControlValueAccessor interface
338
+ get disabled() {
339
+ return this._disabled || (this.ngControl && this.ngControl.disabled === true);
340
+ }
341
+ set disabled(dis) {
342
+ this._disabled = coerceBooleanProperty(dis);
343
+ this.stateChanges.next();
344
+ }
345
+ // From ControlValueAccessor interface
346
+ get errorState() {
347
+ return (this.touched &&
348
+ // if required check if is empty
349
+ ((this.required && this.empty) ||
350
+ // if there is a touched control check if there is an error
351
+ (this.ngControl && this.ngControl.touched === true && !!this.ngControl.errors)));
352
+ }
353
+ ngDoCheck() {
354
+ // sync control touched with local touched
355
+ if (this.ngControl != null && this.touched !== this.ngControl.touched) {
356
+ this.touched = this.ngControl.touched === true;
357
+ this.stateChanges.next();
358
+ }
359
+ }
360
+ ngOnDestroy() {
361
+ this.stateChanges.complete();
362
+ this.fm.stopMonitoring(this.elRef.nativeElement);
363
+ }
364
+ // From ControlValueAccessor interface
365
+ writeValue(value) {
366
+ this._value = value;
367
+ }
368
+ // From ControlValueAccessor interface
369
+ registerOnChange(fn) {
370
+ this._onChange = fn;
371
+ }
372
+ // From ControlValueAccessor interface
373
+ registerOnTouched(fn) {
374
+ this._onTouched = fn;
375
+ }
376
+ setDescribedByIds(ids) {
377
+ this.describedBy = ids.join(' ');
378
+ }
379
+ // From ControlValueAccessor interface
380
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars, @typescript-eslint/no-empty-function
381
+ onContainerClick(_event) { }
382
+ addChipToFormControl(event) {
383
+ const input = this._tagInput?.nativeElement;
384
+ const tagToAdd = (event.value ?? '').trim();
385
+ if (isEmpty(tagToAdd)) {
386
+ return;
387
+ }
388
+ // Add the tag only if shouldAddTag in validationCb return true
389
+ // Set default callback if not defined
390
+ const tagValidationHook = this.tagValidationHook ?? ((_, validationCb) => validationCb(true));
391
+ const validationCb = (shouldAddTag) => {
392
+ // Add new Tag in form control
393
+ if (shouldAddTag) {
394
+ // Delete Tag if already existing
395
+ const formControlValue = [...(this.value ?? [])].filter(v => v !== tagToAdd);
396
+ this.value = [...formControlValue, tagToAdd];
397
+ }
398
+ };
399
+ // Reset the input value
400
+ if (input) {
401
+ input.value = '';
402
+ }
403
+ tagValidationHook(tagToAdd, validationCb);
404
+ }
405
+ removeChipToFormControl(tag) {
406
+ this.value = [...(this.value ?? [])].filter(v => v !== tag);
407
+ }
408
+ onAutocompleteSelect(event) {
409
+ this.addChipToFormControl({ value: event.option.value });
410
+ }
411
+ onMatChipTokenEnd() {
412
+ // Give priority to the `onAutocompleteSelect` when validating with the blur event
413
+ setTimeout(() => {
414
+ this.addChipToFormControl({ value: this._tagInput?.nativeElement.value ?? '' });
415
+ }, 100);
416
+ }
417
+ initAutocomplete() {
418
+ if (this._autocompleteOptions && this._tagInput?.nativeElement) {
419
+ this.autocompleteFilteredOptions$ = fromEvent(this._tagInput.nativeElement, 'keyup').pipe(startWith([]), map(() => {
420
+ return (this._autocompleteOptions ?? []).filter(defaultHeader => defaultHeader.toLowerCase().includes((this._tagInput?.nativeElement.value ?? '').toLowerCase()));
421
+ }), distinctUntilChanged());
422
+ this.changeDetectorRef.detectChanges();
423
+ }
424
+ }
425
+ }
426
+ GioFormTagsInputComponent.nextId = 0;
427
+ GioFormTagsInputComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputComponent, deps: [{ token: i7.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2$2.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
428
+ GioFormTagsInputComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormTagsInputComponent, selector: "gio-form-tags-input", inputs: { ariaLabel: ["aria-label", "ariaLabel"], addOnBlur: "addOnBlur", tagValidationHook: "tagValidationHook", autocompleteOptions: "autocompleteOptions", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
429
+ {
430
+ provide: MatFormFieldControl,
431
+ useExisting: GioFormTagsInputComponent,
432
+ },
433
+ ], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip *ngFor=\"let tag of value\" [selectable]=\"false\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\">\n {{ tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngFor=\"let value of autocompleteFilteredOptions$ | async\" [value]=\"value\">\n {{ value }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n", styles: [""], components: [{ type: i3.MatChipList, selector: "mat-chip-list", inputs: ["errorStateMatcher", "multiple", "compareWith", "value", "required", "placeholder", "disabled", "aria-orientation", "selectable", "tabIndex"], outputs: ["change", "valueChange"], exportAs: ["matChipList"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i3.MatChip, selector: "mat-basic-chip, [mat-basic-chip], mat-chip, [mat-chip]", inputs: ["color", "disableRipple", "tabIndex", "selected", "value", "selectable", "disabled", "removable"], outputs: ["selectionChange", "destroyed", "removed"], exportAs: ["matChip"] }, { type: i3.MatChipRemove, selector: "[matChipRemove]" }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }], pipes: { "async": i2$1.AsyncPipe } });
434
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputComponent, decorators: [{
435
+ type: Component,
436
+ args: [{ selector: 'gio-form-tags-input', providers: [
437
+ {
438
+ provide: MatFormFieldControl,
439
+ useExisting: GioFormTagsInputComponent,
440
+ },
441
+ ], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-list #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip *ngFor=\"let tag of value\" [selectable]=\"false\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\">\n {{ tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip>\n <input\n *ngIf=\"!disabled\"\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions\"\n [matAutocomplete]=\"auto\"\n [placeholder]=\"placeholder\"\n [matChipInputFor]=\"tagChipList\"\n [matChipInputAddOnBlur]=\"addOnBlur\"\n (matChipInputTokenEnd)=\"onMatChipTokenEnd()\"\n />\n <mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteSelect($event)\">\n <mat-option *ngFor=\"let value of autocompleteFilteredOptions$ | async\" [value]=\"value\">\n {{ value }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-list>\n", styles: [""] }]
442
+ }], ctorParameters: function () { return [{ type: i7.NgControl, decorators: [{
443
+ type: Optional
444
+ }, {
445
+ type: Self
446
+ }] }, { type: i0.ElementRef }, { type: i2$2.FocusMonitor }, { type: i0.ChangeDetectorRef }]; }, propDecorators: { ariaLabel: [{
447
+ type: Input,
448
+ args: ['aria-label']
449
+ }], addOnBlur: [{
450
+ type: Input
451
+ }], tagValidationHook: [{
452
+ type: Input
453
+ }], autocompleteOptions: [{
454
+ type: Input
455
+ }], tagInput: [{
456
+ type: ViewChild,
457
+ args: ['tagInput']
458
+ }], id: [{
459
+ type: HostBinding,
460
+ args: ['id']
461
+ }], placeholder: [{
462
+ type: Input
463
+ }], shouldLabelFloat: [{
464
+ type: HostBinding,
465
+ args: ['class.floating']
466
+ }], required: [{
467
+ type: Input
468
+ }], disabled: [{
469
+ type: Input
470
+ }], describedBy: [{
471
+ type: HostBinding,
472
+ args: ['attr.aria-describedby']
473
+ }] } });
474
+
475
+ /*
476
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
477
+ *
478
+ * Licensed under the Apache License, Version 2.0 (the "License");
479
+ * you may not use this file except in compliance with the License.
480
+ * You may obtain a copy of the License at
481
+ *
482
+ * http://www.apache.org/licenses/LICENSE-2.0
483
+ *
484
+ * Unless required by applicable law or agreed to in writing, software
485
+ * distributed under the License is distributed on an "AS IS" BASIS,
486
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
487
+ * See the License for the specific language governing permissions and
488
+ * limitations under the License.
489
+ */
490
+ class GioFormTagsInputModule {
491
+ }
492
+ GioFormTagsInputModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
493
+ GioFormTagsInputModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, declarations: [GioFormTagsInputComponent], imports: [CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule], exports: [GioFormTagsInputComponent] });
494
+ GioFormTagsInputModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, imports: [[CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule]] });
495
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormTagsInputModule, decorators: [{
496
+ type: NgModule,
497
+ args: [{
498
+ imports: [CommonModule, A11yModule, MatChipsModule, MatInputModule, FormsModule, MatIconModule, MatAutocompleteModule, MatSelectModule],
499
+ declarations: [GioFormTagsInputComponent],
500
+ exports: [GioFormTagsInputComponent],
501
+ }]
502
+ }] });
503
+
504
+ /*
505
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
506
+ *
507
+ * Licensed under the Apache License, Version 2.0 (the "License");
508
+ * you may not use this file except in compliance with the License.
509
+ * You may obtain a copy of the License at
510
+ *
511
+ * http://www.apache.org/licenses/LICENSE-2.0
512
+ *
513
+ * Unless required by applicable law or agreed to in writing, software
514
+ * distributed under the License is distributed on an "AS IS" BASIS,
515
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
516
+ * See the License for the specific language governing permissions and
517
+ * limitations under the License.
518
+ */
519
+ class GioFormTagsInputHarness extends ComponentHarness {
520
+ constructor() {
521
+ super(...arguments);
522
+ this.getMatChipListHarness = this.locatorFor(MatChipListHarness);
523
+ }
524
+ /**
525
+ * Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets
526
+ * certain criteria.
527
+ *
528
+ * @param options Options for filtering which input instances are considered a match.
529
+ * @return a `HarnessPredicate` configured with the given options.
530
+ */
531
+ static with(options = {}) {
532
+ return new HarnessPredicate(GioFormTagsInputHarness, options);
533
+ }
534
+ async isDisabled() {
535
+ const matChipList = await this.getMatChipListHarness();
536
+ return matChipList.isDisabled();
537
+ }
538
+ async getTags() {
539
+ const matChipList = await this.getMatChipListHarness();
540
+ const chips = await matChipList.getChips();
541
+ return parallel(() => chips.map(async (chip) => await chip.getText()));
542
+ }
543
+ async addTag(tag, separatorKey = TestKey.ENTER) {
544
+ const matChipList = await this.getMatChipListHarness();
545
+ const chipInput = await matChipList.getInput();
546
+ await chipInput.setValue(tag);
547
+ if (separatorKey === 'blur') {
548
+ await chipInput.blur();
549
+ }
550
+ else {
551
+ await chipInput.sendSeparatorKey(separatorKey);
552
+ }
553
+ }
554
+ async removeTag(tag) {
555
+ const matChipList = await this.getMatChipListHarness();
556
+ const chips = await matChipList.getChips({ text: tag });
557
+ if (chips[0]) {
558
+ await chips[0].remove();
559
+ }
560
+ }
561
+ async getMatAutocompleteHarness() {
562
+ const matAutocompleteHarness = await this.locatorForOptional(MatAutocompleteHarness)();
563
+ return matAutocompleteHarness;
564
+ }
565
+ }
566
+ GioFormTagsInputHarness.hostSelector = 'gio-form-tags-input';
567
+
568
+ /*
569
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
570
+ *
571
+ * Licensed under the Apache License, Version 2.0 (the "License");
572
+ * you may not use this file except in compliance with the License.
573
+ * You may obtain a copy of the License at
574
+ *
575
+ * http://www.apache.org/licenses/LICENSE-2.0
576
+ *
577
+ * Unless required by applicable law or agreed to in writing, software
578
+ * distributed under the License is distributed on an "AS IS" BASIS,
579
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
580
+ * See the License for the specific language governing permissions and
581
+ * limitations under the License.
582
+ */
583
+ class GioBannerComponent {
584
+ constructor() {
585
+ this.type = 'info';
586
+ }
587
+ }
588
+ GioBannerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
589
+ GioBannerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerComponent, selector: "gio-banner", inputs: { type: "type" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
590
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerComponent, decorators: [{
591
+ type: Component,
592
+ args: [{ selector: 'gio-banner', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
593
+ }], propDecorators: { type: [{
594
+ type: Input
595
+ }] } });
596
+ class GioBannerBodyDirective {
597
+ }
598
+ GioBannerBodyDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerBodyDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
599
+ GioBannerBodyDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerBodyDirective, selector: "[gioBannerBody]", ngImport: i0 });
600
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerBodyDirective, decorators: [{
601
+ type: Directive,
602
+ args: [{
603
+ selector: '[gioBannerBody]',
604
+ }]
605
+ }] });
606
+ class GioBannerActionDirective {
607
+ }
608
+ GioBannerActionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerActionDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
609
+ GioBannerActionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerActionDirective, selector: "[gioBannerAction]", ngImport: i0 });
610
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerActionDirective, decorators: [{
611
+ type: Directive,
612
+ args: [{
613
+ selector: '[gioBannerAction]',
614
+ }]
615
+ }] });
616
+ class GioBannerErrorComponent extends GioBannerComponent {
617
+ constructor() {
618
+ super(...arguments);
619
+ this.type = 'error';
620
+ }
621
+ }
622
+ GioBannerErrorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerErrorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
623
+ GioBannerErrorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerErrorComponent, selector: "gio-banner-error", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
624
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerErrorComponent, decorators: [{
625
+ type: Component,
626
+ args: [{ selector: 'gio-banner-error', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
627
+ }] });
628
+ class GioBannerInfoComponent extends GioBannerComponent {
629
+ constructor() {
630
+ super(...arguments);
631
+ this.type = 'info';
632
+ }
633
+ }
634
+ GioBannerInfoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerInfoComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
635
+ GioBannerInfoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerInfoComponent, selector: "gio-banner-info", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
636
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerInfoComponent, decorators: [{
637
+ type: Component,
638
+ args: [{ selector: 'gio-banner-info', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
639
+ }] });
640
+ class GioBannerSuccessComponent extends GioBannerComponent {
641
+ constructor() {
642
+ super(...arguments);
643
+ this.type = 'success';
644
+ }
645
+ }
646
+ GioBannerSuccessComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerSuccessComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
647
+ GioBannerSuccessComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerSuccessComponent, selector: "gio-banner-success", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
648
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerSuccessComponent, decorators: [{
649
+ type: Component,
650
+ args: [{ selector: 'gio-banner-success', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
651
+ }] });
652
+ class GioBannerWarningComponent extends GioBannerComponent {
653
+ constructor() {
654
+ super(...arguments);
655
+ this.type = 'warning';
656
+ }
657
+ }
658
+ GioBannerWarningComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerWarningComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
659
+ GioBannerWarningComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBannerWarningComponent, selector: "gio-banner-warning", usesInheritance: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { type: i2$1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }] });
660
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerWarningComponent, decorators: [{
661
+ type: Component,
662
+ args: [{ selector: 'gio-banner-warning', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"banner\"\n [class.info]=\"type === 'info'\"\n [class.error]=\"type === 'error'\"\n [class.warning]=\"type === 'warning'\"\n [class.success]=\"type === 'success'\"\n>\n <div class=\"banner__wrapper\">\n <div class=\"banner__wrapper__icon\" [ngSwitch]=\"type\">\n <mat-icon *ngSwitchCase=\"'info'\" svgIcon=\"gio:chat-lines\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'error'\" svgIcon=\"gio:chat-bubble-error\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'warning'\" svgIcon=\"gio:chat-bubble-warning\"></mat-icon>\n <mat-icon *ngSwitchCase=\"'success'\" svgIcon=\"gio:chat-bubble-check\"></mat-icon>\n </div>\n <div class=\"banner__wrapper__head\">\n <div class=\"banner__wrapper__title\">\n <ng-content></ng-content>\n </div>\n <div #body class=\"banner__wrapper__body\" [class.hide]=\"!body.children.length\">\n <ng-content select=\"[gioBannerBody]\"></ng-content>\n </div>\n </div>\n <div #action class=\"banner__wrapper__action\" [class.hide]=\"!action.children.length\">\n <ng-content select=\"[gioBannerAction]\"></ng-content>\n </div>\n </div>\n</div>\n", styles: [":host{display:block;margin:8px 0}.banner{display:flex;flex-direction:column;align-items:stretch;padding:12px 16px;background-color:#fff;border-radius:8px}.banner.error{border:3px solid #ec4899;color:#2c0015}.banner.error .mat-icon{color:#ec4899}.banner.error ::ng-deep a{color:inherit}.banner.info{border:3px solid #009999;color:#001f1f}.banner.info .mat-icon{color:#099}.banner.info ::ng-deep a{color:inherit}.banner.success{border:3px solid #0de598;color:#002c1c}.banner.success .mat-icon{color:#0de598}.banner.success ::ng-deep a{color:inherit}.banner.warning{border:3px solid #fe733f;color:#2c0c01}.banner.warning .mat-icon{color:#fe733f}.banner.warning ::ng-deep a{color:inherit}.banner__wrapper{position:relative;display:flex;align-items:center;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper__icon{display:flex;align-self:flex-start;margin-right:16px}.banner__wrapper__head{display:flex;flex:1 1 auto;flex-direction:column;line-height:normal}.banner__wrapper__title{display:flex;flex:1;align-items:center;padding:4px 0}.banner__wrapper__action{align-self:flex-start;padding-left:16px}.banner__wrapper__body{font:400 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.banner__wrapper .hide{display:none}\n"] }]
663
+ }] });
664
+
665
+ /*
666
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
667
+ *
668
+ * Licensed under the Apache License, Version 2.0 (the "License");
669
+ * you may not use this file except in compliance with the License.
670
+ * You may obtain a copy of the License at
671
+ *
672
+ * http://www.apache.org/licenses/LICENSE-2.0
673
+ *
674
+ * Unless required by applicable law or agreed to in writing, software
675
+ * distributed under the License is distributed on an "AS IS" BASIS,
676
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
677
+ * See the License for the specific language governing permissions and
678
+ * limitations under the License.
679
+ */
680
+ class GioIconsModule {
681
+ constructor(matIconRegistry, sanitizer) {
682
+ matIconRegistry.addSvgIconSetInNamespace('gio', sanitizer.bypassSecurityTrustResourceUrl('assets/gio-icons.svg'));
683
+ }
684
+ }
685
+ GioIconsModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, deps: [{ token: i1$1.MatIconRegistry }, { token: i2$3.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule });
686
+ GioIconsModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, imports: [CommonModule, HttpClientModule, MatIconModule], exports: [MatIconModule] });
687
+ GioIconsModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, imports: [[CommonModule, HttpClientModule, MatIconModule], MatIconModule] });
688
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioIconsModule, decorators: [{
689
+ type: NgModule,
690
+ args: [{
691
+ imports: [CommonModule, HttpClientModule, MatIconModule],
692
+ exports: [MatIconModule],
693
+ }]
694
+ }], ctorParameters: function () { return [{ type: i1$1.MatIconRegistry }, { type: i2$3.DomSanitizer }]; } });
695
+
696
+ /*
697
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
698
+ *
699
+ * Licensed under the Apache License, Version 2.0 (the "License");
700
+ * you may not use this file except in compliance with the License.
701
+ * You may obtain a copy of the License at
702
+ *
703
+ * http://www.apache.org/licenses/LICENSE-2.0
704
+ *
705
+ * Unless required by applicable law or agreed to in writing, software
706
+ * distributed under the License is distributed on an "AS IS" BASIS,
707
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
708
+ * See the License for the specific language governing permissions and
709
+ * limitations under the License.
710
+ */
711
+ class GioBannerModule {
712
+ }
713
+ GioBannerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
714
+ GioBannerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, declarations: [GioBannerComponent,
715
+ GioBannerErrorComponent,
716
+ GioBannerInfoComponent,
717
+ GioBannerSuccessComponent,
718
+ GioBannerWarningComponent,
719
+ GioBannerBodyDirective,
720
+ GioBannerActionDirective], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioBannerComponent,
721
+ GioBannerErrorComponent,
722
+ GioBannerInfoComponent,
723
+ GioBannerSuccessComponent,
724
+ GioBannerWarningComponent,
725
+ GioBannerBodyDirective,
726
+ GioBannerActionDirective] });
727
+ GioBannerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
728
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBannerModule, decorators: [{
729
+ type: NgModule,
730
+ args: [{
731
+ imports: [CommonModule, MatIconModule, GioIconsModule],
732
+ declarations: [
733
+ GioBannerComponent,
734
+ GioBannerErrorComponent,
735
+ GioBannerInfoComponent,
736
+ GioBannerSuccessComponent,
737
+ GioBannerWarningComponent,
738
+ GioBannerBodyDirective,
739
+ GioBannerActionDirective,
740
+ ],
741
+ exports: [
742
+ GioBannerComponent,
743
+ GioBannerErrorComponent,
744
+ GioBannerInfoComponent,
745
+ GioBannerSuccessComponent,
746
+ GioBannerWarningComponent,
747
+ GioBannerBodyDirective,
748
+ GioBannerActionDirective,
749
+ ],
750
+ }]
751
+ }] });
752
+
753
+ /*
754
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
755
+ *
756
+ * Licensed under the Apache License, Version 2.0 (the "License");
757
+ * you may not use this file except in compliance with the License.
758
+ * You may obtain a copy of the License at
759
+ *
760
+ * http://www.apache.org/licenses/LICENSE-2.0
761
+ *
762
+ * Unless required by applicable law or agreed to in writing, software
763
+ * distributed under the License is distributed on an "AS IS" BASIS,
764
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
765
+ * See the License for the specific language governing permissions and
766
+ * limitations under the License.
767
+ */
768
+ class GioConfirmDialogComponent {
769
+ constructor(dialogRef, confirmDialogData) {
770
+ this.dialogRef = dialogRef;
771
+ this.title = confirmDialogData?.title ?? 'Are you sure?';
772
+ this.content = confirmDialogData?.content;
773
+ this.confirmButton = confirmDialogData?.confirmButton ?? 'Confirm';
774
+ this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';
775
+ }
776
+ }
777
+ GioConfirmDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
778
+ GioConfirmDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioConfirmDialogComponent, selector: "gio-confirm-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content *ngIf=\"content\" class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n <button\n class=\"confirm-dialog__confirm-button\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__content{color:#606274}\n"], components: [{ type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
779
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogComponent, decorators: [{
780
+ type: Component,
781
+ args: [{ selector: 'gio-confirm-dialog', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content *ngIf=\"content\" class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n <button\n class=\"confirm-dialog__confirm-button\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n cdkFocusInitial\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__content{color:#606274}\n"] }]
782
+ }], ctorParameters: function () { return [{ type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
783
+ type: Inject,
784
+ args: [MAT_DIALOG_DATA]
785
+ }] }]; } });
786
+
787
+ /*
788
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
789
+ *
790
+ * Licensed under the Apache License, Version 2.0 (the "License");
791
+ * you may not use this file except in compliance with the License.
792
+ * You may obtain a copy of the License at
793
+ *
794
+ * http://www.apache.org/licenses/LICENSE-2.0
795
+ *
796
+ * Unless required by applicable law or agreed to in writing, software
797
+ * distributed under the License is distributed on an "AS IS" BASIS,
798
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
799
+ * See the License for the specific language governing permissions and
800
+ * limitations under the License.
801
+ */
802
+ class GioConfirmDialogModule {
803
+ }
804
+ GioConfirmDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
805
+ GioConfirmDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, declarations: [GioConfirmDialogComponent], imports: [CommonModule, MatButtonModule, MatDialogModule, A11yModule], exports: [GioConfirmDialogComponent] });
806
+ GioConfirmDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, imports: [[CommonModule, MatButtonModule, MatDialogModule, A11yModule]] });
807
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmDialogModule, decorators: [{
808
+ type: NgModule,
809
+ args: [{
810
+ imports: [CommonModule, MatButtonModule, MatDialogModule, A11yModule],
811
+ declarations: [GioConfirmDialogComponent],
812
+ exports: [GioConfirmDialogComponent],
813
+ }]
814
+ }] });
815
+
816
+ /*
817
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
818
+ *
819
+ * Licensed under the Apache License, Version 2.0 (the "License");
820
+ * you may not use this file except in compliance with the License.
821
+ * You may obtain a copy of the License at
822
+ *
823
+ * http://www.apache.org/licenses/LICENSE-2.0
824
+ *
825
+ * Unless required by applicable law or agreed to in writing, software
826
+ * distributed under the License is distributed on an "AS IS" BASIS,
827
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
828
+ * See the License for the specific language governing permissions and
829
+ * limitations under the License.
830
+ */
831
+ class GioConfirmDialogHarness extends ComponentHarness {
832
+ constructor() {
833
+ super(...arguments);
834
+ this.getConfirmBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__confirm-button' }));
835
+ this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__cancel-button' }));
836
+ }
837
+ async confirm() {
838
+ const button = await this.getConfirmBtn();
839
+ await button.click();
840
+ }
841
+ async cancel() {
842
+ const button = await this.getCancelBtn();
843
+ await button.click();
844
+ }
845
+ }
846
+ GioConfirmDialogHarness.hostSelector = 'gio-confirm-dialog';
847
+
848
+ /*
849
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
850
+ *
851
+ * Licensed under the Apache License, Version 2.0 (the "License");
852
+ * you may not use this file except in compliance with the License.
853
+ * You may obtain a copy of the License at
854
+ *
855
+ * http://www.apache.org/licenses/LICENSE-2.0
856
+ *
857
+ * Unless required by applicable law or agreed to in writing, software
858
+ * distributed under the License is distributed on an "AS IS" BASIS,
859
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
860
+ * See the License for the specific language governing permissions and
861
+ * limitations under the License.
862
+ */
863
+ class GioConfirmAndValidateDialogComponent {
864
+ constructor(dialogRef, confirmDialogData) {
865
+ this.dialogRef = dialogRef;
866
+ this.isValid = false;
867
+ this.title = confirmDialogData?.title ?? 'Are you sure?';
868
+ this.warning = confirmDialogData?.warning;
869
+ this.content = confirmDialogData?.content;
870
+ this.validationMessage = extendValidationMessage(confirmDialogData?.validationMessage ?? 'Please, type <code>confirm</code> to confirm.');
871
+ this.validationValue = confirmDialogData?.validationValue ?? 'confirm';
872
+ this.confirmButton = confirmDialogData?.confirmButton ?? 'Confirm';
873
+ this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';
874
+ }
875
+ onConfirmChange(confirmValue) {
876
+ this.isValid = toLower(confirmValue) === toLower(this.validationValue);
877
+ }
878
+ }
879
+ GioConfirmAndValidateDialogComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogComponent, deps: [{ token: i1$2.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
880
+ GioConfirmAndValidateDialogComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioConfirmAndValidateDialogComponent, selector: "gio-confirm-and-validate-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content class=\"confirm-dialog__body\">\n <gio-banner-warning *ngIf=\"warning\"><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n <p class=\"confirm-dialog__body__content\" *ngIf=\"content\" [innerHTML]=\"content\"></p>\n <p class=\"confirm-dialog__body__validate-message\" [innerHTML]=\"validationMessage\"></p>\n <mat-form-field class=\"confirm-dialog__body__validate-input\" appearance=\"outline\" floatLabel=\"always\">\n <mat-label>Confirm</mat-label>\n <input\n matInput\n cdkFocusInitial\n type=\"text\"\n [placeholder]=\"validationValue\"\n [ngModel]=\"confirmValue\"\n (ngModelChange)=\"onConfirmChange($event)\"\n required\n data-testid=\"confirm-input-dialog\"\n />\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button\n class=\"confirm-dialog__confirm-button\"\n [disabled]=\"!isValid\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__body__content{color:#606274}.confirm-dialog__body__validate-message{margin-bottom:8px}.confirm-dialog__body__validate-input{overflow:hidden;width:100%;height:62px;padding-top:4px}.confirm-dialog__actions{display:flex;flex-direction:row-reverse;justify-content:flex-start}\n"], components: [{ type: GioBannerWarningComponent, selector: "gio-banner-warning" }, { type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }], directives: [{ type: i1$2.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { type: i1$2.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i3$1.MatLabel, selector: "mat-label" }, { type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i7.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { type: i1$2.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]" }, { type: i1$2.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
881
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogComponent, decorators: [{
882
+ type: Component,
883
+ args: [{ selector: 'gio-confirm-and-validate-dialog', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<h2 mat-dialog-title class=\"confirm-dialog__title\">{{ title }}</h2>\n\n<mat-dialog-content class=\"confirm-dialog__body\">\n <gio-banner-warning *ngIf=\"warning\"><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n <p class=\"confirm-dialog__body__content\" *ngIf=\"content\" [innerHTML]=\"content\"></p>\n <p class=\"confirm-dialog__body__validate-message\" [innerHTML]=\"validationMessage\"></p>\n <mat-form-field class=\"confirm-dialog__body__validate-input\" appearance=\"outline\" floatLabel=\"always\">\n <mat-label>Confirm</mat-label>\n <input\n matInput\n cdkFocusInitial\n type=\"text\"\n [placeholder]=\"validationValue\"\n [ngModel]=\"confirmValue\"\n (ngModelChange)=\"onConfirmChange($event)\"\n required\n data-testid=\"confirm-input-dialog\"\n />\n </mat-form-field>\n</mat-dialog-content>\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n <button\n class=\"confirm-dialog__confirm-button\"\n [disabled]=\"!isValid\"\n color=\"warn\"\n mat-raised-button\n [mat-dialog-close]=\"true\"\n data-testid=\"confirm-dialog\"\n >\n {{ confirmButton }}\n </button>\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n</mat-dialog-actions>\n", styles: [".confirm-dialog__body__content{color:#606274}.confirm-dialog__body__validate-message{margin-bottom:8px}.confirm-dialog__body__validate-input{overflow:hidden;width:100%;height:62px;padding-top:4px}.confirm-dialog__actions{display:flex;flex-direction:row-reverse;justify-content:flex-start}\n"] }]
884
+ }], ctorParameters: function () { return [{ type: i1$2.MatDialogRef }, { type: undefined, decorators: [{
885
+ type: Inject,
886
+ args: [MAT_DIALOG_DATA]
887
+ }] }]; } });
888
+ const extendValidationMessage = (validationMessage) => {
889
+ return validationMessage.replace('<code>', '<code class="gio-badge-warning">');
890
+ };
891
+
892
+ /*
893
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
894
+ *
895
+ * Licensed under the Apache License, Version 2.0 (the "License");
896
+ * you may not use this file except in compliance with the License.
897
+ * You may obtain a copy of the License at
898
+ *
899
+ * http://www.apache.org/licenses/LICENSE-2.0
900
+ *
901
+ * Unless required by applicable law or agreed to in writing, software
902
+ * distributed under the License is distributed on an "AS IS" BASIS,
903
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
904
+ * See the License for the specific language governing permissions and
905
+ * limitations under the License.
906
+ */
907
+ class GioConfirmAndValidateDialogModule {
908
+ }
909
+ GioConfirmAndValidateDialogModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
910
+ GioConfirmAndValidateDialogModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, declarations: [GioConfirmAndValidateDialogComponent], imports: [CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule], exports: [GioConfirmAndValidateDialogComponent] });
911
+ GioConfirmAndValidateDialogModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, imports: [[CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule]] });
912
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioConfirmAndValidateDialogModule, decorators: [{
913
+ type: NgModule,
914
+ args: [{
915
+ imports: [CommonModule, FormsModule, MatButtonModule, MatDialogModule, MatInputModule, MatFormFieldModule, A11yModule, GioBannerModule],
916
+ declarations: [GioConfirmAndValidateDialogComponent],
917
+ exports: [GioConfirmAndValidateDialogComponent],
918
+ }]
919
+ }] });
920
+
921
+ /*
922
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
923
+ *
924
+ * Licensed under the Apache License, Version 2.0 (the "License");
925
+ * you may not use this file except in compliance with the License.
926
+ * You may obtain a copy of the License at
927
+ *
928
+ * http://www.apache.org/licenses/LICENSE-2.0
929
+ *
930
+ * Unless required by applicable law or agreed to in writing, software
931
+ * distributed under the License is distributed on an "AS IS" BASIS,
932
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
933
+ * See the License for the specific language governing permissions and
934
+ * limitations under the License.
935
+ */
936
+ class GioConfirmAndValidateDialogHarness extends ComponentHarness {
937
+ constructor() {
938
+ super(...arguments);
939
+ this.getConfirmBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__confirm-button' }));
940
+ this.getCancelBtn = this.locatorFor(MatButtonHarness.with({ selector: '.confirm-dialog__cancel-button' }));
941
+ this.getConfirmInput = this.locatorFor(MatInputHarness);
942
+ }
943
+ async confirm() {
944
+ const confirmInput = await this.getConfirmInput();
945
+ await confirmInput.setValue(await confirmInput.getPlaceholder());
946
+ const button = await this.getConfirmBtn();
947
+ if (!(await button.isDisabled())) {
948
+ await button.click();
949
+ }
950
+ }
951
+ async cancel() {
952
+ const button = await this.getCancelBtn();
953
+ await button.click();
954
+ }
955
+ }
956
+ GioConfirmAndValidateDialogHarness.hostSelector = 'gio-confirm-and-validate-dialog';
957
+
958
+ const HEADER_NAMES = [
959
+ 'Accept',
960
+ 'Accept-Charset',
961
+ 'Accept-Encoding',
962
+ 'Accept-Language',
963
+ 'Accept-Ranges',
964
+ 'Access-Control-Allow-Credentials',
965
+ 'Access-Control-Allow-Headers',
966
+ 'Access-Control-Allow-Methods',
967
+ 'Access-Control-Allow-Origin',
968
+ 'Access-Control-Expose-Headers',
969
+ 'Access-Control-Max-Age',
970
+ 'Access-Control-Request-Headers',
971
+ 'Access-Control-Request-Method',
972
+ 'Age',
973
+ 'Allow',
974
+ 'Authorization',
975
+ 'Cache-Control',
976
+ 'Connection',
977
+ 'Content-Disposition',
978
+ 'Content-Encoding',
979
+ 'Content-ID',
980
+ 'Content-Language',
981
+ 'Content-Length',
982
+ 'Content-Location',
983
+ 'Content-MD5',
984
+ 'Content-Range',
985
+ 'Content-Type',
986
+ 'Cookie',
987
+ 'Date',
988
+ 'ETag',
989
+ 'Expires',
990
+ 'Expect',
991
+ 'Forwarded',
992
+ 'From',
993
+ 'Host',
994
+ 'If-Match',
995
+ 'If-Modified-Since',
996
+ 'If-None-Match',
997
+ 'If-Unmodified-Since',
998
+ 'Keep-Alive',
999
+ 'Last-Modified',
1000
+ 'Location',
1001
+ 'Link',
1002
+ 'Max-Forwards',
1003
+ 'MIME-Version',
1004
+ 'Origin',
1005
+ 'Pragma',
1006
+ 'Proxy-Authenticate',
1007
+ 'Proxy-Authorization',
1008
+ 'Proxy-Connection',
1009
+ 'Range',
1010
+ 'Referer',
1011
+ 'Retry-After',
1012
+ 'Server',
1013
+ 'Set-Cookie',
1014
+ 'Set-Cookie2',
1015
+ 'TE',
1016
+ 'Trailer',
1017
+ 'Transfer-Encoding',
1018
+ 'Upgrade',
1019
+ 'User-Agent',
1020
+ 'Vary',
1021
+ 'Via',
1022
+ 'Warning',
1023
+ 'WWW-Authenticate',
1024
+ 'X-Forwarded-For',
1025
+ 'X-Forwarded-Proto',
1026
+ 'X-Forwarded-Server',
1027
+ 'X-Forwarded-Host',
1028
+ 'X-Forwarded-Port',
1029
+ 'X-Forwarded-Prefix',
1030
+ ];
1031
+ class GioFormHeadersComponent {
1032
+ constructor(fm, elRef) {
1033
+ this.fm = fm;
1034
+ this.elRef = elRef;
1035
+ this.headersFormArray = new FormArray([
1036
+ new FormGroup({
1037
+ key: new FormControl(''),
1038
+ value: new FormControl(''),
1039
+ }),
1040
+ ]);
1041
+ this.disabled = false;
1042
+ this.headers = [];
1043
+ this._onChange = () => ({});
1044
+ this._onTouched = () => ({});
1045
+ this.filteredHeaderNames = [];
1046
+ this.mainForm = new FormGroup({
1047
+ headers: this.headersFormArray,
1048
+ });
1049
+ }
1050
+ // From ControlValueAccessor interface
1051
+ writeValue(value) {
1052
+ if (!value) {
1053
+ return;
1054
+ }
1055
+ this.headers = value ?? [];
1056
+ this.initHeadersForm();
1057
+ }
1058
+ // From ControlValueAccessor interface
1059
+ registerOnChange(fn) {
1060
+ this._onChange = fn;
1061
+ }
1062
+ // From ControlValueAccessor interface
1063
+ registerOnTouched(fn) {
1064
+ this._onTouched = fn;
1065
+ }
1066
+ // From ControlValueAccessor interface
1067
+ setDisabledState(isDisabled) {
1068
+ if (isDisabled === this.disabled) {
1069
+ // do nothing if the disabled state is not changed
1070
+ return;
1071
+ }
1072
+ this.disabled = isDisabled;
1073
+ if (isDisabled) {
1074
+ this.headersFormArray.disable({ emitEvent: false });
1075
+ this.removeLastHeader();
1076
+ return;
1077
+ }
1078
+ this.headersFormArray.enable({ emitEvent: false });
1079
+ this.addEmptyHeader();
1080
+ }
1081
+ ngOnInit() {
1082
+ // When user start to complete last header add new empty one a the end
1083
+ this.headersFormArray?.valueChanges
1084
+ .pipe(tap(headers => headers.length > 0 && this._onChange(removeLastEmptyHeader(headers))), tap((headers) => {
1085
+ if (headers.length > 0 && (headers[headers.length - 1].key !== '' || headers[headers.length - 1].value !== '')) {
1086
+ this.addEmptyHeader();
1087
+ }
1088
+ }))
1089
+ .subscribe();
1090
+ this.fm.monitor(this.elRef.nativeElement, true).subscribe(() => {
1091
+ this._onTouched();
1092
+ });
1093
+ }
1094
+ initHeadersForm() {
1095
+ // Clear all previous headers
1096
+ this.headersFormArray.clear();
1097
+ // Populate headers array from headers
1098
+ this.headers.forEach(({ key, value }, headerIndex) => {
1099
+ this.headersFormArray.push(new FormGroup({
1100
+ key: this.initKeyFormControl(key, headerIndex),
1101
+ value: new FormControl({ value, disabled: this.disabled }),
1102
+ }), {
1103
+ emitEvent: false,
1104
+ });
1105
+ });
1106
+ // add one empty header a the end
1107
+ this.addEmptyHeader();
1108
+ }
1109
+ getFilteredHeaderNames(headerIndex, header) {
1110
+ if (!this.filteredHeaderNames[headerIndex]) {
1111
+ return this.filteredHeaderNames[headerIndex];
1112
+ }
1113
+ if (header.key != null && header.key != '') {
1114
+ this.filteredHeaderNames[headerIndex] = of(header.key).pipe(map(value => this._filter(value)));
1115
+ return this.filteredHeaderNames[headerIndex];
1116
+ }
1117
+ return of(HEADER_NAMES);
1118
+ }
1119
+ initKeyFormControl(key, headerIndex) {
1120
+ const control = new FormControl({ value: key, disabled: this.disabled });
1121
+ const filteredKeys = control.valueChanges.pipe(startWith(''), map(value => this._filter(value)));
1122
+ this.filteredHeaderNames.splice(headerIndex, 0, filteredKeys);
1123
+ return control;
1124
+ }
1125
+ onDeleteHeader(headerIndex) {
1126
+ this._onTouched();
1127
+ this.headersFormArray.removeAt(headerIndex);
1128
+ }
1129
+ addEmptyHeader() {
1130
+ if (this.disabled) {
1131
+ return;
1132
+ }
1133
+ this.headersFormArray.push(new FormGroup({
1134
+ key: this.initKeyFormControl('', this.headersFormArray.length),
1135
+ value: new FormControl(''),
1136
+ }), { emitEvent: false });
1137
+ }
1138
+ removeLastHeader() {
1139
+ this.headersFormArray.removeAt(this.headersFormArray.length - 1, { emitEvent: false });
1140
+ }
1141
+ _filter(value) {
1142
+ const filterValue = value.toLowerCase();
1143
+ return HEADER_NAMES.filter(option => option.toLowerCase().includes(filterValue));
1144
+ }
1145
+ }
1146
+ GioFormHeadersComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersComponent, deps: [{ token: i2$2.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
1147
+ GioFormHeadersComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormHeadersComponent, selector: "gio-form-headers", host: { properties: { "class.disabled": "this.disabled" } }, providers: [
1148
+ {
1149
+ provide: NG_VALUE_ACCESSOR,
1150
+ useExisting: forwardRef(() => GioFormHeadersComponent),
1151
+ multi: true,
1152
+ },
1153
+ ], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<table class=\"gio-form-headers__table gio-table-light\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-key__field\" [floatLabel]=\"'never'\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n ></textarea>\n </mat-form-field>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-value__field\" [floatLabel]=\"'never'\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </mat-form-field>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden}.gio-form-headers__table{width:100%}.gio-form-headers__table__header-row__td-key,.gio-form-headers__table__header-row__td-value{position:relative;width:50%}.gio-form-headers__table__header-row__td-key__field,.gio-form-headers__table__header-row__td-value__field{display:flex;overflow:hidden;width:100%;max-height:32px;flex-direction:column;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field *,.gio-form-headers__table__header-row__td-value__field *{top:0;overflow:hidden;max-height:32px}.gio-form-headers__table__header-row__td-key__field:focus-within,.gio-form-headers__table__header-row__td-value__field:focus-within{z-index:100;height:auto;background-color:#fff}.gio-form-headers__table__header-row__td-key__field:focus-within *,.gio-form-headers__table__header-row__td-value__field:focus-within *{max-height:none}.gio-form-headers__table__header-row__td-key__button,.gio-form-headers__table__header-row__td-value__button{position:absolute;top:3px;right:3px;display:none}.gio-form-headers__table__header-row__td-remove{width:32px;height:32px;padding:0}.gio-form-headers__table__header-row:hover .gio-form-headers__table__header-row__td-value__button{z-index:110;display:block;background-color:#fff;opacity:.9}::ng-deep gio-form-headers .gio-form-headers__table__header-row .mat-form-field-infix{width:inherit}\n"], components: [{ type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["disableRipple"], exportAs: ["matAutocomplete"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }, { type: i2.MatButton, selector: "button[mat-button], button[mat-raised-button], button[mat-icon-button], button[mat-fab], button[mat-mini-fab], button[mat-stroked-button], button[mat-flat-button]", inputs: ["disabled", "disableRipple", "color"], exportAs: ["matButton"] }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { type: i7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { type: i7.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i7.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { type: i7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { type: i6$1.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { type: i10.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", exportAs: ["matAutocompleteTrigger"] }, { type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i2$1.AsyncPipe } });
1154
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersComponent, decorators: [{
1155
+ type: Component,
1156
+ args: [{ selector: 'gio-form-headers', providers: [
1157
+ {
1158
+ provide: NG_VALUE_ACCESSOR,
1159
+ useExisting: forwardRef(() => GioFormHeadersComponent),
1160
+ multi: true,
1161
+ },
1162
+ ], template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<table class=\"gio-form-headers__table gio-table-light\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-key__field\" [floatLabel]=\"'never'\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n ></textarea>\n </mat-form-field>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <mat-form-field class=\"gio-form-headers__table__header-row__td-value__field\" [floatLabel]=\"'never'\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </mat-form-field>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: [":host{display:block;overflow:hidden}.gio-form-headers__table{width:100%}.gio-form-headers__table__header-row__td-key,.gio-form-headers__table__header-row__td-value{position:relative;width:50%}.gio-form-headers__table__header-row__td-key__field,.gio-form-headers__table__header-row__td-value__field{display:flex;overflow:hidden;width:100%;max-height:32px;flex-direction:column;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field *,.gio-form-headers__table__header-row__td-value__field *{top:0;overflow:hidden;max-height:32px}.gio-form-headers__table__header-row__td-key__field:focus-within,.gio-form-headers__table__header-row__td-value__field:focus-within{z-index:100;height:auto;background-color:#fff}.gio-form-headers__table__header-row__td-key__field:focus-within *,.gio-form-headers__table__header-row__td-value__field:focus-within *{max-height:none}.gio-form-headers__table__header-row__td-key__button,.gio-form-headers__table__header-row__td-value__button{position:absolute;top:3px;right:3px;display:none}.gio-form-headers__table__header-row__td-remove{width:32px;height:32px;padding:0}.gio-form-headers__table__header-row:hover .gio-form-headers__table__header-row__td-value__button{z-index:110;display:block;background-color:#fff;opacity:.9}::ng-deep gio-form-headers .gio-form-headers__table__header-row .mat-form-field-infix{width:inherit}\n"] }]
1163
+ }], ctorParameters: function () { return [{ type: i2$2.FocusMonitor }, { type: i0.ElementRef }]; }, propDecorators: { disabled: [{
1164
+ type: HostBinding,
1165
+ args: ['class.disabled']
1166
+ }] } });
1167
+ const removeLastEmptyHeader = (headers) => {
1168
+ const lastHeader = headers[headers.length - 1];
1169
+ if (lastHeader && isEmpty(lastHeader.key) && isEmpty(lastHeader.value)) {
1170
+ return dropRight(headers);
1171
+ }
1172
+ return headers;
1173
+ };
1174
+
1175
+ /*
1176
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1177
+ *
1178
+ * Licensed under the Apache License, Version 2.0 (the "License");
1179
+ * you may not use this file except in compliance with the License.
1180
+ * You may obtain a copy of the License at
1181
+ *
1182
+ * http://www.apache.org/licenses/LICENSE-2.0
1183
+ *
1184
+ * Unless required by applicable law or agreed to in writing, software
1185
+ * distributed under the License is distributed on an "AS IS" BASIS,
1186
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1187
+ * See the License for the specific language governing permissions and
1188
+ * limitations under the License.
1189
+ */
1190
+ class GioFormHeadersModule {
1191
+ }
1192
+ GioFormHeadersModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1193
+ GioFormHeadersModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, declarations: [GioFormHeadersComponent], imports: [CommonModule,
1194
+ MatInputModule,
1195
+ MatFormFieldModule,
1196
+ ReactiveFormsModule,
1197
+ GioIconsModule,
1198
+ MatButtonModule,
1199
+ MatAutocompleteModule,
1200
+ MatOptionModule], exports: [GioFormHeadersComponent] });
1201
+ GioFormHeadersModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, imports: [[
1202
+ CommonModule,
1203
+ MatInputModule,
1204
+ MatFormFieldModule,
1205
+ ReactiveFormsModule,
1206
+ GioIconsModule,
1207
+ MatButtonModule,
1208
+ MatAutocompleteModule,
1209
+ MatOptionModule,
1210
+ ]] });
1211
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormHeadersModule, decorators: [{
1212
+ type: NgModule,
1213
+ args: [{
1214
+ imports: [
1215
+ CommonModule,
1216
+ MatInputModule,
1217
+ MatFormFieldModule,
1218
+ ReactiveFormsModule,
1219
+ GioIconsModule,
1220
+ MatButtonModule,
1221
+ MatAutocompleteModule,
1222
+ MatOptionModule,
1223
+ ],
1224
+ declarations: [GioFormHeadersComponent],
1225
+ exports: [GioFormHeadersComponent],
1226
+ }]
1227
+ }] });
1228
+
1229
+ /*
1230
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1231
+ *
1232
+ * Licensed under the Apache License, Version 2.0 (the "License");
1233
+ * you may not use this file except in compliance with the License.
1234
+ * You may obtain a copy of the License at
1235
+ *
1236
+ * http://www.apache.org/licenses/LICENSE-2.0
1237
+ *
1238
+ * Unless required by applicable law or agreed to in writing, software
1239
+ * distributed under the License is distributed on an "AS IS" BASIS,
1240
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1241
+ * See the License for the specific language governing permissions and
1242
+ * limitations under the License.
1243
+ */
1244
+ class GioFormHeadersHarness extends ComponentHarness {
1245
+ constructor() {
1246
+ super(...arguments);
1247
+ this.getHeaderRowsElement = this.locatorForAll('tr.gio-form-headers__table__header-row');
1248
+ this.getHeaderRowInputKey = (rowIndex) => this.locatorFor(MatInputHarness.with({ ancestor: `[ng-reflect-name="${rowIndex}"]`, selector: '[formControlName=key]' }));
1249
+ this.getHeaderRowInputKeyAutocomplete = (rowIndex) => this.locatorFor(MatAutocompleteHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '.mat-autocomplete-trigger' }));
1250
+ this.getHeaderRowInputValue = (rowIndex) => this.locatorFor(MatInputHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '[formControlName=value]' }));
1251
+ this.getHeaderRowRemoveButton = (rowIndex) => this.locatorForOptional(MatButtonHarness.with({ ancestor: `tr[ng-reflect-name="${rowIndex}"]`, selector: '[aria-label="Delete"]' }));
1252
+ }
1253
+ /**
1254
+ * Gets a `HarnessPredicate` that can be used to search for a `GioFormColorInputHarness` that meets
1255
+ * certain criteria.
1256
+ *
1257
+ * @param options Options for filtering which input instances are considered a match.
1258
+ * @return a `HarnessPredicate` configured with the given options.
1259
+ */
1260
+ static with(options = {}) {
1261
+ return new HarnessPredicate(GioFormHeadersHarness, options);
1262
+ }
1263
+ async getHeaderRows() {
1264
+ const rows = await this.getHeaderRowsElement();
1265
+ return Promise.all(rows.map(async (_, rowIndex) => ({
1266
+ keyInput: await this.getHeaderRowInputKey(rowIndex)(),
1267
+ keyAutocomplete: await this.getHeaderRowInputKeyAutocomplete(rowIndex)(),
1268
+ valueInput: await this.getHeaderRowInputValue(rowIndex)(),
1269
+ removeButton: await this.getHeaderRowRemoveButton(rowIndex)(),
1270
+ })));
1271
+ }
1272
+ async getLastHeaderRow() {
1273
+ const rows = await this.getHeaderRowsElement();
1274
+ return {
1275
+ keyInput: await this.getHeaderRowInputKey(rows.length - 1)(),
1276
+ valueInput: await this.getHeaderRowInputValue(rows.length - 1)(),
1277
+ };
1278
+ }
1279
+ async addHeader({ key, value }) {
1280
+ const { keyInput, valueInput } = await this.getLastHeaderRow();
1281
+ await keyInput.setValue(key);
1282
+ await valueInput.setValue(value);
1283
+ }
1284
+ async isDisabled() {
1285
+ return (await this.host()).hasClass('disabled');
1286
+ }
1287
+ }
1288
+ GioFormHeadersHarness.hostSelector = 'gio-form-headers';
1289
+
1290
+ /*
1291
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1292
+ *
1293
+ * Licensed under the Apache License, Version 2.0 (the "License");
1294
+ * you may not use this file except in compliance with the License.
1295
+ * You may obtain a copy of the License at
1296
+ *
1297
+ * http://www.apache.org/licenses/LICENSE-2.0
1298
+ *
1299
+ * Unless required by applicable law or agreed to in writing, software
1300
+ * distributed under the License is distributed on an "AS IS" BASIS,
1301
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1302
+ * See the License for the specific language governing permissions and
1303
+ * limitations under the License.
1304
+ */
1305
+ class GioFormFilePickerAddButtonComponent {
1306
+ }
1307
+ GioFormFilePickerAddButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerAddButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1308
+ GioFormFilePickerAddButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}:host{display:block;width:130px;height:130px}.add-button{height:100%;padding:6px;text-align:center}.add-button__image{width:100%;height:54px}.add-button__content{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i6.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1309
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerAddButtonComponent, decorators: [{
1310
+ type: Component,
1311
+ args: [{ selector: 'gio-form-file-picker-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}:host{display:block;width:130px;height:130px}.add-button{height:100%;padding:6px;text-align:center}.add-button__image{width:100%;height:54px}.add-button__content{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"] }]
1312
+ }] });
1313
+
1314
+ /*
1315
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1316
+ *
1317
+ * Licensed under the Apache License, Version 2.0 (the "License");
1318
+ * you may not use this file except in compliance with the License.
1319
+ * You may obtain a copy of the License at
1320
+ *
1321
+ * http://www.apache.org/licenses/LICENSE-2.0
1322
+ *
1323
+ * Unless required by applicable law or agreed to in writing, software
1324
+ * distributed under the License is distributed on an "AS IS" BASIS,
1325
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1326
+ * See the License for the specific language governing permissions and
1327
+ * limitations under the License.
1328
+ */
1329
+ class GioFormFilePickerEmptyComponent {
1330
+ }
1331
+ GioFormFilePickerEmptyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerEmptyComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1332
+ GioFormFilePickerEmptyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerEmptyComponent, selector: "gio-form-file-picker-empty", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #content><ng-content></ng-content></div>\n<span *ngIf=\"!content.children.length\"> No file defined </span>\n", directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1333
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerEmptyComponent, decorators: [{
1334
+ type: Component,
1335
+ args: [{ selector: 'gio-form-file-picker-empty', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #content><ng-content></ng-content></div>\n<span *ngIf=\"!content.children.length\"> No file defined </span>\n" }]
1336
+ }] });
1337
+
1338
+ /*
1339
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1340
+ *
1341
+ * Licensed under the Apache License, Version 2.0 (the "License");
1342
+ * you may not use this file except in compliance with the License.
1343
+ * You may obtain a copy of the License at
1344
+ *
1345
+ * http://www.apache.org/licenses/LICENSE-2.0
1346
+ *
1347
+ * Unless required by applicable law or agreed to in writing, software
1348
+ * distributed under the License is distributed on an "AS IS" BASIS,
1349
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1350
+ * See the License for the specific language governing permissions and
1351
+ * limitations under the License.
1352
+ */
1353
+ class GioFormFilePickerLabelComponent {
1354
+ }
1355
+ GioFormFilePickerLabelComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerLabelComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1356
+ GioFormFilePickerLabelComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerLabelComponent, selector: "gio-form-file-picker-label", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"mat-caption\"><ng-content></ng-content></div>\n", styles: [":host{padding-left:8px;margin-bottom:-4px}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1357
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerLabelComponent, decorators: [{
1358
+ type: Component,
1359
+ args: [{ selector: 'gio-form-file-picker-label', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"mat-caption\"><ng-content></ng-content></div>\n", styles: [":host{padding-left:8px;margin-bottom:-4px}\n"] }]
1360
+ }] });
1361
+
1362
+ /*
1363
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1364
+ *
1365
+ * Licensed under the Apache License, Version 2.0 (the "License");
1366
+ * you may not use this file except in compliance with the License.
1367
+ * You may obtain a copy of the License at
1368
+ *
1369
+ * http://www.apache.org/licenses/LICENSE-2.0
1370
+ *
1371
+ * Unless required by applicable law or agreed to in writing, software
1372
+ * distributed under the License is distributed on an "AS IS" BASIS,
1373
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1374
+ * See the License for the specific language governing permissions and
1375
+ * limitations under the License.
1376
+ */
1377
+ class NewFile {
1378
+ constructor(name, dataUrl, file) {
1379
+ this.name = name;
1380
+ this.dataUrl = dataUrl;
1381
+ this.file = file;
1382
+ }
1383
+ }
1384
+
1385
+ /*
1386
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1387
+ *
1388
+ * Licensed under the Apache License, Version 2.0 (the "License");
1389
+ * you may not use this file except in compliance with the License.
1390
+ * You may obtain a copy of the License at
1391
+ *
1392
+ * http://www.apache.org/licenses/LICENSE-2.0
1393
+ *
1394
+ * Unless required by applicable law or agreed to in writing, software
1395
+ * distributed under the License is distributed on an "AS IS" BASIS,
1396
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1397
+ * See the License for the specific language governing permissions and
1398
+ * limitations under the License.
1399
+ */
1400
+ class GioFormFilePickerComponent {
1401
+ constructor(changeDetectorRef, ngControl) {
1402
+ this.changeDetectorRef = changeDetectorRef;
1403
+ this.ngControl = ngControl;
1404
+ this.multiple = false;
1405
+ this.accept = '*';
1406
+ this.fileValues = [];
1407
+ this.readMode = ReadMode.dataURL;
1408
+ this.dragHover = false;
1409
+ this.isDisabled = false;
1410
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
1411
+ this.onChangeCallback = () => { };
1412
+ // eslint-disable-next-line @typescript-eslint/no-empty-function
1413
+ this.onTouchedCallback = () => { };
1414
+ if (ngControl) {
1415
+ // Setting the value accessor directly (instead of using
1416
+ // the providers `NG_VALUE_ACCESSOR`) to avoid running into a circular import.
1417
+ ngControl.valueAccessor = this;
1418
+ }
1419
+ }
1420
+ set disabled(disabled) {
1421
+ this.setDisabledState(disabled);
1422
+ }
1423
+ ngOnInit() {
1424
+ if (this.ngControl && this.ngControl.statusChanges) {
1425
+ // As the change detection is OnPush we have to markForCheck the component after a validation change because no input/output or values have changed
1426
+ this.ngControl.statusChanges.pipe(tap(() => this.changeDetectorRef.markForCheck())).subscribe();
1427
+ }
1428
+ }
1429
+ get isComplete() {
1430
+ return (!this.multiple && this.fileValues.length === 1) || false;
1431
+ }
1432
+ get isValid() {
1433
+ return !this.ngControl || !this.ngControl.touched || this.ngControl.valid;
1434
+ }
1435
+ // implement by ControlValueAccessor
1436
+ async writeValue(inputs) {
1437
+ if (isNil(inputs) || !isArray(inputs)) {
1438
+ this.fileValues = [];
1439
+ return Promise.resolve();
1440
+ }
1441
+ this.fileValues = await Promise.all(inputs.map(async (input) => ({
1442
+ isNew: false,
1443
+ name: input,
1444
+ dataUrl: input,
1445
+ isImage: await isImgUrl(input),
1446
+ })));
1447
+ this.changeDetectorRef.markForCheck();
1448
+ }
1449
+ // implement by ControlValueAccessor
1450
+ registerOnChange(fn) {
1451
+ this.onChangeCallback = fn;
1452
+ }
1453
+ // implement by ControlValueAccessor
1454
+ registerOnTouched(fn) {
1455
+ this.onTouchedCallback = fn;
1456
+ }
1457
+ // implement by ControlValueAccessor
1458
+ setDisabledState(isDisabled) {
1459
+ this.isDisabled = isDisabled;
1460
+ }
1461
+ onFilePicked(event) {
1462
+ this.handleReceivedFileEvent(event);
1463
+ }
1464
+ onFileDropped(event) {
1465
+ this.handleReceivedFileEvent(event);
1466
+ }
1467
+ onRemoveFile(file) {
1468
+ this.onTouchedCallback();
1469
+ this.dragHover = false;
1470
+ remove(this.fileValues, { name: file.name });
1471
+ this.emitFileValue();
1472
+ }
1473
+ onTouched() {
1474
+ this.onTouchedCallback();
1475
+ this.dragHover = false;
1476
+ }
1477
+ onDragEnter($event) {
1478
+ const el = $event.target;
1479
+ if (el) {
1480
+ this.dragHover = true;
1481
+ this.onTouchedCallback();
1482
+ }
1483
+ }
1484
+ onDragOver($event) {
1485
+ const el = $event.target;
1486
+ if (el) {
1487
+ this.dragHover = false;
1488
+ this.onTouchedCallback();
1489
+ }
1490
+ }
1491
+ handleReceivedFileEvent(event) {
1492
+ this.onTouchedCallback();
1493
+ this.dragHover = false;
1494
+ if (!this.multiple) {
1495
+ this.fileValues = [];
1496
+ }
1497
+ this.fileValues.push({
1498
+ name: event.name,
1499
+ isNew: true,
1500
+ dataUrl: event.content,
1501
+ file: event.underlyingFile,
1502
+ isImage: event.type.startsWith('image/'),
1503
+ });
1504
+ this.emitFileValue();
1505
+ }
1506
+ emitFileValue() {
1507
+ this.onChangeCallback(this.fileValues.map(fileValue => fileValue.isNew ? new NewFile(fileValue.name, fileValue.dataUrl, fileValue.file) : fileValue.dataUrl));
1508
+ }
1509
+ }
1510
+ GioFormFilePickerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i7.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component });
1511
+ GioFormFilePickerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioFormFilePickerComponent, selector: "gio-form-file-picker", inputs: { multiple: "multiple", accept: "accept", disabled: "disabled" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span #previewEmpty class=\"file-picker__preview-empty disabled\">\n <ng-content select=\"gio-form-file-picker-empty\"></ng-content>\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"], components: [{ type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button" }, { type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { type: GioFormFilePickerEmptyComponent, selector: "gio-form-file-picker-empty" }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i6$2.FileDropzoneDirective, selector: "[ngxFileDropzone]", outputs: ["fileDrop"], exportAs: ["ngxFileDropzone"] }, { type: i6$2.FilePickerDirective, selector: "[ngxFilePicker]", inputs: ["accept", "multiple"], outputs: ["filePick"], exportAs: ["ngxFilePicker"] }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
1512
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerComponent, decorators: [{
1513
+ type: Component,
1514
+ args: [{ selector: 'gio-form-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span #previewEmpty class=\"file-picker__preview-empty disabled\">\n <ng-content select=\"gio-form-file-picker-empty\"></ng-content>\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: [":host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;margin:4px;border-radius:6px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;margin:4px;border-radius:6px;inline-size:-moz-fit-content;inline-size:fit-content}.file-picker__preview.drag-hover,.file-picker__preview-empty.drag-hover{pointer-events:none}.file-picker__preview__image,.file-picker__preview-empty__image{width:100%;height:100%;background-position-x:center;background-position-y:center;background-repeat:no-repeat;background-size:contain}.file-picker__preview__file,.file-picker__preview-empty__file{display:flex;flex:1 1 auto;flex-direction:column;align-content:center;align-items:center;justify-content:center;text-align:center;font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font:400 12px/16px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid #e0e0e0}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;background-color:#f7f8fdb3;border-radius:3px;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"] }]
1515
+ }], ctorParameters: function () { return [{ type: i0.ChangeDetectorRef }, { type: i7.NgControl, decorators: [{
1516
+ type: Self
1517
+ }, {
1518
+ type: Optional
1519
+ }] }]; }, propDecorators: { multiple: [{
1520
+ type: Input
1521
+ }], accept: [{
1522
+ type: Input
1523
+ }], disabled: [{
1524
+ type: Input
1525
+ }] } });
1526
+ const isImgUrl = (url) => {
1527
+ try {
1528
+ const img = new Image();
1529
+ img.src = url;
1530
+ return new Promise(resolve => {
1531
+ img.onerror = () => resolve(false);
1532
+ img.onload = () => resolve(true);
1533
+ });
1534
+ }
1535
+ catch (error) {
1536
+ return Promise.resolve(false);
1537
+ }
1538
+ };
1539
+
1540
+ /*
1541
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1542
+ *
1543
+ * Licensed under the Apache License, Version 2.0 (the "License");
1544
+ * you may not use this file except in compliance with the License.
1545
+ * You may obtain a copy of the License at
1546
+ *
1547
+ * http://www.apache.org/licenses/LICENSE-2.0
1548
+ *
1549
+ * Unless required by applicable law or agreed to in writing, software
1550
+ * distributed under the License is distributed on an "AS IS" BASIS,
1551
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1552
+ * See the License for the specific language governing permissions and
1553
+ * limitations under the License.
1554
+ */
1555
+ class GioFormFilePickerModule {
1556
+ }
1557
+ GioFormFilePickerModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1558
+ GioFormFilePickerModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, declarations: [GioFormFilePickerComponent,
1559
+ GioFormFilePickerAddButtonComponent,
1560
+ GioFormFilePickerEmptyComponent,
1561
+ GioFormFilePickerLabelComponent], imports: [CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule], exports: [GioFormFilePickerComponent,
1562
+ GioFormFilePickerAddButtonComponent,
1563
+ GioFormFilePickerEmptyComponent,
1564
+ GioFormFilePickerLabelComponent] });
1565
+ GioFormFilePickerModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, imports: [[CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule]] });
1566
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioFormFilePickerModule, decorators: [{
1567
+ type: NgModule,
1568
+ args: [{
1569
+ declarations: [
1570
+ GioFormFilePickerComponent,
1571
+ GioFormFilePickerAddButtonComponent,
1572
+ GioFormFilePickerEmptyComponent,
1573
+ GioFormFilePickerLabelComponent,
1574
+ ],
1575
+ exports: [
1576
+ GioFormFilePickerComponent,
1577
+ GioFormFilePickerAddButtonComponent,
1578
+ GioFormFilePickerEmptyComponent,
1579
+ GioFormFilePickerLabelComponent,
1580
+ ],
1581
+ imports: [CommonModule, ReactiveFormsModule, NgxFileHelpersModule, MatRippleModule, MatIconModule, GioIconsModule],
1582
+ }]
1583
+ }] });
1584
+
1585
+ /*
1586
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1587
+ *
1588
+ * Licensed under the Apache License, Version 2.0 (the "License");
1589
+ * you may not use this file except in compliance with the License.
1590
+ * You may obtain a copy of the License at
1591
+ *
1592
+ * http://www.apache.org/licenses/LICENSE-2.0
1593
+ *
1594
+ * Unless required by applicable law or agreed to in writing, software
1595
+ * distributed under the License is distributed on an "AS IS" BASIS,
1596
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1597
+ * See the License for the specific language governing permissions and
1598
+ * limitations under the License.
1599
+ */
1600
+ class GioFormFilePickerInputHarness extends ComponentHarness {
1601
+ constructor() {
1602
+ super(...arguments);
1603
+ this._mainDiv = this.locatorFor('.file-picker__add-button');
1604
+ this._hasErrorClass = this.locatorForOptional('[class="file-picker__add-button error"]');
1605
+ this._inputFile = this.locatorFor('input[type="file"]');
1606
+ this._getDisabledElement = this.locatorForOptional('.disabled');
1607
+ }
1608
+ static with(options) {
1609
+ return new HarnessPredicate(GioFormFilePickerInputHarness, options).addOption('formControlName', options.formControlName, (harness, text) => HarnessPredicate.stringMatches(harness.getFormControlName(), text));
1610
+ }
1611
+ /**
1612
+ * Hack force onload on Image Object
1613
+ * GioFormFilePickerComponent use a Image Object to check if the file is an image.
1614
+ * This method allow to force onload event on the Image Object.
1615
+ * @param excludeSrc call onerror instead of onload for this src
1616
+ */
1617
+ static forceImageOnload(excludeSrc = []) {
1618
+ Object.defineProperties(Image.prototype, {
1619
+ src: {
1620
+ get: function () {
1621
+ return this._src;
1622
+ },
1623
+ set: function (src) {
1624
+ this._src = src;
1625
+ },
1626
+ },
1627
+ onload: {
1628
+ get: function () {
1629
+ return this._onload;
1630
+ },
1631
+ set: function (fn) {
1632
+ this._onload = fn;
1633
+ excludeSrc.includes(this._src) ? this.onerror() : this.onload();
1634
+ },
1635
+ },
1636
+ });
1637
+ }
1638
+ async getFormControlName() {
1639
+ const filePickerInputHarness = await this.host();
1640
+ return filePickerInputHarness.getAttribute('formControlName');
1641
+ }
1642
+ async hasErrorClass() {
1643
+ return !!(await this._hasErrorClass());
1644
+ }
1645
+ async clickInside() {
1646
+ await (await this._mainDiv()).click();
1647
+ }
1648
+ async getInputFileAccept() {
1649
+ return await (await this._inputFile()).getAttribute('accept');
1650
+ }
1651
+ async getPreviews() {
1652
+ const previewImages = await this.locatorForAll('.file-picker__preview__image')();
1653
+ const previewFiles = await this.locatorForAll('.file-picker__preview__file')();
1654
+ return Promise.all([
1655
+ ...previewImages.map(previewImage => previewImage.getAttribute('style')),
1656
+ ...previewFiles.map(previewFile => previewFile.text()),
1657
+ ]);
1658
+ }
1659
+ async isAddButtonPresent() {
1660
+ return (await this.locatorForOptional('gio-form-file-picker-add-button')()) !== null;
1661
+ }
1662
+ async isDisabled() {
1663
+ return !!(await this._getDisabledElement());
1664
+ }
1665
+ async deleteFile(fileIndex = 0) {
1666
+ const deleteButtons = await this.locatorForAll('.file-picker__preview__delete')();
1667
+ return deleteButtons[fileIndex].click();
1668
+ }
1669
+ async dropFiles(files) {
1670
+ const filePickerDropZone = await this.locatorFor('.file-picker')();
1671
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
1672
+ await filePickerDropZone.dispatchEvent('drop', { dataTransfer: { files } });
1673
+ // Wait event is dispatched
1674
+ await new Promise(resolve => setTimeout(resolve, 50));
1675
+ }
1676
+ }
1677
+ GioFormFilePickerInputHarness.hostSelector = 'gio-form-file-picker';
1678
+
1679
+ /*
1680
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1681
+ *
1682
+ * Licensed under the Apache License, Version 2.0 (the "License");
1683
+ * you may not use this file except in compliance with the License.
1684
+ * You may obtain a copy of the License at
1685
+ *
1686
+ * http://www.apache.org/licenses/LICENSE-2.0
1687
+ *
1688
+ * Unless required by applicable law or agreed to in writing, software
1689
+ * distributed under the License is distributed on an "AS IS" BASIS,
1690
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1691
+ * See the License for the specific language governing permissions and
1692
+ * limitations under the License.
1693
+ */
1694
+
1695
+ /*
1696
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
1697
+ *
1698
+ * Licensed under the Apache License, Version 2.0 (the "License");
1699
+ * you may not use this file except in compliance with the License.
1700
+ * You may obtain a copy of the License at
1701
+ *
1702
+ * http://www.apache.org/licenses/LICENSE-2.0
1703
+ *
1704
+ * Unless required by applicable law or agreed to in writing, software
1705
+ * distributed under the License is distributed on an "AS IS" BASIS,
1706
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1707
+ * See the License for the specific language governing permissions and
1708
+ * limitations under the License.
1709
+ */
1710
+ class GioMenuService {
1711
+ constructor() {
1712
+ this.reduceSource = new BehaviorSubject(false);
1713
+ this.overlaySource = new BehaviorSubject({ open: false });
1714
+ this.reduce = this.reduceSource.asObservable();
1715
+ this.overlayObservable = this.overlaySource.asObservable().pipe(distinctUntilChanged((prev, curr) => prev.open === curr.open), debounce(overlayOptions => timer(overlayOptions.open ? 150 : 500)));
1716
+ }
1717
+ reduced(reduced) {
1718
+ this.reduceSource.next(reduced);
1719
+ }
1720
+ overlay(overlayOptions) {
1721
+ this.overlaySource.next(overlayOptions);
1722
+ }
1723
+ }
1724
+ GioMenuService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
1725
+ GioMenuService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuService, providedIn: 'root' });
1726
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuService, decorators: [{
1727
+ type: Injectable,
1728
+ args: [{ providedIn: 'root' }]
1729
+ }] });
1730
+
1731
+ /*
1732
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1733
+ *
1734
+ * Licensed under the Apache License, Version 2.0 (the "License");
1735
+ * you may not use this file except in compliance with the License.
1736
+ * You may obtain a copy of the License at
1737
+ *
1738
+ * http://www.apache.org/licenses/LICENSE-2.0
1739
+ *
1740
+ * Unless required by applicable law or agreed to in writing, software
1741
+ * distributed under the License is distributed on an "AS IS" BASIS,
1742
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1743
+ * See the License for the specific language governing permissions and
1744
+ * limitations under the License.
1745
+ */
1746
+ class GioMenuItemComponent {
1747
+ constructor(gioMenuService) {
1748
+ this.gioMenuService = gioMenuService;
1749
+ this.icon = '';
1750
+ this.active = false;
1751
+ this.outlined = false;
1752
+ this.unsubscribe$ = new Subject();
1753
+ }
1754
+ ngOnDestroy() {
1755
+ this.unsubscribe$.next();
1756
+ this.unsubscribe$.unsubscribe();
1757
+ }
1758
+ onMouseLeave() {
1759
+ if (this.active) {
1760
+ this.gioMenuService.overlay({ open: false });
1761
+ }
1762
+ }
1763
+ onMouseEnter($event) {
1764
+ if (this.active) {
1765
+ const menuItem = $event.target;
1766
+ this.gioMenuService.overlay({ open: true, top: menuItem.getBoundingClientRect().top, parent: menuItem });
1767
+ }
1768
+ }
1769
+ onClick($event) {
1770
+ of(true)
1771
+ .pipe(takeUntil(this.unsubscribe$), delay(0), tap(() => this.onMouseEnter($event)))
1772
+ .subscribe();
1773
+ }
1774
+ onKeydownHandler($event) {
1775
+ of($event.key === 'Enter' && $event.target)
1776
+ .pipe(takeUntil(this.unsubscribe$), filter(enterKey => !!enterKey), switchMap(() => of($event.target)), tap(menuItem => {
1777
+ this.gioMenuService.overlay({ open: false });
1778
+ if (this.active) {
1779
+ this.gioMenuService.overlay({ open: true, top: menuItem.getBoundingClientRect().top, parent: menuItem, focus: true });
1780
+ }
1781
+ else {
1782
+ menuItem.click();
1783
+ }
1784
+ }))
1785
+ .subscribe();
1786
+ }
1787
+ }
1788
+ GioMenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuItemComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
1789
+ GioMenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuItemComponent, selector: "gio-menu-item", inputs: { icon: "icon", active: "active", outlined: "outlined" }, host: { listeners: { "click": "onClick($event)", "keydown": "onKeydownHandler($event)" } }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"gio-menu-item\"\n [class.gio-menu-item__active]=\"active\"\n [class.gio-menu-item__outlined]=\"outlined\"\n (click)=\"onClick($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <mat-icon *ngIf=\"icon\" class=\"gio-menu-item__icon\" [svgIcon]=\"icon\"></mat-icon>\n <span class=\"gio-menu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-menu-item{display:flex;width:192px;height:36px;flex:none;flex-direction:row;flex-grow:0;align-items:center;padding:16px;margin:4px 0;background:#1c1e39;border-radius:4px;color:#f7f8fd;cursor:pointer}.gio-menu-item__active{background:#494b61}.gio-menu-item__outlined{border:1px solid #606274;border-radius:4px}.gio-menu-item__icon{position:absolute;width:20px;height:20px}.gio-menu-item__title:not(:first-child){margin:18px 0 18px 32px}:host-context(.gio-menu__reduced) .gio-menu-item{width:44px;justify-content:center;padding:0;margin:8px 0}:host-context(.gio-menu__reduced) .gio-menu-item__title{display:none}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item{margin:20px 0}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item__outlined{margin:20px 0}.gio-menu-item:hover:not(.gio-menu-item__active){background:#33354d}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
1790
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuItemComponent, decorators: [{
1791
+ type: Component,
1792
+ args: [{ selector: 'gio-menu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n class=\"gio-menu-item\"\n [class.gio-menu-item__active]=\"active\"\n [class.gio-menu-item__outlined]=\"outlined\"\n (click)=\"onClick($event)\"\n (mouseenter)=\"onMouseEnter($event)\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <mat-icon *ngIf=\"icon\" class=\"gio-menu-item__icon\" [svgIcon]=\"icon\"></mat-icon>\n <span class=\"gio-menu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-menu-item{display:flex;width:192px;height:36px;flex:none;flex-direction:row;flex-grow:0;align-items:center;padding:16px;margin:4px 0;background:#1c1e39;border-radius:4px;color:#f7f8fd;cursor:pointer}.gio-menu-item__active{background:#494b61}.gio-menu-item__outlined{border:1px solid #606274;border-radius:4px}.gio-menu-item__icon{position:absolute;width:20px;height:20px}.gio-menu-item__title:not(:first-child){margin:18px 0 18px 32px}:host-context(.gio-menu__reduced) .gio-menu-item{width:44px;justify-content:center;padding:0;margin:8px 0}:host-context(.gio-menu__reduced) .gio-menu-item__title{display:none}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item{margin:20px 0}:host-context(.gio-menu__reduced .gio-menu-footer) .gio-menu-item__outlined{margin:20px 0}.gio-menu-item:hover:not(.gio-menu-item__active){background:#33354d}\n"] }]
1793
+ }], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { icon: [{
1794
+ type: Input
1795
+ }], active: [{
1796
+ type: Input
1797
+ }], outlined: [{
1798
+ type: Input
1799
+ }], onClick: [{
1800
+ type: HostListener,
1801
+ args: ['click', ['$event']]
1802
+ }], onKeydownHandler: [{
1803
+ type: HostListener,
1804
+ args: ['keydown', ['$event']]
1805
+ }] } });
1806
+
1807
+ /*
1808
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1809
+ *
1810
+ * Licensed under the Apache License, Version 2.0 (the "License");
1811
+ * you may not use this file except in compliance with the License.
1812
+ * You may obtain a copy of the License at
1813
+ *
1814
+ * http://www.apache.org/licenses/LICENSE-2.0
1815
+ *
1816
+ * Unless required by applicable law or agreed to in writing, software
1817
+ * distributed under the License is distributed on an "AS IS" BASIS,
1818
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1819
+ * See the License for the specific language governing permissions and
1820
+ * limitations under the License.
1821
+ */
1822
+ class GioMenuFooterComponent {
1823
+ }
1824
+ GioMenuFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuFooterComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1825
+ GioMenuFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuFooterComponent, selector: "gio-menu-footer", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-footer\">\n <div class=\"gio-menu-footer__content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-footer{padding:16px;border-top:1px solid #606274}:host-context(.gio-menu__reduced) .gio-menu-footer{padding:0 16px}\n"] });
1826
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuFooterComponent, decorators: [{
1827
+ type: Component,
1828
+ args: [{ selector: 'gio-menu-footer', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-footer\">\n <div class=\"gio-menu-footer__content\">\n <ng-content></ng-content>\n </div>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-footer{padding:16px;border-top:1px solid #606274}:host-context(.gio-menu__reduced) .gio-menu-footer{padding:0 16px}\n"] }]
1829
+ }] });
1830
+
1831
+ /*
1832
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1833
+ *
1834
+ * Licensed under the Apache License, Version 2.0 (the "License");
1835
+ * you may not use this file except in compliance with the License.
1836
+ * You may obtain a copy of the License at
1837
+ *
1838
+ * http://www.apache.org/licenses/LICENSE-2.0
1839
+ *
1840
+ * Unless required by applicable law or agreed to in writing, software
1841
+ * distributed under the License is distributed on an "AS IS" BASIS,
1842
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1843
+ * See the License for the specific language governing permissions and
1844
+ * limitations under the License.
1845
+ */
1846
+ class GioMenuComponent {
1847
+ constructor(gioMenuService) {
1848
+ this.gioMenuService = gioMenuService;
1849
+ this.reduced = false;
1850
+ }
1851
+ ngOnInit() {
1852
+ this.gioMenuService.reduced(this.reduced);
1853
+ }
1854
+ reduceMenu() {
1855
+ this.reduced = !this.reduced;
1856
+ this.gioMenuService.reduced(this.reduced);
1857
+ }
1858
+ getCollapseButtonIcon() {
1859
+ return this.reduced ? 'gio:expande' : 'gio:collapse';
1860
+ }
1861
+ onMouseLeave() {
1862
+ if (this.reduced) {
1863
+ this.gioMenuService.overlay({ open: false });
1864
+ }
1865
+ }
1866
+ }
1867
+ GioMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
1868
+ GioMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuComponent, selector: "gio-menu", inputs: { reduced: "reduced" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu\" [class.gio-menu__reduced]=\"reduced\" (mouseleave)=\"onMouseLeave()\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-footer\"></ng-content>\n <gio-menu-footer>\n <gio-menu-item\n tabIndex=\"1\"\n type=\"button\"\n class=\"gio-menu-footer__collapse\"\n [icon]=\"getCollapseButtonIcon()\"\n (click)=\"reduceMenu()\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n</div>\n", styles: [".gio-menu{display:flex;width:224px;height:100%;flex-direction:column;justify-content:flex-start;padding:16px 0 0;background:#1c1e39;box-shadow:0 0 0 1px #0000001a,0 5px 10px #0003,0 15px 40px #0006}.gio-menu__reduced{width:76px}\n"], components: [{ type: GioMenuFooterComponent, selector: "gio-menu-footer" }, { type: GioMenuItemComponent, selector: "gio-menu-item", inputs: ["icon", "active", "outlined"] }], encapsulation: i0.ViewEncapsulation.None });
1869
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuComponent, decorators: [{
1870
+ type: Component,
1871
+ args: [{ selector: 'gio-menu', encapsulation: ViewEncapsulation.None, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu\" [class.gio-menu__reduced]=\"reduced\" (mouseleave)=\"onMouseLeave()\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-footer\"></ng-content>\n <gio-menu-footer>\n <gio-menu-item\n tabIndex=\"1\"\n type=\"button\"\n class=\"gio-menu-footer__collapse\"\n [icon]=\"getCollapseButtonIcon()\"\n (click)=\"reduceMenu()\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n</div>\n", styles: [".gio-menu{display:flex;width:224px;height:100%;flex-direction:column;justify-content:flex-start;padding:16px 0 0;background:#1c1e39;box-shadow:0 0 0 1px #0000001a,0 5px 10px #0003,0 15px 40px #0006}.gio-menu__reduced{width:76px}\n"] }]
1872
+ }], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { reduced: [{
1873
+ type: Input
1874
+ }] } });
1875
+
1876
+ /*
1877
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1878
+ *
1879
+ * Licensed under the Apache License, Version 2.0 (the "License");
1880
+ * you may not use this file except in compliance with the License.
1881
+ * You may obtain a copy of the License at
1882
+ *
1883
+ * http://www.apache.org/licenses/LICENSE-2.0
1884
+ *
1885
+ * Unless required by applicable law or agreed to in writing, software
1886
+ * distributed under the License is distributed on an "AS IS" BASIS,
1887
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1888
+ * See the License for the specific language governing permissions and
1889
+ * limitations under the License.
1890
+ */
1891
+ class GioMenuListComponent {
1892
+ }
1893
+ GioMenuListComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuListComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1894
+ GioMenuListComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuListComponent, selector: "gio-menu-list", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-list\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-menu-list{padding:0 16px}\n"] });
1895
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuListComponent, decorators: [{
1896
+ type: Component,
1897
+ args: [{ selector: 'gio-menu-list', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-list\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-menu-list{padding:0 16px}\n"] }]
1898
+ }] });
1899
+
1900
+ /*
1901
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1902
+ *
1903
+ * Licensed under the Apache License, Version 2.0 (the "License");
1904
+ * you may not use this file except in compliance with the License.
1905
+ * You may obtain a copy of the License at
1906
+ *
1907
+ * http://www.apache.org/licenses/LICENSE-2.0
1908
+ *
1909
+ * Unless required by applicable law or agreed to in writing, software
1910
+ * distributed under the License is distributed on an "AS IS" BASIS,
1911
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1912
+ * See the License for the specific language governing permissions and
1913
+ * limitations under the License.
1914
+ */
1915
+ class GioMenuSelectorComponent {
1916
+ constructor() {
1917
+ this.selectorTitle = '';
1918
+ this.selectorItems = [];
1919
+ this.selectedItemValue = '';
1920
+ this.tabIndex = 1;
1921
+ this.selectChange = new EventEmitter();
1922
+ }
1923
+ onSelectionChange($event) {
1924
+ this.selectChange.emit($event.value);
1925
+ }
1926
+ isDisabled() {
1927
+ return this.selectorItems.length <= 1;
1928
+ }
1929
+ }
1930
+ GioMenuSelectorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1931
+ GioMenuSelectorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuSelectorComponent, selector: "gio-menu-selector", inputs: { selectorTitle: "selectorTitle", selectorItems: "selectorItems", selectedItemValue: "selectedItemValue", tabIndex: "tabIndex" }, outputs: { selectChange: "selectChange" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <mat-form-field class=\"gio-menu-selector__mat-form-field\">\n <mat-label>{{ selectorTitle }}</mat-label>\n <mat-select [tabIndex]=\"tabIndex\" [value]=\"selectedItemValue\" (selectionChange)=\"onSelectionChange($event)\" [disabled]=\"isDisabled()\">\n <mat-option *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: [".gio-menu-selector{width:192px;padding:10px 14px 0;border-style:solid;border-color:#606274;margin-bottom:8px;border-radius:4px;color:#f7f8fd}.gio-menu-selector__mat-form-field{padding-bottom:0}::ng-deep gio-menu-selector .gio-menu-selector>*{display:block}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-value{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-placeholder{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-disabled .mat-select-value{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-arrow{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel{background:#424242}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(255,255,255,.12)}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-focused .mat-form-field-required-marker{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-ripple{background-color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-error{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}::ng-deep gio-menu-selector .gio-menu-selector .mat-app-background,::ng-deep gio-menu-selector .gio-menu-selector.mat-app-background{background-color:#303030;color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:6px}::ng-deep .mat-form-field-underline{display:none}\n"], components: [{ type: i3$1.MatFormField, selector: "mat-form-field", inputs: ["color", "appearance", "hideRequiredMarker", "hintLabel", "floatLabel"], exportAs: ["matFormField"] }, { type: i2$4.MatSelect, selector: "mat-select", inputs: ["disabled", "disableRipple", "tabIndex"], exportAs: ["matSelect"] }, { type: i6.MatOption, selector: "mat-option", exportAs: ["matOption"] }], directives: [{ type: i3$1.MatLabel, selector: "mat-label" }, { type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }] });
1932
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuSelectorComponent, decorators: [{
1933
+ type: Component,
1934
+ args: [{ selector: 'gio-menu-selector', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <mat-form-field class=\"gio-menu-selector__mat-form-field\">\n <mat-label>{{ selectorTitle }}</mat-label>\n <mat-select [tabIndex]=\"tabIndex\" [value]=\"selectedItemValue\" (selectionChange)=\"onSelectionChange($event)\" [disabled]=\"isDisabled()\">\n <mat-option *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n </mat-form-field>\n</div>\n", styles: [".gio-menu-selector{width:192px;padding:10px 14px 0;border-style:solid;border-color:#606274;margin-bottom:8px;border-radius:4px;color:#f7f8fd}.gio-menu-selector__mat-form-field{padding-bottom:0}::ng-deep gio-menu-selector .gio-menu-selector>*{display:block}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-value{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-placeholder{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-disabled .mat-select-value{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-arrow{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel{background:#424242}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel:not([class*=mat-elevation-z]){box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-select-panel .mat-option.mat-selected:not(.mat-option-multiple){background:rgba(255,255,255,.12)}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-primary .mat-select-arrow{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-accent .mat-select-arrow{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused.mat-warn .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-invalid .mat-select-arrow{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field .mat-select.mat-select-disabled .mat-select-arrow{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-accent{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-label.mat-warn{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-focused .mat-form-field-required-marker{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-ripple{background-color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple{background-color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-accent{background-color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-focused .mat-form-field-ripple.mat-warn{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid) .mat-form-field-infix:after{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-accent .mat-form-field-infix:after{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-type-mat-native-select.mat-focused:not(.mat-form-field-invalid).mat-warn .mat-form-field-infix:after{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label.mat-accent,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-label .mat-form-field-required-marker{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple,::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field.mat-form-field-invalid .mat-form-field-ripple.mat-accent{background-color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-error{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-label{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-hint{color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-legacy.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard .mat-form-field-underline{background-color:#ffffffb3}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-standard.mat-form-field-disabled .mat-form-field-underline{background-image:linear-gradient(to right,rgba(255,255,255,.7) 0%,rgba(255,255,255,.7) 33%,transparent 0%);background-size:4px 100%;background-repeat:repeat-x}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-flex{background-color:#ffffff1a}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-flex{background-color:#ffffff0d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill .mat-form-field-underline:before{background-color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-fill.mat-form-field-disabled .mat-form-field-underline:before{background-color:transparent}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline{color:#ffffff4d}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline .mat-form-field-outline-thick{color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused .mat-form-field-outline-thick{color:#099}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-accent .mat-form-field-outline-thick{color:#876fec}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-focused.mat-warn .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-invalid.mat-form-field-invalid .mat-form-field-outline-thick{color:#ec4899}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-label{color:#ffffff80}::ng-deep gio-menu-selector .gio-menu-selector .mat-form-field-appearance-outline.mat-form-field-disabled .mat-form-field-outline{color:#ffffff26}::ng-deep gio-menu-selector .gio-menu-selector .mat-app-background,::ng-deep gio-menu-selector .gio-menu-selector.mat-app-background{background-color:#303030;color:#fff}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z0{box-shadow:0 0 #0003,0 0 #00000024,0 0 #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z1{box-shadow:0 2px 1px -1px #0003,0 1px 1px #00000024,0 1px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z2{box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z3{box-shadow:0 3px 3px -2px #0003,0 3px 4px #00000024,0 1px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z4{box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z5{box-shadow:0 3px 5px -1px #0003,0 5px 8px #00000024,0 1px 14px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z6{box-shadow:0 3px 5px -1px #0003,0 6px 10px #00000024,0 1px 18px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z7{box-shadow:0 4px 5px -2px #0003,0 7px 10px 1px #00000024,0 2px 16px 1px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z8{box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z9{box-shadow:0 5px 6px -3px #0003,0 9px 12px 1px #00000024,0 3px 16px 2px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z10{box-shadow:0 6px 6px -3px #0003,0 10px 14px 1px #00000024,0 4px 18px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z11{box-shadow:0 6px 7px -4px #0003,0 11px 15px 1px #00000024,0 4px 20px 3px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z12{box-shadow:0 7px 8px -4px #0003,0 12px 17px 2px #00000024,0 5px 22px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z13{box-shadow:0 7px 8px -4px #0003,0 13px 19px 2px #00000024,0 5px 24px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z14{box-shadow:0 7px 9px -4px #0003,0 14px 21px 2px #00000024,0 5px 26px 4px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z15{box-shadow:0 8px 9px -5px #0003,0 15px 22px 2px #00000024,0 6px 28px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z16{box-shadow:0 8px 10px -5px #0003,0 16px 24px 2px #00000024,0 6px 30px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z17{box-shadow:0 8px 11px -5px #0003,0 17px 26px 2px #00000024,0 6px 32px 5px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z18{box-shadow:0 9px 11px -5px #0003,0 18px 28px 2px #00000024,0 7px 34px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z19{box-shadow:0 9px 12px -6px #0003,0 19px 29px 2px #00000024,0 7px 36px 6px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z20{box-shadow:0 10px 13px -6px #0003,0 20px 31px 3px #00000024,0 8px 38px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z21{box-shadow:0 10px 13px -6px #0003,0 21px 33px 3px #00000024,0 8px 40px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z22{box-shadow:0 10px 14px -6px #0003,0 22px 35px 3px #00000024,0 8px 42px 7px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z23{box-shadow:0 11px 14px -7px #0003,0 23px 36px 3px #00000024,0 9px 44px 8px #0000001f}::ng-deep gio-menu-selector .gio-menu-selector .mat-elevation-z24{box-shadow:0 11px 15px -7px #0003,0 24px 38px 3px #00000024,0 9px 46px 8px #0000001f}.mat-theme-loaded-marker{display:none}::ng-deep .mat-form-field-appearance-legacy .mat-form-field-wrapper{padding-bottom:6px}::ng-deep .mat-form-field-underline{display:none}\n"] }]
1935
+ }], propDecorators: { selectorTitle: [{
1936
+ type: Input
1937
+ }], selectorItems: [{
1938
+ type: Input
1939
+ }], selectedItemValue: [{
1940
+ type: Input
1941
+ }], tabIndex: [{
1942
+ type: Input
1943
+ }], selectChange: [{
1944
+ type: Output
1945
+ }] } });
1946
+
1947
+ /*
1948
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1949
+ *
1950
+ * Licensed under the Apache License, Version 2.0 (the "License");
1951
+ * you may not use this file except in compliance with the License.
1952
+ * You may obtain a copy of the License at
1953
+ *
1954
+ * http://www.apache.org/licenses/LICENSE-2.0
1955
+ *
1956
+ * Unless required by applicable law or agreed to in writing, software
1957
+ * distributed under the License is distributed on an "AS IS" BASIS,
1958
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1959
+ * See the License for the specific language governing permissions and
1960
+ * limitations under the License.
1961
+ */
1962
+ class GioMenuHeaderComponent {
1963
+ }
1964
+ GioMenuHeaderComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuHeaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
1965
+ GioMenuHeaderComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioMenuHeaderComponent, selector: "gio-menu-header", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-header\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-header{padding:0 16px}:host-context(.gio-menu__reduced) .gio-menu-header{display:none}\n"] });
1966
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuHeaderComponent, decorators: [{
1967
+ type: Component,
1968
+ args: [{ selector: 'gio-menu-header', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-header\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:0}.gio-menu-header{padding:0 16px}:host-context(.gio-menu__reduced) .gio-menu-header{display:none}\n"] }]
1969
+ }] });
1970
+
1971
+ /*
1972
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
1973
+ *
1974
+ * Licensed under the Apache License, Version 2.0 (the "License");
1975
+ * you may not use this file except in compliance with the License.
1976
+ * You may obtain a copy of the License at
1977
+ *
1978
+ * http://www.apache.org/licenses/LICENSE-2.0
1979
+ *
1980
+ * Unless required by applicable law or agreed to in writing, software
1981
+ * distributed under the License is distributed on an "AS IS" BASIS,
1982
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1983
+ * See the License for the specific language governing permissions and
1984
+ * limitations under the License.
1985
+ */
1986
+ class GioMenuModule {
1987
+ }
1988
+ GioMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
1989
+ GioMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, declarations: [GioMenuComponent,
1990
+ GioMenuItemComponent,
1991
+ GioMenuFooterComponent,
1992
+ GioMenuListComponent,
1993
+ GioMenuHeaderComponent,
1994
+ GioMenuSelectorComponent], imports: [CommonModule, MatIconModule, GioIconsModule, MatSelectModule], exports: [GioMenuComponent,
1995
+ GioMenuItemComponent,
1996
+ GioMenuFooterComponent,
1997
+ GioMenuListComponent,
1998
+ GioMenuHeaderComponent,
1999
+ GioMenuSelectorComponent] });
2000
+ GioMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, imports: [[CommonModule, MatIconModule, GioIconsModule, MatSelectModule]] });
2001
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioMenuModule, decorators: [{
2002
+ type: NgModule,
2003
+ args: [{
2004
+ declarations: [
2005
+ GioMenuComponent,
2006
+ GioMenuItemComponent,
2007
+ GioMenuFooterComponent,
2008
+ GioMenuListComponent,
2009
+ GioMenuHeaderComponent,
2010
+ GioMenuSelectorComponent,
2011
+ ],
2012
+ exports: [
2013
+ GioMenuComponent,
2014
+ GioMenuItemComponent,
2015
+ GioMenuFooterComponent,
2016
+ GioMenuListComponent,
2017
+ GioMenuHeaderComponent,
2018
+ GioMenuSelectorComponent,
2019
+ ],
2020
+ imports: [CommonModule, MatIconModule, GioIconsModule, MatSelectModule],
2021
+ }]
2022
+ }] });
2023
+
2024
+ /*
2025
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
2026
+ *
2027
+ * Licensed under the Apache License, Version 2.0 (the "License");
2028
+ * you may not use this file except in compliance with the License.
2029
+ * You may obtain a copy of the License at
2030
+ *
2031
+ * http://www.apache.org/licenses/LICENSE-2.0
2032
+ *
2033
+ * Unless required by applicable law or agreed to in writing, software
2034
+ * distributed under the License is distributed on an "AS IS" BASIS,
2035
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2036
+ * See the License for the specific language governing permissions and
2037
+ * limitations under the License.
2038
+ */
2039
+ class GioMenuSelectorHarness extends ComponentHarness {
2040
+ constructor() {
2041
+ super(...arguments);
2042
+ this.getSelect = this.locatorFor(MatSelectHarness);
2043
+ }
2044
+ async availableOptions() {
2045
+ const select = await this.getSelect();
2046
+ await select.open();
2047
+ const options = await select.getOptions();
2048
+ return Promise.all(options.map(o => o.getText()));
2049
+ }
2050
+ async selectedOption() {
2051
+ const select = await this.getSelect();
2052
+ return select.getValueText();
2053
+ }
2054
+ async selectOptionByIndex(index) {
2055
+ const select = await this.getSelect();
2056
+ await select.open();
2057
+ const options = await select.getOptions();
2058
+ return options[index].click();
2059
+ }
2060
+ }
2061
+ GioMenuSelectorHarness.hostSelector = 'gio-menu-selector';
2062
+
2063
+ /*
2064
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2065
+ *
2066
+ * Licensed under the Apache License, Version 2.0 (the "License");
2067
+ * you may not use this file except in compliance with the License.
2068
+ * You may obtain a copy of the License at
2069
+ *
2070
+ * http://www.apache.org/licenses/LICENSE-2.0
2071
+ *
2072
+ * Unless required by applicable law or agreed to in writing, software
2073
+ * distributed under the License is distributed on an "AS IS" BASIS,
2074
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2075
+ * See the License for the specific language governing permissions and
2076
+ * limitations under the License.
2077
+ */
2078
+
2079
+ /*
2080
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2081
+ *
2082
+ * Licensed under the Apache License, Version 2.0 (the "License");
2083
+ * you may not use this file except in compliance with the License.
2084
+ * You may obtain a copy of the License at
2085
+ *
2086
+ * http://www.apache.org/licenses/LICENSE-2.0
2087
+ *
2088
+ * Unless required by applicable law or agreed to in writing, software
2089
+ * distributed under the License is distributed on an "AS IS" BASIS,
2090
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2091
+ * See the License for the specific language governing permissions and
2092
+ * limitations under the License.
2093
+ */
2094
+ class GioSubmenuTitleDirective {
2095
+ }
2096
+ GioSubmenuTitleDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuTitleDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
2097
+ GioSubmenuTitleDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuTitleDirective, selector: "[gioSubmenuTitle]", ngImport: i0 });
2098
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuTitleDirective, decorators: [{
2099
+ type: Directive,
2100
+ args: [{
2101
+ selector: '[gioSubmenuTitle]',
2102
+ }]
2103
+ }] });
2104
+ class GioSubmenuComponent {
2105
+ constructor(gioMenuService) {
2106
+ this.gioMenuService = gioMenuService;
2107
+ this.reduced = false;
2108
+ this.loaded = false;
2109
+ this.overlayOptions = { open: false };
2110
+ this.hover = false;
2111
+ this.unsubscribe$ = new Subject();
2112
+ }
2113
+ ngAfterViewInit() {
2114
+ this.gioMenuService.reduce
2115
+ .pipe(takeUntil(this.unsubscribe$), filter(reduced => reduced), tap(() => {
2116
+ this.reduced = true;
2117
+ this.loaded = true;
2118
+ }), switchMap(() => this.gioMenuService.overlayObservable), tap(overlayOptions => {
2119
+ const top = overlayOptions.top || 0;
2120
+ this.overlayOptions = overlayOptions;
2121
+ this.gioSubmenu.nativeElement.style.top = `${top}px`;
2122
+ this.gioSubmenu.nativeElement.style.height = 'auto';
2123
+ this.gioSubmenu.nativeElement.style.maxHeight = `calc(100vh - ${top + 8}px)`;
2124
+ }), filter(overlayOptions => !!overlayOptions.focus), delay(200), switchMap(() => of(this.gioSubmenu.nativeElement.querySelectorAll('gio-submenu-item'))), filter(submenuItems => submenuItems.length > 0), tap(submenuItems => submenuItems[0].focus()))
2125
+ .subscribe();
2126
+ this.gioMenuService.reduce
2127
+ .pipe(takeUntil(this.unsubscribe$), filter(reduced => !reduced), tap(() => {
2128
+ this.reduced = false;
2129
+ this.loaded = true;
2130
+ this.gioSubmenu.nativeElement.style.height = '100%';
2131
+ this.gioSubmenu.nativeElement.style.maxHeight = 'none';
2132
+ }))
2133
+ .subscribe();
2134
+ }
2135
+ ngOnDestroy() {
2136
+ this.unsubscribe$.next();
2137
+ this.unsubscribe$.unsubscribe();
2138
+ }
2139
+ onMouseEnter() {
2140
+ this.hover = true;
2141
+ this.gioMenuService.overlay(this.overlayOptions);
2142
+ }
2143
+ onMouseLeave() {
2144
+ this.hover = false;
2145
+ this.gioMenuService.overlay({ open: false });
2146
+ }
2147
+ onKeydownHandler(event) {
2148
+ of(this.reduced && event.key === 'Escape')
2149
+ .pipe(filter(reducedAndEcape => reducedAndEcape), tap(() => this.gioMenuService.overlay({ open: false })), delay(100), tap(() => this.overlayOptions.parent?.focus()))
2150
+ .subscribe();
2151
+ }
2152
+ }
2153
+ GioSubmenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component });
2154
+ GioSubmenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuComponent, selector: "gio-submenu", host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenu", first: true, predicate: ["gioSubmenu"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;margin:0 0 0 8px;border-radius:8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] });
2155
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuComponent, decorators: [{
2156
+ type: Component,
2157
+ args: [{ selector: 'gio-submenu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div\n #gioSubmenu\n class=\"gio-submenu\"\n [class.gio-submenu__loaded]=\"loaded\"\n [class.gio-submenu__reduced]=\"reduced\"\n [class.gio-submenu__overlay]=\"overlayOptions.open\"\n (mouseenter)=\"onMouseEnter()\"\n (mouseleave)=\"onMouseLeave()\"\n>\n <div #title class=\"gio-submenu__title\" [class.hide]=\"!title.children.length || reduced\">\n <ng-content select=\"[gioSubmenuTitle]\"></ng-content>\n </div>\n <ng-content></ng-content>\n</div>\n", styles: [":host{z-index:100}.gio-submenu{display:none;width:266px;height:100%;flex:none;flex-direction:column;flex-grow:0;justify-content:flex-start;padding:16px;background:#100c27}.gio-submenu__reduced{position:absolute;overflow:auto;margin:0 0 0 8px;border-radius:8px;opacity:0;visibility:hidden}.gio-submenu__loaded{display:flex}.gio-submenu__overlay,.gio-submenu:hover{opacity:1;transition:opacity .15s,visibility .15s;visibility:visible}.gio-submenu__title{padding-bottom:8px;color:#fff}.gio-submenu .hide{display:none}\n"] }]
2158
+ }], ctorParameters: function () { return [{ type: GioMenuService }]; }, propDecorators: { gioSubmenu: [{
2159
+ type: ViewChild,
2160
+ args: ['gioSubmenu', { static: false }]
2161
+ }], onKeydownHandler: [{
2162
+ type: HostListener,
2163
+ args: ['keydown', ['$event']]
2164
+ }] } });
2165
+
2166
+ /*
2167
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2168
+ *
2169
+ * Licensed under the Apache License, Version 2.0 (the "License");
2170
+ * you may not use this file except in compliance with the License.
2171
+ * You may obtain a copy of the License at
2172
+ *
2173
+ * http://www.apache.org/licenses/LICENSE-2.0
2174
+ *
2175
+ * Unless required by applicable law or agreed to in writing, software
2176
+ * distributed under the License is distributed on an "AS IS" BASIS,
2177
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2178
+ * See the License for the specific language governing permissions and
2179
+ * limitations under the License.
2180
+ */
2181
+ class GioSubmenuGroupComponent {
2182
+ constructor() {
2183
+ this.title = '';
2184
+ }
2185
+ }
2186
+ GioSubmenuGroupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2187
+ GioSubmenuGroupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuGroupComponent, selector: "gio-submenu-group", inputs: { title: "title" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-submenu-group\">\n <div class=\"gio-submenu-group__title\">{{ title }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".gio-submenu-group{display:flex;flex-direction:column;margin-top:8px}.gio-submenu-group__title{height:36px;padding:8px 12px;margin:1px 0;border-radius:4px;color:#8e8f9c;letter-spacing:.4px}\n"] });
2188
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuGroupComponent, decorators: [{
2189
+ type: Component,
2190
+ args: [{ selector: 'gio-submenu-group', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-submenu-group\">\n <div class=\"gio-submenu-group__title\">{{ title }}</div>\n <ng-content></ng-content>\n</div>\n", styles: [".gio-submenu-group{display:flex;flex-direction:column;margin-top:8px}.gio-submenu-group__title{height:36px;padding:8px 12px;margin:1px 0;border-radius:4px;color:#8e8f9c;letter-spacing:.4px}\n"] }]
2191
+ }], propDecorators: { title: [{
2192
+ type: Input
2193
+ }] } });
2194
+
2195
+ /*
2196
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2197
+ *
2198
+ * Licensed under the Apache License, Version 2.0 (the "License");
2199
+ * you may not use this file except in compliance with the License.
2200
+ * You may obtain a copy of the License at
2201
+ *
2202
+ * http://www.apache.org/licenses/LICENSE-2.0
2203
+ *
2204
+ * Unless required by applicable law or agreed to in writing, software
2205
+ * distributed under the License is distributed on an "AS IS" BASIS,
2206
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2207
+ * See the License for the specific language governing permissions and
2208
+ * limitations under the License.
2209
+ */
2210
+ class GioSubmenuItemComponent {
2211
+ constructor() {
2212
+ this.active = false;
2213
+ }
2214
+ onKeydownHandler(event) {
2215
+ if (event.key === 'Enter') {
2216
+ this.gioSubmenuItem?.nativeElement.click();
2217
+ }
2218
+ }
2219
+ }
2220
+ GioSubmenuItemComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2221
+ GioSubmenuItemComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioSubmenuItemComponent, selector: "gio-submenu-item", inputs: { active: "active" }, host: { listeners: { "keydown": "onKeydownHandler($event)" } }, viewQueries: [{ propertyName: "gioSubmenuItem", first: true, predicate: ["gioSubmenuItem"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;margin:1px 0;border-radius:4px;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"] });
2222
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuItemComponent, decorators: [{
2223
+ type: Component,
2224
+ args: [{ selector: 'gio-submenu-item', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #gioSubmenuItem class=\"gio-submenu-item\" [class.gio-submenu-item__active]=\"active\">\n <span class=\"gio-submenu-item__title\"><ng-content></ng-content></span>\n</div>\n", styles: [":host{display:block}.gio-submenu-item{width:234px;height:36px;flex:none;flex-grow:0;order:2;padding:8px 12px;margin:1px 0;border-radius:4px;cursor:pointer}.gio-submenu-item__active{background:#494b61}.gio-submenu-item__title{width:37px;height:20px;flex:none;flex-grow:0;color:#fff;letter-spacing:.4px}:host-context(.gio-submenu-group) .gio-submenu-item{padding:8px 20px}.gio-submenu-item:hover:not(.gio-submenu-item__active){background:#33354d}\n"] }]
2225
+ }], propDecorators: { active: [{
2226
+ type: Input
2227
+ }], gioSubmenuItem: [{
2228
+ type: ViewChild,
2229
+ args: ['gioSubmenuItem', { static: false }]
2230
+ }], onKeydownHandler: [{
2231
+ type: HostListener,
2232
+ args: ['keydown', ['$event']]
2233
+ }] } });
2234
+
2235
+ /*
2236
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2237
+ *
2238
+ * Licensed under the Apache License, Version 2.0 (the "License");
2239
+ * you may not use this file except in compliance with the License.
2240
+ * You may obtain a copy of the License at
2241
+ *
2242
+ * http://www.apache.org/licenses/LICENSE-2.0
2243
+ *
2244
+ * Unless required by applicable law or agreed to in writing, software
2245
+ * distributed under the License is distributed on an "AS IS" BASIS,
2246
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2247
+ * See the License for the specific language governing permissions and
2248
+ * limitations under the License.
2249
+ */
2250
+ class GioSubmenuModule {
2251
+ }
2252
+ GioSubmenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2253
+ GioSubmenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, declarations: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective] });
2254
+ GioSubmenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
2255
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioSubmenuModule, decorators: [{
2256
+ type: NgModule,
2257
+ args: [{
2258
+ declarations: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective],
2259
+ exports: [GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuTitleDirective],
2260
+ imports: [CommonModule, MatIconModule, GioIconsModule],
2261
+ }]
2262
+ }] });
2263
+
2264
+ /*
2265
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2266
+ *
2267
+ * Licensed under the Apache License, Version 2.0 (the "License");
2268
+ * you may not use this file except in compliance with the License.
2269
+ * You may obtain a copy of the License at
2270
+ *
2271
+ * http://www.apache.org/licenses/LICENSE-2.0
2272
+ *
2273
+ * Unless required by applicable law or agreed to in writing, software
2274
+ * distributed under the License is distributed on an "AS IS" BASIS,
2275
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2276
+ * See the License for the specific language governing permissions and
2277
+ * limitations under the License.
2278
+ */
2279
+
2280
+ /*
2281
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2282
+ *
2283
+ * Licensed under the Apache License, Version 2.0 (the "License");
2284
+ * you may not use this file except in compliance with the License.
2285
+ * You may obtain a copy of the License at
2286
+ *
2287
+ * http://www.apache.org/licenses/LICENSE-2.0
2288
+ *
2289
+ * Unless required by applicable law or agreed to in writing, software
2290
+ * distributed under the License is distributed on an "AS IS" BASIS,
2291
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2292
+ * See the License for the specific language governing permissions and
2293
+ * limitations under the License.
2294
+ */
2295
+ class GioTopBarComponent {
2296
+ constructor() {
2297
+ this.type = 'am';
2298
+ this.productName = '';
2299
+ }
2300
+ }
2301
+ GioTopBarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2302
+ GioTopBarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarComponent, selector: "gio-top-bar", inputs: { type: "type", productName: "productName" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{width:100%}::ng-deep gio-top-bar .mat-icon-button{width:36px;height:36px;border-radius:4px;line-height:36px}::ng-deep gio-top-bar .mat-icon-button:hover{background:#33354d}.gio-top-bar{display:flex;align-items:center;padding:16px;background:#1c1e39;color:#f7f8fd;gap:18px}\n"] });
2303
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarComponent, decorators: [{
2304
+ type: Component,
2305
+ args: [{ selector: 'gio-top-bar', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{width:100%}::ng-deep gio-top-bar .mat-icon-button{width:36px;height:36px;border-radius:4px;line-height:36px}::ng-deep gio-top-bar .mat-icon-button:hover{background:#33354d}.gio-top-bar{display:flex;align-items:center;padding:16px;background:#1c1e39;color:#f7f8fd;gap:18px}\n"] }]
2306
+ }], propDecorators: { type: [{
2307
+ type: Input
2308
+ }], productName: [{
2309
+ type: Input
2310
+ }] } });
2311
+
2312
+ /*
2313
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2314
+ *
2315
+ * Licensed under the Apache License, Version 2.0 (the "License");
2316
+ * you may not use this file except in compliance with the License.
2317
+ * You may obtain a copy of the License at
2318
+ *
2319
+ * http://www.apache.org/licenses/LICENSE-2.0
2320
+ *
2321
+ * Unless required by applicable law or agreed to in writing, software
2322
+ * distributed under the License is distributed on an "AS IS" BASIS,
2323
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2324
+ * See the License for the specific language governing permissions and
2325
+ * limitations under the License.
2326
+ */
2327
+ class GioTopBarContentComponent {
2328
+ constructor() {
2329
+ this.type = 'am';
2330
+ this.productName = 'Access Management';
2331
+ }
2332
+ }
2333
+ GioTopBarContentComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2334
+ GioTopBarContentComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarContentComponent, selector: "gio-top-bar-content", inputs: { type: "type", productName: "productName" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-content\" [class]=\"type\">\n <mat-icon [svgIcon]=\"'gio:product-' + type\"></mat-icon>\n <span>{{ productName }}</span>\n</div>\n", styles: [".gio-top-bar-content{display:flex;height:36px;align-items:center;padding:8px 12px;border-radius:4px;gap:12px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-top-bar-content.am{background:rgba(236,72,153,.4);color:#fff}.gio-top-bar-content.apim{background:rgba(0,111,185,.5);color:#fff}.gio-top-bar-content.cockpit{background:rgba(135,111,236,.4);color:#fff}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
2335
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarContentComponent, decorators: [{
2336
+ type: Component,
2337
+ args: [{ selector: 'gio-top-bar-content', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-content\" [class]=\"type\">\n <mat-icon [svgIcon]=\"'gio:product-' + type\"></mat-icon>\n <span>{{ productName }}</span>\n</div>\n", styles: [".gio-top-bar-content{display:flex;height:36px;align-items:center;padding:8px 12px;border-radius:4px;gap:12px;font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-top-bar-content.am{background:rgba(236,72,153,.4);color:#fff}.gio-top-bar-content.apim{background:rgba(0,111,185,.5);color:#fff}.gio-top-bar-content.cockpit{background:rgba(135,111,236,.4);color:#fff}\n"] }]
2338
+ }], propDecorators: { type: [{
2339
+ type: Input
2340
+ }], productName: [{
2341
+ type: Input
2342
+ }] } });
2343
+
2344
+ /*
2345
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2346
+ *
2347
+ * Licensed under the Apache License, Version 2.0 (the "License");
2348
+ * you may not use this file except in compliance with the License.
2349
+ * You may obtain a copy of the License at
2350
+ *
2351
+ * http://www.apache.org/licenses/LICENSE-2.0
2352
+ *
2353
+ * Unless required by applicable law or agreed to in writing, software
2354
+ * distributed under the License is distributed on an "AS IS" BASIS,
2355
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2356
+ * See the License for the specific language governing permissions and
2357
+ * limitations under the License.
2358
+ */
2359
+ class GioTopBarModule {
2360
+ }
2361
+ GioTopBarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2362
+ GioTopBarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, declarations: [GioTopBarComponent, GioTopBarContentComponent], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioTopBarComponent, GioTopBarContentComponent] });
2363
+ GioTopBarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
2364
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarModule, decorators: [{
2365
+ type: NgModule,
2366
+ args: [{
2367
+ declarations: [GioTopBarComponent, GioTopBarContentComponent],
2368
+ exports: [GioTopBarComponent, GioTopBarContentComponent],
2369
+ imports: [CommonModule, MatIconModule, GioIconsModule],
2370
+ }]
2371
+ }] });
2372
+
2373
+ /*
2374
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2375
+ *
2376
+ * Licensed under the Apache License, Version 2.0 (the "License");
2377
+ * you may not use this file except in compliance with the License.
2378
+ * You may obtain a copy of the License at
2379
+ *
2380
+ * http://www.apache.org/licenses/LICENSE-2.0
2381
+ *
2382
+ * Unless required by applicable law or agreed to in writing, software
2383
+ * distributed under the License is distributed on an "AS IS" BASIS,
2384
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2385
+ * See the License for the specific language governing permissions and
2386
+ * limitations under the License.
2387
+ */
2388
+ class GioTopBarMenuComponent {
2389
+ }
2390
+ GioTopBarMenuComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2391
+ GioTopBarMenuComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarMenuComponent, selector: "gio-top-bar-menu", ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-top-bar-menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}\n"] });
2392
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuComponent, decorators: [{
2393
+ type: Component,
2394
+ args: [{ selector: 'gio-top-bar-menu', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-top-bar-menu\">\n <ng-content></ng-content>\n</div>\n", styles: [":host{flex-grow:1}.gio-top-bar-menu{display:flex;flex-direction:row;align-items:center;justify-content:flex-end;gap:8px}\n"] }]
2395
+ }] });
2396
+
2397
+ /*
2398
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2399
+ *
2400
+ * Licensed under the Apache License, Version 2.0 (the "License");
2401
+ * you may not use this file except in compliance with the License.
2402
+ * You may obtain a copy of the License at
2403
+ *
2404
+ * http://www.apache.org/licenses/LICENSE-2.0
2405
+ *
2406
+ * Unless required by applicable law or agreed to in writing, software
2407
+ * distributed under the License is distributed on an "AS IS" BASIS,
2408
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2409
+ * See the License for the specific language governing permissions and
2410
+ * limitations under the License.
2411
+ */
2412
+ class GioTopBarMenuModule {
2413
+ }
2414
+ GioTopBarMenuModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2415
+ GioTopBarMenuModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, declarations: [GioTopBarMenuComponent], imports: [CommonModule], exports: [GioTopBarMenuComponent] });
2416
+ GioTopBarMenuModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, imports: [[CommonModule]] });
2417
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarMenuModule, decorators: [{
2418
+ type: NgModule,
2419
+ args: [{
2420
+ declarations: [GioTopBarMenuComponent],
2421
+ exports: [GioTopBarMenuComponent],
2422
+ imports: [CommonModule],
2423
+ }]
2424
+ }] });
2425
+
2426
+ /*
2427
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2428
+ *
2429
+ * Licensed under the Apache License, Version 2.0 (the "License");
2430
+ * you may not use this file except in compliance with the License.
2431
+ * You may obtain a copy of the License at
2432
+ *
2433
+ * http://www.apache.org/licenses/LICENSE-2.0
2434
+ *
2435
+ * Unless required by applicable law or agreed to in writing, software
2436
+ * distributed under the License is distributed on an "AS IS" BASIS,
2437
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2438
+ * See the License for the specific language governing permissions and
2439
+ * limitations under the License.
2440
+ */
2441
+ class GioTopBarLinkComponent {
2442
+ constructor() {
2443
+ this.url = '';
2444
+ this.name = '';
2445
+ }
2446
+ }
2447
+ GioTopBarLinkComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2448
+ GioTopBarLinkComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioTopBarLinkComponent, selector: "gio-top-bar-link", inputs: { url: "url", name: "name" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<a mat-button [href]=\"url\" target=\"_blank\" class=\"gio-top-bar-link\">\n <div class=\"gio-top-bar-link__content\">\n <span>{{ name }}</span>\n <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </div>\n</a>\n", styles: [":host{display:block}.gio-top-bar-link{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;height:20px;color:#f7f8fd;letter-spacing:.4px;text-decoration:none}.gio-top-bar-link__content{display:flex;align-items:center;gap:8px}.gio-top-bar-link__content mat-icon{width:12px}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] });
2449
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkComponent, decorators: [{
2450
+ type: Component,
2451
+ args: [{ selector: 'gio-top-bar-link', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<a mat-button [href]=\"url\" target=\"_blank\" class=\"gio-top-bar-link\">\n <div class=\"gio-top-bar-link__content\">\n <span>{{ name }}</span>\n <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </div>\n</a>\n", styles: [":host{display:block}.gio-top-bar-link{font:600 14px/20px Golos UI,Roboto,Helvetica Neue,sans-serif;height:20px;color:#f7f8fd;letter-spacing:.4px;text-decoration:none}.gio-top-bar-link__content{display:flex;align-items:center;gap:8px}.gio-top-bar-link__content mat-icon{width:12px}\n"] }]
2452
+ }], propDecorators: { url: [{
2453
+ type: Input
2454
+ }], name: [{
2455
+ type: Input
2456
+ }] } });
2457
+
2458
+ /*
2459
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2460
+ *
2461
+ * Licensed under the Apache License, Version 2.0 (the "License");
2462
+ * you may not use this file except in compliance with the License.
2463
+ * You may obtain a copy of the License at
2464
+ *
2465
+ * http://www.apache.org/licenses/LICENSE-2.0
2466
+ *
2467
+ * Unless required by applicable law or agreed to in writing, software
2468
+ * distributed under the License is distributed on an "AS IS" BASIS,
2469
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2470
+ * See the License for the specific language governing permissions and
2471
+ * limitations under the License.
2472
+ */
2473
+ class GioTopBarLinkModule {
2474
+ }
2475
+ GioTopBarLinkModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2476
+ GioTopBarLinkModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, declarations: [GioTopBarLinkComponent], imports: [CommonModule, MatIconModule, GioIconsModule], exports: [GioTopBarLinkComponent] });
2477
+ GioTopBarLinkModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, imports: [[CommonModule, MatIconModule, GioIconsModule]] });
2478
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioTopBarLinkModule, decorators: [{
2479
+ type: NgModule,
2480
+ args: [{
2481
+ declarations: [GioTopBarLinkComponent],
2482
+ exports: [GioTopBarLinkComponent],
2483
+ imports: [CommonModule, MatIconModule, GioIconsModule],
2484
+ }]
2485
+ }] });
2486
+
2487
+ /*
2488
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2489
+ *
2490
+ * Licensed under the Apache License, Version 2.0 (the "License");
2491
+ * you may not use this file except in compliance with the License.
2492
+ * You may obtain a copy of the License at
2493
+ *
2494
+ * http://www.apache.org/licenses/LICENSE-2.0
2495
+ *
2496
+ * Unless required by applicable law or agreed to in writing, software
2497
+ * distributed under the License is distributed on an "AS IS" BASIS,
2498
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2499
+ * See the License for the specific language governing permissions and
2500
+ * limitations under the License.
2501
+ */
2502
+
2503
+ /*
2504
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2505
+ *
2506
+ * Licensed under the Apache License, Version 2.0 (the "License");
2507
+ * you may not use this file except in compliance with the License.
2508
+ * You may obtain a copy of the License at
2509
+ *
2510
+ * http://www.apache.org/licenses/LICENSE-2.0
2511
+ *
2512
+ * Unless required by applicable law or agreed to in writing, software
2513
+ * distributed under the License is distributed on an "AS IS" BASIS,
2514
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2515
+ * See the License for the specific language governing permissions and
2516
+ * limitations under the License.
2517
+ */
2518
+ class GioAvatarComponent {
2519
+ constructor(hostEl) {
2520
+ this.hostEl = hostEl;
2521
+ this.imgSrc = null;
2522
+ this.name = '';
2523
+ this.roundedBorder = false;
2524
+ this.width = this.size;
2525
+ this.height = this.size;
2526
+ this.defaultSize = Math.min(Number(this.hostEl.nativeElement.offsetWidth), Number(this.hostEl.nativeElement.offsetHeight)) || 110;
2527
+ }
2528
+ set src(src) {
2529
+ this.imgSrc = src || null;
2530
+ }
2531
+ ngOnChanges() {
2532
+ this.finalSize = this.size || this.defaultSize;
2533
+ }
2534
+ ngAfterViewInit() {
2535
+ if (this.imgSrc != null) {
2536
+ return;
2537
+ }
2538
+ if (this.avatarContainerEleRef) {
2539
+ this.avatarContainerEleRef.nativeElement.innerHTML = toSvg(this.name, this.finalSize, { backColor: '#FFF', padding: 0 });
2540
+ }
2541
+ }
2542
+ onImgError() {
2543
+ this.imgSrc = null;
2544
+ this.ngAfterViewInit();
2545
+ }
2546
+ }
2547
+ GioAvatarComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2548
+ GioAvatarComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioAvatarComponent, selector: "gio-avatar", inputs: { src: "src", name: "name", size: "size", roundedBorder: "roundedBorder" }, host: { properties: { "style.width.px": "this.width", "style.height.px": "this.height" } }, viewQueries: [{ propertyName: "avatarContainerEleRef", first: true, predicate: ["avatarContainer"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #avatarContainer class=\"gio-avatar\" [class.rounded]=\"roundedBorder\">\n <img *ngIf=\"imgSrc\" class=\"gio-avatar__img\" [src]=\"imgSrc\" alt=\"Avatar picture\" [width]=\"finalSize\" (error)=\"onImgError()\" />\n</div>\n", styles: [":host{position:relative;display:block}.rounded{border-radius:50%}.gio-avatar{width:100%;height:100%}.gio-avatar.rounded img{border-radius:50%;object-fit:cover}::ng-deep gio-avatar .gio-avatar.rounded svg{border-radius:50%}\n"], directives: [{ type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2549
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarComponent, decorators: [{
2550
+ type: Component,
2551
+ args: [{ selector: 'gio-avatar', template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div #avatarContainer class=\"gio-avatar\" [class.rounded]=\"roundedBorder\">\n <img *ngIf=\"imgSrc\" class=\"gio-avatar__img\" [src]=\"imgSrc\" alt=\"Avatar picture\" [width]=\"finalSize\" (error)=\"onImgError()\" />\n</div>\n", styles: [":host{position:relative;display:block}.rounded{border-radius:50%}.gio-avatar{width:100%;height:100%}.gio-avatar.rounded img{border-radius:50%;object-fit:cover}::ng-deep gio-avatar .gio-avatar.rounded svg{border-radius:50%}\n"] }]
2552
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }]; }, propDecorators: { src: [{
2553
+ type: Input
2554
+ }], name: [{
2555
+ type: Input
2556
+ }], size: [{
2557
+ type: Input
2558
+ }], roundedBorder: [{
2559
+ type: Input
2560
+ }], avatarContainerEleRef: [{
2561
+ type: ViewChild,
2562
+ args: ['avatarContainer']
2563
+ }], width: [{
2564
+ type: HostBinding,
2565
+ args: ['style.width.px']
2566
+ }], height: [{
2567
+ type: HostBinding,
2568
+ args: ['style.height.px']
2569
+ }] } });
2570
+
2571
+ /*
2572
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2573
+ *
2574
+ * Licensed under the Apache License, Version 2.0 (the "License");
2575
+ * you may not use this file except in compliance with the License.
2576
+ * You may obtain a copy of the License at
2577
+ *
2578
+ * http://www.apache.org/licenses/LICENSE-2.0
2579
+ *
2580
+ * Unless required by applicable law or agreed to in writing, software
2581
+ * distributed under the License is distributed on an "AS IS" BASIS,
2582
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2583
+ * See the License for the specific language governing permissions and
2584
+ * limitations under the License.
2585
+ */
2586
+ class GioAvatarModule {
2587
+ }
2588
+ GioAvatarModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2589
+ GioAvatarModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, declarations: [GioAvatarComponent], imports: [CommonModule], exports: [GioAvatarComponent] });
2590
+ GioAvatarModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, imports: [[CommonModule]] });
2591
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioAvatarModule, decorators: [{
2592
+ type: NgModule,
2593
+ args: [{
2594
+ imports: [CommonModule],
2595
+ declarations: [GioAvatarComponent],
2596
+ exports: [GioAvatarComponent],
2597
+ }]
2598
+ }] });
2599
+
2600
+ /*
2601
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2602
+ *
2603
+ * Licensed under the Apache License, Version 2.0 (the "License");
2604
+ * you may not use this file except in compliance with the License.
2605
+ * You may obtain a copy of the License at
2606
+ *
2607
+ * http://www.apache.org/licenses/LICENSE-2.0
2608
+ *
2609
+ * Unless required by applicable law or agreed to in writing, software
2610
+ * distributed under the License is distributed on an "AS IS" BASIS,
2611
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2612
+ * See the License for the specific language governing permissions and
2613
+ * limitations under the License.
2614
+ */
2615
+
2616
+ /*
2617
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
2618
+ *
2619
+ * Licensed under the Apache License, Version 2.0 (the "License");
2620
+ * you may not use this file except in compliance with the License.
2621
+ * You may obtain a copy of the License at
2622
+ *
2623
+ * http://www.apache.org/licenses/LICENSE-2.0
2624
+ *
2625
+ * Unless required by applicable law or agreed to in writing, software
2626
+ * distributed under the License is distributed on an "AS IS" BASIS,
2627
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2628
+ * See the License for the specific language governing permissions and
2629
+ * limitations under the License.
2630
+ */
2631
+ class GioBreadcrumbItemDirective {
2632
+ constructor(templateRef) {
2633
+ this.templateRef = templateRef;
2634
+ }
2635
+ }
2636
+ GioBreadcrumbItemDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbItemDirective, deps: [{ token: i0.TemplateRef }], target: i0.ɵɵFactoryTarget.Directive });
2637
+ GioBreadcrumbItemDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "13.3.12", type: GioBreadcrumbItemDirective, selector: "[gioBreadcrumbItem]", ngImport: i0 });
2638
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbItemDirective, decorators: [{
2639
+ type: Directive,
2640
+ args: [{
2641
+ selector: '[gioBreadcrumbItem]',
2642
+ }]
2643
+ }], ctorParameters: function () { return [{ type: i0.TemplateRef }]; } });
2644
+
2645
+ /*
2646
+ * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
2647
+ *
2648
+ * Licensed under the Apache License, Version 2.0 (the "License");
2649
+ * you may not use this file except in compliance with the License.
2650
+ * You may obtain a copy of the License at
2651
+ *
2652
+ * http://www.apache.org/licenses/LICENSE-2.0
2653
+ *
2654
+ * Unless required by applicable law or agreed to in writing, software
2655
+ * distributed under the License is distributed on an "AS IS" BASIS,
2656
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2657
+ * See the License for the specific language governing permissions and
2658
+ * limitations under the License.
2659
+ */
2660
+ class GioBreadcrumbComponent {
2661
+ }
2662
+ GioBreadcrumbComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2663
+ GioBreadcrumbComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.3.12", type: GioBreadcrumbComponent, selector: "gio-breadcrumb", queries: [{ propertyName: "itemDirectives", predicate: GioBreadcrumbItemDirective }], ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-breadcrumb\">\n <ng-container *ngFor=\"let item of itemDirectives; let first = first\">\n <mat-icon *ngIf=\"!first\" svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</div>\n", styles: [".gio-breadcrumb{display:flex;flex-flow:wrap;align-items:center;margin:2px}.gio-breadcrumb__content{display:flex;align-items:center;color:#606274}.gio-breadcrumb__content:last-child{font-weight:700}.gio-breadcrumb__icon{width:12px;height:12px;margin:0 6px;color:#bbbcc4;line-height:12px}\n"], components: [{ type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], directives: [{ type: i2$1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i2$1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i2$1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }] });
2664
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbComponent, decorators: [{
2665
+ type: Component,
2666
+ args: [{ selector: 'gio-breadcrumb', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-breadcrumb\">\n <ng-container *ngFor=\"let item of itemDirectives; let first = first\">\n <mat-icon *ngIf=\"!first\" svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n </ng-container>\n</div>\n", styles: [".gio-breadcrumb{display:flex;flex-flow:wrap;align-items:center;margin:2px}.gio-breadcrumb__content{display:flex;align-items:center;color:#606274}.gio-breadcrumb__content:last-child{font-weight:700}.gio-breadcrumb__icon{width:12px;height:12px;margin:0 6px;color:#bbbcc4;line-height:12px}\n"] }]
2667
+ }], propDecorators: { itemDirectives: [{
2668
+ type: ContentChildren,
2669
+ args: [GioBreadcrumbItemDirective]
2670
+ }] } });
2671
+
2672
+ /*
2673
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2674
+ *
2675
+ * Licensed under the Apache License, Version 2.0 (the "License");
2676
+ * you may not use this file except in compliance with the License.
2677
+ * You may obtain a copy of the License at
2678
+ *
2679
+ * http://www.apache.org/licenses/LICENSE-2.0
2680
+ *
2681
+ * Unless required by applicable law or agreed to in writing, software
2682
+ * distributed under the License is distributed on an "AS IS" BASIS,
2683
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2684
+ * See the License for the specific language governing permissions and
2685
+ * limitations under the License.
2686
+ */
2687
+ class GioBreadcrumbModule {
2688
+ }
2689
+ GioBreadcrumbModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
2690
+ GioBreadcrumbModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, declarations: [GioBreadcrumbComponent, GioBreadcrumbItemDirective], imports: [CommonModule, GioIconsModule], exports: [GioBreadcrumbComponent, GioBreadcrumbItemDirective] });
2691
+ GioBreadcrumbModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, imports: [[CommonModule, GioIconsModule]] });
2692
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.3.12", ngImport: i0, type: GioBreadcrumbModule, decorators: [{
2693
+ type: NgModule,
2694
+ args: [{
2695
+ imports: [CommonModule, GioIconsModule],
2696
+ declarations: [GioBreadcrumbComponent, GioBreadcrumbItemDirective],
2697
+ exports: [GioBreadcrumbComponent, GioBreadcrumbItemDirective],
2698
+ }]
2699
+ }] });
2700
+
2701
+ /*
2702
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
2703
+ *
2704
+ * Licensed under the Apache License, Version 2.0 (the "License");
2705
+ * you may not use this file except in compliance with the License.
2706
+ * You may obtain a copy of the License at
2707
+ *
2708
+ * http://www.apache.org/licenses/LICENSE-2.0
2709
+ *
2710
+ * Unless required by applicable law or agreed to in writing, software
2711
+ * distributed under the License is distributed on an "AS IS" BASIS,
2712
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2713
+ * See the License for the specific language governing permissions and
2714
+ * limitations under the License.
2715
+ */
2716
+
2717
+ /*
2718
+ * Copyright (C) 2021 The Gravitee team (http://gravitee.io)
2719
+ *
2720
+ * Licensed under the Apache License, Version 2.0 (the "License");
2721
+ * you may not use this file except in compliance with the License.
2722
+ * You may obtain a copy of the License at
2723
+ *
2724
+ * http://www.apache.org/licenses/LICENSE-2.0
2725
+ *
2726
+ * Unless required by applicable law or agreed to in writing, software
2727
+ * distributed under the License is distributed on an "AS IS" BASIS,
2728
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2729
+ * See the License for the specific language governing permissions and
2730
+ * limitations under the License.
2731
+ */
2732
+
2733
+ /*
2734
+ * Copyright (C) 2021 The Gravitee team (http://gravitee.io)
2735
+ *
2736
+ * Licensed under the Apache License, Version 2.0 (the "License");
2737
+ * you may not use this file except in compliance with the License.
2738
+ * You may obtain a copy of the License at
2739
+ *
2740
+ * http://www.apache.org/licenses/LICENSE-2.0
2741
+ *
2742
+ * Unless required by applicable law or agreed to in writing, software
2743
+ * distributed under the License is distributed on an "AS IS" BASIS,
2744
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
2745
+ * See the License for the specific language governing permissions and
2746
+ * limitations under the License.
2747
+ */
2748
+
2749
+ /**
2750
+ * Generated bundle index. Do not edit.
2751
+ */
2752
+
2753
+ export { GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuListComponent, GioMenuModule, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, NewFile };
2754
+ //# sourceMappingURL=gravitee-ui-particles-angular.mjs.map