@gravitee/ui-particles-angular 16.2.0 → 16.2.1-apim-11674-edit-ps-flows-for-llm-proxy-1371f4c
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.
|
@@ -2,12 +2,12 @@ import { trigger, transition, style, animate } from '@angular/animations';
|
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
3
|
import { EventEmitter, HostListener, HostBinding, Output, Input, Component, NgModule, ViewChild, Optional, Self, ChangeDetectionStrategy, Directive, Injector, Inject, Injectable, inject, signal, computed, ViewContainerRef, forwardRef, ContentChildren, Host, ContentChild, InjectionToken, effect, Pipe, ViewEncapsulation } from '@angular/core';
|
|
4
4
|
import { of, Subject, fromEvent, ReplaySubject, merge, Observable, BehaviorSubject, timer } from 'rxjs';
|
|
5
|
-
import { delay, tap, startWith, switchMap, map, distinctUntilChanged, takeUntil, filter, take,
|
|
5
|
+
import { delay, tap, startWith, switchMap, map, distinctUntilChanged, debounceTime, takeUntil, filter, take, shareReplay, catchError, debounce } from 'rxjs/operators';
|
|
6
6
|
import * as i1 from '@angular/material/card';
|
|
7
7
|
import { MatCardModule } from '@angular/material/card';
|
|
8
8
|
import * as i2 from '@angular/material/button';
|
|
9
9
|
import { MatButtonModule, MatButton, MatIconButton } from '@angular/material/button';
|
|
10
|
-
import * as i1$
|
|
10
|
+
import * as i1$3 from '@angular/common';
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
import { ComponentHarness, HarnessPredicate, parallel, TestKey } from '@angular/cdk/testing';
|
|
13
13
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
@@ -15,7 +15,7 @@ import { MatFormFieldControl, MatFormFieldModule, MAT_FORM_FIELD_DEFAULT_OPTIONS
|
|
|
15
15
|
import { isEmpty, isString, isObject, toLower, get, dropRight, isNil, isArray, remove, set, castArray, isEqual, cloneDeep, uniqueId, range, has, some, filter as filter$1, intersection } from 'lodash';
|
|
16
16
|
import * as i1$2 from '@angular/forms';
|
|
17
17
|
import { FormsModule, FormGroup, FormControl, Validators, ReactiveFormsModule, UntypedFormArray, UntypedFormGroup, UntypedFormControl, NG_VALUE_ACCESSOR, NG_VALIDATORS, NgControl } from '@angular/forms';
|
|
18
|
-
import * as
|
|
18
|
+
import * as i2$1 from '@angular/cdk/a11y';
|
|
19
19
|
import { A11yModule } from '@angular/cdk/a11y';
|
|
20
20
|
import * as i3 from '@angular/material/chips';
|
|
21
21
|
import { MatChipsModule } from '@angular/material/chips';
|
|
@@ -23,33 +23,33 @@ import * as i1$1 from '@angular/material/icon';
|
|
|
23
23
|
import { MatIconModule } from '@angular/material/icon';
|
|
24
24
|
import * as i5 from '@angular/material/autocomplete';
|
|
25
25
|
import { MatAutocompleteModule } from '@angular/material/autocomplete';
|
|
26
|
-
import * as i2$
|
|
26
|
+
import * as i2$3 from '@angular/material/input';
|
|
27
27
|
import { MatInputModule, MatInput } from '@angular/material/input';
|
|
28
28
|
import * as i5$1 from '@angular/material/select';
|
|
29
29
|
import { MatSelectModule } from '@angular/material/select';
|
|
30
|
-
import * as i2$
|
|
30
|
+
import * as i2$2 from '@angular/platform-browser';
|
|
31
31
|
import { MatAutocompleteHarness } from '@angular/material/autocomplete/testing';
|
|
32
32
|
import { MatChipGridHarness, MatChipHarness } from '@angular/material/chips/testing';
|
|
33
|
-
import
|
|
33
|
+
import { MatInputHarness } from '@angular/material/input/testing';
|
|
34
|
+
import * as i1$4 from '@angular/material/dialog';
|
|
34
35
|
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
35
36
|
import { MatButtonHarness } from '@angular/material/button/testing';
|
|
36
|
-
import { MatInputHarness } from '@angular/material/input/testing';
|
|
37
37
|
import * as i3$3 from '@angular/cdk/text-field';
|
|
38
38
|
import * as i3$2 from '@angular/material/progress-bar';
|
|
39
39
|
import { MatProgressBarModule } from '@angular/material/progress-bar';
|
|
40
|
-
import * as i2$
|
|
40
|
+
import * as i2$4 from '@angular/material/tooltip';
|
|
41
41
|
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
42
42
|
import * as i3$1 from '@angular/material/core';
|
|
43
43
|
import { MatRippleModule, MatOptionModule } from '@angular/material/core';
|
|
44
|
-
import * as i1$
|
|
44
|
+
import * as i1$5 from '@angular/cdk/clipboard';
|
|
45
45
|
import { ClipboardModule } from '@angular/cdk/clipboard';
|
|
46
46
|
import { Overlay, OverlayPositionBuilder } from '@angular/cdk/overlay';
|
|
47
47
|
import { TemplatePortal } from '@angular/cdk/portal';
|
|
48
48
|
import * as i3$4 from 'ngx-file-helpers';
|
|
49
49
|
import { ReadMode, NgxFileHelpersModule } from 'ngx-file-helpers';
|
|
50
50
|
import { toSvg } from 'jdenticon';
|
|
51
|
-
import * as i1$
|
|
52
|
-
import * as i1$
|
|
51
|
+
import * as i1$6 from '@ngx-formly/core/json-schema';
|
|
52
|
+
import * as i1$7 from '@ngx-formly/core';
|
|
53
53
|
import { FieldType, FieldArrayType, FieldWrapper, FormlyModule } from '@ngx-formly/core';
|
|
54
54
|
import { FieldType as FieldType$1, FormlyMaterialModule } from '@ngx-formly/material';
|
|
55
55
|
import * as i5$2 from '@angular/material/slide-toggle';
|
|
@@ -58,7 +58,7 @@ import * as i3$5 from '@angular/material/button-toggle';
|
|
|
58
58
|
import { MatButtonToggleModule } from '@angular/material/button-toggle';
|
|
59
59
|
import Cronstrue from 'cronstrue/i18n';
|
|
60
60
|
import { TestBed } from '@angular/core/testing';
|
|
61
|
-
import * as i1$
|
|
61
|
+
import * as i1$8 from '@angular/common/http';
|
|
62
62
|
import { MatButtonToggleGroupHarness } from '@angular/material/button-toggle/testing';
|
|
63
63
|
import { MatSelectHarness } from '@angular/material/select/testing';
|
|
64
64
|
|
|
@@ -525,7 +525,7 @@ class GioFormTagsInputComponent {
|
|
|
525
525
|
this.loading = true;
|
|
526
526
|
}), switchMap(() => {
|
|
527
527
|
if (typeof this._autocompleteOptions === 'function') {
|
|
528
|
-
return this._autocompleteOptions(this._tagInput?.nativeElement.value ?? '').pipe(map(options => sanitizeAutocompleteOptions(options)),
|
|
528
|
+
return this._autocompleteOptions(this._tagInput?.nativeElement.value ?? '').pipe(map(options => sanitizeAutocompleteOptions$1(options)),
|
|
529
529
|
// Add options to displayValueCache to avoid call on select
|
|
530
530
|
tap(groups => {
|
|
531
531
|
groups.forEach(group => {
|
|
@@ -535,20 +535,20 @@ class GioFormTagsInputComponent {
|
|
|
535
535
|
});
|
|
536
536
|
}));
|
|
537
537
|
}
|
|
538
|
-
return of(defaultAutocompleteFilter(this._autocompleteOptions ?? [], this._tagInput?.nativeElement.value ?? ''));
|
|
538
|
+
return of(defaultAutocompleteFilter$1(this._autocompleteOptions ?? [], this._tagInput?.nativeElement.value ?? ''));
|
|
539
539
|
}), tap(() => {
|
|
540
540
|
this.loading = false;
|
|
541
541
|
}), distinctUntilChanged());
|
|
542
542
|
this.changeDetectorRef.detectChanges();
|
|
543
543
|
}
|
|
544
544
|
}
|
|
545
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormTagsInputComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token:
|
|
545
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormTagsInputComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2$1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
546
546
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormTagsInputComponent, isStandalone: false, selector: "gio-form-tags-input", inputs: { ariaLabel: ["aria-label", "ariaLabel"], addOnBlur: "addOnBlur", tagValidationHook: "tagValidationHook", autocompleteOptions: "autocompleteOptions", displayValueWith: "displayValueWith", useAutocompleteOptionValueOnly: "useAutocompleteOptionValueOnly", placeholder: "placeholder", required: "required", disabled: "disabled" }, outputs: { tagClicked: "tagClicked" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
|
|
547
547
|
{
|
|
548
548
|
provide: MatFormFieldControl,
|
|
549
549
|
useExisting: GioFormTagsInputComponent,
|
|
550
550
|
},
|
|
551
|
-
], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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-grid #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n @for (tag of value; track tag) {\n <mat-chip-row [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\" [disabled]=\"disabled\" (click)=\"tagClicked.emit(tag)\">\n @if (_displayValueWith) {\n {{ _displayValueWith(tag) | async }}\n } @else {\n {{ tag }}\n }\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n <input\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions || disabled\"\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 @if (loading) {\n <mat-option disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n }\n @for (group of autocompleteFilteredOptions$ | async; track group.groupLabel) {\n @if (group.groupLabel) {\n <mat-optgroup [label]=\"group.groupLabel\">\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n </mat-optgroup>\n } @else {\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n }\n }\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: ["::ng-deep gio-form-tags-input .mat-mdc-standard-chip{height:unset!important;min-height:var(--mat-chip-container-height)}::ng-deep gio-form-tags-input .mat-mdc-standard-chip .mdc-evolution-chip__text-label{white-space:normal}.loader-option{display:flex}.loader-option gio-loader{width:24px}\n"], dependencies: [{ kind: "component", type: i3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: GioLoaderComponent, selector: "gio-loader" }, { kind: "pipe", type: i1$
|
|
551
|
+
], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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-grid #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n @for (tag of value; track tag) {\n <mat-chip-row [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\" [disabled]=\"disabled\" (click)=\"tagClicked.emit(tag)\">\n @if (_displayValueWith) {\n {{ _displayValueWith(tag) | async }}\n } @else {\n {{ tag }}\n }\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\n }\n <input\n #tagInput\n [matAutocompleteDisabled]=\"!_autocompleteOptions || disabled\"\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 @if (loading) {\n <mat-option disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n }\n @for (group of autocompleteFilteredOptions$ | async; track group.groupLabel) {\n @if (group.groupLabel) {\n <mat-optgroup [label]=\"group.groupLabel\">\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n </mat-optgroup>\n } @else {\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n }\n }\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: ["::ng-deep gio-form-tags-input .mat-mdc-standard-chip{height:unset!important;min-height:var(--mat-chip-container-height)}::ng-deep gio-form-tags-input .mat-mdc-standard-chip .mdc-evolution-chip__text-label{white-space:normal}.loader-option{display:flex}.loader-option gio-loader{width:24px}\n"], dependencies: [{ kind: "component", type: i3.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i3.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled", "readonly", "matChipInputDisabledInteractive"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i3.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i3.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: GioLoaderComponent, selector: "gio-loader" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
552
552
|
}
|
|
553
553
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormTagsInputComponent, decorators: [{
|
|
554
554
|
type: Component,
|
|
@@ -562,7 +562,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
562
562
|
type: Optional
|
|
563
563
|
}, {
|
|
564
564
|
type: Self
|
|
565
|
-
}] }, { type: i0.ElementRef }, { type:
|
|
565
|
+
}] }, { type: i0.ElementRef }, { type: i2$1.FocusMonitor }, { type: i0.ChangeDetectorRef }], propDecorators: { ariaLabel: [{
|
|
566
566
|
type: Input,
|
|
567
567
|
args: ['aria-label']
|
|
568
568
|
}], addOnBlur: [{
|
|
@@ -596,19 +596,19 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
596
596
|
type: HostBinding,
|
|
597
597
|
args: ['attr.aria-describedby']
|
|
598
598
|
}] } });
|
|
599
|
-
const defaultAutocompleteFilter = (options, search) => {
|
|
599
|
+
const defaultAutocompleteFilter$1 = (options, search) => {
|
|
600
600
|
const optionsFilter = (options, search) => {
|
|
601
601
|
return options.filter(option => option.label.toLowerCase().includes((search ?? '').toLowerCase()) ||
|
|
602
602
|
option.value.toLowerCase().includes((search ?? '').toLowerCase()));
|
|
603
603
|
};
|
|
604
|
-
return sanitizeAutocompleteOptions(options)
|
|
604
|
+
return sanitizeAutocompleteOptions$1(options)
|
|
605
605
|
.map(group => ({
|
|
606
606
|
groupLabel: group.groupLabel,
|
|
607
607
|
groupOptions: optionsFilter(group.groupOptions, search),
|
|
608
608
|
}))
|
|
609
609
|
.filter(group => group.groupOptions.length > 0);
|
|
610
610
|
};
|
|
611
|
-
const sanitizeAutocompleteOptions = (options) => {
|
|
611
|
+
const sanitizeAutocompleteOptions$1 = (options) => {
|
|
612
612
|
const sanitizeFlatOptions = (flatOptions) => flatOptions.map(option => {
|
|
613
613
|
if (option && typeof option !== 'string' && 'value' in option && 'label' in option) {
|
|
614
614
|
return option;
|
|
@@ -653,7 +653,7 @@ class GioIconsModule {
|
|
|
653
653
|
constructor(matIconRegistry, sanitizer) {
|
|
654
654
|
matIconRegistry.addSvgIconSetInNamespace('gio', sanitizer.bypassSecurityTrustResourceUrl('assets/gio-icons.svg'));
|
|
655
655
|
}
|
|
656
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioIconsModule, deps: [{ token: i1$1.MatIconRegistry }, { token: i2$
|
|
656
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioIconsModule, deps: [{ token: i1$1.MatIconRegistry }, { token: i2$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
657
657
|
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: GioIconsModule, imports: [CommonModule, MatIconModule], exports: [MatIconModule] }); }
|
|
658
658
|
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioIconsModule, imports: [CommonModule, MatIconModule, MatIconModule] }); }
|
|
659
659
|
}
|
|
@@ -663,7 +663,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
663
663
|
imports: [CommonModule, MatIconModule],
|
|
664
664
|
exports: [MatIconModule],
|
|
665
665
|
}]
|
|
666
|
-
}], ctorParameters: () => [{ type: i1$1.MatIconRegistry }, { type: i2$
|
|
666
|
+
}], ctorParameters: () => [{ type: i1$1.MatIconRegistry }, { type: i2$2.DomSanitizer }] });
|
|
667
667
|
|
|
668
668
|
/*
|
|
669
669
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
@@ -828,6 +828,484 @@ class GioFormTagsInputHarness extends ComponentHarness {
|
|
|
828
828
|
}
|
|
829
829
|
}
|
|
830
830
|
|
|
831
|
+
class GioFormAutocompleteInputComponent {
|
|
832
|
+
static { this.nextId = 0; }
|
|
833
|
+
set autocompleteInputOptions(v) {
|
|
834
|
+
this._autocompleteInputOptions = v;
|
|
835
|
+
}
|
|
836
|
+
set input(v) {
|
|
837
|
+
if (v) {
|
|
838
|
+
this.fm.monitor(v.nativeElement).subscribe(origin => {
|
|
839
|
+
if (origin) {
|
|
840
|
+
this.initAutocomplete();
|
|
841
|
+
}
|
|
842
|
+
});
|
|
843
|
+
}
|
|
844
|
+
else if (this._input) {
|
|
845
|
+
this.fm.stopMonitoring(this._input.nativeElement);
|
|
846
|
+
}
|
|
847
|
+
this._input = v;
|
|
848
|
+
}
|
|
849
|
+
// From MatFormFieldControl interface
|
|
850
|
+
get value() {
|
|
851
|
+
return this._value;
|
|
852
|
+
}
|
|
853
|
+
set value(_value) {
|
|
854
|
+
this._value = _value;
|
|
855
|
+
this._onChange(_value);
|
|
856
|
+
this.updateInputValue();
|
|
857
|
+
this.stateChanges.next();
|
|
858
|
+
}
|
|
859
|
+
// From MatFormFieldControl interface
|
|
860
|
+
get placeholder() {
|
|
861
|
+
return this._placeholder;
|
|
862
|
+
}
|
|
863
|
+
set placeholder(plh) {
|
|
864
|
+
this._placeholder = plh;
|
|
865
|
+
this.stateChanges.next();
|
|
866
|
+
}
|
|
867
|
+
// From MatFormFieldControl interface
|
|
868
|
+
get empty() {
|
|
869
|
+
return isEmpty(this.value) && isEmpty(this._input?.nativeElement?.value);
|
|
870
|
+
}
|
|
871
|
+
// From MatFormFieldControl interface
|
|
872
|
+
get shouldLabelFloat() {
|
|
873
|
+
return this.focused || !this.empty;
|
|
874
|
+
}
|
|
875
|
+
// From MatFormFieldControl interface
|
|
876
|
+
get required() {
|
|
877
|
+
return this._required;
|
|
878
|
+
}
|
|
879
|
+
set required(req) {
|
|
880
|
+
this._required = coerceBooleanProperty(req);
|
|
881
|
+
this.stateChanges.next();
|
|
882
|
+
}
|
|
883
|
+
// From MatFormFieldControl interface
|
|
884
|
+
get disabled() {
|
|
885
|
+
return this._disabled || (this.ngControl && this.ngControl.disabled === true);
|
|
886
|
+
}
|
|
887
|
+
set disabled(dis) {
|
|
888
|
+
this._disabled = coerceBooleanProperty(dis);
|
|
889
|
+
this.stateChanges.next();
|
|
890
|
+
}
|
|
891
|
+
// From MatFormFieldControl interface
|
|
892
|
+
get errorState() {
|
|
893
|
+
return (this.touched && ((this.required && this.empty) || (this.ngControl && this.ngControl.touched === true && !!this.ngControl.errors)));
|
|
894
|
+
}
|
|
895
|
+
constructor(ngControl, elRef, fm, changeDetectorRef) {
|
|
896
|
+
this.ngControl = ngControl;
|
|
897
|
+
this.elRef = elRef;
|
|
898
|
+
this.fm = fm;
|
|
899
|
+
this.changeDetectorRef = changeDetectorRef;
|
|
900
|
+
this._onChange = () => ({});
|
|
901
|
+
this._onTouched = () => ({});
|
|
902
|
+
this.touched = false;
|
|
903
|
+
this.ariaLabel = '';
|
|
904
|
+
this._input = null;
|
|
905
|
+
this.loading = false;
|
|
906
|
+
this.inputValue = '';
|
|
907
|
+
this._value = null;
|
|
908
|
+
// From MatFormFieldControl interface
|
|
909
|
+
this.stateChanges = new Subject();
|
|
910
|
+
// From MatFormFieldControl interface
|
|
911
|
+
this.id = `gio-form-autocomplete-input-${GioFormAutocompleteInputComponent.nextId++}`;
|
|
912
|
+
this._placeholder = '';
|
|
913
|
+
// From MatFormFieldControl interface
|
|
914
|
+
this.focused = false;
|
|
915
|
+
this._required = false;
|
|
916
|
+
this._disabled = false;
|
|
917
|
+
// From MatFormFieldControl interface
|
|
918
|
+
this.controlType = 'gio-form-autocomplete-input';
|
|
919
|
+
// From MatFormFieldControl interface
|
|
920
|
+
this.describedBy = '';
|
|
921
|
+
if (this.ngControl != null) {
|
|
922
|
+
this.ngControl.valueAccessor = this;
|
|
923
|
+
}
|
|
924
|
+
fm.monitor(elRef.nativeElement, true).subscribe(origin => {
|
|
925
|
+
this.focused = !!origin;
|
|
926
|
+
this._onTouched();
|
|
927
|
+
this.touched = true;
|
|
928
|
+
this.stateChanges.next();
|
|
929
|
+
});
|
|
930
|
+
}
|
|
931
|
+
ngDoCheck() {
|
|
932
|
+
if (this.ngControl != null && this.touched !== this.ngControl.touched) {
|
|
933
|
+
this.touched = this.ngControl.touched === true;
|
|
934
|
+
this.stateChanges.next();
|
|
935
|
+
}
|
|
936
|
+
}
|
|
937
|
+
ngOnDestroy() {
|
|
938
|
+
this.stateChanges.complete();
|
|
939
|
+
this.fm.stopMonitoring(this.elRef.nativeElement);
|
|
940
|
+
if (this._input) {
|
|
941
|
+
this.fm.stopMonitoring(this._input.nativeElement);
|
|
942
|
+
}
|
|
943
|
+
}
|
|
944
|
+
// From ControlValueAccess interface
|
|
945
|
+
setDisabledState(isDisabled) {
|
|
946
|
+
this.disabled = isDisabled;
|
|
947
|
+
}
|
|
948
|
+
// From ControlValueAccessor interface
|
|
949
|
+
writeValue(value) {
|
|
950
|
+
this._value = value;
|
|
951
|
+
this.updateInputValue();
|
|
952
|
+
this.changeDetectorRef.detectChanges();
|
|
953
|
+
this.changeDetectorRef.markForCheck();
|
|
954
|
+
this.stateChanges.next();
|
|
955
|
+
}
|
|
956
|
+
// From ControlValueAccessor interface
|
|
957
|
+
registerOnChange(fn) {
|
|
958
|
+
this._onChange = fn;
|
|
959
|
+
}
|
|
960
|
+
// From ControlValueAccessor interface
|
|
961
|
+
registerOnTouched(fn) {
|
|
962
|
+
this._onTouched = fn;
|
|
963
|
+
}
|
|
964
|
+
setDescribedByIds(ids) {
|
|
965
|
+
this.describedBy = ids.join(' ');
|
|
966
|
+
}
|
|
967
|
+
// From MatFormFieldControl interface
|
|
968
|
+
onContainerClick(_event) {
|
|
969
|
+
if (this._input) {
|
|
970
|
+
this._input.nativeElement.focus();
|
|
971
|
+
}
|
|
972
|
+
}
|
|
973
|
+
onAutocompleteInputSelect(event) {
|
|
974
|
+
this.value = event.option.value;
|
|
975
|
+
}
|
|
976
|
+
onInputChange(value) {
|
|
977
|
+
this.inputValue = value;
|
|
978
|
+
}
|
|
979
|
+
getDisplayValue(value) {
|
|
980
|
+
if (this.displayWith) {
|
|
981
|
+
return this.displayWith(value);
|
|
982
|
+
}
|
|
983
|
+
return value;
|
|
984
|
+
}
|
|
985
|
+
updateInputValue() {
|
|
986
|
+
if (this._value) {
|
|
987
|
+
this.inputValue = this.getDisplayValue(this._value);
|
|
988
|
+
}
|
|
989
|
+
else {
|
|
990
|
+
this.inputValue = '';
|
|
991
|
+
}
|
|
992
|
+
}
|
|
993
|
+
initAutocomplete() {
|
|
994
|
+
if (this._autocompleteInputOptions && this._input?.nativeElement) {
|
|
995
|
+
this.autocompleteInputFilteredOptions$ = fromEvent(this._input.nativeElement, 'input').pipe(startWith(''), debounceTime(300), tap(() => {
|
|
996
|
+
this.loading = true;
|
|
997
|
+
}), switchMap(() => {
|
|
998
|
+
const searchValue = this._input?.nativeElement.value ?? '';
|
|
999
|
+
if (typeof this._autocompleteInputOptions === 'function') {
|
|
1000
|
+
return this._autocompleteInputOptions(searchValue).pipe(map(options => sanitizeAutocompleteOptions(options)));
|
|
1001
|
+
}
|
|
1002
|
+
return of(defaultAutocompleteFilter(this._autocompleteInputOptions ?? [], searchValue));
|
|
1003
|
+
}), tap(() => {
|
|
1004
|
+
this.loading = false;
|
|
1005
|
+
}), distinctUntilChanged());
|
|
1006
|
+
this.changeDetectorRef.detectChanges();
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormAutocompleteInputComponent, deps: [{ token: i1$2.NgControl, optional: true, self: true }, { token: i0.ElementRef }, { token: i2$1.FocusMonitor }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1010
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormAutocompleteInputComponent, isStandalone: false, selector: "gio-form-autocomplete-input", inputs: { ariaLabel: ["aria-label", "ariaLabel"], autocompleteInputOptions: "autocompleteInputOptions", displayWith: "displayWith", placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "class.floating": "this.shouldLabelFloat", "attr.aria-describedby": "this.describedBy" } }, providers: [
|
|
1011
|
+
{
|
|
1012
|
+
provide: MatFormFieldControl,
|
|
1013
|
+
useExisting: GioFormAutocompleteInputComponent,
|
|
1014
|
+
},
|
|
1015
|
+
], viewQueries: [{ propertyName: "input", first: true, predicate: ["input"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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 Copyright (C) 2025 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<input\n #input\n type=\"text\"\n matInput\n [attr.aria-label]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [matAutocomplete]=\"auto\"\n [value]=\"inputValue\"\n (input)=\"onInputChange($any($event.target).value)\"\n/>\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteInputSelect($event)\">\n @if (loading) {\n <mat-option disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n }\n @for (group of autocompleteInputFilteredOptions$ | async; track group.groupLabel) {\n @if (group.groupLabel) {\n <mat-optgroup [label]=\"group.groupLabel\">\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n </mat-optgroup>\n } @else {\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n }\n }\n</mat-autocomplete>\n", styles: [":host{display:block}input{width:100%;border:none;outline:none;padding:0;font:inherit;background:transparent}input:disabled{cursor:not-allowed}.loader-option{display:flex;justify-content:center;padding:8px 0}::ng-deep gio-form-autocomplete-input .mat-mdc-standard-chip{height:unset!important;min-height:var(--mat-chip-container-height)}::ng-deep gio-form-autocomplete-input .mat-mdc-standard-chip .mdc-evolution-chip__text-label{white-space:normal}\n"], dependencies: [{ kind: "directive", type: i2$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i5.MatOptgroup, selector: "mat-optgroup", inputs: ["label", "disabled"], exportAs: ["matOptgroup"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: GioLoaderComponent, selector: "gio-loader" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1016
|
+
}
|
|
1017
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormAutocompleteInputComponent, decorators: [{
|
|
1018
|
+
type: Component,
|
|
1019
|
+
args: [{ selector: 'gio-form-autocomplete-input', changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
1020
|
+
{
|
|
1021
|
+
provide: MatFormFieldControl,
|
|
1022
|
+
useExisting: GioFormAutocompleteInputComponent,
|
|
1023
|
+
},
|
|
1024
|
+
], standalone: false, template: "<!--\n\n Copyright (C) 2025 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 Copyright (C) 2025 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<input\n #input\n type=\"text\"\n matInput\n [attr.aria-label]=\"ariaLabel\"\n [placeholder]=\"placeholder\"\n [disabled]=\"disabled\"\n [matAutocomplete]=\"auto\"\n [value]=\"inputValue\"\n (input)=\"onInputChange($any($event.target).value)\"\n/>\n<mat-autocomplete #auto=\"matAutocomplete\" (optionSelected)=\"onAutocompleteInputSelect($event)\">\n @if (loading) {\n <mat-option disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n }\n @for (group of autocompleteInputFilteredOptions$ | async; track group.groupLabel) {\n @if (group.groupLabel) {\n <mat-optgroup [label]=\"group.groupLabel\">\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n </mat-optgroup>\n } @else {\n @for (option of group.groupOptions; track option.value) {\n <mat-option [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n }\n }\n }\n</mat-autocomplete>\n", styles: [":host{display:block}input{width:100%;border:none;outline:none;padding:0;font:inherit;background:transparent}input:disabled{cursor:not-allowed}.loader-option{display:flex;justify-content:center;padding:8px 0}::ng-deep gio-form-autocomplete-input .mat-mdc-standard-chip{height:unset!important;min-height:var(--mat-chip-container-height)}::ng-deep gio-form-autocomplete-input .mat-mdc-standard-chip .mdc-evolution-chip__text-label{white-space:normal}\n"] }]
|
|
1025
|
+
}], ctorParameters: () => [{ type: i1$2.NgControl, decorators: [{
|
|
1026
|
+
type: Optional
|
|
1027
|
+
}, {
|
|
1028
|
+
type: Self
|
|
1029
|
+
}] }, { type: i0.ElementRef }, { type: i2$1.FocusMonitor }, { type: i0.ChangeDetectorRef }], propDecorators: { ariaLabel: [{
|
|
1030
|
+
type: Input,
|
|
1031
|
+
args: ['aria-label']
|
|
1032
|
+
}], autocompleteInputOptions: [{
|
|
1033
|
+
type: Input
|
|
1034
|
+
}], displayWith: [{
|
|
1035
|
+
type: Input
|
|
1036
|
+
}], input: [{
|
|
1037
|
+
type: ViewChild,
|
|
1038
|
+
args: ['input']
|
|
1039
|
+
}], id: [{
|
|
1040
|
+
type: HostBinding,
|
|
1041
|
+
args: ['id']
|
|
1042
|
+
}], placeholder: [{
|
|
1043
|
+
type: Input
|
|
1044
|
+
}], shouldLabelFloat: [{
|
|
1045
|
+
type: HostBinding,
|
|
1046
|
+
args: ['class.floating']
|
|
1047
|
+
}], required: [{
|
|
1048
|
+
type: Input
|
|
1049
|
+
}], disabled: [{
|
|
1050
|
+
type: Input
|
|
1051
|
+
}], describedBy: [{
|
|
1052
|
+
type: HostBinding,
|
|
1053
|
+
args: ['attr.aria-describedby']
|
|
1054
|
+
}] } });
|
|
1055
|
+
const defaultAutocompleteFilter = (options, search) => {
|
|
1056
|
+
const optionsFilter = (options, search) => {
|
|
1057
|
+
return options.filter(option => option.label.toLowerCase().includes((search ?? '').toLowerCase()) ||
|
|
1058
|
+
option.value.toLowerCase().includes((search ?? '').toLowerCase()));
|
|
1059
|
+
};
|
|
1060
|
+
return sanitizeAutocompleteOptions(options)
|
|
1061
|
+
.map(group => ({
|
|
1062
|
+
groupLabel: group.groupLabel,
|
|
1063
|
+
groupOptions: optionsFilter(group.groupOptions, search),
|
|
1064
|
+
}))
|
|
1065
|
+
.filter(group => group.groupOptions.length > 0);
|
|
1066
|
+
};
|
|
1067
|
+
const sanitizeAutocompleteOptions = (options) => {
|
|
1068
|
+
const sanitizeFlatOptions = (flatOptions) => flatOptions.map(option => {
|
|
1069
|
+
if (option && typeof option !== 'string' && 'value' in option && 'label' in option) {
|
|
1070
|
+
return option;
|
|
1071
|
+
}
|
|
1072
|
+
return { value: option, label: option };
|
|
1073
|
+
});
|
|
1074
|
+
if (Array.isArray(options) &&
|
|
1075
|
+
(options.length === 0 || typeof options[0] === 'string' || ('value' in options[0] && 'label' in options[0]))) {
|
|
1076
|
+
const optionsFlat = options;
|
|
1077
|
+
return [
|
|
1078
|
+
{
|
|
1079
|
+
groupOptions: sanitizeFlatOptions(optionsFlat),
|
|
1080
|
+
},
|
|
1081
|
+
];
|
|
1082
|
+
}
|
|
1083
|
+
else {
|
|
1084
|
+
const optionsGrouped = options;
|
|
1085
|
+
return optionsGrouped.map(group => ({
|
|
1086
|
+
groupLabel: group.groupLabel,
|
|
1087
|
+
groupOptions: sanitizeFlatOptions(group.groupOptions),
|
|
1088
|
+
}));
|
|
1089
|
+
}
|
|
1090
|
+
};
|
|
1091
|
+
|
|
1092
|
+
/*
|
|
1093
|
+
* Copyright (C) 2025 The Gravitee team (http://gravitee.io)
|
|
1094
|
+
*
|
|
1095
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1096
|
+
* you may not use this file except in compliance with the License.
|
|
1097
|
+
* You may obtain a copy of the License at
|
|
1098
|
+
*
|
|
1099
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1100
|
+
*
|
|
1101
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1102
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1103
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1104
|
+
* See the License for the specific language governing permissions and
|
|
1105
|
+
* limitations under the License.
|
|
1106
|
+
*/
|
|
1107
|
+
class GioFormAutocompleteInputModule {
|
|
1108
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormAutocompleteInputModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1109
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: GioFormAutocompleteInputModule, declarations: [GioFormAutocompleteInputComponent], imports: [CommonModule, A11yModule, MatInputModule, FormsModule, MatAutocompleteModule, GioLoaderModule], exports: [GioFormAutocompleteInputComponent] }); }
|
|
1110
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormAutocompleteInputModule, imports: [CommonModule, A11yModule, MatInputModule, FormsModule, MatAutocompleteModule, GioLoaderModule] }); }
|
|
1111
|
+
}
|
|
1112
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormAutocompleteInputModule, decorators: [{
|
|
1113
|
+
type: NgModule,
|
|
1114
|
+
args: [{
|
|
1115
|
+
imports: [CommonModule, A11yModule, MatInputModule, FormsModule, MatAutocompleteModule, GioLoaderModule],
|
|
1116
|
+
declarations: [GioFormAutocompleteInputComponent],
|
|
1117
|
+
exports: [GioFormAutocompleteInputComponent],
|
|
1118
|
+
}]
|
|
1119
|
+
}] });
|
|
1120
|
+
|
|
1121
|
+
/*
|
|
1122
|
+
* Copyright (C) 2025 The Gravitee team (http://gravitee.io)
|
|
1123
|
+
*
|
|
1124
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
1125
|
+
* you may not use this file except in compliance with the License.
|
|
1126
|
+
* You may obtain a copy of the License at
|
|
1127
|
+
*
|
|
1128
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
1129
|
+
*
|
|
1130
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
1131
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
1132
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
1133
|
+
* See the License for the specific language governing permissions and
|
|
1134
|
+
* limitations under the License.
|
|
1135
|
+
*/
|
|
1136
|
+
class GioFormAutocompleteInputHarness extends ComponentHarness {
|
|
1137
|
+
constructor() {
|
|
1138
|
+
super(...arguments);
|
|
1139
|
+
// public static with(options: GioFormAutocompleteInputHarnessFilters = {}): HarnessPredicate<GioFormAutocompleteInputHarness> {
|
|
1140
|
+
// return new HarnessPredicate(GioFormAutocompleteInputHarness, options);
|
|
1141
|
+
// }
|
|
1142
|
+
this.getInput = this.locatorFor(MatInputHarness);
|
|
1143
|
+
this.getAutocomplete = this.locatorForOptional(MatAutocompleteHarness);
|
|
1144
|
+
}
|
|
1145
|
+
static { this.hostSelector = 'gio-form-autocomplete-input'; }
|
|
1146
|
+
static with(options = {}) {
|
|
1147
|
+
return new HarnessPredicate(GioFormAutocompleteInputHarness, options);
|
|
1148
|
+
}
|
|
1149
|
+
/**
|
|
1150
|
+
* Gets the current value of the input
|
|
1151
|
+
*/
|
|
1152
|
+
async getValue() {
|
|
1153
|
+
const input = await this.getInput();
|
|
1154
|
+
// Try to get value directly from the input property
|
|
1155
|
+
try {
|
|
1156
|
+
const host = await input.host();
|
|
1157
|
+
const value = await host.getProperty('value');
|
|
1158
|
+
if (value !== null && value !== undefined) {
|
|
1159
|
+
return value;
|
|
1160
|
+
}
|
|
1161
|
+
}
|
|
1162
|
+
catch (e) {
|
|
1163
|
+
// Ignore and try next approach
|
|
1164
|
+
}
|
|
1165
|
+
// Fallback to MatInputHarness getValue
|
|
1166
|
+
try {
|
|
1167
|
+
return await input.getValue();
|
|
1168
|
+
}
|
|
1169
|
+
catch (e) {
|
|
1170
|
+
return '';
|
|
1171
|
+
}
|
|
1172
|
+
}
|
|
1173
|
+
async setValue(value) {
|
|
1174
|
+
const input = await this.getInput();
|
|
1175
|
+
// Focus first
|
|
1176
|
+
await input.focus();
|
|
1177
|
+
// Clear existing value
|
|
1178
|
+
await input.setValue('');
|
|
1179
|
+
// Set value and trigger events
|
|
1180
|
+
await input.setValue(value);
|
|
1181
|
+
// Dispatch events on the host element
|
|
1182
|
+
try {
|
|
1183
|
+
const host = await input.host();
|
|
1184
|
+
await host.dispatchEvent('input', { bubbles: true });
|
|
1185
|
+
await host.dispatchEvent('change', { bubbles: true });
|
|
1186
|
+
}
|
|
1187
|
+
catch {
|
|
1188
|
+
// Ignore if dispatch fails
|
|
1189
|
+
}
|
|
1190
|
+
}
|
|
1191
|
+
/**
|
|
1192
|
+
* Types text into the input (triggers input events)
|
|
1193
|
+
*/
|
|
1194
|
+
async type(text) {
|
|
1195
|
+
const input = await this.getInput();
|
|
1196
|
+
await input.focus();
|
|
1197
|
+
await input.setValue('');
|
|
1198
|
+
await input.setValue(text);
|
|
1199
|
+
// Dispatch events
|
|
1200
|
+
try {
|
|
1201
|
+
const host = await input.host();
|
|
1202
|
+
await host.dispatchEvent('input');
|
|
1203
|
+
await host.dispatchEvent('change');
|
|
1204
|
+
}
|
|
1205
|
+
catch {
|
|
1206
|
+
// Ignore
|
|
1207
|
+
}
|
|
1208
|
+
}
|
|
1209
|
+
/**
|
|
1210
|
+
* Focuses the input
|
|
1211
|
+
*/
|
|
1212
|
+
async focus() {
|
|
1213
|
+
const input = await this.getInput();
|
|
1214
|
+
await input.focus();
|
|
1215
|
+
}
|
|
1216
|
+
/**
|
|
1217
|
+
* Blurs the input
|
|
1218
|
+
*/
|
|
1219
|
+
async blur() {
|
|
1220
|
+
const input = await this.getInput();
|
|
1221
|
+
await input.blur();
|
|
1222
|
+
}
|
|
1223
|
+
/**
|
|
1224
|
+
* Checks if the input is focused
|
|
1225
|
+
*/
|
|
1226
|
+
async isFocused() {
|
|
1227
|
+
const input = await this.getInput();
|
|
1228
|
+
return input.isFocused();
|
|
1229
|
+
}
|
|
1230
|
+
/**
|
|
1231
|
+
* Checks if the input is disabled
|
|
1232
|
+
*/
|
|
1233
|
+
async isDisabled() {
|
|
1234
|
+
const input = await this.getInput();
|
|
1235
|
+
return input.isDisabled();
|
|
1236
|
+
}
|
|
1237
|
+
/**
|
|
1238
|
+
* Gets the placeholder of the input
|
|
1239
|
+
*/
|
|
1240
|
+
async getPlaceholder() {
|
|
1241
|
+
const input = await this.getInput();
|
|
1242
|
+
return input.getPlaceholder();
|
|
1243
|
+
}
|
|
1244
|
+
/**
|
|
1245
|
+
* Opens the autocomplete panel
|
|
1246
|
+
*/
|
|
1247
|
+
async openAutocomplete() {
|
|
1248
|
+
await this.focus();
|
|
1249
|
+
}
|
|
1250
|
+
/**
|
|
1251
|
+
* Checks if the autocomplete panel is open
|
|
1252
|
+
*/
|
|
1253
|
+
async isAutocompleteOpen() {
|
|
1254
|
+
const autocomplete = await this.getAutocomplete();
|
|
1255
|
+
return autocomplete ? autocomplete.isOpen() : false;
|
|
1256
|
+
}
|
|
1257
|
+
/**
|
|
1258
|
+
* Gets all autocomplete options
|
|
1259
|
+
*/
|
|
1260
|
+
async getAutocompleteOptions() {
|
|
1261
|
+
const autocomplete = await this.getAutocomplete();
|
|
1262
|
+
if (!autocomplete) {
|
|
1263
|
+
return [];
|
|
1264
|
+
}
|
|
1265
|
+
const options = await autocomplete.getOptions();
|
|
1266
|
+
return Promise.all(options.map(option => option.getText()));
|
|
1267
|
+
}
|
|
1268
|
+
/**
|
|
1269
|
+
* Selects an autocomplete option by text
|
|
1270
|
+
*/
|
|
1271
|
+
async selectOption(text) {
|
|
1272
|
+
const autocomplete = await this.getAutocomplete();
|
|
1273
|
+
if (!autocomplete) {
|
|
1274
|
+
throw Error('Autocomplete panel is not available');
|
|
1275
|
+
}
|
|
1276
|
+
await autocomplete.selectOption({ text });
|
|
1277
|
+
}
|
|
1278
|
+
/**
|
|
1279
|
+
* Checks if the input is in an error state
|
|
1280
|
+
*/
|
|
1281
|
+
async hasError() {
|
|
1282
|
+
const host = await this.host();
|
|
1283
|
+
const classes = await host.getAttribute('class');
|
|
1284
|
+
return classes?.includes('ng-invalid') ?? false;
|
|
1285
|
+
}
|
|
1286
|
+
/**
|
|
1287
|
+
* Gets the aria-label of the input
|
|
1288
|
+
*/
|
|
1289
|
+
async getAriaLabel() {
|
|
1290
|
+
const input = await this.getInput();
|
|
1291
|
+
const inputElement = await input.host();
|
|
1292
|
+
return inputElement.getAttribute('aria-label');
|
|
1293
|
+
}
|
|
1294
|
+
/**
|
|
1295
|
+
* Types text into the input (triggers input events)
|
|
1296
|
+
*/
|
|
1297
|
+
/**
|
|
1298
|
+
* Clears the input value
|
|
1299
|
+
*/
|
|
1300
|
+
async clear() {
|
|
1301
|
+
const input = await this.getInput();
|
|
1302
|
+
await input.setValue('');
|
|
1303
|
+
}
|
|
1304
|
+
async getMatAutocompleteHarness() {
|
|
1305
|
+
return this.getAutocomplete();
|
|
1306
|
+
}
|
|
1307
|
+
}
|
|
1308
|
+
|
|
831
1309
|
/*
|
|
832
1310
|
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
833
1311
|
*
|
|
@@ -1036,13 +1514,13 @@ class GioConfirmDialogComponent {
|
|
|
1036
1514
|
this.cancelButton = confirmDialogData?.cancelButton ?? 'Cancel';
|
|
1037
1515
|
this.disableCancel = confirmDialogData?.disableCancel ?? false;
|
|
1038
1516
|
}
|
|
1039
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioConfirmDialogComponent, deps: [{ token: i1$
|
|
1040
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioConfirmDialogComponent, isStandalone: false, selector: "gio-confirm-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if (content) {\n <mat-dialog-content class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n </mat-dialog-content>\n}\n\n@if (contentComponentOutlet) {\n <mat-dialog-content class=\"confirm-dialog__content\">\n <ng-container *ngComponentOutlet=\"contentComponentOutlet; injector: contentComponentInjector\"></ng-container>\n </mat-dialog-content>\n}\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n @if (!disableCancel) {\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n }\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: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.confirm-dialog__content{color:#322f2f}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
1517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioConfirmDialogComponent, deps: [{ token: i1$4.MatDialogRef }, { token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1518
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioConfirmDialogComponent, isStandalone: false, selector: "gio-confirm-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if (content) {\n <mat-dialog-content class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n </mat-dialog-content>\n}\n\n@if (contentComponentOutlet) {\n <mat-dialog-content class=\"confirm-dialog__content\">\n <ng-container *ngComponentOutlet=\"contentComponentOutlet; injector: contentComponentInjector\"></ng-container>\n </mat-dialog-content>\n}\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n @if (!disableCancel) {\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n }\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: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.confirm-dialog__content{color:#322f2f}\n"], dependencies: [{ kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }] }); }
|
|
1041
1519
|
}
|
|
1042
1520
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioConfirmDialogComponent, decorators: [{
|
|
1043
1521
|
type: Component,
|
|
1044
1522
|
args: [{ selector: 'gio-confirm-dialog', standalone: false, template: "<!--\n\n Copyright (C) 2025 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@if (content) {\n <mat-dialog-content class=\"confirm-dialog__content\">\n <p [innerHTML]=\"content\"></p>\n </mat-dialog-content>\n}\n\n@if (contentComponentOutlet) {\n <mat-dialog-content class=\"confirm-dialog__content\">\n <ng-container *ngComponentOutlet=\"contentComponentOutlet; injector: contentComponentInjector\"></ng-container>\n </mat-dialog-content>\n}\n\n<mat-dialog-actions align=\"end\" class=\"confirm-dialog__actions\">\n @if (!disableCancel) {\n <button class=\"confirm-dialog__cancel-button\" mat-flat-button [mat-dialog-close]=\"false\">\n {{ cancelButton }}\n </button>\n }\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: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.confirm-dialog__content{color:#322f2f}\n"] }]
|
|
1045
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1523
|
+
}], ctorParameters: () => [{ type: i1$4.MatDialogRef }, { type: undefined, decorators: [{
|
|
1046
1524
|
type: Inject,
|
|
1047
1525
|
args: [MAT_DIALOG_DATA]
|
|
1048
1526
|
}] }, { type: i0.Injector }] });
|
|
@@ -1146,7 +1624,7 @@ class GioConfirmAndValidateDialogComponent {
|
|
|
1146
1624
|
this.isValid = toLower(confirmValue) === toLower(this.validationValue);
|
|
1147
1625
|
}
|
|
1148
1626
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioConfirmAndValidateDialogComponent, deps: [{ token: MAT_DIALOG_DATA }, { token: i0.Injector }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1149
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioConfirmAndValidateDialogComponent, isStandalone: false, selector: "gio-confirm-and-validate-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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 @if (warning) {\n <gio-banner-warning><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n }\n @if (content) {\n <p class=\"confirm-dialog__body__content\" [innerHTML]=\"content\"></p>\n }\n\n @if (contentComponentOutlet) {\n <div class=\"confirm-dialog__body__content\">\n <ng-container *ngComponentOutlet=\"contentComponentOutlet; inputs: contentComponentInputs\"></ng-container>\n </div>\n }\n\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: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.confirm-dialog__title{white-space:pre-wrap}.confirm-dialog__body__content{color:#322f2f;white-space:pre-wrap}.confirm-dialog__body__validate-message{margin-bottom:8px;white-space:pre-wrap}.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"], dependencies: [{ kind: "directive", type: i1$
|
|
1627
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioConfirmAndValidateDialogComponent, isStandalone: false, selector: "gio-confirm-and-validate-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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 @if (warning) {\n <gio-banner-warning><span [innerHTML]=\"warning\"></span></gio-banner-warning>\n }\n @if (content) {\n <p class=\"confirm-dialog__body__content\" [innerHTML]=\"content\"></p>\n }\n\n @if (contentComponentOutlet) {\n <div class=\"confirm-dialog__body__content\">\n <ng-container *ngComponentOutlet=\"contentComponentOutlet; inputs: contentComponentInputs\"></ng-container>\n </div>\n }\n\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: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.confirm-dialog__title{white-space:pre-wrap}.confirm-dialog__body__content{color:#322f2f;white-space:pre-wrap}.confirm-dialog__body__validate-message{margin-bottom:8px;white-space:pre-wrap}.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"], dependencies: [{ kind: "directive", type: i1$3.NgComponentOutlet, selector: "[ngComponentOutlet]", inputs: ["ngComponentOutlet", "ngComponentOutletInputs", "ngComponentOutletInjector", "ngComponentOutletEnvironmentInjector", "ngComponentOutletContent", "ngComponentOutletNgModule", "ngComponentOutletNgModuleFactory"], exportAs: ["ngComponentOutlet"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i1$4.MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }, { kind: "directive", type: i1$4.MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: i1$4.MatDialogActions, selector: "[mat-dialog-actions], mat-dialog-actions, [matDialogActions]", inputs: ["align"] }, { kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: i2$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "component", type: GioBannerWarningComponent, selector: "gio-banner-warning" }] }); }
|
|
1150
1628
|
}
|
|
1151
1629
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioConfirmAndValidateDialogComponent, decorators: [{
|
|
1152
1630
|
type: Component,
|
|
@@ -1349,12 +1827,12 @@ class GioClipboardComponent {
|
|
|
1349
1827
|
this.onCopied(true, this.tooltip);
|
|
1350
1828
|
}
|
|
1351
1829
|
}
|
|
1352
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioClipboardComponent, deps: [{ token: i1$
|
|
1830
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioClipboardComponent, deps: [{ token: i1$5.Clipboard }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1353
1831
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: GioClipboardComponent, isStandalone: true, inputs: { contentToCopy: "contentToCopy", alwaysVisible: "alwaysVisible", tabIndex: "tabIndex" }, viewQueries: [{ propertyName: "tooltip", first: true, predicate: ["tooltip"], descendants: true }], ngImport: i0 }); }
|
|
1354
1832
|
}
|
|
1355
1833
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioClipboardComponent, decorators: [{
|
|
1356
1834
|
type: Directive
|
|
1357
|
-
}], ctorParameters: () => [{ type: i1$
|
|
1835
|
+
}], ctorParameters: () => [{ type: i1$5.Clipboard }], propDecorators: { tooltip: [{
|
|
1358
1836
|
type: ViewChild,
|
|
1359
1837
|
args: ['tooltip']
|
|
1360
1838
|
}], contentToCopy: [{
|
|
@@ -1402,7 +1880,7 @@ class GioClipboardCopyWrapperComponent extends GioClipboardComponent {
|
|
|
1402
1880
|
>
|
|
1403
1881
|
<mat-icon [inline]="true">{{ clicked ? 'check' : 'content_copy' }}</mat-icon>
|
|
1404
1882
|
</button>
|
|
1405
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.right{padding:0;border:none;margin-left:4px;background:none;color:#5c5959;cursor:pointer;outline:inherit}.right:not(.clicked,.always-visible){opacity:0}.right.clicked{color:#da3b00;opacity:1}:host(:hover,:focus) .right{opacity:1}:host(:hover,:focus) .right:hover,:host(:hover,:focus) .right:focus{color:#da3b00}\n"], dependencies: [{ kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$
|
|
1883
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.right{padding:0;border:none;margin-left:4px;background:none;color:#5c5959;cursor:pointer;outline:inherit}.right:not(.clicked,.always-visible){opacity:0}.right.clicked{color:#da3b00;opacity:1}:host(:hover,:focus) .right{opacity:1}:host(:hover,:focus) .right:hover,:host(:hover,:focus) .right:focus{color:#da3b00}\n"], dependencies: [{ kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i1$5.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }] }); }
|
|
1406
1884
|
}
|
|
1407
1885
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioClipboardCopyWrapperComponent, decorators: [{
|
|
1408
1886
|
type: Component,
|
|
@@ -1464,7 +1942,7 @@ class GioClipboardCopyIconComponent extends GioClipboardComponent {
|
|
|
1464
1942
|
>
|
|
1465
1943
|
<mat-icon>{{ clicked ? 'check' : 'content_copy' }}</mat-icon>
|
|
1466
1944
|
</button>
|
|
1467
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host-context(.mat-mdc-form-field-icon-suffix){padding:12px}.btn{padding:0;border:none;margin-left:4px;background:none;color:#5c5959;cursor:pointer;outline:inherit}.btn.clicked,.btn:hover,.btn:focus{color:#da3b00}\n"], dependencies: [{ kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$
|
|
1945
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host-context(.mat-mdc-form-field-icon-suffix){padding:12px}.btn{padding:0;border:none;margin-left:4px;background:none;color:#5c5959;cursor:pointer;outline:inherit}.btn.clicked,.btn:hover,.btn:focus{color:#da3b00}\n"], dependencies: [{ kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "directive", type: i3$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "directive", type: i1$5.CdkCopyToClipboard, selector: "[cdkCopyToClipboard]", inputs: ["cdkCopyToClipboard", "cdkCopyToClipboardAttempts"], outputs: ["cdkCopyToClipboardCopied"] }] }); }
|
|
1468
1946
|
}
|
|
1469
1947
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioClipboardCopyIconComponent, decorators: [{
|
|
1470
1948
|
type: Component,
|
|
@@ -1586,7 +2064,7 @@ class GioElPromptComponent {
|
|
|
1586
2064
|
}
|
|
1587
2065
|
}
|
|
1588
2066
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioElPromptComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1589
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioElPromptComponent, isStandalone: true, selector: "gio-el-prompt", inputs: { responseState: "responseState" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["promptArea"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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<h5>EL Assistant</h5>\n\n<div class=\"aiRequestForm\" [formGroup]=\"aiRequestFormGroup\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>Describe the EL you want to generate</mat-label>\n <textarea #promptArea matInput formControlName=\"prompt\"></textarea>\n <mat-hint [align]=\"'end'\">{{ prompt?.value?.length || 0 }}/{{ maxPromptSize }}</mat-hint>\n </mat-form-field>\n\n @if (prompt?.touched && prompt?.hasError('maxlength')) {\n <gio-banner-error> Your prompt is too long. It should be less than {{ maxPromptSize }} characters. </gio-banner-error>\n }\n\n <button mat-raised-button [disabled]=\"aiRequestFormGroup.invalid\" (click)=\"sendPromptToIA()\">\n <mat-icon svgIcon=\"gio:magic-wand\" />\n Ask Newt AI\n </button>\n</div>\n\n<div class=\"ai-card__content__response\">\n @if (responseState() === 'loading') {\n <mat-progress-bar mode=\"indeterminate\" class=\"loading\" />\n }\n @if (el(); as expression) {\n <gio-banner-success>\n <code gioClipboardCopyWrapper [contentToCopy]=\"expression\" [alwaysVisible]=\"true\">{{ expression }}</code>\n </gio-banner-success>\n @if (showFeedback()) {\n <gio-banner-info>\n <div class=\"feedback-container\">\n <span class=\"feedback-question\">Was the answer helpful?</span>\n <div class=\"feedback-buttons\">\n <button\n mat-icon-button\n (click)=\"submitFeedback('helpful')\"\n matTooltip=\"Yes, this was helpful\"\n class=\"feedback-button feedback-button--helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-up\"></mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"submitFeedback('not-helpful')\"\n matTooltip=\"No, this was not helpful\"\n class=\"feedback-button feedback-button--not-helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-down\"></mat-icon>\n </button>\n </div>\n </div>\n </gio-banner-info>\n }\n }\n @if (errorMessage(); as message) {\n <gio-banner-error>\n Error\n <span gioBannerBody> {{ message }} </span>\n </gio-banner-error>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:flex;width:400px;flex-direction:column;padding:12px;border-radius:4px;background-color:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.aiRequestForm{display:flex;flex-direction:column;gap:8px}.banner__wrapper__title{width:100%}.banner-success-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between}code{overflow-wrap:anywhere}gio-banner-error{overflow-wrap:anywhere}.feedback-container{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px}.feedback-question{flex:1}.feedback-buttons{display:flex;align-items:center;gap:8px}.feedback-button{transition:all .2s ease-in-out}.feedback-button:hover{transform:scale(1.1)}.feedback-button--helpful{color:#22b374}.feedback-button--helpful:hover{background-color:#8dffce66}.feedback-button--not-helpful{color:#dd1d1f}.feedback-button--not-helpful:hover{background-color:#ffcfd066}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$
|
|
2067
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioElPromptComponent, isStandalone: true, selector: "gio-el-prompt", inputs: { responseState: "responseState" }, viewQueries: [{ propertyName: "myInput", first: true, predicate: ["promptArea"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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<h5>EL Assistant</h5>\n\n<div class=\"aiRequestForm\" [formGroup]=\"aiRequestFormGroup\">\n <mat-form-field class=\"example-full-width\">\n <mat-label>Describe the EL you want to generate</mat-label>\n <textarea #promptArea matInput formControlName=\"prompt\"></textarea>\n <mat-hint [align]=\"'end'\">{{ prompt?.value?.length || 0 }}/{{ maxPromptSize }}</mat-hint>\n </mat-form-field>\n\n @if (prompt?.touched && prompt?.hasError('maxlength')) {\n <gio-banner-error> Your prompt is too long. It should be less than {{ maxPromptSize }} characters. </gio-banner-error>\n }\n\n <button mat-raised-button [disabled]=\"aiRequestFormGroup.invalid\" (click)=\"sendPromptToIA()\">\n <mat-icon svgIcon=\"gio:magic-wand\" />\n Ask Newt AI\n </button>\n</div>\n\n<div class=\"ai-card__content__response\">\n @if (responseState() === 'loading') {\n <mat-progress-bar mode=\"indeterminate\" class=\"loading\" />\n }\n @if (el(); as expression) {\n <gio-banner-success>\n <code gioClipboardCopyWrapper [contentToCopy]=\"expression\" [alwaysVisible]=\"true\">{{ expression }}</code>\n </gio-banner-success>\n @if (showFeedback()) {\n <gio-banner-info>\n <div class=\"feedback-container\">\n <span class=\"feedback-question\">Was the answer helpful?</span>\n <div class=\"feedback-buttons\">\n <button\n mat-icon-button\n (click)=\"submitFeedback('helpful')\"\n matTooltip=\"Yes, this was helpful\"\n class=\"feedback-button feedback-button--helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-up\"></mat-icon>\n </button>\n <button\n mat-icon-button\n (click)=\"submitFeedback('not-helpful')\"\n matTooltip=\"No, this was not helpful\"\n class=\"feedback-button feedback-button--not-helpful\"\n >\n <mat-icon svgIcon=\"gio:thumbs-down\"></mat-icon>\n </button>\n </div>\n </div>\n </gio-banner-info>\n }\n }\n @if (errorMessage(); as message) {\n <gio-banner-error>\n Error\n <span gioBannerBody> {{ message }} </span>\n </gio-banner-error>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:flex;width:400px;flex-direction:column;padding:12px;border-radius:4px;background-color:#fff;box-shadow:0 2px 4px -1px #0003,0 4px 5px #00000024,0 1px 10px #0000001f}.aiRequestForm{display:flex;flex-direction:column;gap:8px}.banner__wrapper__title{width:100%}.banner-success-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between}code{overflow-wrap:anywhere}gio-banner-error{overflow-wrap:anywhere}.feedback-container{display:flex;width:100%;align-items:center;justify-content:space-between;gap:16px}.feedback-question{flex:1}.feedback-buttons{display:flex;align-items:center;gap:8px}.feedback-button{transition:all .2s ease-in-out}.feedback-button:hover{transform:scale(1.1)}.feedback-button--helpful{color:#22b374}.feedback-button--helpful:hover{background-color:#8dffce66}.feedback-button--not-helpful{color:#dd1d1f}.feedback-button--not-helpful:hover{background-color:#ffcfd066}\n"], dependencies: [{ kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: MatFormFieldModule }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "directive", type: i2$3.MatHint, selector: "mat-hint", inputs: ["align", "id"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: MatProgressBarModule }, { kind: "component", type: i3$2.MatProgressBar, selector: "mat-progress-bar", inputs: ["color", "value", "bufferValue", "mode"], outputs: ["animationEnd"], exportAs: ["matProgressBar"] }, { kind: "ngmodule", type: MatTooltipModule }, { kind: "directive", type: i2$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "ngmodule", type: GioIconsModule }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "ngmodule", type: GioBannerModule }, { kind: "component", type: GioBannerErrorComponent, selector: "gio-banner-error" }, { kind: "component", type: GioBannerInfoComponent, selector: "gio-banner-info" }, { kind: "component", type: GioBannerSuccessComponent, selector: "gio-banner-success" }, { kind: "directive", type: GioBannerBodyDirective, selector: "[gioBannerBody]" }, { kind: "ngmodule", type: GioClipboardModule }, { kind: "component", type: GioClipboardCopyWrapperComponent, selector: "[gioClipboardCopyWrapper]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
1590
2068
|
}
|
|
1591
2069
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioElPromptComponent, decorators: [{
|
|
1592
2070
|
type: Component,
|
|
@@ -2036,7 +2514,7 @@ class GioFormHeadersComponent {
|
|
|
2036
2514
|
const filterValue = value.toLowerCase();
|
|
2037
2515
|
return HEADER_NAMES.filter(option => option.toLowerCase().includes(filterValue));
|
|
2038
2516
|
}
|
|
2039
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormHeadersComponent, deps: [{ token:
|
|
2517
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormHeadersComponent, deps: [{ token: i2$1.FocusMonitor }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2040
2518
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormHeadersComponent, isStandalone: false, selector: "gio-form-headers", inputs: { headerFieldMapper: "headerFieldMapper", config: "config", autocompleteDisabled: "autocompleteDisabled" }, host: { properties: { "class.disabled": "this.disabled" } }, providers: [
|
|
2041
2519
|
{
|
|
2042
2520
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -2048,7 +2526,7 @@ class GioFormHeadersComponent {
|
|
|
2048
2526
|
useExisting: forwardRef(() => GioFormHeadersComponent),
|
|
2049
2527
|
multi: true,
|
|
2050
2528
|
},
|
|
2051
|
-
], 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=\"label\"><ng-content select=\"gio-form-headers-label\"></ng-content></div>\n<table class=\"gio-form-headers__table gio-table-light\" [class.disabled]=\"disabled\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n @for (control of headersFormArray.controls; track control; let headerIndex = $index) {\n <tr class=\"gio-form-headers__table__header-row\" [formGroupName]=\"headerIndex\">\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <div class=\"gio-form-headers__table__header-row__td-key__field\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n [matAutocompleteDisabled]=\"autocompleteDisabled\"\n ></textarea>\n @if (config?.elColumns === 'key' || config?.elColumns === 'both') {\n <gio-el-assistant />\n }\n </div>\n @if (control.get('key')?.hasError('pattern')) {\n <mat-error>\n Header name must not contain spaces. (RegExp: {{ control.get('key')?.getError('pattern')?.requiredPattern }})\n </mat-error>\n }\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n @for (headerName of getFilteredHeaderNames(headerIndex, control.value) | async; track headerName) {\n <mat-option [value]=\"headerName\">{{ headerName }}</mat-option>\n }\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <div class=\"gio-form-headers__table__header-row__td-value__field\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n @if (config?.elColumns === 'value' || config?.elColumns === 'both') {\n <gio-el-assistant />\n }\n @if (headersFormArray.controls.length - 1 !== headerIndex) {\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n mat-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\" />\n </button>\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:block;overflow:hidden}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-left:10px;color:#8a8383}.label:empty{display:none}.gio-form-headers__table__header-row__td-value__button{display:block}.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%;min-height:32px;flex-direction:row;align-items:baseline;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field textarea,.gio-form-headers__table__header-row__td-value__field textarea{overflow:auto;width:100%;height:16px;padding:0;border:none;background:transparent;box-shadow:none;outline:none;resize:none;font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.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-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;background-color:#fff;opacity:.9}:host(.disabled) .label{color:#d2cecd}\n"], dependencies: [{ kind: "directive", type: i2$
|
|
2529
|
+
], 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=\"label\"><ng-content select=\"gio-form-headers-label\"></ng-content></div>\n<table class=\"gio-form-headers__table gio-table-light\" [class.disabled]=\"disabled\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n @for (control of headersFormArray.controls; track control; let headerIndex = $index) {\n <tr class=\"gio-form-headers__table__header-row\" [formGroupName]=\"headerIndex\">\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <div class=\"gio-form-headers__table__header-row__td-key__field\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n [matAutocompleteDisabled]=\"autocompleteDisabled\"\n ></textarea>\n @if (config?.elColumns === 'key' || config?.elColumns === 'both') {\n <gio-el-assistant />\n }\n </div>\n @if (control.get('key')?.hasError('pattern')) {\n <mat-error>\n Header name must not contain spaces. (RegExp: {{ control.get('key')?.getError('pattern')?.requiredPattern }})\n </mat-error>\n }\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n @for (headerName of getFilteredHeaderNames(headerIndex, control.value) | async; track headerName) {\n <mat-option [value]=\"headerName\">{{ headerName }}</mat-option>\n }\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <div class=\"gio-form-headers__table__header-row__td-value__field\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n @if (config?.elColumns === 'value' || config?.elColumns === 'both') {\n <gio-el-assistant />\n }\n @if (headersFormArray.controls.length - 1 !== headerIndex) {\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n mat-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\" />\n </button>\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:block;overflow:hidden}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-left:10px;color:#8a8383}.label:empty{display:none}.gio-form-headers__table__header-row__td-value__button{display:block}.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%;min-height:32px;flex-direction:row;align-items:baseline;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field textarea,.gio-form-headers__table__header-row__td-value__field textarea{overflow:auto;width:100%;height:16px;padding:0;border:none;background:transparent;box-shadow:none;outline:none;resize:none;font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.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-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;background-color:#fff;opacity:.9}:host(.disabled) .label{color:#d2cecd}\n"], dependencies: [{ kind: "directive", type: i2$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i2$3.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i3$3.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$2.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$2.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: GioElAssistantComponent, selector: "gio-el-assistant" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }] }); }
|
|
2052
2530
|
}
|
|
2053
2531
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormHeadersComponent, decorators: [{
|
|
2054
2532
|
type: Component,
|
|
@@ -2064,7 +2542,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
2064
2542
|
multi: true,
|
|
2065
2543
|
},
|
|
2066
2544
|
], standalone: false, 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=\"label\"><ng-content select=\"gio-form-headers-label\"></ng-content></div>\n<table class=\"gio-form-headers__table gio-table-light\" [class.disabled]=\"disabled\" [formGroup]=\"mainForm\">\n <thead>\n <tr>\n <th>KEY</th>\n <th>VALUE</th>\n </tr>\n </thead>\n <tbody formArrayName=\"headers\">\n @for (control of headersFormArray.controls; track control; let headerIndex = $index) {\n <tr class=\"gio-form-headers__table__header-row\" [formGroupName]=\"headerIndex\">\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <div class=\"gio-form-headers__table__header-row__td-key__field\">\n <textarea\n formControlName=\"key\"\n matInput\n placeholder=\"Name...\"\n cdkTextareaAutosize\n cdkAutosizeMinRows=\"1\"\n [matAutocomplete]=\"headerNamesAutocomplete\"\n [matAutocompleteDisabled]=\"autocompleteDisabled\"\n ></textarea>\n @if (config?.elColumns === 'key' || config?.elColumns === 'both') {\n <gio-el-assistant />\n }\n </div>\n @if (control.get('key')?.hasError('pattern')) {\n <mat-error>\n Header name must not contain spaces. (RegExp: {{ control.get('key')?.getError('pattern')?.requiredPattern }})\n </mat-error>\n }\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n @for (headerName of getFilteredHeaderNames(headerIndex, control.value) | async; track headerName) {\n <mat-option [value]=\"headerName\">{{ headerName }}</mat-option>\n }\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <div class=\"gio-form-headers__table__header-row__td-value__field\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n @if (config?.elColumns === 'value' || config?.elColumns === 'both') {\n <gio-el-assistant />\n }\n @if (headersFormArray.controls.length - 1 !== headerIndex) {\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n mat-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\" />\n </button>\n }\n </div>\n </td>\n </tr>\n }\n </tbody>\n</table>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:block;overflow:hidden}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-left:10px;color:#8a8383}.label:empty{display:none}.gio-form-headers__table__header-row__td-value__button{display:block}.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%;min-height:32px;flex-direction:row;align-items:baseline;justify-content:center;padding-bottom:0}.gio-form-headers__table__header-row__td-key__field textarea,.gio-form-headers__table__header-row__td-value__field textarea{overflow:auto;width:100%;height:16px;padding:0;border:none;background:transparent;box-shadow:none;outline:none;resize:none;font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.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-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;background-color:#fff;opacity:.9}:host(.disabled) .label{color:#d2cecd}\n"] }]
|
|
2067
|
-
}], ctorParameters: () => [{ type:
|
|
2545
|
+
}], ctorParameters: () => [{ type: i2$1.FocusMonitor }, { type: i0.ElementRef }], propDecorators: { headerFieldMapper: [{
|
|
2068
2546
|
type: Input
|
|
2069
2547
|
}], config: [{
|
|
2070
2548
|
type: Input
|
|
@@ -2474,7 +2952,7 @@ class GioFormFilePickerComponent {
|
|
|
2474
2952
|
this.onChangeCallback(this.fileValues.map(fileValue => fileValue.isNew ? new NewFile(fileValue.name, fileValue.dataUrl, fileValue.file) : fileValue.dataUrl));
|
|
2475
2953
|
}
|
|
2476
2954
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormFilePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2477
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormFilePickerComponent, isStandalone: false, selector: "gio-form-file-picker", inputs: { multiple: "multiple", accept: "accept", disabled: "disabled" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if (!isDisabled) {\n <div\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 @if (!isComplete) {\n <div\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 @if (addButton.children.length === 0) {\n <gio-form-file-picker-add-button></gio-form-file-picker-add-button>\n }\n </div>\n }\n @for (fileValue of fileValues; track fileValue) {\n <div 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 <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: fileValue }\"></ng-container>\n </div>\n }\n </div>\n} @else {\n <div class=\"file-picker disabled\">\n @if (fileValues.length === 0) {\n <span class=\"file-picker__preview-empty disabled\">\n @if (previewEmpty.children.length === 0) {\n <gio-form-file-picker-empty class=\"file-picker__preview-empty__default\"></gio-form-file-picker-empty>\n }\n <span #previewEmpty><ng-content select=\"gio-form-file-picker-empty\"></ng-content></span>\n </span>\n }\n @for (fileValue of fileValues; track fileValue) {\n <div class=\"file-picker__preview disabled\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: fileValue }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n @if (fileValue.isImage) {\n <div class=\"file-picker__preview__image\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n }\n @if (!fileValue.isImage) {\n <div class=\"file-picker__preview__file\">\n <span class=\"file-picker__preview__file__name\">{{ fileValue.name }}</span>\n </div>\n }\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:inline-flex;flex-direction:column}.file-picker{display:inline-flex;flex:1 1 auto;flex-flow:row wrap;justify-content:center;padding:4px 0;gap:8px}.file-picker__add-button{min-width:130px;min-height:130px;flex:1 1 auto;border:2px dashed #322f2f;border-radius:6px;margin:4px 0;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #ffa685;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px 0;border:none}.file-picker__add-button.error{border:2px dashed #dd1d1f}.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 0;border:2px solid #322f2f;border-radius:6px;margin:4px 0;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-items:center;place-content:center center;text-align:center;font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.file-picker__preview__file__name,.file-picker__preview-empty__file__name{position:absolute;padding:4px;overflow-wrap:anywhere}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #dd1d1f}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f7f8b3;color:#1e1b1b;cursor:pointer}.file-picker__preview__delete:hover{color:#ff8a00}.file-picker__preview-empty__default{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
2955
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormFilePickerComponent, isStandalone: false, selector: "gio-form-file-picker", inputs: { multiple: "multiple", accept: "accept", disabled: "disabled" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if (!isDisabled) {\n <div\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 @if (!isComplete) {\n <div\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 @if (addButton.children.length === 0) {\n <gio-form-file-picker-add-button></gio-form-file-picker-add-button>\n }\n </div>\n }\n @for (fileValue of fileValues; track fileValue) {\n <div 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 <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: fileValue }\"></ng-container>\n </div>\n }\n </div>\n} @else {\n <div class=\"file-picker disabled\">\n @if (fileValues.length === 0) {\n <span class=\"file-picker__preview-empty disabled\">\n @if (previewEmpty.children.length === 0) {\n <gio-form-file-picker-empty class=\"file-picker__preview-empty__default\"></gio-form-file-picker-empty>\n }\n <span #previewEmpty><ng-content select=\"gio-form-file-picker-empty\"></ng-content></span>\n </span>\n }\n @for (fileValue of fileValues; track fileValue) {\n <div class=\"file-picker__preview disabled\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: fileValue }\"></ng-container>\n </div>\n }\n </div>\n}\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n @if (fileValue.isImage) {\n <div class=\"file-picker__preview__image\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n }\n @if (!fileValue.isImage) {\n <div class=\"file-picker__preview__file\">\n <span class=\"file-picker__preview__file__name\">{{ fileValue.name }}</span>\n </div>\n }\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:inline-flex;flex-direction:column}.file-picker{display:inline-flex;flex:1 1 auto;flex-flow:row wrap;justify-content:center;padding:4px 0;gap:8px}.file-picker__add-button{min-width:130px;min-height:130px;flex:1 1 auto;border:2px dashed #322f2f;border-radius:6px;margin:4px 0;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #ffa685;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px 0;border:none}.file-picker__add-button.error{border:2px dashed #dd1d1f}.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 0;border:2px solid #322f2f;border-radius:6px;margin:4px 0;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-items:center;place-content:center center;text-align:center;font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.file-picker__preview__file code,.file-picker__preview-empty__file code{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.file-picker__preview__file__name,.file-picker__preview-empty__file__name{position:absolute;padding:4px;overflow-wrap:anywhere}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #dd1d1f}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f7f8b3;color:#1e1b1b;cursor:pointer}.file-picker__preview__delete:hover{color:#ff8a00}.file-picker__preview-empty__default{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$4.FileDropzoneDirective, selector: "[ngxFileDropzone]", outputs: ["fileDrop"], exportAs: ["ngxFileDropzone"] }, { kind: "directive", type: i3$4.FilePickerDirective, selector: "[ngxFilePicker]", inputs: ["accept", "multiple"], outputs: ["filePick"], exportAs: ["ngxFilePicker"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button" }, { kind: "component", type: GioFormFilePickerEmptyComponent, selector: "gio-form-file-picker-empty" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
2478
2956
|
}
|
|
2479
2957
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormFilePickerComponent, decorators: [{
|
|
2480
2958
|
type: Component,
|
|
@@ -2821,7 +3299,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
2821
3299
|
*/
|
|
2822
3300
|
class GioBreadcrumbComponent {
|
|
2823
3301
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioBreadcrumbComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
2824
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioBreadcrumbComponent, isStandalone: false, selector: "gio-breadcrumb", queries: [{ propertyName: "itemDirectives", predicate: GioBreadcrumbItemDirective }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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 @for (item of itemDirectives; track item; let first = $first) {\n @if (!first) {\n <mat-icon svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n }\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-breadcrumb{display:flex;flex-flow:wrap;align-items:center;margin:2px;color:#322f2f}.gio-breadcrumb__icon{width:12px;height:12px;margin:0 6px;color:#8a8383;line-height:12px}::ng-deep .gio-breadcrumb>*:last-child{color:#da3b00;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
3302
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioBreadcrumbComponent, isStandalone: false, selector: "gio-breadcrumb", queries: [{ propertyName: "itemDirectives", predicate: GioBreadcrumbItemDirective }], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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 @for (item of itemDirectives; track item; let first = $first) {\n @if (!first) {\n <mat-icon svgIcon=\"gio:nav-arrow-right\" class=\"gio-breadcrumb__icon\"></mat-icon>\n }\n <ng-container *ngTemplateOutlet=\"item.templateRef\"></ng-container>\n }\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-breadcrumb{display:flex;flex-flow:wrap;align-items:center;margin:2px;color:#322f2f}.gio-breadcrumb__icon{width:12px;height:12px;margin:0 6px;color:#8a8383;line-height:12px}::ng-deep .gio-breadcrumb>*:last-child{color:#da3b00;font-weight:700}\n"], dependencies: [{ kind: "directive", type: i1$3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
2825
3303
|
}
|
|
2826
3304
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioBreadcrumbComponent, decorators: [{
|
|
2827
3305
|
type: Component,
|
|
@@ -3174,12 +3652,12 @@ class GioFormlyJsonSchemaService {
|
|
|
3174
3652
|
}
|
|
3175
3653
|
return mappedField;
|
|
3176
3654
|
}
|
|
3177
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormlyJsonSchemaService, deps: [{ token: i1$
|
|
3655
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormlyJsonSchemaService, deps: [{ token: i1$6.FormlyJsonschema }, { token: i1$7.FormlyFormBuilder }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
3178
3656
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormlyJsonSchemaService }); }
|
|
3179
3657
|
}
|
|
3180
3658
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormlyJsonSchemaService, decorators: [{
|
|
3181
3659
|
type: Injectable
|
|
3182
|
-
}], ctorParameters: () => [{ type: i1$
|
|
3660
|
+
}], ctorParameters: () => [{ type: i1$6.FormlyJsonschema }, { type: i1$7.FormlyFormBuilder }] });
|
|
3183
3661
|
const getBannerProperties = (banner) => {
|
|
3184
3662
|
return {
|
|
3185
3663
|
bannerText: banner.text,
|
|
@@ -3377,12 +3855,12 @@ class GioFormJsonSchemaComponent {
|
|
|
3377
3855
|
}, 0);
|
|
3378
3856
|
this.stateChanges$.next();
|
|
3379
3857
|
}
|
|
3380
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormJsonSchemaComponent, deps: [{ token: GioFormlyJsonSchemaService }, { token: i0.ElementRef }, { token:
|
|
3858
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormJsonSchemaComponent, deps: [{ token: GioFormlyJsonSchemaService }, { token: i0.ElementRef }, { token: i2$1.FocusMonitor }, { token: i0.ChangeDetectorRef }, { token: i1$2.NgControl, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
3381
3859
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormJsonSchemaComponent, isStandalone: false, selector: "gio-form-json-schema", inputs: { jsonSchema: "jsonSchema", context: "context", options: "options" }, outputs: { ready: "ready" }, host: { properties: { "attr.gioFormFocusInvalidIgnore": "this.gioFormFocusInvalidIgnore" } }, usesOnChanges: true, ngImport: i0, template: `
|
|
3382
3860
|
@if (formGroup) {
|
|
3383
3861
|
<formly-form [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>
|
|
3384
3862
|
}
|
|
3385
|
-
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: i1$
|
|
3863
|
+
`, isInline: true, styles: [""], dependencies: [{ kind: "component", type: i1$7.FormlyForm, selector: "formly-form", inputs: ["form", "model", "fields", "options"], outputs: ["modelChange"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
3386
3864
|
}
|
|
3387
3865
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormJsonSchemaComponent, decorators: [{
|
|
3388
3866
|
type: Component,
|
|
@@ -3391,7 +3869,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
3391
3869
|
<formly-form [fields]="fields" [options]="options" [form]="formGroup" [model]="model"></formly-form>
|
|
3392
3870
|
}
|
|
3393
3871
|
`, changeDetection: ChangeDetectionStrategy.OnPush, standalone: false }]
|
|
3394
|
-
}], ctorParameters: () => [{ type: GioFormlyJsonSchemaService }, { type: i0.ElementRef }, { type:
|
|
3872
|
+
}], ctorParameters: () => [{ type: GioFormlyJsonSchemaService }, { type: i0.ElementRef }, { type: i2$1.FocusMonitor }, { type: i0.ChangeDetectorRef }, { type: i1$2.NgControl, decorators: [{
|
|
3395
3873
|
type: Host
|
|
3396
3874
|
}, {
|
|
3397
3875
|
type: Optional
|
|
@@ -4309,7 +4787,7 @@ class GioMonacoEditorComponent {
|
|
|
4309
4787
|
@if (loaded$ | async) {
|
|
4310
4788
|
<div>Loading...</div>
|
|
4311
4789
|
}
|
|
4312
|
-
`, isInline: true, styles: [":host{display:block;height:100%;min-height:150px;pointer-events:auto;transition:opacity .2s ease-out}:host.single-line{display:flex;height:24px;min-height:24px;align-items:center}:host-context(.hidden){opacity:0}\n"], dependencies: [{ kind: "pipe", type: i1$
|
|
4790
|
+
`, isInline: true, styles: [":host{display:block;height:100%;min-height:150px;pointer-events:auto;transition:opacity .2s ease-out}:host.single-line{display:flex;height:24px;min-height:24px;align-items:center}:host-context(.hidden){opacity:0}\n"], dependencies: [{ kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
4313
4791
|
}
|
|
4314
4792
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMonacoEditorComponent, decorators: [{
|
|
4315
4793
|
type: Component,
|
|
@@ -4449,7 +4927,7 @@ class GioMonacoEditorFormFieldDirective {
|
|
|
4449
4927
|
this.hostGioMonacoEditorComponent.standaloneCodeEditor?.focus();
|
|
4450
4928
|
}
|
|
4451
4929
|
}
|
|
4452
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMonacoEditorFormFieldDirective, deps: [{ token: i0.ElementRef }, { token:
|
|
4930
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMonacoEditorFormFieldDirective, deps: [{ token: i0.ElementRef }, { token: i2$1.FocusMonitor }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef }, { token: GioMonacoEditorComponent, host: true, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
4453
4931
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: GioMonacoEditorFormFieldDirective, isStandalone: false, selector: "[gioMonacoEditorFormField]", inputs: { placeholder: "placeholder", required: "required", disabled: "disabled" }, host: { properties: { "id": "this.id", "attr.aria-describedBy": "this.userAriaDescribedBy", "class.hidden": "this.shouldHideEditor" } }, providers: [
|
|
4454
4932
|
{
|
|
4455
4933
|
provide: MatFormFieldControl,
|
|
@@ -4469,7 +4947,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
4469
4947
|
],
|
|
4470
4948
|
standalone: false,
|
|
4471
4949
|
}]
|
|
4472
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type:
|
|
4950
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2$1.FocusMonitor }, { type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type: GioMonacoEditorComponent, decorators: [{
|
|
4473
4951
|
type: Host
|
|
4474
4952
|
}, {
|
|
4475
4953
|
type: Self
|
|
@@ -4956,7 +5434,7 @@ class GioFormCronComponent {
|
|
|
4956
5434
|
}, { emitEvent: false });
|
|
4957
5435
|
}
|
|
4958
5436
|
}
|
|
4959
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormCronComponent, deps: [{ token: i0.ElementRef }, { token:
|
|
5437
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormCronComponent, deps: [{ token: i0.ElementRef }, { token: i2$1.FocusMonitor }, { token: i0.NgZone }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4960
5438
|
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioFormCronComponent, isStandalone: false, selector: "gio-form-cron", host: { properties: { "class.disabled": "this.isDisabled", "class.smallDisplay": "this.smallDisplay" } }, providers: [
|
|
4961
5439
|
{
|
|
4962
5440
|
provide: NG_VALUE_ACCESSOR,
|
|
@@ -4968,7 +5446,7 @@ class GioFormCronComponent {
|
|
|
4968
5446
|
useExisting: forwardRef(() => GioFormCronComponent),
|
|
4969
5447
|
multi: true,
|
|
4970
5448
|
},
|
|
4971
|
-
], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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=\"label\"><ng-content select=\"gio-form-cron-label\"></ng-content></div>\n<div class=\"wrapper\" [class.smallDisplay]=\"smallDisplay\" [class.disabled]=\"isDisabled\">\n @if (internalFormGroup) {\n <ng-container [formGroup]=\"internalFormGroup\">\n <div class=\"menu\">\n <mat-button-toggle-group\n class=\"gio-button-toggle-group menu__mode\"\n name=\"mode\"\n aria-label=\"Cron mode\"\n formControlName=\"mode\"\n [hideSingleSelectionIndicator]=\"true\"\n >\n <mat-button-toggle value=\"secondly\" matTooltip=\"Secondly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 's' : 'Secondly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"minutely\" matTooltip=\"Minutely\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'm' : 'Minutely'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"hourly\" matTooltip=\"Hourly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'h' : 'Hourly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"daily\" matTooltip=\"Daily\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'D' : 'Daily'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"weekly\" matTooltip=\"Weekly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'W' : 'Weekly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"monthly\" matTooltip=\"Monthly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'M' : 'Monthly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"custom\" matTooltip=\"Custom\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'C' : 'Custom'\n }}</mat-button-toggle>\n </mat-button-toggle-group>\n @if (value && !isDisabled) {\n <button mat-button aria-label=\"Clear\" matTooltip=\"Clear\" type=\"button\" (click)=\"onClear({ touched: true })\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n @switch (internalFormGroup.get('mode')?.value) {\n @case ('secondly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Second</mat-label>\n <mat-select formControlName=\"secondInterval\">\n @for (second of seconds; track second) {\n <mat-option [value]=\"second\">{{ second }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('minutely') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minuteInterval\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('hourly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hour(s)</mat-label>\n <mat-select formControlName=\"hourInterval\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('daily') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Day(s)</mat-label>\n <mat-select formControlName=\"dayInterval\">\n @for (day of daysOfMonth; track day) {\n <mat-option [value]=\"day\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hour(s)</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('weekly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-medium\">\n <mat-label>Day of the week</mat-label>\n <mat-select formControlName=\"dayOfWeek\">\n @for (day of daysOfWeek; track day; let index = $index) {\n <mat-option [value]=\"index\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hours</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minutes</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('monthly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">On the </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Day(s)</mat-label>\n <mat-select formControlName=\"dayOfMonth\">\n @for (day of daysOfMonth; track day) {\n <mat-option [value]=\"day\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> of every month at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hours</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minutes</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('custom') {\n <div class=\"modeForm\">\n <mat-form-field class=\"modeForm__field-custom\">\n <mat-label>Cron expression</mat-label>\n <input matInput formControlName=\"customExpression\" placeholder=\"* * * * * *\" />\n </mat-form-field>\n </div>\n }\n }\n @if (value) {\n <div class=\"preview\">\n @if (internalFormGroup.get('mode')?.value !== 'custom') {\n <span class=\"preview__value\">\n {{ value }}\n </span>\n }\n <span class=\"preview__hint\">{{ expressionDescription }}</span>\n </div>\n } @else {\n <div class=\"placeholder\">No cron expression defined.</div>\n }\n </ng-container>\n }\n</div>\n<div class=\"hint\"><ng-content select=\"gio-form-cron-hint\"></ng-content></div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:flex;min-width:342px;flex-direction:column}::ng-deep gio-form-cron{--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-left:10px;color:var(--mat-form-field-outlined-label-text-color)}.label:empty{display:none}.wrapper{display:inline-flex;flex-direction:column;padding:8px;border:1px solid var(--mat-form-field-outlined-outline-color);border-radius:4px}.wrapper:hover:not(.disabled){padding:8px;border:1px solid var(--mat-form-field-outlined-hover-outline-color)}.wrapper .menu{display:inline-flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper .menu__mode{border:none;margin-bottom:0}.wrapper .modeForm{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:8px;column-gap:4px}.wrapper .modeForm__field-small,.wrapper .modeForm__field-medium,.wrapper .modeForm__field-custom{display:inline-block;height:52px}.wrapper .modeForm__field-small{width:124px}.wrapper .modeForm__field-medium{width:158px}.wrapper .modeForm__field-custom{width:100%}.wrapper .preview,.wrapper .placeholder{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:4px;background-color:#f7f7f8;color:#000}.wrapper .preview__hint,.wrapper .placeholder{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.wrapper.disabled .preview,.wrapper.disabled .placeholder{opacity:.4}.hint{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-top:2px;padding-left:10px}.hint:empty{display:none}:host(.ng-invalid.ng-touched) .wrapper{padding:8px;border-width:1px;border-color:var(--mat-form-field-outlined-error-outline-color)}:host(.ng-invalid.ng-touched) .wrapper .preview,:host(.ng-invalid.ng-touched) .wrapper .placeholder{color:#dd1d1f}:host(.ng-invalid.ng-touched) .label,:host(.ng-invalid.ng-touched) .hint{color:var(--mat-form-field-outlined-error-outline-color)}:host(.disabled) .wrapper{border-color:#f7f7f8}:host(.disabled) .wrapper,:host(.disabled) .hint,:host(.disabled) .label{color:#d2cecd}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3$5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i2$2.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$2.MatLabel, selector: "mat-label" }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$2.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i2$3.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
5449
|
+
], ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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=\"label\"><ng-content select=\"gio-form-cron-label\"></ng-content></div>\n<div class=\"wrapper\" [class.smallDisplay]=\"smallDisplay\" [class.disabled]=\"isDisabled\">\n @if (internalFormGroup) {\n <ng-container [formGroup]=\"internalFormGroup\">\n <div class=\"menu\">\n <mat-button-toggle-group\n class=\"gio-button-toggle-group menu__mode\"\n name=\"mode\"\n aria-label=\"Cron mode\"\n formControlName=\"mode\"\n [hideSingleSelectionIndicator]=\"true\"\n >\n <mat-button-toggle value=\"secondly\" matTooltip=\"Secondly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 's' : 'Secondly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"minutely\" matTooltip=\"Minutely\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'm' : 'Minutely'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"hourly\" matTooltip=\"Hourly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'h' : 'Hourly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"daily\" matTooltip=\"Daily\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'D' : 'Daily'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"weekly\" matTooltip=\"Weekly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'W' : 'Weekly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"monthly\" matTooltip=\"Monthly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'M' : 'Monthly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"custom\" matTooltip=\"Custom\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'C' : 'Custom'\n }}</mat-button-toggle>\n </mat-button-toggle-group>\n @if (value && !isDisabled) {\n <button mat-button aria-label=\"Clear\" matTooltip=\"Clear\" type=\"button\" (click)=\"onClear({ touched: true })\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n @switch (internalFormGroup.get('mode')?.value) {\n @case ('secondly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Second</mat-label>\n <mat-select formControlName=\"secondInterval\">\n @for (second of seconds; track second) {\n <mat-option [value]=\"second\">{{ second }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('minutely') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minuteInterval\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('hourly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hour(s)</mat-label>\n <mat-select formControlName=\"hourInterval\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('daily') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Day(s)</mat-label>\n <mat-select formControlName=\"dayInterval\">\n @for (day of daysOfMonth; track day) {\n <mat-option [value]=\"day\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hour(s)</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('weekly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-medium\">\n <mat-label>Day of the week</mat-label>\n <mat-select formControlName=\"dayOfWeek\">\n @for (day of daysOfWeek; track day; let index = $index) {\n <mat-option [value]=\"index\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hours</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minutes</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('monthly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">On the </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Day(s)</mat-label>\n <mat-select formControlName=\"dayOfMonth\">\n @for (day of daysOfMonth; track day) {\n <mat-option [value]=\"day\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> of every month at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hours</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minutes</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('custom') {\n <div class=\"modeForm\">\n <mat-form-field class=\"modeForm__field-custom\">\n <mat-label>Cron expression</mat-label>\n <input matInput formControlName=\"customExpression\" placeholder=\"* * * * * *\" />\n </mat-form-field>\n </div>\n }\n }\n @if (value) {\n <div class=\"preview\">\n @if (internalFormGroup.get('mode')?.value !== 'custom') {\n <span class=\"preview__value\">\n {{ value }}\n </span>\n }\n <span class=\"preview__hint\">{{ expressionDescription }}</span>\n </div>\n } @else {\n <div class=\"placeholder\">No cron expression defined.</div>\n }\n </ng-container>\n }\n</div>\n<div class=\"hint\"><ng-content select=\"gio-form-cron-hint\"></ng-content></div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:flex;min-width:342px;flex-direction:column}::ng-deep gio-form-cron{--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-left:10px;color:var(--mat-form-field-outlined-label-text-color)}.label:empty{display:none}.wrapper{display:inline-flex;flex-direction:column;padding:8px;border:1px solid var(--mat-form-field-outlined-outline-color);border-radius:4px}.wrapper:hover:not(.disabled){padding:8px;border:1px solid var(--mat-form-field-outlined-hover-outline-color)}.wrapper .menu{display:inline-flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper .menu__mode{border:none;margin-bottom:0}.wrapper .modeForm{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:8px;column-gap:4px}.wrapper .modeForm__field-small,.wrapper .modeForm__field-medium,.wrapper .modeForm__field-custom{display:inline-block;height:52px}.wrapper .modeForm__field-small{width:124px}.wrapper .modeForm__field-medium{width:158px}.wrapper .modeForm__field-custom{width:100%}.wrapper .preview,.wrapper .placeholder{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:4px;background-color:#f7f7f8;color:#000}.wrapper .preview__hint,.wrapper .placeholder{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.wrapper.disabled .preview,.wrapper.disabled .placeholder{opacity:.4}.hint{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-top:2px;padding-left:10px}.hint:empty{display:none}:host(.ng-invalid.ng-touched) .wrapper{padding:8px;border-width:1px;border-color:var(--mat-form-field-outlined-error-outline-color)}:host(.ng-invalid.ng-touched) .wrapper .preview,:host(.ng-invalid.ng-touched) .wrapper .placeholder{color:#dd1d1f}:host(.ng-invalid.ng-touched) .label,:host(.ng-invalid.ng-touched) .hint{color:var(--mat-form-field-outlined-error-outline-color)}:host(.disabled) .wrapper{border-color:#f7f7f8}:host(.disabled) .wrapper,:host(.disabled) .hint,:host(.disabled) .label{color:#d2cecd}\n"], dependencies: [{ kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$2.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i3$5.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled", "disabledInteractive", "hideSingleSelectionIndicator", "hideMultipleSelectionIndicator"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i3$5.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled", "disabledInteractive"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i2$3.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i2$3.MatLabel, selector: "mat-label" }, { kind: "component", type: i5$1.MatSelect, selector: "mat-select", inputs: ["aria-describedby", "panelClass", "disabled", "disableRipple", "tabIndex", "hideSingleSelectionIndicator", "placeholder", "required", "multiple", "disableOptionCentering", "compareWith", "value", "aria-label", "aria-labelledby", "errorStateMatcher", "typeaheadDebounceInterval", "sortComparator", "id", "panelWidth", "canSelectNullableOptions"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i2$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "directive", type: i2$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
4972
5450
|
}
|
|
4973
5451
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFormCronComponent, decorators: [{
|
|
4974
5452
|
type: Component,
|
|
@@ -4984,7 +5462,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
4984
5462
|
multi: true,
|
|
4985
5463
|
},
|
|
4986
5464
|
], standalone: false, template: "<!--\n\n Copyright (C) 2025 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=\"label\"><ng-content select=\"gio-form-cron-label\"></ng-content></div>\n<div class=\"wrapper\" [class.smallDisplay]=\"smallDisplay\" [class.disabled]=\"isDisabled\">\n @if (internalFormGroup) {\n <ng-container [formGroup]=\"internalFormGroup\">\n <div class=\"menu\">\n <mat-button-toggle-group\n class=\"gio-button-toggle-group menu__mode\"\n name=\"mode\"\n aria-label=\"Cron mode\"\n formControlName=\"mode\"\n [hideSingleSelectionIndicator]=\"true\"\n >\n <mat-button-toggle value=\"secondly\" matTooltip=\"Secondly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 's' : 'Secondly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"minutely\" matTooltip=\"Minutely\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'm' : 'Minutely'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"hourly\" matTooltip=\"Hourly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'h' : 'Hourly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"daily\" matTooltip=\"Daily\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'D' : 'Daily'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"weekly\" matTooltip=\"Weekly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'W' : 'Weekly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"monthly\" matTooltip=\"Monthly\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'M' : 'Monthly'\n }}</mat-button-toggle>\n <mat-button-toggle value=\"custom\" matTooltip=\"Custom\" [matTooltipDisabled]=\"!smallDisplay\">{{\n smallDisplay ? 'C' : 'Custom'\n }}</mat-button-toggle>\n </mat-button-toggle-group>\n @if (value && !isDisabled) {\n <button mat-button aria-label=\"Clear\" matTooltip=\"Clear\" type=\"button\" (click)=\"onClear({ touched: true })\">\n <mat-icon>close</mat-icon>\n </button>\n }\n </div>\n @switch (internalFormGroup.get('mode')?.value) {\n @case ('secondly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Second</mat-label>\n <mat-select formControlName=\"secondInterval\">\n @for (second of seconds; track second) {\n <mat-option [value]=\"second\">{{ second }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('minutely') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minuteInterval\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('hourly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hour(s)</mat-label>\n <mat-select formControlName=\"hourInterval\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('daily') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Day(s)</mat-label>\n <mat-select formControlName=\"dayInterval\">\n @for (day of daysOfMonth; track day) {\n <mat-option [value]=\"day\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hour(s)</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minute(s)</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('weekly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">Every </span>\n <mat-form-field class=\"modeForm__field-medium\">\n <mat-label>Day of the week</mat-label>\n <mat-select formControlName=\"dayOfWeek\">\n @for (day of daysOfWeek; track day; let index = $index) {\n <mat-option [value]=\"index\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hours</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minutes</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('monthly') {\n <div class=\"modeForm\">\n <span class=\"cron-form-label\">On the </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Day(s)</mat-label>\n <mat-select formControlName=\"dayOfMonth\">\n @for (day of daysOfMonth; track day) {\n <mat-option [value]=\"day\">{{ day }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\"> of every month at </span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Hours</mat-label>\n <mat-select formControlName=\"hours\">\n @for (hour of hours; track hour) {\n <mat-option [value]=\"hour\">{{ hour }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n <span class=\"cron-form-label\">:</span>\n <mat-form-field class=\"modeForm__field-small\">\n <mat-label>Minutes</mat-label>\n <mat-select formControlName=\"minutes\">\n @for (minute of minutes; track minute) {\n <mat-option [value]=\"minute\">{{ minute }}</mat-option>\n }\n </mat-select>\n </mat-form-field>\n </div>\n }\n @case ('custom') {\n <div class=\"modeForm\">\n <mat-form-field class=\"modeForm__field-custom\">\n <mat-label>Cron expression</mat-label>\n <input matInput formControlName=\"customExpression\" placeholder=\"* * * * * *\" />\n </mat-form-field>\n </div>\n }\n }\n @if (value) {\n <div class=\"preview\">\n @if (internalFormGroup.get('mode')?.value !== 'custom') {\n <span class=\"preview__value\">\n {{ value }}\n </span>\n }\n <span class=\"preview__hint\">{{ expressionDescription }}</span>\n </div>\n } @else {\n <div class=\"placeholder\">No cron expression defined.</div>\n }\n </ng-container>\n }\n</div>\n<div class=\"hint\"><ng-content select=\"gio-form-cron-hint\"></ng-content></div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}:host{display:flex;min-width:342px;flex-direction:column}::ng-deep gio-form-cron{--mat-form-field-container-height: 48px;--mat-form-field-filled-label-display: none;--mat-form-field-container-vertical-padding: 12px;--mat-form-field-filled-with-label-container-padding-top: 12px;--mat-form-field-filled-with-label-container-padding-bottom: 12px}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-left:10px;color:var(--mat-form-field-outlined-label-text-color)}.label:empty{display:none}.wrapper{display:inline-flex;flex-direction:column;padding:8px;border:1px solid var(--mat-form-field-outlined-outline-color);border-radius:4px}.wrapper:hover:not(.disabled){padding:8px;border:1px solid var(--mat-form-field-outlined-hover-outline-color)}.wrapper .menu{display:inline-flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper .menu__mode{border:none;margin-bottom:0}.wrapper .modeForm{display:flex;flex-wrap:wrap;align-items:center;margin-bottom:8px;column-gap:4px}.wrapper .modeForm__field-small,.wrapper .modeForm__field-medium,.wrapper .modeForm__field-custom{display:inline-block;height:52px}.wrapper .modeForm__field-small{width:124px}.wrapper .modeForm__field-medium{width:158px}.wrapper .modeForm__field-custom{width:100%}.wrapper .preview,.wrapper .placeholder{display:flex;flex-direction:column;align-items:center;padding:8px;border-radius:4px;background-color:#f7f7f8;color:#000}.wrapper .preview__hint,.wrapper .placeholder{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}.wrapper.disabled .preview,.wrapper.disabled .placeholder{opacity:.4}.hint{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;padding-top:2px;padding-left:10px}.hint:empty{display:none}:host(.ng-invalid.ng-touched) .wrapper{padding:8px;border-width:1px;border-color:var(--mat-form-field-outlined-error-outline-color)}:host(.ng-invalid.ng-touched) .wrapper .preview,:host(.ng-invalid.ng-touched) .wrapper .placeholder{color:#dd1d1f}:host(.ng-invalid.ng-touched) .label,:host(.ng-invalid.ng-touched) .hint{color:var(--mat-form-field-outlined-error-outline-color)}:host(.disabled) .wrapper{border-color:#f7f7f8}:host(.disabled) .wrapper,:host(.disabled) .hint,:host(.disabled) .label{color:#d2cecd}\n"] }]
|
|
4987
|
-
}], ctorParameters: () => [{ type: i0.ElementRef }, { type:
|
|
5465
|
+
}], ctorParameters: () => [{ type: i0.ElementRef }, { type: i2$1.FocusMonitor }, { type: i0.NgZone }, { type: i0.ChangeDetectorRef }], propDecorators: { isDisabled: [{
|
|
4988
5466
|
type: HostBinding,
|
|
4989
5467
|
args: ['class.disabled']
|
|
4990
5468
|
}], smallDisplay: [{
|
|
@@ -5176,7 +5654,7 @@ class GioFjsObjectTypeComponent extends FieldType {
|
|
|
5176
5654
|
}
|
|
5177
5655
|
</div>
|
|
5178
5656
|
</div>
|
|
5179
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper{display:flex;flex-direction:column}.wrapper__title{font-size:18px;font-weight:600;line-height:24px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}.wrapper__fields{padding:8px;border:1px solid #d2cecd;border-radius:8px}.wrapper__fields.noUiBorder{padding:0;border:none}.wrapper__fields:empty{display:none}.wrapper__fields:has(>.wrapper__fields__field:only-child):has(>.wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"], dependencies: [{ kind: "component", type: i1$
|
|
5657
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper{display:flex;flex-direction:column}.wrapper__title{font-size:18px;font-weight:600;line-height:24px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:16px}.wrapper:empty{display:none}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}.wrapper__fields{padding:8px;border:1px solid #d2cecd;border-radius:8px}.wrapper__fields.noUiBorder{padding:0;border:none}.wrapper__fields:empty{display:none}.wrapper__fields:has(>.wrapper__fields__field:only-child):has(>.wrapper__fields__field:empty){display:none}.wrapper__fields__field:empty{display:none}.wrapper__fields__field+.wrapper__fields__field:not(:empty){display:block;margin-top:8px}\n"], dependencies: [{ kind: "component", type: i1$7.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "component", type: i1$7.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }] }); }
|
|
5180
5658
|
}
|
|
5181
5659
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFjsObjectTypeComponent, decorators: [{
|
|
5182
5660
|
type: Component,
|
|
@@ -5278,7 +5756,7 @@ class GioFjsArrayTypeComponent extends FieldArrayType {
|
|
|
5278
5756
|
</div>
|
|
5279
5757
|
</div>
|
|
5280
5758
|
</div>
|
|
5281
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper{padding:8px;border:1px solid #d2cecd;border-radius:8px}.wrapper.noUiBorder{padding:0;border:none}.wrapper.error{border-color:#dd1d1f}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d2cecd;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\n"], dependencies: [{ kind: "component", type: i1$
|
|
5759
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper{padding:8px;border:1px solid #d2cecd;border-radius:8px}.wrapper.noUiBorder{padding:0;border:none}.wrapper.error{border-color:#dd1d1f}.wrapper:empty{display:none}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}.wrapper__rows__row{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.wrapper__rows__row+.wrapper__rows__row{padding-top:3px;border-top:1px solid #d2cecd;margin-top:4px}.wrapper__rows__row__field{flex:1 1 auto}.wrapper__rows__row__remove{flex:0 0 auto}\n"], dependencies: [{ kind: "component", type: i1$7.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "component", type: i1$7.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] }); }
|
|
5282
5760
|
}
|
|
5283
5761
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFjsArrayTypeComponent, decorators: [{
|
|
5284
5762
|
type: Component,
|
|
@@ -5457,7 +5935,7 @@ class GioFjsMultiSchemaTypeComponent extends FieldType {
|
|
|
5457
5935
|
<formly-field [field]="f"></formly-field>
|
|
5458
5936
|
}
|
|
5459
5937
|
</div>
|
|
5460
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper__title{font-family:Kanit,Helvetica Neue,sans-serif;font-size:16px;font-weight:500;line-height:24px;font-size:14px;font-weight:700;line-height:20px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin-bottom:4px}.wrapper:empty{display:none}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}\n"], dependencies: [{ kind: "component", type: i1$
|
|
5938
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper__title{font-family:Kanit,Helvetica Neue,sans-serif;font-size:16px;font-weight:500;line-height:24px;font-size:14px;font-weight:700;line-height:20px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin-bottom:4px}.wrapper:empty{display:none}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}\n"], dependencies: [{ kind: "component", type: i1$7.FormlyField, selector: "formly-field", inputs: ["field"] }, { kind: "component", type: i1$7.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }] }); }
|
|
5461
5939
|
}
|
|
5462
5940
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFjsMultiSchemaTypeComponent, decorators: [{
|
|
5463
5941
|
type: Component,
|
|
@@ -5510,7 +5988,7 @@ class GioFjsToggleTypeComponent extends FieldType {
|
|
|
5510
5988
|
[tabIndex]="props.tabindex"
|
|
5511
5989
|
></mat-slide-toggle>
|
|
5512
5990
|
</gio-form-slide-toggle>
|
|
5513
|
-
`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$
|
|
5991
|
+
`, isInline: true, dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.ɵFormlyAttributes, selector: "[formlyAttributes]", inputs: ["formlyAttributes", "id"] }, { kind: "component", type: GioFormSlideToggleComponent, selector: "gio-form-slide-toggle", inputs: ["appearance"] }, { kind: "component", type: GioFormLabelComponent, selector: "gio-form-label" }, { kind: "directive", type: GioFormSlideToggleDirective, selector: "[gioFormSlideToggle]" }, { kind: "component", type: i5$2.MatSlideToggle, selector: "mat-slide-toggle", inputs: ["name", "id", "labelPosition", "aria-label", "aria-labelledby", "aria-describedby", "required", "color", "disabled", "disableRipple", "tabIndex", "checked", "hideIcon", "disabledInteractive"], outputs: ["change", "toggleChange"], exportAs: ["matSlideToggle"] }] }); }
|
|
5514
5992
|
}
|
|
5515
5993
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFjsToggleTypeComponent, decorators: [{
|
|
5516
5994
|
type: Component,
|
|
@@ -5596,7 +6074,7 @@ class GioFjsHeadersTypeComponent extends FieldType {
|
|
|
5596
6074
|
</div>
|
|
5597
6075
|
}
|
|
5598
6076
|
</div>
|
|
5599
|
-
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper{display:flex;flex-direction:column;padding:8px;border:1px solid #d2cecd;border-radius:8px}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}\n"], dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i1$
|
|
6077
|
+
`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.wrapper{display:flex;flex-direction:column;padding:8px;border:1px solid #d2cecd;border-radius:8px}.wrapper__header{display:flex}.wrapper__header__text{flex:1 1 auto}.wrapper__header__text__title{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin-bottom:8px}.wrapper__header__collapse{flex:0 0 auto}.wrapper__header__collapse .collapse-open{transform:rotate(180deg);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__header__collapse .collapse-close{transform:rotate(0);transition:transform 225ms cubic-bezier(.4,0,.2,1)}.wrapper__error{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;color:#dd1d1f}\n"], dependencies: [{ kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: i1$7.ɵFormlyValidationMessage, selector: "formly-validation-message", inputs: ["field"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: GioFormHeadersComponent, selector: "gio-form-headers", inputs: ["headerFieldMapper", "config", "autocompleteDisabled"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }] }); }
|
|
5600
6078
|
}
|
|
5601
6079
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioFjsHeadersTypeComponent, decorators: [{
|
|
5602
6080
|
type: Component,
|
|
@@ -5872,7 +6350,7 @@ class GioFormJsonSchemaModule {
|
|
|
5872
6350
|
GioPasswordEyeWrapperComponent,
|
|
5873
6351
|
GioElHelperWrapperComponent], imports: [CommonModule,
|
|
5874
6352
|
A11yModule,
|
|
5875
|
-
ReactiveFormsModule, i1$
|
|
6353
|
+
ReactiveFormsModule, i1$7.FormlyModule, FormlyMaterialModule,
|
|
5876
6354
|
MatInputModule,
|
|
5877
6355
|
GioIconsModule,
|
|
5878
6356
|
GioFormSlideToggleModule,
|
|
@@ -6427,7 +6905,7 @@ class SafePipe {
|
|
|
6427
6905
|
throw new Error(`Invalid safe type specified: ${type}`);
|
|
6428
6906
|
}
|
|
6429
6907
|
}
|
|
6430
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: SafePipe, deps: [{ token: i2$
|
|
6908
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: SafePipe, deps: [{ token: i2$2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Pipe }); }
|
|
6431
6909
|
static { this.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "20.3.3", ngImport: i0, type: SafePipe, isStandalone: false, name: "safe" }); }
|
|
6432
6910
|
}
|
|
6433
6911
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: SafePipe, decorators: [{
|
|
@@ -6436,7 +6914,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
6436
6914
|
name: 'safe',
|
|
6437
6915
|
standalone: false,
|
|
6438
6916
|
}]
|
|
6439
|
-
}], ctorParameters: () => [{ type: i2$
|
|
6917
|
+
}], ctorParameters: () => [{ type: i2$2.DomSanitizer }] });
|
|
6440
6918
|
|
|
6441
6919
|
/*
|
|
6442
6920
|
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
@@ -6491,13 +6969,13 @@ class GioLicenseDialogComponent {
|
|
|
6491
6969
|
onClose() {
|
|
6492
6970
|
this.dialogRef.close();
|
|
6493
6971
|
}
|
|
6494
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseDialogComponent, deps: [{ token: i1$
|
|
6495
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioLicenseDialogComponent, isStandalone: false, selector: "gio-license-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe: 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe: 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"primary\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n @if (!featureInfo.hideDays) {\n <div class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n }\n </div>\n</mat-dialog-content>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8a8383}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#322f2f;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#322f2f;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
6972
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseDialogComponent, deps: [{ token: i1$4.MatDialogRef }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6973
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioLicenseDialogComponent, isStandalone: false, selector: "gio-license-dialog", ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe: 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe: 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"primary\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n @if (!featureInfo.hideDays) {\n <div class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n }\n </div>\n</mat-dialog-content>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8a8383}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#322f2f;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#322f2f;text-align:center}\n"], dependencies: [{ kind: "directive", type: i1$4.MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i2.MatButton, selector: " button[matButton], a[matButton], button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button], a[mat-button], a[mat-raised-button], a[mat-flat-button], a[mat-stroked-button] ", inputs: ["matButton"], exportAs: ["matButton", "matAnchor"] }, { kind: "component", type: i2.MatIconButton, selector: "button[mat-icon-button], a[mat-icon-button], button[matIconButton], a[matIconButton]", exportAs: ["matButton", "matAnchor"] }, { kind: "pipe", type: SafePipe, name: "safe" }] }); }
|
|
6496
6974
|
}
|
|
6497
6975
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseDialogComponent, decorators: [{
|
|
6498
6976
|
type: Component,
|
|
6499
6977
|
args: [{ selector: 'gio-license-dialog', standalone: false, template: "<!--\n\n Copyright (C) 2025 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-license-dialog__title\">\n <mat-icon class=\"gio-license-dialog__title__cancel\"></mat-icon>\n <button mat-icon-button [attr.aria-label]=\"'Close'\" (click)=\"onClose()\">\n <mat-icon class=\"gio-license-dialog__title__cancel\" svgIcon=\"gio:cancel\"> </mat-icon>\n </button>\n</div>\n\n<mat-dialog-content class=\"gio-license-dialog__content\">\n <img class=\"gio-license-dialog__content__image\" [src]=\"featureInfo.image\" [alt]=\"featureInfo.title || 'Unlock Gravitee Enterprise'\" />\n <h2 class=\"gio-license-dialog__content__title\" [innerHTML]=\"featureInfo.title || 'Unlock Gravitee Enterprise' | safe: 'html'\"></h2>\n <div class=\"gio-license-dialog__content__description\" [innerHTML]=\"featureInfo.description | safe: 'html'\"></div>\n <div class=\"gio-license-dialog__content__action\">\n <a class=\"gio-license-dialog__content__action__button\" mat-stroked-button color=\"primary\" target=\"_blank\" [href]=\"trialURL\">\n {{ featureInfo.trialButtonLabel || 'Request an enterprise license' }} <mat-icon svgIcon=\"gio:external-link\"></mat-icon>\n </a>\n @if (!featureInfo.hideDays) {\n <div class=\"gio-license-dialog__content__action__info\">14 days trial</div>\n }\n </div>\n</mat-dialog-content>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-license-dialog__title{display:flex;justify-content:space-between}.gio-license-dialog__title__cancel{width:24px;height:24px;color:#8a8383}.gio-license-dialog__content{display:flex;width:600px;flex-direction:column;align-items:center;justify-content:center;padding:0}.gio-license-dialog__content__title{margin:0 0 24px;font-size:26px;font-weight:600;line-height:36px;font-family:Kanit,Helvetica Neue,sans-serif;letter-spacing:normal}.gio-license-dialog__content__description{padding:0 50px 32px;color:#322f2f;font-weight:500;line-height:24px;text-align:center}.gio-license-dialog__content__action{display:flex;flex-direction:column;align-items:center;padding:0 40px 16px}.gio-license-dialog__content__action__button{width:250px}.gio-license-dialog__content__action__info{margin-top:10px;color:#322f2f;text-align:center}\n"] }]
|
|
6500
|
-
}], ctorParameters: () => [{ type: i1$
|
|
6978
|
+
}], ctorParameters: () => [{ type: i1$4.MatDialogRef }, { type: undefined, decorators: [{
|
|
6501
6979
|
type: Inject,
|
|
6502
6980
|
args: [MAT_DIALOG_DATA]
|
|
6503
6981
|
}] }] });
|
|
@@ -6582,7 +7060,7 @@ class GioLicenseService {
|
|
|
6582
7060
|
isExpired$() {
|
|
6583
7061
|
return this.getLicense$().pipe(map(license => license?.isExpired === true));
|
|
6584
7062
|
}
|
|
6585
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseService, deps: [{ token: i1$
|
|
7063
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseService, deps: [{ token: i1$8.HttpClient }, { token: 'LicenseConfiguration' }, { token: i1$4.MatDialog }], target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
6586
7064
|
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseService, providedIn: 'root' }); }
|
|
6587
7065
|
}
|
|
6588
7066
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseService, decorators: [{
|
|
@@ -6590,10 +7068,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
6590
7068
|
args: [{
|
|
6591
7069
|
providedIn: 'root',
|
|
6592
7070
|
}]
|
|
6593
|
-
}], ctorParameters: () => [{ type: i1$
|
|
7071
|
+
}], ctorParameters: () => [{ type: i1$8.HttpClient }, { type: undefined, decorators: [{
|
|
6594
7072
|
type: Inject,
|
|
6595
7073
|
args: ['LicenseConfiguration']
|
|
6596
|
-
}] }, { type: i1$
|
|
7074
|
+
}] }, { type: i1$4.MatDialog }] });
|
|
6597
7075
|
|
|
6598
7076
|
/*
|
|
6599
7077
|
* Copyright (C) 2015 The Gravitee team (http://gravitee.io)
|
|
@@ -6665,7 +7143,7 @@ class GioLicenseDirective {
|
|
|
6665
7143
|
.subscribe();
|
|
6666
7144
|
return false;
|
|
6667
7145
|
}
|
|
6668
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseDirective, deps: [{ token: GioLicenseService }, { token: i1$
|
|
7146
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseDirective, deps: [{ token: GioLicenseService }, { token: i1$4.MatDialog }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
6669
7147
|
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "20.3.3", type: GioLicenseDirective, isStandalone: false, selector: "[gioLicense]", inputs: { gioLicense: "gioLicense" }, ngImport: i0 }); }
|
|
6670
7148
|
}
|
|
6671
7149
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseDirective, decorators: [{
|
|
@@ -6674,7 +7152,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
6674
7152
|
selector: '[gioLicense]',
|
|
6675
7153
|
standalone: false,
|
|
6676
7154
|
}]
|
|
6677
|
-
}], ctorParameters: () => [{ type: GioLicenseService }, { type: i1$
|
|
7155
|
+
}], ctorParameters: () => [{ type: GioLicenseService }, { type: i1$4.MatDialog }, { type: i0.ElementRef }], propDecorators: { gioLicense: [{
|
|
6678
7156
|
type: Input
|
|
6679
7157
|
}] } });
|
|
6680
7158
|
|
|
@@ -6895,7 +7373,7 @@ class GioLicenseExpirationNotificationComponent {
|
|
|
6895
7373
|
return new Date(date.toDateString()).valueOf();
|
|
6896
7374
|
}
|
|
6897
7375
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseExpirationNotificationComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
6898
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioLicenseExpirationNotificationComponent, isStandalone: false, selector: "gio-license-expiration-notification", inputs: { expirationDate: "expirationDate", showCallToAction: "showCallToAction", callToActionMessage: "callToActionMessage", link: "link", inError: "inError" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if (expirationDate && daysRemaining <= 30) {\n <div class=\"status\" rel=\"noopener\">\n <div [ngClass]=\"'status__title ' + statusColor\">\n <div class=\"status__title__text\">\n {{ title }}\n <img src=\"assets/license-expiration-notification-background.svg\" />\n </div>\n </div>\n @if (showCallToAction) {\n <a class=\"status__action\" [href]=\"link ?? 'https://www.gravitee.io/contact-us-licence'\" target=\"_blank\">\n <div class=\"status__action__text\">{{ callToActionMessage ?? 'Contact Gravitee' }}</div>\n <mat-icon svgIcon=\"gio:right-circle\" class=\"status__action__icon\"></mat-icon>\n </a>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.status{position:relative;display:flex;width:192px;height:152px;flex-direction:column;padding:0;border-radius:4px;color:#1e1b1b;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border:none;background:#fff;text-decoration:none}.status--disabled{cursor:not-allowed}.status__sub-tile{height:56px;margin-top:16px}.status__title img{position:absolute;top:0;right:0}.status__title.red{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffcfd0;color:#881d1e}.status__title.red img{filter:invert(21%) sepia(96%) saturate(2923%) hue-rotate(316deg) brightness(75%) contrast(116%)}.status__title.blue{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#e9f6ff;color:#006fb9}.status__title.blue img{filter:invert(27%) sepia(98%) saturate(1450%) hue-rotate(183deg) brightness(91%) contrast(102%)}.status__title.orange{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffd8aa;color:#a5610f}.status__title.orange img{filter:invert(23%) sepia(92%) saturate(1610%) hue-rotate(357deg) brightness(103%) contrast(94%)}.status__title__text{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin:24px 12px;text-align:left}.status__action{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;display:flex;width:100%;align-items:center;justify-content:space-between;padding:20px 12px;color:#1e1b1b;font-weight:700;text-decoration:none}.status__action__icon{width:20px;height:20px}:host-context(.gio-menu__reduced) .status{display:none}\n"], dependencies: [{ kind: "directive", type: i1$
|
|
7376
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioLicenseExpirationNotificationComponent, isStandalone: false, selector: "gio-license-expiration-notification", inputs: { expirationDate: "expirationDate", showCallToAction: "showCallToAction", callToActionMessage: "callToActionMessage", link: "link", inError: "inError" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if (expirationDate && daysRemaining <= 30) {\n <div class=\"status\" rel=\"noopener\">\n <div [ngClass]=\"'status__title ' + statusColor\">\n <div class=\"status__title__text\">\n {{ title }}\n <img src=\"assets/license-expiration-notification-background.svg\" />\n </div>\n </div>\n @if (showCallToAction) {\n <a class=\"status__action\" [href]=\"link ?? 'https://www.gravitee.io/contact-us-licence'\" target=\"_blank\">\n <div class=\"status__action__text\">{{ callToActionMessage ?? 'Contact Gravitee' }}</div>\n <mat-icon svgIcon=\"gio:right-circle\" class=\"status__action__icon\"></mat-icon>\n </a>\n }\n </div>\n}\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.status{position:relative;display:flex;width:192px;height:152px;flex-direction:column;padding:0;border-radius:4px;color:#1e1b1b;box-shadow:0 3px 1px -2px #0003,0 2px 2px #00000024,0 1px 5px #0000001f;border:none;background:#fff;text-decoration:none}.status--disabled{cursor:not-allowed}.status__sub-tile{height:56px;margin-top:16px}.status__title img{position:absolute;top:0;right:0}.status__title.red{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffcfd0;color:#881d1e}.status__title.red img{filter:invert(21%) sepia(96%) saturate(2923%) hue-rotate(316deg) brightness(75%) contrast(116%)}.status__title.blue{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#e9f6ff;color:#006fb9}.status__title.blue img{filter:invert(27%) sepia(98%) saturate(1450%) hue-rotate(183deg) brightness(91%) contrast(102%)}.status__title.orange{display:flex;width:inherit;flex:1 1 100%;align-items:center;border-radius:4px;background:#ffd8aa;color:#a5610f}.status__title.orange img{filter:invert(23%) sepia(92%) saturate(1610%) hue-rotate(357deg) brightness(103%) contrast(94%)}.status__title__text{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px;margin:24px 12px;text-align:left}.status__action{font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal;display:flex;width:100%;align-items:center;justify-content:space-between;padding:20px 12px;color:#1e1b1b;font-weight:700;text-decoration:none}.status__action__icon{width:20px;height:20px}:host-context(.gio-menu__reduced) .status{display:none}\n"], dependencies: [{ kind: "directive", type: i1$3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
|
|
6899
7377
|
}
|
|
6900
7378
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioLicenseExpirationNotificationComponent, decorators: [{
|
|
6901
7379
|
type: Component,
|
|
@@ -7680,7 +8158,7 @@ class GioMenuComponent {
|
|
|
7680
8158
|
}
|
|
7681
8159
|
}
|
|
7682
8160
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMenuComponent, deps: [{ token: GioMenuService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7683
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioMenuComponent, isStandalone: false, selector: "gio-menu", inputs: { reduced: "reduced" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if ({ reduced: reduce$ | async }; as context) {\n <div class=\"gio-menu\" [class.gio-menu__reduced]=\"context.reduced\" (mouseleave)=\"onMouseLeave(context.reduced)\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-license-expiration-notification\"></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]=\"context.reduced ? 'gio:expande' : 'gio:collapse'\"\n (click)=\"reduceMenu(context.reduced)\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n </div>\n}\n", styles: ["@charset \"UTF-8\";.gio-menu{display:flex;width:224px;height:100%;flex-direction:column;justify-content:flex-start;padding:16px 0 0;background:var(--gio-oem-palette--background, #1e1b1b)}.gio-menu__reduced{width:76px}\n"], dependencies: [{ kind: "component", type: GioMenuItemComponent, selector: "gio-menu-item", inputs: ["icon", "iconRight", "active", "outlined"] }, { kind: "component", type: GioMenuFooterComponent, selector: "gio-menu-footer" }, { kind: "pipe", type: i1$
|
|
8161
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioMenuComponent, isStandalone: false, selector: "gio-menu", inputs: { reduced: "reduced" }, usesOnChanges: true, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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@if ({ reduced: reduce$ | async }; as context) {\n <div class=\"gio-menu\" [class.gio-menu__reduced]=\"context.reduced\" (mouseleave)=\"onMouseLeave(context.reduced)\">\n <ng-content select=\"gio-menu-header\"></ng-content>\n <ng-content select=\"gio-menu-list\"></ng-content>\n <ng-content select=\"gio-menu-license-expiration-notification\"></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]=\"context.reduced ? 'gio:expande' : 'gio:collapse'\"\n (click)=\"reduceMenu(context.reduced)\"\n [outlined]=\"true\"\n >Collapse menu</gio-menu-item\n >\n </gio-menu-footer>\n </div>\n}\n", styles: ["@charset \"UTF-8\";.gio-menu{display:flex;width:224px;height:100%;flex-direction:column;justify-content:flex-start;padding:16px 0 0;background:var(--gio-oem-palette--background, #1e1b1b)}.gio-menu__reduced{width:76px}\n"], dependencies: [{ kind: "component", type: GioMenuItemComponent, selector: "gio-menu-item", inputs: ["icon", "iconRight", "active", "outlined"] }, { kind: "component", type: GioMenuFooterComponent, selector: "gio-menu-footer" }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }], encapsulation: i0.ViewEncapsulation.None }); }
|
|
7684
8162
|
}
|
|
7685
8163
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMenuComponent, decorators: [{
|
|
7686
8164
|
type: Component,
|
|
@@ -7886,7 +8364,7 @@ class GioMenuSearchComponent {
|
|
|
7886
8364
|
return value.toLowerCase().replace(/\s/g, '');
|
|
7887
8365
|
}
|
|
7888
8366
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMenuSearchComponent, deps: [{ token: GioMenuSearchService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
7889
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioMenuSearchComponent, isStandalone: false, selector: "gio-menu-search", outputs: { valueChanges: "valueChanges" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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<form>\n <div class=\"gio-menu-search\">\n <div class=\"gio-menu-search__input-container\">\n <input\n matInput\n class=\"gio-menu-search__input\"\n type=\"text\"\n placeholder=\"Search...\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keydown.enter)=\"$event.preventDefault()\"\n />\n </div>\n <div class=\"gio-menu-search__icon-container\">\n <mat-icon svgIcon=\"gio:search\" class=\"gio-menu-search__icon\"></mat-icon>\n </div>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [panelWidth]=\"192\"\n [hideSingleSelectionIndicator]=\"true\"\n [displayWith]=\"displayFn\"\n (optionSelected)=\"onSelectionChange($event)\"\n >\n @for (item of filteredItems$ | async; track item) {\n <mat-option [value]=\"item\">\n <div class=\"gio-menu-search__item\">\n <div class=\"gio-menu-search__item__name\">{{ item.name }}</div>\n <div class=\"gio-menu-search__item__category\">{{ item.category }}</div>\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n </div>\n</form>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-menu-search{display:flex;flex-direction:row;border:3px solid color-mix(in srgb,var(--gio-oem-palette--background, #1e1b1b) 75%,var(--gio-oem-palette--background-contrast, #fff));border-radius:4px;margin-bottom:16px}.gio-menu-search__input-container,.gio-menu-search__icon-container{display:flex;height:44px;align-items:center}.gio-menu-search__input-container{width:160px}.gio-menu-search__icon-container{width:32px}.gio-menu-search__input{width:100%;flex:1;padding:14px 10px;border:none;background-color:transparent;color:var(--gio-oem-palette--background-contrast, #fff);outline:none;font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.gio-menu-search__input::placeholder{color:var(--gio-oem-palette--background-contrast, #fff)}.gio-menu-search__icon{color:#b2aaa9}.gio-menu-search__item{display:flex;height:55px;flex-direction:column;justify-content:center}.gio-menu-search__item__name{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.gio-menu-search__item__category{color:#fe733f;font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}\n"], dependencies: [{ kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$
|
|
8367
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.3", type: GioMenuSearchComponent, isStandalone: false, selector: "gio-menu-search", outputs: { valueChanges: "valueChanges" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2025 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<form>\n <div class=\"gio-menu-search\">\n <div class=\"gio-menu-search__input-container\">\n <input\n matInput\n class=\"gio-menu-search__input\"\n type=\"text\"\n placeholder=\"Search...\"\n [formControl]=\"control\"\n [matAutocomplete]=\"auto\"\n (keydown.enter)=\"$event.preventDefault()\"\n />\n </div>\n <div class=\"gio-menu-search__icon-container\">\n <mat-icon svgIcon=\"gio:search\" class=\"gio-menu-search__icon\"></mat-icon>\n </div>\n <mat-autocomplete\n #auto=\"matAutocomplete\"\n [panelWidth]=\"192\"\n [hideSingleSelectionIndicator]=\"true\"\n [displayWith]=\"displayFn\"\n (optionSelected)=\"onSelectionChange($event)\"\n >\n @for (item of filteredItems$ | async; track item) {\n <mat-option [value]=\"item\">\n <div class=\"gio-menu-search__item\">\n <div class=\"gio-menu-search__item__name\">{{ item.name }}</div>\n <div class=\"gio-menu-search__item__category\">{{ item.category }}</div>\n </div>\n </mat-option>\n }\n </mat-autocomplete>\n </div>\n</form>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #ffc2ac);color:var(--gio-oem-palette--active-contrast, #1e1b1b)}.gio-menu-search{display:flex;flex-direction:row;border:3px solid color-mix(in srgb,var(--gio-oem-palette--background, #1e1b1b) 75%,var(--gio-oem-palette--background-contrast, #fff));border-radius:4px;margin-bottom:16px}.gio-menu-search__input-container,.gio-menu-search__icon-container{display:flex;height:44px;align-items:center}.gio-menu-search__input-container{width:160px}.gio-menu-search__icon-container{width:32px}.gio-menu-search__input{width:100%;flex:1;padding:14px 10px;border:none;background-color:transparent;color:var(--gio-oem-palette--background-contrast, #fff);outline:none;font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.gio-menu-search__input::placeholder{color:var(--gio-oem-palette--background-contrast, #fff)}.gio-menu-search__icon{color:#b2aaa9}.gio-menu-search__item{display:flex;height:55px;flex-direction:column;justify-content:center}.gio-menu-search__item__name{font-size:14px;font-weight:500;line-height:22px;font-family:Manrope,sans-serif;letter-spacing:.4px}.gio-menu-search__item__category{color:#fe733f;font-size:12px;font-weight:400;line-height:16px;font-family:Manrope,sans-serif;letter-spacing:normal}\n"], dependencies: [{ kind: "component", type: i5.MatAutocomplete, selector: "mat-autocomplete", inputs: ["aria-label", "aria-labelledby", "displayWith", "autoActiveFirstOption", "autoSelectActiveOption", "requireSelection", "panelWidth", "disableRipple", "class", "hideSingleSelectionIndicator"], outputs: ["optionSelected", "opened", "closed", "optionActivated"], exportAs: ["matAutocomplete"] }, { kind: "component", type: i5.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i1$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i2$3.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly", "disabledInteractive"], exportAs: ["matInput"] }, { kind: "directive", type: i1$2.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$2.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$2.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1$3.AsyncPipe, name: "async" }] }); }
|
|
7890
8368
|
}
|
|
7891
8369
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImport: i0, type: GioMenuSearchComponent, decorators: [{
|
|
7892
8370
|
type: Component,
|
|
@@ -8498,6 +8976,40 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
8498
8976
|
* limitations under the License.
|
|
8499
8977
|
*/
|
|
8500
8978
|
|
|
8979
|
+
/*
|
|
8980
|
+
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
8981
|
+
*
|
|
8982
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
8983
|
+
* you may not use this file except in compliance with the License.
|
|
8984
|
+
* You may obtain a copy of the License at
|
|
8985
|
+
*
|
|
8986
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
8987
|
+
*
|
|
8988
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
8989
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
8990
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
8991
|
+
* See the License for the specific language governing permissions and
|
|
8992
|
+
* limitations under the License.
|
|
8993
|
+
*/
|
|
8994
|
+
const computeStyles = (theme) => {
|
|
8995
|
+
const backgroundStyle = computeStyleAndContrastByPrefix('background', theme.menuBackground);
|
|
8996
|
+
const activeStyle = computeStyleAndContrastByPrefix('active', theme.menuActive);
|
|
8997
|
+
let subMenu = [];
|
|
8998
|
+
// If the menu background is defined, then define the sub-menu color
|
|
8999
|
+
if (theme.menuBackground) {
|
|
9000
|
+
subMenu = [{ key: `--gio-oem-palette--sub-menu`, value: `color-mix(in srgb, ${theme.menuBackground} 80%, black)` }];
|
|
9001
|
+
}
|
|
9002
|
+
return [...backgroundStyle, ...activeStyle, ...subMenu];
|
|
9003
|
+
};
|
|
9004
|
+
const computeStyleAndContrastByPrefix = (prefix, color) => {
|
|
9005
|
+
if (!color) {
|
|
9006
|
+
return [];
|
|
9007
|
+
}
|
|
9008
|
+
const paletteColor = { key: `--gio-oem-palette--${prefix}`, value: color };
|
|
9009
|
+
const paletteColorContrast = { key: `--gio-oem-palette--${prefix}-contrast`, value: '#fff' };
|
|
9010
|
+
return [paletteColor, paletteColorContrast];
|
|
9011
|
+
};
|
|
9012
|
+
|
|
8501
9013
|
/*
|
|
8502
9014
|
* Copyright (C) 2023 The Gravitee team (http://gravitee.io)
|
|
8503
9015
|
*
|
|
@@ -8663,5 +9175,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.3", ngImpor
|
|
|
8663
9175
|
* Generated bundle index. Do not edit.
|
|
8664
9176
|
*/
|
|
8665
9177
|
|
|
8666
|
-
export { ConfigureTestingGioMonacoEditor, GIO_DIALOG_WIDTH, GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR, GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBaseFormFocusInvalidDirective, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioButtonFocusInvalidButtonDirective, GioCardEmptyStateComponent, GioCardEmptyStateModule, GioClipboardCopyIconComponent, GioClipboardCopyWrapperComponent, GioClipboardModule, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioElAssistantComponent, GioElPromptComponent, GioElService, GioFormCronComponent, GioFormCronHarness, GioFormCronHintComponent, GioFormCronLabelComponent, GioFormCronModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersLabelComponent, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, GioFormSelectionInlineCardComponent, GioFormSelectionInlineCardContentComponent, GioFormSelectionInlineCardHarness, GioFormSelectionInlineCardSubtitleComponent, GioFormSelectionInlineCardTitleComponent, GioFormSelectionInlineComponent, GioFormSelectionInlineHarness, GioFormSelectionInlineModule, GioFormSlideToggleComponent, GioFormSlideToggleDirective, GioFormSlideToggleModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioLicenseDialogComponent, GioLicenseDialogModule, GioLicenseDirective, GioLicenseExpirationNotificationComponent, GioLicenseExpirationNotificationHarness, GioLicenseExpirationNotificationModule, GioLicenseModule, GioLicenseService, GioLicenseTestingModule, GioLoaderComponent, GioLoaderModule, GioMatConfigModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuLicenseExpirationNotificationComponent, GioMenuListComponent, GioMenuModule, GioMenuSearchComponent, GioMenuSearchHarness, GioMenuSearchService, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioMonacoClipboardCopyComponent, GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective, GioMonacoEditorHarness, GioMonacoEditorModule, GioPopoverComponent, GioPrismJsService, GioSafePipeModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, LICENSE_CONFIGURATION_TESTING, NewFile, OEM_LICENSE_CONFIGURATION_TESTING, PopoverTriggerDirective, SafePipe, cleanLocalStorageReduceState, isFormHeaderElConfig, isLicensePluginOptions, isPromptError, isPromptSuccess };
|
|
9178
|
+
export { ConfigureTestingGioMonacoEditor, GIO_DIALOG_WIDTH, GIO_FORM_FOCUS_INVALID_IGNORE_SELECTOR, GioAvatarComponent, GioAvatarModule, GioBannerActionDirective, GioBannerBodyDirective, GioBannerComponent, GioBannerErrorComponent, GioBannerInfoComponent, GioBannerModule, GioBannerSuccessComponent, GioBannerWarningComponent, GioBaseFormFocusInvalidDirective, GioBreadcrumbComponent, GioBreadcrumbItemDirective, GioBreadcrumbModule, GioButtonFocusInvalidButtonDirective, GioCardEmptyStateComponent, GioCardEmptyStateModule, GioClipboardCopyIconComponent, GioClipboardCopyWrapperComponent, GioClipboardModule, GioConfirmAndValidateDialogComponent, GioConfirmAndValidateDialogHarness, GioConfirmAndValidateDialogModule, GioConfirmDialogComponent, GioConfirmDialogHarness, GioConfirmDialogModule, GioElAssistantComponent, GioElPromptComponent, GioElService, GioFormAutocompleteInputComponent, GioFormAutocompleteInputHarness, GioFormAutocompleteInputModule, GioFormCronComponent, GioFormCronHarness, GioFormCronHintComponent, GioFormCronLabelComponent, GioFormCronModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersLabelComponent, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, GioFormSelectionInlineCardComponent, GioFormSelectionInlineCardContentComponent, GioFormSelectionInlineCardHarness, GioFormSelectionInlineCardSubtitleComponent, GioFormSelectionInlineCardTitleComponent, GioFormSelectionInlineComponent, GioFormSelectionInlineHarness, GioFormSelectionInlineModule, GioFormSlideToggleComponent, GioFormSlideToggleDirective, GioFormSlideToggleModule, GioFormTagsInputComponent, GioFormTagsInputHarness, GioFormTagsInputModule, GioIconsModule, GioLicenseDialogComponent, GioLicenseDialogModule, GioLicenseDirective, GioLicenseExpirationNotificationComponent, GioLicenseExpirationNotificationHarness, GioLicenseExpirationNotificationModule, GioLicenseModule, GioLicenseService, GioLicenseTestingModule, GioLoaderComponent, GioLoaderModule, GioMatConfigModule, GioMenuComponent, GioMenuFooterComponent, GioMenuHeaderComponent, GioMenuItemComponent, GioMenuLicenseExpirationNotificationComponent, GioMenuListComponent, GioMenuModule, GioMenuSearchComponent, GioMenuSearchHarness, GioMenuSearchService, GioMenuSelectorComponent, GioMenuSelectorHarness, GioMenuService, GioMonacoClipboardCopyComponent, GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective, GioMonacoEditorHarness, GioMonacoEditorModule, GioPopoverComponent, GioPrismJsService, GioSafePipeModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, LICENSE_CONFIGURATION_TESTING, NewFile, OEM_LICENSE_CONFIGURATION_TESTING, PopoverTriggerDirective, SafePipe, cleanLocalStorageReduceState, computeStyles, isFormHeaderElConfig, isLicensePluginOptions, isPromptError, isPromptSuccess };
|
|
8667
9179
|
//# sourceMappingURL=gravitee-ui-particles-angular.mjs.map
|