@gravitee/ui-particles-angular 12.4.0 → 12.5.0-add-gio-description-list-791a2b6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/esm2022/gio-asciidoctor/gio-asciidoctor.component.mjs +2 -2
  2. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker-add-button/gio-form-file-picker-add-button.component.mjs +3 -3
  3. package/esm2022/lib/gio-form-file-picker/gio-form-file-picker.component.mjs +2 -2
  4. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.mjs +68 -0
  5. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.mjs +85 -0
  6. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.mjs +44 -0
  7. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.component.mjs +103 -0
  8. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.harness.mjs +65 -0
  9. package/esm2022/lib/gio-form-selection-inline/gio-form-selection-inline.module.mjs +59 -0
  10. package/esm2022/lib/gio-form-selection-inline/public-api.mjs +22 -0
  11. package/esm2022/lib/gio-prismjs/gio-prismjs.service.mjs +4 -2
  12. package/esm2022/lib/public-api.mjs +2 -3
  13. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs +1 -1
  14. package/fesm2022/gravitee-ui-particles-angular-gio-asciidoctor.mjs.map +1 -1
  15. package/fesm2022/gravitee-ui-particles-angular.mjs +382 -44
  16. package/fesm2022/gravitee-ui-particles-angular.mjs.map +1 -1
  17. package/lib/gio-form-selection-inline/gio-form-selection-inline-card-content/gio-form-selection-inline-card-content.component.d.ts +14 -0
  18. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.component.d.ts +17 -0
  19. package/lib/gio-form-selection-inline/gio-form-selection-inline-card.harness.d.ts +19 -0
  20. package/lib/gio-form-selection-inline/gio-form-selection-inline.component.d.ts +20 -0
  21. package/lib/gio-form-selection-inline/gio-form-selection-inline.harness.d.ts +26 -0
  22. package/lib/gio-form-selection-inline/gio-form-selection-inline.module.d.ts +14 -0
  23. package/lib/gio-form-selection-inline/public-api.d.ts +6 -0
  24. package/lib/public-api.d.ts +1 -2
  25. package/package.json +1 -1
  26. package/src/lib/gio-description-list/gio-description-list.scss +34 -0
  27. package/src/lib/gio-scss-components.scss +2 -2
  28. package/esm2022/lib/gio-radio-button/gio-radio-button-content.component.mjs +0 -52
  29. package/esm2022/lib/gio-radio-button/gio-radio-button.module.mjs +0 -35
  30. package/lib/gio-radio-button/gio-radio-button-content.component.d.ts +0 -14
  31. package/lib/gio-radio-button/gio-radio-button.module.d.ts +0 -10
  32. package/src/lib/gio-radio-button/gio-radio-button.scss +0 -90
@@ -24,7 +24,7 @@ import * as i2$1 from '@angular/material/icon';
24
24
  import { MatIconModule } from '@angular/material/icon';
25
25
  import * as i6 from '@angular/material/autocomplete';
26
26
  import { MatAutocompleteModule } from '@angular/material/autocomplete';
27
- import * as i7 from '@angular/material/core';
27
+ import * as i3$1 from '@angular/material/core';
28
28
  import { MatOptionModule, MatRippleModule } from '@angular/material/core';
29
29
  import * as i5 from '@angular/material/input';
30
30
  import { MatInputModule } from '@angular/material/input';
@@ -38,7 +38,7 @@ import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
38
38
  import { MatButtonHarness } from '@angular/material/button/testing';
39
39
  import { MatInputHarness } from '@angular/material/input/testing';
40
40
  import * as i5$1 from '@angular/cdk/text-field';
41
- import * as i3$1 from 'ngx-file-helpers';
41
+ import * as i3$2 from 'ngx-file-helpers';
42
42
  import { ReadMode, NgxFileHelpersModule } from 'ngx-file-helpers';
43
43
  import { toSvg } from 'jdenticon';
44
44
  import * as i1$4 from '@ngx-formly/core/json-schema';
@@ -57,7 +57,6 @@ import * as i1$5 from '@angular/cdk/clipboard';
57
57
  import { ClipboardModule } from '@angular/cdk/clipboard';
58
58
  import * as i1$6 from '@angular/common/http';
59
59
  import { MatButtonToggleGroupHarness } from '@angular/material/button-toggle/testing';
60
- import { MatRadioModule } from '@angular/material/radio';
61
60
  import { MatSelectHarness } from '@angular/material/select/testing';
62
61
 
63
62
  /*
@@ -534,7 +533,7 @@ class GioFormTagsInputComponent {
534
533
  provide: MatFormFieldControl,
535
534
  useExisting: GioFormTagsInputComponent,
536
535
  },
537
- ], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-grid #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip-row *ngFor=\"let tag of value\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\" [disabled]=\"disabled\">\n {{ _displayValueWith ? (_displayValueWith(tag) | async) : tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\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 <mat-option *ngIf=\"loading\" disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions$ | async\" [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: [".loader-option{display:flex}.loader-option gio-loader{width:24px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.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.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
536
+ ], viewQueries: [{ propertyName: "tagInput", first: true, predicate: ["tagInput"], descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<mat-chip-grid #tagChipList [attr.aria-label]=\"ariaLabel\" multiple [disabled]=\"disabled\">\n <mat-chip-row *ngFor=\"let tag of value\" [removable]=\"!disabled\" (removed)=\"removeChipToFormControl(tag)\" [disabled]=\"disabled\">\n {{ _displayValueWith ? (_displayValueWith(tag) | async) : tag }}\n <mat-icon matChipRemove>cancel</mat-icon>\n </mat-chip-row>\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 <mat-option *ngIf=\"loading\" disabled id=\"loader\">\n <div class=\"loader-option\"><gio-loader></gio-loader></div>\n </mat-option>\n <mat-option *ngFor=\"let option of autocompleteFilteredOptions$ | async\" [value]=\"option.value\">\n {{ option.label }}\n </mat-option>\n </mat-autocomplete>\n</mat-chip-grid>\n", styles: [".loader-option{display:flex}.loader-option gio-loader{width:24px}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i4.MatChipGrid, selector: "mat-chip-grid", inputs: ["disabled", "placeholder", "required", "value", "errorStateMatcher"], outputs: ["change", "valueChange"] }, { kind: "directive", type: i4.MatChipInput, selector: "input[matChipInputFor]", inputs: ["matChipInputFor", "matChipInputAddOnBlur", "matChipInputSeparatorKeyCodes", "placeholder", "id", "disabled"], outputs: ["matChipInputTokenEnd"], exportAs: ["matChipInput", "matChipInputFor"] }, { kind: "directive", type: i4.MatChipRemove, selector: "[matChipRemove]" }, { kind: "component", type: i4.MatChipRow, selector: "mat-chip-row, [mat-chip-row], mat-basic-chip-row, [mat-basic-chip-row]", inputs: ["editable"], outputs: ["edited"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i6.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: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.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.AsyncPipe, name: "async" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
538
537
  }
539
538
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormTagsInputComponent, decorators: [{
540
539
  type: Component,
@@ -1400,7 +1399,7 @@ class GioFormHeadersComponent {
1400
1399
  useExisting: forwardRef(() => GioFormHeadersComponent),
1401
1400
  multi: true,
1402
1401
  },
1403
- ], 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 <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <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 ></textarea>\n </div>\n <mat-error *ngIf=\"control.get('key')?.hasError('pattern')\">\n Header name must not contain spaces. (RegExp: {{ control.get('key')?.getError('pattern')?.requiredPattern }})\n </mat-error>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <div class=\"gio-form-headers__table__header-row__td-value__field\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </div>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:block;overflow:hidden}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;padding-left:10px;color:#7a7b80}.label:empty{display:none}.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:column;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:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,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-key__button,.gio-form-headers__table__header-row__td-value__button{position:absolute;top:3px;right:3px;display:none}.gio-form-headers__table__header-row__td-remove{width:32px;height:32px;padding:0}.gio-form-headers__table__header-row:hover .gio-form-headers__table__header-row__td-value__button{z-index:110;display:block;background-color:#fff;opacity:.9}:host(.disabled) .label{color:#d3d5dc}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
1402
+ ], 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 <tr\n *ngFor=\"let control of headersFormArray.controls; index as headerIndex\"\n class=\"gio-form-headers__table__header-row\"\n [formGroupName]=\"headerIndex\"\n >\n <td class=\"gio-form-headers__table__header-row__td-key\">\n <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 ></textarea>\n </div>\n <mat-error *ngIf=\"control.get('key')?.hasError('pattern')\">\n Header name must not contain spaces. (RegExp: {{ control.get('key')?.getError('pattern')?.requiredPattern }})\n </mat-error>\n <mat-autocomplete #headerNamesAutocomplete=\"matAutocomplete\">\n <mat-option *ngFor=\"let headerName of getFilteredHeaderNames(headerIndex, control.value) | async\" [value]=\"headerName\">{{\n headerName\n }}</mat-option>\n </mat-autocomplete>\n </td>\n <td class=\"gio-form-headers__table__header-row__td-value\">\n <div class=\"gio-form-headers__table__header-row__td-value__field\">\n <textarea formControlName=\"value\" matInput placeholder=\"Value...\" cdkTextareaAutosize cdkAutosizeMinRows=\"1\"></textarea>\n </div>\n <button\n class=\"gio-form-headers__table__header-row__td-value__button\"\n *ngIf=\"headersFormArray.controls.length - 1 !== headerIndex\"\n mat-icon-button\n aria-label=\"Delete\"\n (click)=\"onDeleteHeader(headerIndex)\"\n >\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </button>\n </td>\n </tr>\n </tbody>\n</table>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:block;overflow:hidden}.label{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;padding-left:10px;color:#7a7b80}.label:empty{display:none}.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:column;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:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,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-key__button,.gio-form-headers__table__header-row__td-value__button{position:absolute;top:3px;right:3px;display:none}.gio-form-headers__table__header-row__td-remove{width:32px;height:32px;padding:0}.gio-form-headers__table__header-row:hover .gio-form-headers__table__header-row__td-value__button{z-index:110;display:block;background-color:#fff;opacity:.9}:host(.disabled) .label{color:#d3d5dc}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i6$1.MatError, selector: "mat-error, [matError]", inputs: ["id"] }, { kind: "directive", type: i5$1.CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$1.FormGroupName, selector: "[formGroupName]", inputs: ["formGroupName"] }, { kind: "directive", type: i1$1.FormArrayName, selector: "[formArrayName]", inputs: ["formArrayName"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "component", type: i3.MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }, { kind: "component", type: i6.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: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
1404
1403
  }
1405
1404
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormHeadersComponent, decorators: [{
1406
1405
  type: Component,
@@ -1595,11 +1594,11 @@ class GioFormHeadersHarness extends ComponentHarness {
1595
1594
  */
1596
1595
  class GioFormFilePickerAddButtonComponent {
1597
1596
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormFilePickerAddButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
1598
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;border-radius:6px;margin:4px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;border-radius:6px;margin:4px;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:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f8fdb3;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}:host{display:block;width:130px;height:130px}.add-button{height:100%;padding:6px;text-align:center}.add-button__image{width:100%;height:54px}.add-button__content{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1597
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormFilePickerAddButtonComponent, selector: "gio-form-file-picker-add-button", ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <div class=\"add-button__content\" *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__content__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content__text\">Drag your file</span>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:block}.add-button{height:100%;padding:6px;text-align:center}.add-button__content{display:flex;flex-direction:column;align-items:center;gap:8px}.add-button__content__image{width:48px;height:48px}.add-button__content__text{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1599
1598
  }
1600
1599
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormFilePickerAddButtonComponent, decorators: [{
1601
1600
  type: Component,
1602
- args: [{ selector: 'gio-form-file-picker-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <span *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content\">Drag your file</span>\n </span>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;border-radius:6px;margin:4px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;border-radius:6px;margin:4px;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:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f8fdb3;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}:host{display:block;width:130px;height:130px}.add-button{height:100%;padding:6px;text-align:center}.add-button__image{width:100%;height:54px}.add-button__content{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"] }]
1601
+ args: [{ selector: 'gio-form-file-picker-add-button', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"add-button\" matRipple>\n <div #content><ng-content></ng-content></div>\n <div class=\"add-button__content\" *ngIf=\"!content.children.length\">\n <mat-icon class=\"add-button__content__image\" svgIcon=\"gio:upload\"></mat-icon>\n <span class=\"add-button__content__text\">Drag your file</span>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:block}.add-button{height:100%;padding:6px;text-align:center}.add-button__content{display:flex;flex-direction:column;align-items:center;gap:8px}.add-button__content__image{width:48px;height:48px}.add-button__content__text{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"] }]
1603
1602
  }] });
1604
1603
 
1605
1604
  /*
@@ -1798,11 +1797,11 @@ class GioFormFilePickerComponent {
1798
1797
  this.onChangeCallback(this.fileValues.map(fileValue => fileValue.isNew ? new NewFile(fileValue.name, fileValue.dataUrl, fileValue.file) : fileValue.dataUrl));
1799
1798
  }
1800
1799
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormFilePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$1.NgControl, optional: true, self: true }], target: i0.ɵɵFactoryTarget.Component }); }
1801
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormFilePickerComponent, selector: "gio-form-file-picker", inputs: { multiple: "multiple", accept: "accept", disabled: "disabled" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span class=\"file-picker__preview-empty disabled\">\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n <span #previewEmpty><ng-content select=\"gio-form-file-picker-empty\"></ng-content></span>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;border-radius:6px;margin:4px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;border-radius:6px;margin:4px;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:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f8fdb3;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$1.FileDropzoneDirective, selector: "[ngxFileDropzone]", outputs: ["fileDrop"], exportAs: ["ngxFileDropzone"] }, { kind: "directive", type: i3$1.FilePickerDirective, selector: "[ngxFilePicker]", inputs: ["accept", "multiple"], outputs: ["filePick"], exportAs: ["ngxFilePicker"] }, { kind: "component", type: i2$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 }); }
1800
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormFilePickerComponent, selector: "gio-form-file-picker", inputs: { multiple: "multiple", accept: "accept", disabled: "disabled" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span class=\"file-picker__preview-empty disabled\">\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n <span #previewEmpty><ng-content select=\"gio-form-file-picker-empty\"></ng-content></span>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}: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}.file-picker__add-button{min-width:130px;min-height:130px;flex:1 1 auto;border:2px dashed #606274;border-radius:6px;margin:4px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;border-radius:6px;margin:4px;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:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f8fdb3;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3$2.FileDropzoneDirective, selector: "[ngxFileDropzone]", outputs: ["fileDrop"], exportAs: ["ngxFileDropzone"] }, { kind: "directive", type: i3$2.FilePickerDirective, selector: "[ngxFilePicker]", inputs: ["accept", "multiple"], outputs: ["filePick"], exportAs: ["ngxFilePicker"] }, { kind: "component", type: i2$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 }); }
1802
1801
  }
1803
1802
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormFilePickerComponent, decorators: [{
1804
1803
  type: Component,
1805
- args: [{ selector: 'gio-form-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span class=\"file-picker__preview-empty disabled\">\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n <span #previewEmpty><ng-content select=\"gio-form-file-picker-empty\"></ng-content></span>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex-direction:column}.file-picker{display:flex;flex:1 1 auto;flex-flow:row wrap;padding:4px}.file-picker__add-button{border:2px dashed #606274;border-radius:6px;margin:4px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;border-radius:6px;margin:4px;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:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f8fdb3;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"] }]
1804
+ args: [{ selector: 'gio-form-file-picker', changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n \n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n \n http://www.apache.org/licenses/LICENSE-2.0\n \n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-file-picker-label\"></ng-content>\n<div\n *ngIf=\"!isDisabled; else disabledTpl\"\n class=\"file-picker\"\n ngxFileDropzone\n [readMode]=\"readMode\"\n (fileDrop)=\"onFileDropped($event)\"\n (dragenter)=\"onDragEnter($event)\"\n (dragleave)=\"onDragOver($event)\"\n (blur)=\"dragHover = false\"\n>\n <div\n *ngIf=\"!isComplete\"\n class=\"file-picker__add-button\"\n [class.complete]=\"isComplete\"\n [class.error]=\"!isValid\"\n [class.drag-hover]=\"dragHover\"\n ngxFilePicker\n [accept]=\"accept\"\n [readMode]=\"readMode\"\n [multiple]=\"multiple\"\n (filePick)=\"onFilePicked($event)\"\n (click)=\"onTouched()\"\n >\n <div #addButton class=\"file-picker__add-button__content\"><ng-content select=\"gio-form-file-picker-add-button\"></ng-content></div>\n <gio-form-file-picker-add-button *ngIf=\"addButton.children.length === 0\"></gio-form-file-picker-add-button>\n </div>\n <div *ngFor=\"let fileValue of fileValues\" class=\"file-picker__preview\" [class.drag-hover]=\"dragHover\" [class.error]=\"!isValid\">\n <a class=\"file-picker__preview__delete\" (click)=\"onRemoveFile(fileValue)\">\n <mat-icon svgIcon=\"gio:cancel\"></mat-icon>\n </a>\n\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n</div>\n\n<ng-template #disabledTpl>\n <div class=\"file-picker disabled\">\n <ng-container *ngIf=\"fileValues.length === 0\">\n <span class=\"file-picker__preview-empty disabled\">\n <gio-form-file-picker-empty\n *ngIf=\"previewEmpty.children.length === 0\"\n class=\"file-picker__preview-empty__default\"\n ></gio-form-file-picker-empty>\n <span #previewEmpty><ng-content select=\"gio-form-file-picker-empty\"></ng-content></span>\n </span>\n </ng-container>\n\n <div class=\"file-picker__preview disabled\" *ngFor=\"let fileValue of fileValues\">\n <ng-container *ngTemplateOutlet=\"filePreview; context: { fileValue: this.fileValue }\"></ng-container>\n </div>\n </div>\n</ng-template>\n\n<ng-template #filePreview let-fileValue=\"fileValue\">\n <div class=\"file-picker__preview__image\" *ngIf=\"fileValue.isImage\" [style.background-image]=\"'url(' + fileValue.dataUrl + ')'\"></div>\n <div class=\"file-picker__preview__file\" *ngIf=\"!fileValue.isImage\">\n <p>{{ fileValue.name }}</p>\n </div>\n</ng-template>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}: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}.file-picker__add-button{min-width:130px;min-height:130px;flex:1 1 auto;border:2px dashed #606274;border-radius:6px;margin:4px;cursor:pointer}.file-picker__add-button:hover,.file-picker__add-button.drag-hover{border:2px dashed #876fec;background-color:#0000000a}.file-picker__add-button.drag-hover{pointer-events:none}.file-picker__add-button.complete{padding:6px;border:none}.file-picker__add-button.error{border:2px dashed #ec4899}.file-picker__preview,.file-picker__preview-empty{position:relative;display:flex;min-width:130px;min-height:130px;flex:0 0 130px;flex-flow:column nowrap;justify-content:space-between;padding:6px;border:2px solid #606274;border-radius:6px;margin:4px;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:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}.file-picker__preview.disabled,.file-picker__preview-empty.disabled{border:2px solid rgba(0,0,0,.12)}.file-picker__preview.error{border:2px solid #ec4899}.file-picker__preview__delete{position:absolute;z-index:200;top:0;right:0;width:24px;height:24px;border-radius:3px;background-color:#f7f8fdb3;color:#100c27;cursor:pointer}.file-picker__preview__delete:hover{color:#fe733f}.file-picker__preview-empty__default{text-align:center}\n"] }]
1806
1805
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$1.NgControl, decorators: [{
1807
1806
  type: Self
1808
1807
  }, {
@@ -3972,7 +3971,7 @@ class GioFormCronComponent {
3972
3971
  useExisting: forwardRef(() => GioFormCronComponent),
3973
3972
  multi: true,
3974
3973
  },
3975
- ], 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-cron-label\"></ng-content></div>\n<div class=\"wrapper\" [class.smallDisplay]=\"smallDisplay\" [class.disabled]=\"isDisabled\">\n <ng-container *ngIf=\"internalFormGroup\" [formGroup]=\"internalFormGroup\">\n <div class=\"menu\">\n <mat-button-toggle-group class=\"gio-button-toggle-group menu__mode\" name=\"mode\" aria-label=\"Cron mode\" formControlName=\"mode\">\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 <button\n *ngIf=\"value && !isDisabled\"\n mat-button\n aria-label=\"Clear\"\n matTooltip=\"Clear\"\n type=\"button\"\n (click)=\"onClear({ touched: true })\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <ng-container [ngSwitch]=\"internalFormGroup.get('mode')?.value\">\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let second of seconds\" [value]=\"second\">{{ second }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let day of daysOfMonth\" [value]=\"day\">{{ day }}</mat-option>\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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let day of daysOfWeek; let index = index\" [value]=\"index\">{{ day }}</mat-option>\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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let day of daysOfMonth\" [value]=\"day\">{{ day }}</mat-option>\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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n\n <div *ngIf=\"value; else placeholder\" class=\"preview\">\n <span *ngIf=\"internalFormGroup.get('mode')?.value !== 'custom'\" class=\"preview__value\">\n {{ value }}\n </span>\n <span class=\"preview__hint\">{{ expressionDescription }}</span>\n </div>\n </ng-container>\n\n <ng-template #placeholder>\n <div class=\"placeholder\">No cron expression defined.</div>\n </ng-template>\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, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}: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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;padding-left:10px;color:var(--mdc-outlined-text-field-label-text-color)}.label:empty{display:none}.wrapper{display:inline-flex;flex-direction:column;padding:8px;border:1px solid var(--mdc-outlined-text-field-outline-color);border-radius:4px}.wrapper:hover:not(.disabled){padding:8px;border:1px solid var(--mdc-outlined-text-field-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:#e7e8ef;color:#000}.wrapper .preview__hint,.wrapper .placeholder{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,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(--mdc-outlined-text-field-error-outline-color)}:host(.ng-invalid.ng-touched) .wrapper .preview,:host(.ng-invalid.ng-touched) .wrapper .placeholder{color:#ec4899}:host(.ng-invalid.ng-touched) .label,:host(.ng-invalid.ng-touched) .hint{color:var(--mdc-outlined-text-field-error-outline-color)}:host(.disabled) .wrapper{border-color:#e7e8ef}:host(.disabled) .wrapper,:host(.disabled) .hint,:host(.disabled) .label{color:#d3d5dc}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i4$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i6$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i6$2.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"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3974
+ ], 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-cron-label\"></ng-content></div>\n<div class=\"wrapper\" [class.smallDisplay]=\"smallDisplay\" [class.disabled]=\"isDisabled\">\n <ng-container *ngIf=\"internalFormGroup\" [formGroup]=\"internalFormGroup\">\n <div class=\"menu\">\n <mat-button-toggle-group class=\"gio-button-toggle-group menu__mode\" name=\"mode\" aria-label=\"Cron mode\" formControlName=\"mode\">\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 <button\n *ngIf=\"value && !isDisabled\"\n mat-button\n aria-label=\"Clear\"\n matTooltip=\"Clear\"\n type=\"button\"\n (click)=\"onClear({ touched: true })\"\n >\n <mat-icon>close</mat-icon>\n </button>\n </div>\n\n <ng-container [ngSwitch]=\"internalFormGroup.get('mode')?.value\">\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let second of seconds\" [value]=\"second\">{{ second }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let day of daysOfMonth\" [value]=\"day\">{{ day }}</mat-option>\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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let day of daysOfWeek; let index = index\" [value]=\"index\">{{ day }}</mat-option>\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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 <mat-option *ngFor=\"let day of daysOfMonth\" [value]=\"day\">{{ day }}</mat-option>\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 <mat-option *ngFor=\"let hour of hours\" [value]=\"hour\">{{ hour }}</mat-option>\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 <mat-option *ngFor=\"let minute of minutes\" [value]=\"minute\">{{ minute }}</mat-option>\n </mat-select>\n </mat-form-field>\n </div>\n </ng-container>\n\n <ng-container *ngSwitchCase=\"'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 </ng-container>\n </ng-container>\n\n <div *ngIf=\"value; else placeholder\" class=\"preview\">\n <span *ngIf=\"internalFormGroup.get('mode')?.value !== 'custom'\" class=\"preview__value\">\n {{ value }}\n </span>\n <span class=\"preview__hint\">{{ expressionDescription }}</span>\n </div>\n </ng-container>\n\n <ng-template #placeholder>\n <div class=\"placeholder\">No cron expression defined.</div>\n </ng-template>\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, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}: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:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal;padding-left:10px;color:var(--mdc-outlined-text-field-label-text-color)}.label:empty{display:none}.wrapper{display:inline-flex;flex-direction:column;padding:8px;border:1px solid var(--mdc-outlined-text-field-outline-color);border-radius:4px}.wrapper:hover:not(.disabled){padding:8px;border:1px solid var(--mdc-outlined-text-field-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:#e7e8ef;color:#000}.wrapper .preview__hint,.wrapper .placeholder{font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,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:Golos UI,Roboto,Helvetica Neue,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(--mdc-outlined-text-field-error-outline-color)}:host(.ng-invalid.ng-touched) .wrapper .preview,:host(.ng-invalid.ng-touched) .wrapper .placeholder{color:#ec4899}:host(.ng-invalid.ng-touched) .label,:host(.ng-invalid.ng-touched) .hint{color:var(--mdc-outlined-text-field-error-outline-color)}:host(.disabled) .wrapper{border-color:#e7e8ef}:host(.disabled) .wrapper,:host(.disabled) .hint,:host(.disabled) .label{color:#d3d5dc}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i4$1.MatButtonToggleGroup, selector: "mat-button-toggle-group", inputs: ["appearance", "name", "vertical", "value", "multiple", "disabled"], outputs: ["valueChange", "change"], exportAs: ["matButtonToggleGroup"] }, { kind: "component", type: i4$1.MatButtonToggle, selector: "mat-button-toggle", inputs: ["aria-label", "aria-labelledby", "id", "name", "value", "tabIndex", "disableRipple", "appearance", "checked", "disabled"], outputs: ["change"], exportAs: ["matButtonToggle"] }, { kind: "component", type: i6$1.MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: i6$1.MatLabel, selector: "mat-label" }, { kind: "component", type: i6$2.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"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: i3.MatButton, selector: " button[mat-button], button[mat-raised-button], button[mat-flat-button], button[mat-stroked-button] ", exportAs: ["matButton"] }, { kind: "directive", type: i2$4.MatTooltip, selector: "[matTooltip]", inputs: ["matTooltipPosition", "matTooltipPositionAtOrigin", "matTooltipDisabled", "matTooltipShowDelay", "matTooltipHideDelay", "matTooltipTouchGestures", "matTooltip", "matTooltipClass"], exportAs: ["matTooltip"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
3976
3975
  }
3977
3976
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormCronComponent, decorators: [{
3978
3977
  type: Component,
@@ -5136,6 +5135,8 @@ class GioPrismJsService {
5136
5135
  return this.loadPrimeJsCore().pipe(
5137
5136
  // Then load PrismJs components
5138
5137
  switchMap(() => this.loadPrismJsComponent('json')),
5138
+ // Small delay to ensure PrismJs take language into account
5139
+ delay(100),
5139
5140
  // If already loaded, we don't want to load it again
5140
5141
  shareReplay(1),
5141
5142
  // Ignore error
@@ -5308,7 +5309,7 @@ class GioClipboardCopyWrapperComponent extends GioClipboardComponent {
5308
5309
  >
5309
5310
  <mat-icon [inline]="true">{{ clicked ? 'check' : 'content_copy' }}</mat-icon>
5310
5311
  </button>
5311
- `, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.right{padding:0;border:none;margin-left:4px;background:none;color:#616266;cursor:pointer;outline:inherit}.right:not(.clicked,.always-visible){opacity:0}.right.clicked{color:#099;opacity:1}:host(:hover,:focus) .right{opacity:1}:host(:hover,:focus) .right:hover,:host(:hover,:focus) .right:focus{color:#099}\n"], dependencies: [{ kind: "component", type: i2$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: i7.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"] }] }); }
5312
+ `, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.right{padding:0;border:none;margin-left:4px;background:none;color:#616266;cursor:pointer;outline:inherit}.right:not(.clicked,.always-visible){opacity:0}.right.clicked{color:#099;opacity:1}:host(:hover,:focus) .right{opacity:1}:host(:hover,:focus) .right:hover,:host(:hover,:focus) .right:focus{color:#099}\n"], dependencies: [{ kind: "component", type: i2$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"] }] }); }
5312
5313
  }
5313
5314
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioClipboardCopyWrapperComponent, decorators: [{
5314
5315
  type: Component,
@@ -5370,7 +5371,7 @@ class GioClipboardCopyIconComponent extends GioClipboardComponent {
5370
5371
  >
5371
5372
  <mat-icon>{{ clicked ? 'check' : 'content_copy' }}</mat-icon>
5372
5373
  </button>
5373
- `, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host-context(.mat-mdc-form-field-icon-suffix){padding:12px}.btn{padding:0;border:none;margin-left:4px;background:none;color:#616266;cursor:pointer;outline:inherit}.btn.clicked,.btn:hover,.btn:focus{color:#099}\n"], dependencies: [{ kind: "component", type: i2$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: i7.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"] }] }); }
5374
+ `, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host-context(.mat-mdc-form-field-icon-suffix){padding:12px}.btn{padding:0;border:none;margin-left:4px;background:none;color:#616266;cursor:pointer;outline:inherit}.btn.clicked,.btn:hover,.btn:focus{color:#099}\n"], dependencies: [{ kind: "component", type: i2$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"] }] }); }
5374
5375
  }
5375
5376
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioClipboardCopyIconComponent, decorators: [{
5376
5377
  type: Component,
@@ -6107,38 +6108,233 @@ class GioFormCronHarness extends ComponentHarness {
6107
6108
  * See the License for the specific language governing permissions and
6108
6109
  * limitations under the License.
6109
6110
  */
6110
- class GioRadioButtonTitleComponent {
6111
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6112
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioRadioButtonTitleComponent, selector: "gio-radio-button-title", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
6111
+ class GioFormSelectionInlineCardComponent {
6112
+ get _disabled() {
6113
+ return this.disabled || this._parendDisabled || this.lock;
6114
+ }
6115
+ constructor(changeDetector) {
6116
+ this.changeDetector = changeDetector;
6117
+ this.lock = false;
6118
+ this.disabled = false;
6119
+ this.selected = false;
6120
+ this._parendDisabled = false;
6121
+ }
6122
+ onSelectCard() {
6123
+ if (!this._disabled && !this.lock) {
6124
+ this.selected = !this.selected;
6125
+ if (this.onSelectFn) {
6126
+ this.onSelectFn(this.value);
6127
+ }
6128
+ }
6129
+ }
6130
+ _markForCheck() {
6131
+ // When group value changes, the button will not be notified. Use `markForCheck` to explicit
6132
+ // update radio button's status
6133
+ this.changeDetector.markForCheck();
6134
+ }
6135
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6136
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormSelectionInlineCardComponent, selector: "gio-form-selection-inline-card", inputs: { value: "value", lock: "lock", disabled: "disabled" }, host: { listeners: { "click": "onSelectCard()" }, properties: { "class.disabled": "this._disabled", "class.selected": "this.selected" } }, ngImport: i0, template: `
6137
+ <div matRipple [matRippleDisabled]="_disabled" class="card" [class.selected]="selected" [class.disabled]="_disabled">
6138
+ <span class="selection-icon">
6139
+ <mat-icon class="selection-icon__lock-icon" *ngIf="lock" svgIcon="gio:lock"></mat-icon>
6140
+ <mat-icon class="selection-icon__radio-icon">{{ selected ? 'radio_button_checked' : 'radio_button_unchecked' }}</mat-icon>
6141
+ </span>
6142
+
6143
+ <div class="card__content"><ng-content></ng-content></div>
6144
+ </div>
6145
+ `, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex:1 0 0%}.card{min-width:64px;min-height:40px;flex:1 1 auto;border:1px solid var(--mdc-outlined-text-field-outline-color);border-radius:4px;margin:6px;cursor:pointer}.card .selection-icon{position:absolute;top:8px;right:8px;display:flex;height:24px;flex-direction:row;align-items:center;border-radius:100%;gap:4px}.card .selection-icon__lock-icon{height:22px;cursor:pointer}.card .selection-icon__lock-icon,.card .selection-icon__radio-icon{color:var(--mdc-outlined-text-field-outline-color)}.card.selected{border:2px solid #876fec;margin:5px;color:#876fec}.card.selected .selection-icon__radio-icon{color:#876fec}.card.disabled{border-color:#0003;color:#00000061;cursor:auto}.card.disabled__content{opacity:.4}.card.disabled .selection-icon__radio-icon{color:#0003}.card.disabled .selection-icon__lock-icon{color:#876fec}.card:hover:not(.disabled,.selected){border-color:var(--mdc-outlined-text-field-hover-outline-color)}.card:hover:not(.disabled,.selected) .selection-icon__radio-icon{color:var(--mdc-outlined-text-field-hover-outline-color)}.card__content{padding:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3$1.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }] }); }
6146
+ }
6147
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardComponent, decorators: [{
6148
+ type: Component,
6149
+ args: [{ selector: 'gio-form-selection-inline-card', template: `
6150
+ <div matRipple [matRippleDisabled]="_disabled" class="card" [class.selected]="selected" [class.disabled]="_disabled">
6151
+ <span class="selection-icon">
6152
+ <mat-icon class="selection-icon__lock-icon" *ngIf="lock" svgIcon="gio:lock"></mat-icon>
6153
+ <mat-icon class="selection-icon__radio-icon">{{ selected ? 'radio_button_checked' : 'radio_button_unchecked' }}</mat-icon>
6154
+ </span>
6155
+
6156
+ <div class="card__content"><ng-content></ng-content></div>
6157
+ </div>
6158
+ `, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}:host{display:flex;flex:1 0 0%}.card{min-width:64px;min-height:40px;flex:1 1 auto;border:1px solid var(--mdc-outlined-text-field-outline-color);border-radius:4px;margin:6px;cursor:pointer}.card .selection-icon{position:absolute;top:8px;right:8px;display:flex;height:24px;flex-direction:row;align-items:center;border-radius:100%;gap:4px}.card .selection-icon__lock-icon{height:22px;cursor:pointer}.card .selection-icon__lock-icon,.card .selection-icon__radio-icon{color:var(--mdc-outlined-text-field-outline-color)}.card.selected{border:2px solid #876fec;margin:5px;color:#876fec}.card.selected .selection-icon__radio-icon{color:#876fec}.card.disabled{border-color:#0003;color:#00000061;cursor:auto}.card.disabled__content{opacity:.4}.card.disabled .selection-icon__radio-icon{color:#0003}.card.disabled .selection-icon__lock-icon{color:#876fec}.card:hover:not(.disabled,.selected){border-color:var(--mdc-outlined-text-field-hover-outline-color)}.card:hover:not(.disabled,.selected) .selection-icon__radio-icon{color:var(--mdc-outlined-text-field-hover-outline-color)}.card__content{padding:16px}\n"] }]
6159
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { value: [{
6160
+ type: Input
6161
+ }], lock: [{
6162
+ type: Input
6163
+ }], disabled: [{
6164
+ type: Input
6165
+ }], _disabled: [{
6166
+ type: HostBinding,
6167
+ args: ['class.disabled']
6168
+ }], selected: [{
6169
+ type: HostBinding,
6170
+ args: ['class.selected']
6171
+ }], onSelectCard: [{
6172
+ type: HostListener,
6173
+ args: ['click']
6174
+ }] } });
6175
+
6176
+ /*
6177
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
6178
+ *
6179
+ * Licensed under the Apache License, Version 2.0 (the "License");
6180
+ * you may not use this file except in compliance with the License.
6181
+ * You may obtain a copy of the License at
6182
+ *
6183
+ * http://www.apache.org/licenses/LICENSE-2.0
6184
+ *
6185
+ * Unless required by applicable law or agreed to in writing, software
6186
+ * distributed under the License is distributed on an "AS IS" BASIS,
6187
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6188
+ * See the License for the specific language governing permissions and
6189
+ * limitations under the License.
6190
+ */
6191
+ class GioFormSelectionInlineComponent {
6192
+ constructor(changeDetector) {
6193
+ this.changeDetector = changeDetector;
6194
+ this.disabled = false;
6195
+ this._onChange = () => ({});
6196
+ this._onTouched = () => ({});
6197
+ }
6198
+ ngAfterContentInit() {
6199
+ this.selectCardsList?.forEach(card => {
6200
+ card._parendDisabled = this.disabled;
6201
+ if (card.value === this.selection) {
6202
+ card.selected = true;
6203
+ this.changeDetector.markForCheck();
6204
+ }
6205
+ card.onSelectFn = value => {
6206
+ if (!this.disabled) {
6207
+ this.updateCardsSelection(value);
6208
+ }
6209
+ };
6210
+ card._markForCheck();
6211
+ });
6212
+ }
6213
+ // From ControlValueAccessor interface
6214
+ writeValue(value) {
6215
+ this.selection = value;
6216
+ this.updateCardsSelection(value);
6217
+ this.changeDetector.markForCheck();
6218
+ }
6219
+ // From ControlValueAccessor interface
6220
+ registerOnChange(fn) {
6221
+ this._onChange = fn;
6222
+ }
6223
+ // From ControlValueAccessor interface
6224
+ registerOnTouched(fn) {
6225
+ this._onTouched = fn;
6226
+ }
6227
+ // From ControlValueAccessor interface
6228
+ setDisabledState(isDisabled) {
6229
+ this.disabled = isDisabled;
6230
+ if (this.selectCardsList) {
6231
+ this.selectCardsList.forEach(card => {
6232
+ card._parendDisabled = this.disabled;
6233
+ card._markForCheck();
6234
+ });
6235
+ }
6236
+ this.changeDetector.markForCheck();
6237
+ }
6238
+ updateCardsSelection(value) {
6239
+ if (this.selectCardsList) {
6240
+ this.selectCardsList.forEach(card => {
6241
+ const newSelectedValue = card.value === value;
6242
+ if (newSelectedValue !== card.selected) {
6243
+ card.selected = card.value === value;
6244
+ card._markForCheck();
6245
+ }
6246
+ });
6247
+ this.selection = value;
6248
+ this._onChange(this.selection);
6249
+ this._onTouched();
6250
+ }
6251
+ }
6252
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
6253
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormSelectionInlineComponent, selector: "gio-form-selection-inline", providers: [
6254
+ {
6255
+ provide: NG_VALUE_ACCESSOR,
6256
+ multi: true,
6257
+ useExisting: forwardRef(() => GioFormSelectionInlineComponent),
6258
+ },
6259
+ ], queries: [{ propertyName: "selectCardsList", predicate: i0.forwardRef(() => GioFormSelectionInlineCardComponent), descendants: true }], ngImport: i0, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-selection-inline-card\"></ng-content>\n", styles: [":host{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
6260
+ }
6261
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineComponent, decorators: [{
6262
+ type: Component,
6263
+ args: [{ selector: 'gio-form-selection-inline', providers: [
6264
+ {
6265
+ provide: NG_VALUE_ACCESSOR,
6266
+ multi: true,
6267
+ useExisting: forwardRef(() => GioFormSelectionInlineComponent),
6268
+ },
6269
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "<!--\n\n Copyright (C) 2015 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<ng-content select=\"gio-form-selection-inline-card\"></ng-content>\n", styles: [":host{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}\n"] }]
6270
+ }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { selectCardsList: [{
6271
+ type: ContentChildren,
6272
+ args: [forwardRef(() => GioFormSelectionInlineCardComponent), { descendants: true }]
6273
+ }] } });
6274
+
6275
+ /*
6276
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
6277
+ *
6278
+ * Licensed under the Apache License, Version 2.0 (the "License");
6279
+ * you may not use this file except in compliance with the License.
6280
+ * You may obtain a copy of the License at
6281
+ *
6282
+ * http://www.apache.org/licenses/LICENSE-2.0
6283
+ *
6284
+ * Unless required by applicable law or agreed to in writing, software
6285
+ * distributed under the License is distributed on an "AS IS" BASIS,
6286
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6287
+ * See the License for the specific language governing permissions and
6288
+ * limitations under the License.
6289
+ */
6290
+ class GioFormSelectionInlineCardContentComponent {
6291
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6292
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormSelectionInlineCardContentComponent, selector: "gio-form-selection-inline-card-content", inputs: { icon: "icon" }, ngImport: i0, template: `<div class="content">
6293
+ <mat-icon class="content__icon" [svgIcon]="icon" *ngIf="icon"></mat-icon>
6294
+ <div class="content__title">
6295
+ <ng-content select="gio-card-content-title"></ng-content>
6296
+ </div>
6297
+ <div class="content__subtitle">
6298
+ <ng-content select="gio-card-content-subtitle"></ng-content>
6299
+ </div>
6300
+ </div>`, isInline: true, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.content{display:flex;flex-direction:column;align-items:flex-start}.content__icon{width:32px;height:32px;margin-bottom:8px}.content__title{font-size:18px;font-weight:600;line-height:24px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.content__subtitle{font-size:14px;font-weight:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
6113
6301
  }
6114
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonTitleComponent, decorators: [{
6302
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardContentComponent, decorators: [{
6303
+ type: Component,
6304
+ args: [{ selector: 'gio-form-selection-inline-card-content', template: `<div class="content">
6305
+ <mat-icon class="content__icon" [svgIcon]="icon" *ngIf="icon"></mat-icon>
6306
+ <div class="content__title">
6307
+ <ng-content select="gio-card-content-title"></ng-content>
6308
+ </div>
6309
+ <div class="content__subtitle">
6310
+ <ng-content select="gio-card-content-subtitle"></ng-content>
6311
+ </div>
6312
+ </div>`, styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.content{display:flex;flex-direction:column;align-items:flex-start}.content__icon{width:32px;height:32px;margin-bottom:8px}.content__title{font-size:18px;font-weight:600;line-height:24px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px;margin-bottom:8px}.content__subtitle{font-size:14px;font-weight:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}\n"] }]
6313
+ }], propDecorators: { icon: [{
6314
+ type: Input
6315
+ }] } });
6316
+ class GioFormSelectionInlineCardTitleComponent {
6317
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardTitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6318
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormSelectionInlineCardTitleComponent, selector: "gio-card-content-title", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
6319
+ }
6320
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardTitleComponent, decorators: [{
6115
6321
  type: Component,
6116
6322
  args: [{
6117
- selector: 'gio-radio-button-title',
6323
+ selector: 'gio-card-content-title',
6118
6324
  template: `<ng-content></ng-content>`,
6119
6325
  }]
6120
6326
  }] });
6121
- class GioRadioButtonSubitleComponent {
6122
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonSubitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6123
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioRadioButtonSubitleComponent, selector: "gio-radio-button-subtitle", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
6327
+ class GioFormSelectionInlineCardSubtitleComponent {
6328
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardSubtitleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6329
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioFormSelectionInlineCardSubtitleComponent, selector: "gio-card-content-subtitle", ngImport: i0, template: `<ng-content></ng-content>`, isInline: true }); }
6124
6330
  }
6125
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonSubitleComponent, decorators: [{
6331
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineCardSubtitleComponent, decorators: [{
6126
6332
  type: Component,
6127
6333
  args: [{
6128
- selector: 'gio-radio-button-subtitle',
6334
+ selector: 'gio-card-content-subtitle',
6129
6335
  template: `<ng-content></ng-content>`,
6130
6336
  }]
6131
6337
  }] });
6132
- class GioRadioButtonContentComponent {
6133
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6134
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioRadioButtonContentComponent, selector: "gio-radio-button-content", inputs: { icon: "icon" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-radio-button__content\">\n <div class=\"gio-radio-button__content__icon\">\n <mat-icon [svgIcon]=\"icon\" *ngIf=\"icon\"></mat-icon>\n </div>\n <div class=\"gio-radio-button__content__title\">\n <ng-content select=\"gio-radio-button-title\"></ng-content>\n </div>\n <div class=\"gio-radio-button__content__subtitle\">\n <ng-content select=\"gio-radio-button-subtitle\"></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";\n"], dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }] }); }
6135
- }
6136
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonContentComponent, decorators: [{
6137
- type: Component,
6138
- args: [{ selector: 'gio-radio-button-content', template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-radio-button__content\">\n <div class=\"gio-radio-button__content__icon\">\n <mat-icon [svgIcon]=\"icon\" *ngIf=\"icon\"></mat-icon>\n </div>\n <div class=\"gio-radio-button__content__title\">\n <ng-content select=\"gio-radio-button-title\"></ng-content>\n </div>\n <div class=\"gio-radio-button__content__subtitle\">\n <ng-content select=\"gio-radio-button-subtitle\"></ng-content>\n </div>\n</div>\n", styles: ["@charset \"UTF-8\";\n"] }]
6139
- }], propDecorators: { icon: [{
6140
- type: Input
6141
- }] } });
6142
6338
 
6143
6339
  /*
6144
6340
  * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
@@ -6155,20 +6351,162 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
6155
6351
  * See the License for the specific language governing permissions and
6156
6352
  * limitations under the License.
6157
6353
  */
6158
- class GioRadioButtonModule {
6159
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6160
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonModule, declarations: [GioRadioButtonContentComponent, GioRadioButtonTitleComponent, GioRadioButtonSubitleComponent], imports: [CommonModule, MatRadioModule, GioIconsModule], exports: [GioRadioButtonContentComponent, GioRadioButtonTitleComponent, GioRadioButtonSubitleComponent] }); }
6161
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonModule, imports: [CommonModule, MatRadioModule, GioIconsModule] }); }
6162
- }
6163
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioRadioButtonModule, decorators: [{
6354
+ class GioFormSelectionInlineModule {
6355
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
6356
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineModule, declarations: [GioFormSelectionInlineComponent,
6357
+ GioFormSelectionInlineCardComponent,
6358
+ GioFormSelectionInlineCardSubtitleComponent,
6359
+ GioFormSelectionInlineCardTitleComponent,
6360
+ GioFormSelectionInlineCardContentComponent], imports: [CommonModule, MatCardModule, MatIconModule, MatRippleModule, GioIconsModule], exports: [GioFormSelectionInlineComponent,
6361
+ GioFormSelectionInlineCardComponent,
6362
+ GioFormSelectionInlineCardSubtitleComponent,
6363
+ GioFormSelectionInlineCardTitleComponent,
6364
+ GioFormSelectionInlineCardContentComponent] }); }
6365
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineModule, imports: [CommonModule, MatCardModule, MatIconModule, MatRippleModule, GioIconsModule] }); }
6366
+ }
6367
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioFormSelectionInlineModule, decorators: [{
6164
6368
  type: NgModule,
6165
6369
  args: [{
6166
- declarations: [GioRadioButtonContentComponent, GioRadioButtonTitleComponent, GioRadioButtonSubitleComponent],
6167
- exports: [GioRadioButtonContentComponent, GioRadioButtonTitleComponent, GioRadioButtonSubitleComponent],
6168
- imports: [CommonModule, MatRadioModule, GioIconsModule],
6370
+ imports: [CommonModule, MatCardModule, MatIconModule, MatRippleModule, GioIconsModule],
6371
+ declarations: [
6372
+ GioFormSelectionInlineComponent,
6373
+ GioFormSelectionInlineCardComponent,
6374
+ GioFormSelectionInlineCardSubtitleComponent,
6375
+ GioFormSelectionInlineCardTitleComponent,
6376
+ GioFormSelectionInlineCardContentComponent,
6377
+ ],
6378
+ exports: [
6379
+ GioFormSelectionInlineComponent,
6380
+ GioFormSelectionInlineCardComponent,
6381
+ GioFormSelectionInlineCardSubtitleComponent,
6382
+ GioFormSelectionInlineCardTitleComponent,
6383
+ GioFormSelectionInlineCardContentComponent,
6384
+ ],
6169
6385
  }]
6170
6386
  }] });
6171
6387
 
6388
+ /*
6389
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
6390
+ *
6391
+ * Licensed under the Apache License, Version 2.0 (the "License");
6392
+ * you may not use this file except in compliance with the License.
6393
+ * You may obtain a copy of the License at
6394
+ *
6395
+ * http://www.apache.org/licenses/LICENSE-2.0
6396
+ *
6397
+ * Unless required by applicable law or agreed to in writing, software
6398
+ * distributed under the License is distributed on an "AS IS" BASIS,
6399
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6400
+ * See the License for the specific language governing permissions and
6401
+ * limitations under the License.
6402
+ */
6403
+ class GioFormSelectionInlineCardHarness extends ComponentHarness {
6404
+ static { this.hostSelector = 'gio-form-selection-inline-card'; }
6405
+ /**
6406
+ * Gets a `HarnessPredicate` that can be used to search for a `GioFormSelectionInlineCardHarness` that meets
6407
+ * certain criteria.
6408
+ *
6409
+ * @param options Options for filtering which input instances are considered a match.
6410
+ * @return a `HarnessPredicate` configured with the given options.
6411
+ */
6412
+ static with(options = {}) {
6413
+ return new HarnessPredicate(GioFormSelectionInlineCardHarness, options).addOption('value', options.value, (harness, value) => HarnessPredicate.stringMatches(harness.getValue(), value));
6414
+ }
6415
+ async getValue() {
6416
+ const host = await this.host();
6417
+ return (await host.getAttribute('ng-reflect-value')) ?? null;
6418
+ }
6419
+ async isSelected() {
6420
+ return (await this.host()).hasClass('selected');
6421
+ }
6422
+ async isDisabled() {
6423
+ return (await this.host()).hasClass('disabled');
6424
+ }
6425
+ async getContentText() {
6426
+ const content = await this.locatorFor('.card__content')();
6427
+ return content.text();
6428
+ }
6429
+ }
6430
+
6431
+ /*
6432
+ * Copyright (C) 2015 The Gravitee team (http://gravitee.io)
6433
+ *
6434
+ * Licensed under the Apache License, Version 2.0 (the "License");
6435
+ * you may not use this file except in compliance with the License.
6436
+ * You may obtain a copy of the License at
6437
+ *
6438
+ * http://www.apache.org/licenses/LICENSE-2.0
6439
+ *
6440
+ * Unless required by applicable law or agreed to in writing, software
6441
+ * distributed under the License is distributed on an "AS IS" BASIS,
6442
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6443
+ * See the License for the specific language governing permissions and
6444
+ * limitations under the License.
6445
+ */
6446
+ class GioFormSelectionInlineHarness extends ComponentHarness {
6447
+ constructor() {
6448
+ super(...arguments);
6449
+ this.getCards = this.locatorForAll(GioFormSelectionInlineCardHarness);
6450
+ this.getCardByValue = (value) => this.locatorFor(`gio-form-selection-inline-card[ng-reflect-value="${value}"]`)();
6451
+ }
6452
+ static { this.hostSelector = 'gio-form-selection-inline'; }
6453
+ /**
6454
+ * Gets a `HarnessPredicate` that can be used to search for a `GioFormSelectionInlineHarness` that meets
6455
+ * certain criteria.
6456
+ *
6457
+ * @param options Options for filtering which input instances are considered a match.
6458
+ * @return a `HarnessPredicate` configured with the given options.
6459
+ */
6460
+ static with(options = {}) {
6461
+ return new HarnessPredicate(GioFormSelectionInlineHarness, options);
6462
+ }
6463
+ async getSelectedValue() {
6464
+ const cards = await this.getCards();
6465
+ const cardsAttr = await parallel(() => cards.map(async (row) => ({ class: await row.isSelected(), value: await row.getValue() })));
6466
+ return cardsAttr.find(card => card.class)?.value ?? undefined;
6467
+ }
6468
+ async getUnselectedValues() {
6469
+ const cards = await this.getCards();
6470
+ const cardsAttr = await parallel(() => cards.map(async (row) => ({ class: await row.isSelected(), value: await row.getValue() })));
6471
+ return cardsAttr.filter(card => !card.class).map(card => card.value ?? undefined);
6472
+ }
6473
+ async getSelectionCards() {
6474
+ const cards = await this.getCards();
6475
+ const cardsAttr = await parallel(() => cards.map(async (card) => ({
6476
+ text: await card.getContentText(),
6477
+ selected: await card.isSelected(),
6478
+ value: (await card.getValue()) ?? undefined,
6479
+ disabled: await card.isDisabled(),
6480
+ })));
6481
+ return cardsAttr.map(card => ({ text: card.text, selected: card.selected, value: card.value, disabled: card.disabled }));
6482
+ }
6483
+ async select(value) {
6484
+ const card = await this.getCardByValue(value);
6485
+ await card.click();
6486
+ }
6487
+ async isDisabled() {
6488
+ const cards = await this.getCards();
6489
+ const cardsAttr = await parallel(() => cards.map(async (card) => ({ hasClass: await card.isDisabled() })));
6490
+ return cardsAttr.every(card => card.hasClass);
6491
+ }
6492
+ }
6493
+
6494
+ /*
6495
+ * Copyright (C) 2024 The Gravitee team (http://gravitee.io)
6496
+ *
6497
+ * Licensed under the Apache License, Version 2.0 (the "License");
6498
+ * you may not use this file except in compliance with the License.
6499
+ * You may obtain a copy of the License at
6500
+ *
6501
+ * http://www.apache.org/licenses/LICENSE-2.0
6502
+ *
6503
+ * Unless required by applicable law or agreed to in writing, software
6504
+ * distributed under the License is distributed on an "AS IS" BASIS,
6505
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
6506
+ * See the License for the specific language governing permissions and
6507
+ * limitations under the License.
6508
+ */
6509
+
6172
6510
  /*
6173
6511
  * Copyright (C) 2022 The Gravitee team (http://gravitee.io)
6174
6512
  *
@@ -6406,7 +6744,7 @@ class GioMenuSelectorComponent {
6406
6744
  this.selectChange.emit($event.value);
6407
6745
  }
6408
6746
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioMenuSelectorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
6409
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioMenuSelectorComponent, selector: "gio-menu-selector", inputs: { selectorTitle: "selectorTitle", selectorItems: "selectorItems", selectedItemValue: "selectedItemValue", tabIndex: "tabIndex" }, outputs: { selectChange: "selectChange" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <span class=\"gio-menu-selector__label mat-caption\">{{ selectorTitle }}</span>\n <mat-select\n class=\"gio-menu-selector__select\"\n [tabIndex]=\"tabIndex\"\n panelClass=\"gio-menu-selector-custom-width\"\n [value]=\"selectedItemValue\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option class=\"gio-menu-selector__select__mat-option\" *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-menu-selector{width:192px;padding:4px 14px 10px;border:3px solid color-mix(in srgb,var(--gio-oem-palette--background, #1c1e39) 75%,var(--gio-oem-palette--background-contrast, #fff));border-radius:4px;margin-bottom:8px;color:var(--gio-oem-palette--background-contrast, #fff)}.gio-menu-selector__label{margin-bottom:2px}::ng-deep gio-menu-selector .gio-menu-selector>*{display:block}::ng-deep gio-menu-selector .mat-mdc-select-value{color:var(--gio-oem-palette--background-contrast, #fff)}::ng-deep gio-menu-selector .mat-mdc-select-arrow{color:var(--gio-oem-palette--background-contrast, #fff)}::ng-deep .mdc-menu-surface.mat-mdc-select-panel.gio-menu-selector-custom-width{width:192px;margin:10px -16px 0}::ng-deep .mdc-menu-surface.mat-mdc-select-panel.gio-menu-selector-custom-width mat-option[aria-selected=true]>span{color:var(--gio-oem-palette--active, #099)}::ng-deep .mdc-menu-surface.mat-mdc-select-panel.gio-menu-selector-custom-width mat-option[aria-selected=true] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after{color:var(--gio-oem-palette--active, #099)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$2.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"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
6747
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioMenuSelectorComponent, selector: "gio-menu-selector", inputs: { selectorTitle: "selectorTitle", selectorItems: "selectorItems", selectedItemValue: "selectedItemValue", tabIndex: "tabIndex" }, outputs: { selectChange: "selectChange" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<div class=\"gio-menu-selector\">\n <span class=\"gio-menu-selector__label mat-caption\">{{ selectorTitle }}</span>\n <mat-select\n class=\"gio-menu-selector__select\"\n [tabIndex]=\"tabIndex\"\n panelClass=\"gio-menu-selector-custom-width\"\n [value]=\"selectedItemValue\"\n (selectionChange)=\"onSelectionChange($event)\"\n >\n <mat-option class=\"gio-menu-selector__select__mat-option\" *ngFor=\"let item of selectorItems\" [value]=\"item.value\">\n {{ item.displayValue }}\n </mat-option>\n </mat-select>\n</div>\n", styles: ["@charset \"UTF-8\";.gio-top-bar-menu .gio-badge-accent{background-color:var(--gio-oem-palette--active, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-menu-selector{width:192px;padding:4px 14px 10px;border:3px solid color-mix(in srgb,var(--gio-oem-palette--background, #1c1e39) 75%,var(--gio-oem-palette--background-contrast, #fff));border-radius:4px;margin-bottom:8px;color:var(--gio-oem-palette--background-contrast, #fff)}.gio-menu-selector__label{margin-bottom:2px}::ng-deep gio-menu-selector .gio-menu-selector>*{display:block}::ng-deep gio-menu-selector .mat-mdc-select-value{color:var(--gio-oem-palette--background-contrast, #fff)}::ng-deep gio-menu-selector .mat-mdc-select-arrow{color:var(--gio-oem-palette--background-contrast, #fff)}::ng-deep .mdc-menu-surface.mat-mdc-select-panel.gio-menu-selector-custom-width{width:192px;margin:10px -16px 0}::ng-deep .mdc-menu-surface.mat-mdc-select-panel.gio-menu-selector-custom-width mat-option[aria-selected=true]>span{color:var(--gio-oem-palette--active, #099)}::ng-deep .mdc-menu-surface.mat-mdc-select-panel.gio-menu-selector-custom-width mat-option[aria-selected=true] .mat-pseudo-checkbox-checked.mat-pseudo-checkbox-minimal:after{color:var(--gio-oem-palette--active, #099)}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: i6$2.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"], outputs: ["openedChange", "opened", "closed", "selectionChange", "valueChange"], exportAs: ["matSelect"] }] }); }
6410
6748
  }
6411
6749
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioMenuSelectorComponent, decorators: [{
6412
6750
  type: Component,
@@ -6552,7 +6890,7 @@ class GioMenuSearchComponent {
6552
6890
  return value.toLowerCase().replace(/\s/g, '');
6553
6891
  }
6554
6892
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioMenuSearchComponent, deps: [{ token: GioMenuSearchService }], target: i0.ɵɵFactoryTarget.Component }); }
6555
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioMenuSearchComponent, selector: "gio-menu-search", outputs: { valueChanges: "valueChanges" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<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 <mat-option *ngFor=\"let item of filteredItems$ | async\" [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 </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, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-menu-search{display:flex;flex-direction:row;border:3px solid color-mix(in srgb,var(--gio-oem-palette--background, #1c1e39) 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:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-menu-search__input::placeholder{color:var(--gio-oem-palette--background-contrast, #fff)}.gio-menu-search__icon{color:#98999f}.gio-menu-search__item{display:flex;height:55px;flex-direction:column;justify-content:center}.gio-menu-search__item__name{font-size:14px;font-weight:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-menu-search__item__category{color:#9f8cf0;font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i6.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: i7.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
6893
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.2.3", type: GioMenuSearchComponent, selector: "gio-menu-search", outputs: { valueChanges: "valueChanges" }, ngImport: i0, template: "<!--\n\n Copyright (C) 2022 The Gravitee team (http://gravitee.io)\n\n Licensed under the Apache License, Version 2.0 (the \"License\");\n you may not use this file except in compliance with the License.\n You may obtain a copy of the License at\n\n http://www.apache.org/licenses/LICENSE-2.0\n\n Unless required by applicable law or agreed to in writing, software\n distributed under the License is distributed on an \"AS IS\" BASIS,\n WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n See the License for the specific language governing permissions and\n limitations under the License.\n\n-->\n<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 <mat-option *ngFor=\"let item of filteredItems$ | async\" [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 </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, #e7e2fb);color:var(--gio-oem-palette--active-contrast, #100c27)}.gio-menu-search{display:flex;flex-direction:row;border:3px solid color-mix(in srgb,var(--gio-oem-palette--background, #1c1e39) 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:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-menu-search__input::placeholder{color:var(--gio-oem-palette--background-contrast, #fff)}.gio-menu-search__icon{color:#98999f}.gio-menu-search__item{display:flex;height:55px;flex-direction:column;justify-content:center}.gio-menu-search__item__name{font-size:14px;font-weight:400;line-height:22px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:.4px}.gio-menu-search__item__category{color:#9f8cf0;font-size:12px;font-weight:400;line-height:16px;font-family:Golos UI,Roboto,Helvetica Neue,sans-serif;letter-spacing:normal}\n"], dependencies: [{ kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "component", type: i6.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: i3$1.MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "directive", type: i6.MatAutocompleteTrigger, selector: "input[matAutocomplete], textarea[matAutocomplete]", inputs: ["matAutocomplete", "matAutocompletePosition", "matAutocompleteConnectedTo", "autocomplete", "matAutocompleteDisabled"], exportAs: ["matAutocompleteTrigger"] }, { kind: "component", type: i2$1.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i5.MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "directive", type: i1$1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$1.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$1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "pipe", type: i1.AsyncPipe, name: "async" }] }); }
6556
6894
  }
6557
6895
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImport: i0, type: GioMenuSearchComponent, decorators: [{
6558
6896
  type: Component,
@@ -7375,5 +7713,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.3", ngImpor
7375
7713
  * Generated bundle index. Do not edit.
7376
7714
  */
7377
7715
 
7378
- 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, GioFormCronComponent, GioFormCronHarness, GioFormCronHintComponent, GioFormCronLabelComponent, GioFormCronModule, GioFormFilePickerAddButtonComponent, GioFormFilePickerComponent, GioFormFilePickerEmptyComponent, GioFormFilePickerInputHarness, GioFormFilePickerLabelComponent, GioFormFilePickerModule, GioFormFocusInvalidFormDirective, GioFormFocusInvalidIgnoreDirective, GioFormFocusInvalidModule, GioFormHeadersComponent, GioFormHeadersHarness, GioFormHeadersLabelComponent, GioFormHeadersModule, GioFormJsonSchemaComponent, GioFormJsonSchemaModule, GioFormLabelComponent, GioFormPrefixDirective, 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, GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective, GioMonacoEditorHarness, GioMonacoEditorModule, GioPrismJsService, GioRadioButtonContentComponent, GioRadioButtonModule, GioRadioButtonSubitleComponent, GioRadioButtonTitleComponent, GioSafePipeModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, LICENSE_CONFIGURATION_TESTING, NewFile, OEM_DEFAULT_LOGO, OEM_LICENSE_CONFIGURATION_TESTING, OEM_THEME_ARG_TYPES, SafePipe, computeAndInjectStylesForStory, computeStyles, computeStylesForStory, isLicensePluginOptions, resetStoryStyleInjection };
7716
+ 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, 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, GioMonacoEditorComponent, GioMonacoEditorFormFieldDirective, GioMonacoEditorHarness, GioMonacoEditorModule, GioPrismJsService, GioSafePipeModule, GioSaveBarComponent, GioSaveBarHarness, GioSaveBarModule, GioSubmenuComponent, GioSubmenuGroupComponent, GioSubmenuItemComponent, GioSubmenuModule, GioSubmenuTitleDirective, GioTopBarComponent, GioTopBarContentComponent, GioTopBarLinkComponent, GioTopBarLinkModule, GioTopBarMenuComponent, GioTopBarMenuModule, GioTopBarModule, LICENSE_CONFIGURATION_TESTING, NewFile, OEM_DEFAULT_LOGO, OEM_LICENSE_CONFIGURATION_TESTING, OEM_THEME_ARG_TYPES, SafePipe, computeAndInjectStylesForStory, computeStyles, computeStylesForStory, isLicensePluginOptions, resetStoryStyleInjection };
7379
7717
  //# sourceMappingURL=gravitee-ui-particles-angular.mjs.map