@eui/components 14.0.20 → 14.0.21-snapshot-1680602704229
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.
- package/docs/components/EuiSelectComponent.html +14 -1
- package/docs/components/EuiTableComponent.html +5 -17
- package/docs/directives/EuiNgSelectOptionDirective.html +14 -1
- package/docs/js/search/search_index.js +2 -2
- package/esm2020/eui-select/eui-select-option.directive.mjs +15 -3
- package/esm2020/eui-select/eui-select.component.mjs +19 -7
- package/esm2020/eui-table/eui-table.component.mjs +66 -8
- package/eui-select/eui-select-option.directive.d.ts +8 -5
- package/eui-select/eui-select-option.directive.d.ts.map +1 -1
- package/eui-select/eui-select.component.d.ts +7 -3
- package/eui-select/eui-select.component.d.ts.map +1 -1
- package/eui-table/eui-table.component.d.ts +5 -4
- package/eui-table/eui-table.component.d.ts.map +1 -1
- package/fesm2015/eui-components-eui-select.mjs +32 -9
- package/fesm2015/eui-components-eui-select.mjs.map +1 -1
- package/fesm2015/eui-components-eui-table.mjs +65 -7
- package/fesm2015/eui-components-eui-table.mjs.map +1 -1
- package/fesm2020/eui-components-eui-select.mjs +32 -9
- package/fesm2020/eui-components-eui-select.mjs.map +1 -1
- package/fesm2020/eui-components-eui-table.mjs +65 -7
- package/fesm2020/eui-components-eui-table.mjs.map +1 -1
- package/package.json +2 -2
|
@@ -1,13 +1,16 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Component, ViewEncapsulation, Input,
|
|
2
|
+
import { InjectFlags, Component, ViewEncapsulation, Input, forwardRef, Directive, HostBinding, Optional, Host, NgModule } from '@angular/core';
|
|
3
3
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
4
4
|
import { EuiInputTextComponent } from '@eui/components/eui-input-text';
|
|
5
|
+
import * as i2 from '@angular/forms';
|
|
6
|
+
import { NgControl, SelectControlValueAccessor, NG_VALUE_ACCESSOR, NgSelectOption, SelectMultipleControlValueAccessor, ɵNgSelectMultipleOption } from '@angular/forms';
|
|
7
|
+
import { startWith } from 'rxjs';
|
|
5
8
|
import { CommonModule } from '@angular/common';
|
|
6
|
-
import { SelectControlValueAccessor, NgControl, NG_VALUE_ACCESSOR, NgSelectOption, SelectMultipleControlValueAccessor, ɵNgSelectMultipleOption } from '@angular/forms';
|
|
7
9
|
|
|
8
10
|
class EuiSelectComponent {
|
|
9
|
-
constructor(renderer, elementRef, viewContainerRef) {
|
|
11
|
+
constructor(renderer, injector, elementRef, viewContainerRef) {
|
|
10
12
|
this.renderer = renderer;
|
|
13
|
+
this.injector = injector;
|
|
11
14
|
this.elementRef = elementRef;
|
|
12
15
|
this.viewContainerRef = viewContainerRef;
|
|
13
16
|
}
|
|
@@ -36,22 +39,31 @@ class EuiSelectComponent {
|
|
|
36
39
|
}
|
|
37
40
|
}
|
|
38
41
|
}
|
|
42
|
+
ngAfterViewInit() {
|
|
43
|
+
const control = this.injector.get(NgControl, null, InjectFlags.Optional);
|
|
44
|
+
if (control) {
|
|
45
|
+
// That's a workaround for the readonly select element because of the need of sync of ValueAccessors
|
|
46
|
+
control.valueChanges.pipe(startWith(null)).subscribe(() => this.setReadonlyValue(this.readonlyInput));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
39
49
|
/**
|
|
40
50
|
* set readonly value from selected options presented as comma separated string
|
|
51
|
+
*
|
|
41
52
|
* @param readonlyRef the input element to set the value
|
|
42
53
|
* @private
|
|
43
54
|
*/
|
|
44
55
|
setReadonlyValue(readonlyRef) {
|
|
45
56
|
if (readonlyRef) {
|
|
46
57
|
const selectedOptions = Array.apply(null, this.elementRef.nativeElement.selectedOptions)
|
|
47
|
-
.map(i => i.text)
|
|
48
|
-
.filter(i => i !== this.placeholder)
|
|
58
|
+
.map((i) => i.text)
|
|
59
|
+
.filter((i) => i !== this.placeholder)
|
|
49
60
|
.join(', ');
|
|
50
61
|
this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);
|
|
51
62
|
}
|
|
52
63
|
}
|
|
53
64
|
/**
|
|
54
65
|
* create readonly element
|
|
66
|
+
*
|
|
55
67
|
* @private
|
|
56
68
|
*/
|
|
57
69
|
createReadonlyElement() {
|
|
@@ -60,12 +72,12 @@ class EuiSelectComponent {
|
|
|
60
72
|
return componentRef;
|
|
61
73
|
}
|
|
62
74
|
}
|
|
63
|
-
/** @nocollapse */ EuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
75
|
+
/** @nocollapse */ EuiSelectComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectComponent, deps: [{ token: i0.Renderer2 }, { token: i0.Injector }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
64
76
|
/** @nocollapse */ EuiSelectComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiSelectComponent, selector: "select[euiSelect]", inputs: { placeholder: "placeholder", readonly: "readonly" }, usesOnChanges: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, styles: [".eui-select{font: 400 1rem/1.25rem arial,sans-serif;-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--eui-base-color)}.eui-select:active:not([readonly]),.eui-select:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-select[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-select[readonly]+.eui-feedback-message,.eui-select[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-select[disabled],.eui-select--disabled{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25);color:var(--eui-base-color-grey-75);pointer-events:none}.eui-select--invalid,.eui-select--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-select--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-select--clearable-icon{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-select--clearable-icon:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-select--clearable-icon:hover{color:var(--eui-base-color-grey-100)}.eui-select--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-select--loading-icon{align-items:center;display:flex}.eui-select--loading-icon:after,.eui-select--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-select--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-select--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-select--loading-icon--sm:after,.eui-select--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-select::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-select::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-select::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-select::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-select[readonly][multiple=true] option:checked{background:none}.eui-select[readonly][multiple=true] :not(option:checked){display:none}.eui-select[multiple=true],.eui-select[size]:not([size=\"1\"]):not([size=\"0\"]){background-image:none;height:auto;overflow:auto;padding:var(--eui-base-spacing-2xs) 0}.eui-select__readonly:active,.eui-select__readonly:focus{border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-select__placeholder{color:var(--eui-base-color-grey-50)!important}.eui-select__item{color:var(--eui-base-color-grey-100)}.eui-select optgroup{font: 400 1rem/1.25rem arial,sans-serif;font-style:normal;font-weight:700}.eui-select optgroup,.eui-select option{-webkit-appearance:none;appearance:none;color:var(--eui-base-color);display:block;padding:var(--eui-base-spacing-2xs);white-space:pre}.eui-select optgroup:disabled,.eui-select option:disabled{color:var(--eui-base-color-grey-25)}.eui-select:not([readonly]):not([multiple]),.eui-select[size=\"1\"],.eui-select[size=\"0\"]{-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);background-image:url('data:image/svg+xml;utf8, <svg focusable=\"false\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" name=\"chevron-down\" aria-label=\"Close menu\" role=\"img\"><path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"/></svg>');background-position:calc(100% - var(--eui-base-spacing-s)) center;background-repeat:no-repeat;background-size:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-xl)}\n"], encapsulation: i0.ViewEncapsulation.None });
|
|
65
77
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiSelectComponent, decorators: [{
|
|
66
78
|
type: Component,
|
|
67
79
|
args: [{ selector: 'select[euiSelect]', template: '<ng-content></ng-content>', encapsulation: ViewEncapsulation.None, styles: [".eui-select{font: 400 1rem/1.25rem arial,sans-serif;-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);border:1px solid var(--eui-base-color-grey-50);border-radius:var(--eui-base-border-radius);color:var(--eui-base-color-grey-100);display:block;padding:calc(var(--eui-base-spacing-s) - 1px);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--eui-base-color)}.eui-select:active:not([readonly]),.eui-select:focus:not([readonly]){z-index:auto;border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.eui-select[readonly]{background-color:transparent;border-color:transparent!important;box-shadow:none;height:inherit;padding:var(--eui-base-spacing-2xs) 0;pointer-events:none}.eui-select[readonly]+.eui-feedback-message,.eui-select[readonly]+.eui-input-maxlength{-webkit-appearance:none;appearance:none;display:none}.eui-select[disabled],.eui-select--disabled{background-color:var(--eui-base-color-grey-5);border:1px solid var(--eui-base-color-grey-25);color:var(--eui-base-color-grey-75);pointer-events:none}.eui-select--invalid,.eui-select--danger{border:1px solid var(--eui-base-color-danger-100)}.eui-select--clearable{padding-right:var(--eui-base-spacing-2xl)}.eui-select--clearable-icon{align-items:center;background-color:var(--eui-base-color-white);color:var(--eui-base-color-grey-35);cursor:pointer;display:flex;font-size:var(--eui-base-font-size-m);-webkit-user-select:none;user-select:none}.eui-select--clearable-icon:before{position:absolute;right:var(--eui-base-spacing-s)}.eui-select--clearable-icon:hover{color:var(--eui-base-color-grey-100)}.eui-select--loading{padding-right:var(--eui-base-spacing-2xl)}.eui-select--loading-icon{align-items:center;display:flex}.eui-select--loading-icon:after,.eui-select--loading-icon:before{content:\"\";height:var(--eui-base-spacing-l);position:absolute;right:var(--eui-base-spacing-s);width:var(--eui-base-spacing-l)}.eui-select--loading-icon:before{border:var(--eui-base-spacing-2xs) solid rgba(0,0,0,.35);border-radius:100%}.eui-select--loading-icon:after{animation:eui-loading .6s linear;animation-iteration-count:infinite;border-color:var(--eui-base-color-white) transparent transparent;border-radius:100%;border-style:solid;border-width:var(--eui-base-spacing-2xs);box-shadow:0 0 0 1px transparent}.eui-select--loading-icon--sm:after,.eui-select--loading-icon--sm:before{height:var(--eui-base-spacing-m);width:var(--eui-base-spacing-m)}@keyframes eui-loading{to{transform:rotate(360deg)}}.eui-select::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-select::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-select::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-select::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-select[readonly][multiple=true] option:checked{background:none}.eui-select[readonly][multiple=true] :not(option:checked){display:none}.eui-select[multiple=true],.eui-select[size]:not([size=\"1\"]):not([size=\"0\"]){background-image:none;height:auto;overflow:auto;padding:var(--eui-base-spacing-2xs) 0}.eui-select__readonly:active,.eui-select__readonly:focus{border-color:var(--eui-base-color-accessible-focus)!important;box-shadow:inset 0 0 0 1px var(--eui-base-color-accessible-focus),inset 0 0 0 2px var(--eui-base-color-grey-5);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out;border:2px solid var(--eui-base-color-accessible-focus);outline:none;transition:border .15s ease-in-out}.eui-select__placeholder{color:var(--eui-base-color-grey-50)!important}.eui-select__item{color:var(--eui-base-color-grey-100)}.eui-select optgroup{font: 400 1rem/1.25rem arial,sans-serif;font-style:normal;font-weight:700}.eui-select optgroup,.eui-select option{-webkit-appearance:none;appearance:none;color:var(--eui-base-color);display:block;padding:var(--eui-base-spacing-2xs);white-space:pre}.eui-select optgroup:disabled,.eui-select option:disabled{color:var(--eui-base-color-grey-25)}.eui-select:not([readonly]):not([multiple]),.eui-select[size=\"1\"],.eui-select[size=\"0\"]{-webkit-appearance:none;appearance:none;background-color:var(--eui-base-color-white);background-image:url('data:image/svg+xml;utf8, <svg focusable=\"false\" viewBox=\"0 0 16 16\" xmlns=\"http://www.w3.org/2000/svg\" name=\"chevron-down\" aria-label=\"Close menu\" role=\"img\"><path d=\"M8 11L3 6 3.7 5.3 8 9.6 12.3 5.3 13 6z\"/></svg>');background-position:calc(100% - var(--eui-base-spacing-s)) center;background-repeat:no-repeat;background-size:var(--eui-base-spacing-m);padding-right:var(--eui-base-spacing-xl)}\n"] }]
|
|
68
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { placeholder: [{
|
|
80
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.Injector }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }]; }, propDecorators: { placeholder: [{
|
|
69
81
|
type: Input
|
|
70
82
|
}], readonly: [{
|
|
71
83
|
type: Input
|
|
@@ -244,11 +256,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
244
256
|
*/
|
|
245
257
|
// eslint-disable-next-line @angular-eslint/directive-selector
|
|
246
258
|
class EuiNgSelectOptionDirective extends NgSelectOption {
|
|
247
|
-
constructor(_element, _renderer, _select) {
|
|
259
|
+
constructor(_element, _renderer, _select, _selectNative) {
|
|
248
260
|
super(_element, _renderer, _select);
|
|
261
|
+
this.select = _select;
|
|
262
|
+
this.selectNative = _selectNative;
|
|
263
|
+
}
|
|
264
|
+
ngAfterViewInit() {
|
|
265
|
+
if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {
|
|
266
|
+
this.selectNative.writeValue(this.select.value);
|
|
267
|
+
}
|
|
249
268
|
}
|
|
250
269
|
}
|
|
251
|
-
/** @nocollapse */ EuiNgSelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiNgSelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: EuiSelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
270
|
+
/** @nocollapse */ EuiNgSelectOptionDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiNgSelectOptionDirective, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: EuiSelectControlValueAccessor, host: true, optional: true }, { token: i2.SelectControlValueAccessor, host: true, optional: true }], target: i0.ɵɵFactoryTarget.Directive });
|
|
252
271
|
/** @nocollapse */ EuiNgSelectOptionDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.2.12", type: EuiNgSelectOptionDirective, selector: "option, option[euiOption]", usesInheritance: true, ngImport: i0 });
|
|
253
272
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiNgSelectOptionDirective, decorators: [{
|
|
254
273
|
type: Directive,
|
|
@@ -258,6 +277,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
258
277
|
type: Optional
|
|
259
278
|
}, {
|
|
260
279
|
type: Host
|
|
280
|
+
}] }, { type: i2.SelectControlValueAccessor, decorators: [{
|
|
281
|
+
type: Optional
|
|
282
|
+
}, {
|
|
283
|
+
type: Host
|
|
261
284
|
}] }];
|
|
262
285
|
} });
|
|
263
286
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eui-components-eui-select.mjs","sources":["../../eui-select/eui-select.component.ts","../../eui-select/utils.ts","../../eui-select/eui-select-control.directive.ts","../../eui-select/eui-select-option.directive.ts","../../eui-select/eui-select-multiple.directive.ts","../../eui-select/eui-select-mutli-option.directive.ts","../../eui-select/eui-select.module.ts","../../eui-select/eui-components-eui-select.ts"],"sourcesContent":["import {\n Component,\n ComponentRef,\n ElementRef,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[euiSelect]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></ng-content>',\n // template: '<option *ngIf=\"placeholder\" [ngValue]=\"null\">{{placeholder}} Template</option><ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiSelectComponent implements OnChanges {\n\n @Input() placeholder: string;\n\n @Input()\n public get readonly(): boolean {\n return this._readonly;\n }\n\n public set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n private _readonly: boolean;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n\n constructor(private renderer: Renderer2, private elementRef: ElementRef, private viewContainerRef: ViewContainerRef) {\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n if (this.readonly) {\n // hide select element\n this.renderer.setAttribute(this.elementRef.nativeElement, 'readonly', 'true');\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', '');\n\n // create an euiInputComponent to hold the value (for accessibility reasons)\n this.readonlyInput = this.createReadonlyElement();\n this.renderer.insertBefore(this.elementRef.nativeElement.parentElement,\n this.elementRef.nativeElement,\n this.readonlyInput.location.nativeElement);\n this.setReadonlyValue(this.readonlyInput);\n } else {\n this.readonlyInput?.destroy();\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'readonly');\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n }\n }\n }\n\n /**\n * set readonly value from selected options presented as comma separated string\n * @param readonlyRef the input element to set the value\n * @private\n */\n private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n if(readonlyRef) {\n const selectedOptions = Array.apply(null, this.elementRef.nativeElement.selectedOptions)\n .map(i => i.text)\n .filter(i => i !== this.placeholder)\n .join(', ');\n this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n }\n }\n\n /**\n * create readonly element\n * @private\n */\n private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n componentRef.instance.readonly = true;\n return componentRef;\n }\n\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {return `${value}`;}\n if (typeof value === 'string') {value = `'${value}'`;}\n if (value && typeof value === 'object') {value = 'Object';}\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _buildValueString } from './utils';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[euiSelect],select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: {'(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n multi: true\n }\n ]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor\n implements ControlValueAccessor, OnChanges, DoCheck {\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input() placeholder: string;\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(_renderer: Renderer2, _elementRef: ElementRef, private injector: Injector) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n };\n }\n\n ngDoCheck(): void {\n if(!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this._isInvalid = this.control ? this.control.invalid : this._isInvalid;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this._isInvalid = control.invalid;\n };\n }\n\n /**\n * Sets the \"value\" property on the select element.\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n }\n\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n fn(this.value);\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n if(isDisabled) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['placeholder']) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n // option.ngValue = null;\n const id = this['_registerOption']();\n this['_optionMap'].set(id, null);\n this.renderer.setValue(this.placeholderOption, _buildValueString(id, undefined));\n this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, undefined));\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.elementRef.nativeElement.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n if(!this.value) {\n this.writeValue(undefined);\n }\n }\n }\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.elementRef.nativeElement.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n}\n","import { Directive, ElementRef, Host, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { NgSelectOption } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy {\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor) {\n super(_element, _renderer, _select);\n }\n\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef, HostBinding,\n InjectFlags,\n Injector,\n Input,\n Provider,\n Renderer2\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR, NgControl,\n SelectMultipleControlValueAccessor\n} from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n multi: true\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n value: string;\n selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\nabstract class HTMLCollection {\n // TODO(issue/24571): remove '!'.\n length!: number;\n abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n * <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n * {{ country.name }}\n * </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n 'select[multiple][euiSelect],select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'},\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements\n ControlValueAccessor, DoCheck {\n\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n /**\n * The current value.\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter: number = 0;\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private control: NgControl;\n\n constructor(_renderer: Renderer2, _elementRef: ElementRef, private injector: Injector) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n }\n\n ngDoCheck(): void {\n if(!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this._isInvalid = this.control ? this.control.invalid : this._isInvalid;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value: any): void {\n this.value = value;\n let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n } else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (element: HTMLSelectElement) => {\n const selected: Array<any> = [];\n const selectedOptions = element.selectedOptions;\n if (selectedOptions !== undefined) {\n const options = selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n } else {\n const options = element.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n\n /** @internal */\n _registerOption(value: EuiSelectMultipleOption): string {\n const id: string = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n\n /** @internal */\n _getOptionId(value: any): string|null {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {return id;}\n }\n return null;\n }\n\n /** @internal */\n _getOptionValue(valueString: string): any {\n const id: string = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n }\n\n}\n","import { Directive, ElementRef, Host, Input, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n // TODO(issue/24571): remove '!'.\n id!: string;\n /** @internal */\n _value: any;\n private element: ElementRef;\n private renderer: Renderer2;\n private select: EuiSelectMultipleControlValueAccessor;\n\n constructor(\n _element: ElementRef, _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectMultipleControlValueAccessor) {\n super(_element, _renderer, _select);\n this.element = _element;\n this.renderer = _renderer;\n this.select = _select;\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n set ngValue(value: any) {\n if (this.select == null) {return;}\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n }\n\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n @Input()\n set value(value: any) {\n if (this.select) {\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n } else {\n this._setElementValue(value);\n }\n }\n\n /** @internal */\n _setElementValue(value: string): void {\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n /** @internal */\n _setSelected(selected: boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n }\n\n /** @nodoc */\n ngOnDestroy(): void {\n if (this.select) {\n this.select._optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { EuiNgSelectOptionDirective } from './eui-select-option.directive';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ],\n exports: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ]\n})\nexport class EuiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiSelectControlValueAccessor","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"eui-components-eui-select.mjs","sources":["../../eui-select/eui-select.component.ts","../../eui-select/utils.ts","../../eui-select/eui-select-control.directive.ts","../../eui-select/eui-select-option.directive.ts","../../eui-select/eui-select-multiple.directive.ts","../../eui-select/eui-select-mutli-option.directive.ts","../../eui-select/eui-select.module.ts","../../eui-select/eui-components-eui-select.ts"],"sourcesContent":["import {\n AfterViewInit,\n Component,\n ComponentRef,\n ElementRef,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges,\n ViewContainerRef,\n ViewEncapsulation,\n} from '@angular/core';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiInputTextComponent } from '@eui/components/eui-input-text';\nimport { NgControl } from '@angular/forms';\nimport { startWith } from 'rxjs';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'select[euiSelect]',\n styleUrls: ['./styles/_index.scss'],\n template: '<ng-content></ng-content>',\n // template: '<option *ngIf=\"placeholder\" [ngValue]=\"null\">{{placeholder}} Template</option><ng-content></ng-content>',\n encapsulation: ViewEncapsulation.None,\n})\nexport class EuiSelectComponent implements OnChanges, AfterViewInit {\n @Input() placeholder: string;\n\n @Input()\n public get readonly(): boolean {\n return this._readonly;\n }\n\n public set readonly(value: BooleanInput) {\n this._readonly = coerceBooleanProperty(value);\n }\n\n private _readonly: boolean;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n\n constructor(\n private renderer: Renderer2,\n private injector: Injector,\n private elementRef: ElementRef,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['readonly']) {\n if (this.readonly) {\n // hide select element\n this.renderer.setAttribute(this.elementRef.nativeElement, 'readonly', 'true');\n this.renderer.setAttribute(this.elementRef.nativeElement, 'hidden', '');\n\n // create an euiInputComponent to hold the value (for accessibility reasons)\n this.readonlyInput = this.createReadonlyElement();\n this.renderer.insertBefore(\n this.elementRef.nativeElement.parentElement,\n this.elementRef.nativeElement,\n this.readonlyInput.location.nativeElement\n );\n this.setReadonlyValue(this.readonlyInput);\n } else {\n this.readonlyInput?.destroy();\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'readonly');\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'hidden');\n }\n }\n }\n\n ngAfterViewInit(): void {\n const control = this.injector.get(NgControl, null, InjectFlags.Optional);\n if (control) {\n // That's a workaround for the readonly select element because of the need of sync of ValueAccessors\n control.valueChanges.pipe(startWith(null)).subscribe(() => this.setReadonlyValue(this.readonlyInput));\n }\n }\n\n /**\n * set readonly value from selected options presented as comma separated string\n *\n * @param readonlyRef the input element to set the value\n * @private\n */\n private setReadonlyValue(readonlyRef: ComponentRef<EuiInputTextComponent>): any {\n if (readonlyRef) {\n const selectedOptions = Array.apply(null, this.elementRef.nativeElement.selectedOptions)\n .map((i) => i.text)\n .filter((i) => i !== this.placeholder)\n .join(', ');\n this.renderer.setProperty(readonlyRef.location.nativeElement, 'value', selectedOptions);\n }\n }\n\n /**\n * create readonly element\n *\n * @private\n */\n private createReadonlyElement(): ComponentRef<EuiInputTextComponent> {\n const componentRef = this.viewContainerRef.createComponent(EuiInputTextComponent);\n componentRef.instance.readonly = true;\n return componentRef;\n }\n\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {return `${value}`;}\n if (typeof value === 'string') {value = `'${value}'`;}\n if (value && typeof value === 'object') {value = 'Object';}\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n InjectFlags,\n Injector,\n Input,\n OnChanges,\n Renderer2,\n SimpleChanges\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectControlValueAccessor } from '@angular/forms';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { _buildValueString } from './utils';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[euiSelect],select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]',\n host: {'(change)': 'onChange($event.target.value)', '(blur)': 'onTouched()'},\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectControlValueAccessor),\n multi: true\n }\n ]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectControlValueAccessor extends SelectControlValueAccessor\n implements ControlValueAccessor, OnChanges, DoCheck {\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input() placeholder: string;\n\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n private control: NgControl;\n\n constructor(_renderer: Renderer2, _elementRef: ElementRef, private injector: Injector) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n };\n }\n\n ngDoCheck(): void {\n if(!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this._isInvalid = this.control ? this.control.invalid : this._isInvalid;\n }\n\n registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n this._isInvalid = control.invalid;\n };\n }\n\n /**\n * Sets the \"value\" property on the select element.\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n }\n\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (valueString: string) => {\n this.value = this['_getOptionValue'](valueString);\n this.setPlaceholderClass(this.value);\n fn(this.value);\n };\n }\n\n setDisabledState(isDisabled: boolean): void {\n if(isDisabled) {\n this.renderer.setAttribute(this.elementRef.nativeElement, 'disabled', '');\n } else {\n this.renderer.removeAttribute(this.elementRef.nativeElement, 'disabled');\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes['placeholder']) {\n // in case option Element already created update the value\n if (changes['placeholder'].currentValue === undefined) {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n // remove option element\n if (this.placeholderOption) {\n this.renderer.removeChild(this.elementRef.nativeElement, this.placeholderOption);\n this.placeholderOption = undefined;\n }\n } else if (this.placeholderOption) {\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n } else {\n // create option Element\n this.placeholderOption = this.renderer.createElement('option');\n // const option = new EuiNgSelectOptionDirective({nativeElement: this.placeholderOption}, this.renderer, this);\n // option.ngValue = null;\n const id = this['_registerOption']();\n this['_optionMap'].set(id, null);\n this.renderer.setValue(this.placeholderOption, _buildValueString(id, undefined));\n this.renderer.setProperty(this.placeholderOption, 'value', _buildValueString(id, undefined));\n\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n this.renderer.setProperty(this.placeholderOption, 'innerText', changes['placeholder'].currentValue);\n // set attributes to act as a placeholder\n if (!this.elementRef.nativeElement.value) {\n this.renderer.setAttribute(this.placeholderOption, 'selected', '');\n }\n // append option element as the first of the select children\n this.elementRef.nativeElement.insertBefore(this.placeholderOption, this.elementRef.nativeElement.firstChild);\n\n if (this.elementRef.nativeElement.value === changes['placeholder'].currentValue) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n if(!this.value) {\n this.writeValue(undefined);\n }\n }\n }\n }\n\n private setPlaceholderClass(value: any): void {\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n try {\n this.elementRef.nativeElement.options[0].selected = true;\n } catch (e) {\n }\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n}\n","import { AfterViewInit, Directive, ElementRef, Host, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\nexport class EuiNgSelectOptionDirective extends NgSelectOption implements OnDestroy, AfterViewInit {\n private select: EuiSelectControlValueAccessor;\n private selectNative: SelectControlValueAccessor;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n }\n\n ngAfterViewInit(): void {\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n this.selectNative.writeValue(this.select.value);\n }\n }\n}\n","import {\n Directive,\n DoCheck,\n ElementRef,\n forwardRef, HostBinding,\n InjectFlags,\n Injector,\n Input,\n Provider,\n Renderer2\n} from '@angular/core';\nimport {\n ControlValueAccessor,\n NG_VALUE_ACCESSOR, NgControl,\n SelectMultipleControlValueAccessor\n} from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\n\nconst SELECT_MULTIPLE_VALUE_ACCESSOR: Provider = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => EuiSelectMultipleControlValueAccessor),\n multi: true\n};\n\n/** Mock interface for HTML Options */\ninterface HTMLOption {\n value: string;\n selected: boolean;\n}\n\n/** Mock interface for HTMLCollection */\nabstract class HTMLCollection {\n // TODO(issue/24571): remove '!'.\n length!: number;\n abstract item(_: number): HTMLOption;\n}\n\n/**\n * @description\n * The `ControlValueAccessor` for writing multi-select control values and listening to multi-select\n * control changes. The value accessor is used by the `FormControlDirective`, `FormControlName`, and\n * `NgModel` directives.\n *\n * @see `EuiSelectControlValueAccessor`\n *\n * @usageNotes\n *\n * ### Using a multi-select control\n *\n * The follow example shows you how to use a multi-select control with a reactive form.\n *\n * ```ts\n * const countryControl = new FormControl();\n * ```\n *\n * ```\n * <select euiSelect multiple name=\"countries\" [formControl]=\"countryControl\">\n * <option euiOption *ngFor=\"let country of countries\" [ngValue]=\"country\">\n * {{ country.name }}\n * </option>\n * </select>\n * ```\n *\n * ### Customizing option selection\n *\n * To customize the default option comparison algorithm, `<select>` supports `compareWith` input.\n * See the `SelectControlValueAccessor` for usage.\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector,max-len\n 'select[multiple][euiSelect],select[multiple][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n host: {'(change)': 'onChange($event.target)', '(blur)': 'onTouched()'},\n providers: [SELECT_MULTIPLE_VALUE_ACCESSOR]\n})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleControlValueAccessor extends SelectMultipleControlValueAccessor implements\n ControlValueAccessor, DoCheck {\n\n @HostBinding('class')\n public get cssClasses(): any {\n return [\n 'eui-select',\n this._isInvalid ? `eui-select--invalid` : '',\n ].join(' ').trim();\n }\n @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n }\n\n /**\n * The current value.\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter: number = 0;\n protected _isInvalid: boolean;\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private control: NgControl;\n\n constructor(_renderer: Renderer2, _elementRef: ElementRef, private injector: Injector) {\n super(_renderer, _elementRef);\n this.elementRef = _elementRef;\n this.renderer = _renderer;\n }\n\n ngDoCheck(): void {\n if(!this.control) {\n this.control = this.injector.get(NgControl, undefined, InjectFlags.Optional);\n }\n this._isInvalid = this.control ? this.control.invalid : this._isInvalid;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n * @nodoc\n */\n writeValue(value: any): void {\n this.value = value;\n let optionSelectedStateSetter: (opt: EuiSelectMultipleOption, o: any) => void;\n if (Array.isArray(value)) {\n // convert values to ids\n const ids = value.map((v) => this._getOptionId(v));\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(ids.indexOf(o.toString()) > -1);\n };\n } else {\n optionSelectedStateSetter = (opt, o) => {\n opt._setSelected(false);\n };\n }\n this._optionMap.forEach(optionSelectedStateSetter);\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n * @nodoc\n */\n override registerOnChange(fn: (value: any) => any): void {\n this.onChange = (element: HTMLSelectElement) => {\n const selected: Array<any> = [];\n const selectedOptions = element.selectedOptions;\n if (selectedOptions !== undefined) {\n const options = selectedOptions;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n } else {\n const options = element.options;\n for (let i = 0; i < options.length; i++) {\n const opt = options[i];\n if (opt.selected) {\n const val = this._getOptionValue(opt.value);\n selected.push(val);\n }\n }\n }\n this.value = selected;\n fn(selected);\n };\n }\n\n /** @internal */\n _registerOption(value: EuiSelectMultipleOption): string {\n const id: string = (this._idCounter++).toString();\n this._optionMap.set(id, value);\n return id;\n }\n\n /** @internal */\n _getOptionId(value: any): string|null {\n for (const id of Array.from(this._optionMap.keys())) {\n if (this['_compareWith'](this._optionMap.get(id)!._value, value)) {return id;}\n }\n return null;\n }\n\n /** @internal */\n _getOptionValue(valueString: string): any {\n const id: string = _extractId(valueString);\n return this._optionMap.has(id) ? this._optionMap.get(id)!._value : valueString;\n }\n\n}\n","import { Directive, ElementRef, Host, Input, OnDestroy, Optional, Renderer2 } from '@angular/core';\nimport { ɵNgSelectMultipleOption as NgSelectMultipleOption } from '@angular/forms';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { _buildValueString } from './utils';\n\n/**\n * @description\n * Marks `<option>` as dynamic, so Angular can be notified when options change.\n *\n * @see `EuiSelectMultipleControlValueAccessor`\n *\n * @ngModule ReactiveFormsModule\n * @ngModule FormsModule\n * @publicApi\n */\n// eslint-disable-next-line @angular-eslint/directive-selector\n@Directive({selector: 'option, option[euiOption]'})\n// eslint-disable-next-line @angular-eslint/directive-class-suffix\nexport class EuiSelectMultipleOption extends NgSelectMultipleOption implements OnDestroy {\n // TODO(issue/24571): remove '!'.\n id!: string;\n /** @internal */\n _value: any;\n private element: ElementRef;\n private renderer: Renderer2;\n private select: EuiSelectMultipleControlValueAccessor;\n\n constructor(\n _element: ElementRef, _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectMultipleControlValueAccessor) {\n super(_element, _renderer, _select);\n this.element = _element;\n this.renderer = _renderer;\n this.select = _select;\n }\n\n /**\n * @description\n * Tracks the value bound to the option element. Unlike the value binding,\n * ngValue supports binding to objects.\n */\n @Input()\n set ngValue(value: any) {\n if (this.select == null) {return;}\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n }\n\n /**\n * @description\n * Tracks simple string values bound to the option element.\n * For objects, use the `ngValue` input binding.\n */\n @Input()\n set value(value: any) {\n if (this.select) {\n this._value = value;\n this._setElementValue(_buildValueString(this.id, value));\n this.select.writeValue(this.select.value);\n } else {\n this._setElementValue(value);\n }\n }\n\n /** @internal */\n _setElementValue(value: string): void {\n this.renderer.setProperty(this.element.nativeElement, 'value', value);\n }\n\n /** @internal */\n _setSelected(selected: boolean) {\n this.renderer.setProperty(this.element.nativeElement, 'selected', selected);\n }\n\n /** @nodoc */\n ngOnDestroy(): void {\n if (this.select) {\n this.select._optionMap.delete(this.id);\n this.select.writeValue(this.select.value);\n }\n }\n}\n","import { NgModule } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { EuiNgSelectOptionDirective } from './eui-select-option.directive';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectMultipleControlValueAccessor } from './eui-select-multiple.directive';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n ],\n declarations: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ],\n exports: [\n EuiSelectComponent,\n EuiNgSelectOptionDirective,\n EuiSelectControlValueAccessor,\n EuiSelectMultipleControlValueAccessor,\n EuiSelectMultipleOption\n ]\n})\nexport class EuiSelectModule { }\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.EuiSelectControlValueAccessor","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor"],"mappings":"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"}
|
|
@@ -121,13 +121,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImpo
|
|
|
121
121
|
}], ctorParameters: function () { return []; } });
|
|
122
122
|
|
|
123
123
|
class EuiTableComponent extends BaseDirective {
|
|
124
|
-
constructor(euiTableSortService, cd,
|
|
124
|
+
constructor(euiTableSortService, cd, euiTableSelectableRowService, elementRef) {
|
|
125
125
|
super();
|
|
126
126
|
this.euiTableSortService = euiTableSortService;
|
|
127
127
|
this.cd = cd;
|
|
128
|
-
this.renderer = renderer;
|
|
129
|
-
this.viewContainerRef = viewContainerRef;
|
|
130
128
|
this.euiTableSelectableRowService = euiTableSelectableRowService;
|
|
129
|
+
this.elementRef = elementRef;
|
|
131
130
|
this.preselectedRows = [];
|
|
132
131
|
this.string = 'eui-table';
|
|
133
132
|
this.selectedRows = new EventEmitter();
|
|
@@ -152,6 +151,7 @@ class EuiTableComponent extends BaseDirective {
|
|
|
152
151
|
this.destroy$ = new Subject();
|
|
153
152
|
this.tableFeaturesHandlerSubscription = new Subscription();
|
|
154
153
|
this.selectRowsFeatureHandlerSubscription = new Subscription();
|
|
154
|
+
this.stickyFeatureHandlerIndex = 0;
|
|
155
155
|
}
|
|
156
156
|
get hasLoading() { return this.loading; }
|
|
157
157
|
;
|
|
@@ -293,6 +293,63 @@ class EuiTableComponent extends BaseDirective {
|
|
|
293
293
|
setSort(sort, order) {
|
|
294
294
|
this.euiTableSortService.setSort(sort, order);
|
|
295
295
|
}
|
|
296
|
+
stickyFeatureHandler() {
|
|
297
|
+
const timeout = this.stickyFeatureHandlerIndex === 0 ? 500 : 0;
|
|
298
|
+
setTimeout(() => {
|
|
299
|
+
const trItems = Array.from(this.tbodyRef.nativeElement.querySelectorAll('tr'));
|
|
300
|
+
const containerWidth = this.elementRef.nativeElement.parentElement.clientWidth;
|
|
301
|
+
if (this.theadRef) {
|
|
302
|
+
const thItems = Array.from(this.theadRef.nativeElement.querySelectorAll('.eui-table__col--sticky'));
|
|
303
|
+
// Reset left & right position
|
|
304
|
+
thItems.forEach((th) => {
|
|
305
|
+
th.style.left = null;
|
|
306
|
+
th.style.right = null;
|
|
307
|
+
});
|
|
308
|
+
// Sticky First Cols & Last Cols
|
|
309
|
+
const thItemsStickyFirstCol = thItems.filter((th) => th.offsetLeft + th.clientWidth < containerWidth);
|
|
310
|
+
const thItemsStickyLastCol = thItems.filter((th) => th.offsetLeft + th.clientWidth > containerWidth);
|
|
311
|
+
thItemsStickyFirstCol.forEach((th, i) => {
|
|
312
|
+
th.style.left = (i === 0 ? 0 : thItemsStickyFirstCol[i - 1].clientWidth) + 'px';
|
|
313
|
+
if (i + 1 === thItemsStickyFirstCol.length) {
|
|
314
|
+
th.classList.add('eui-table__col--sticky-shadowed-first');
|
|
315
|
+
}
|
|
316
|
+
});
|
|
317
|
+
thItemsStickyLastCol.reverse().forEach((th, i) => {
|
|
318
|
+
th.style.right = (i === 0 ? 0 : thItemsStickyLastCol[i - 1].clientWidth) + 'px';
|
|
319
|
+
if (i + 1 === thItemsStickyLastCol.length) {
|
|
320
|
+
th.classList.add('eui-table__col--sticky-shadowed-last');
|
|
321
|
+
}
|
|
322
|
+
});
|
|
323
|
+
}
|
|
324
|
+
trItems.forEach((tr) => {
|
|
325
|
+
const tdItems = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));
|
|
326
|
+
tdItems.forEach((td) => {
|
|
327
|
+
td.style.left = null;
|
|
328
|
+
td.style.right = null;
|
|
329
|
+
});
|
|
330
|
+
});
|
|
331
|
+
trItems.forEach((tr) => {
|
|
332
|
+
const tdItems = Array.from(tr.querySelectorAll('.eui-table__col--sticky'));
|
|
333
|
+
// Sticky First Cols
|
|
334
|
+
const tdItemsStickyFirstCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth < containerWidth);
|
|
335
|
+
tdItemsStickyFirstCol.forEach((td, i) => {
|
|
336
|
+
td.style.left = (i === 0 ? 0 : tdItemsStickyFirstCol[i - 1].clientWidth) + 'px';
|
|
337
|
+
if (i + 1 === tdItemsStickyFirstCol.length) {
|
|
338
|
+
td.classList.add('eui-table__col--sticky-shadowed-first');
|
|
339
|
+
}
|
|
340
|
+
});
|
|
341
|
+
// Sticky Last Cols
|
|
342
|
+
const tdItemsStickyLastCol = tdItems.filter((td) => td.offsetLeft + td.clientWidth > containerWidth);
|
|
343
|
+
tdItemsStickyLastCol.reverse().forEach((td, i) => {
|
|
344
|
+
td.style.right = (i === 0 ? 0 : tdItemsStickyLastCol[i - 1].clientWidth) + 'px';
|
|
345
|
+
if (i + 1 === tdItemsStickyLastCol.length) {
|
|
346
|
+
td.classList.add('eui-table__col--sticky-shadowed-last');
|
|
347
|
+
}
|
|
348
|
+
});
|
|
349
|
+
});
|
|
350
|
+
}, timeout);
|
|
351
|
+
this.stickyFeatureHandlerIndex++;
|
|
352
|
+
}
|
|
296
353
|
tableFeaturesHandler() {
|
|
297
354
|
this.tableFeaturesHandlerSubscription = combineLatest([
|
|
298
355
|
this.euiTableSortService.sortingParams$,
|
|
@@ -307,6 +364,7 @@ class EuiTableComponent extends BaseDirective {
|
|
|
307
364
|
r = this.paginateRows(pagination, r);
|
|
308
365
|
}
|
|
309
366
|
this.rowsRendered = r;
|
|
367
|
+
this.stickyFeatureHandler();
|
|
310
368
|
this.cd.detectChanges();
|
|
311
369
|
});
|
|
312
370
|
}
|
|
@@ -396,12 +454,12 @@ class EuiTableComponent extends BaseDirective {
|
|
|
396
454
|
return prop ? prop.split('.').reduce((prev, curr) => prev ? prev[curr] : null, obj || self) : null;
|
|
397
455
|
}
|
|
398
456
|
}
|
|
399
|
-
/** @nocollapse */ EuiTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiTableComponent, deps: [{ token: EuiTableSortService }, { token: i0.ChangeDetectorRef }, { token:
|
|
400
|
-
/** @nocollapse */ EuiTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiTableComponent, selector: "eui-table, table[euiTable]", inputs: { rows: "rows", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", scrollableContainerRef: "scrollableContainerRef", loading: "loading", asyncTable: "asyncTable", paginable: "paginable", euiTableResponsive: "euiTableResponsive", euiTableFixedLayout: "euiTableFixedLayout", euiTableDraggable: "euiTableDraggable", euiTableCards: "euiTableCards", euiTableBordered: "euiTableBordered", euiTableCompact: "euiTableCompact", hasStickyHeader: "hasStickyHeader", hasStickyColumns: "hasStickyColumns" }, outputs: { selectedRows: "selectedRows", sortChange: "sortChange" }, host: { properties: { "class": "this.cssClasses", "class.eui-table__loading": "this.hasLoading" } }, providers: [EuiTableSortService, EuiTableSelectableRowService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns th:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns td:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
457
|
+
/** @nocollapse */ EuiTableComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiTableComponent, deps: [{ token: EuiTableSortService }, { token: i0.ChangeDetectorRef }, { token: EuiTableSelectableRowService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
458
|
+
/** @nocollapse */ EuiTableComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.12", type: EuiTableComponent, selector: "eui-table, table[euiTable]", inputs: { rows: "rows", paginator: "paginator", filter: "filter", preselectedRows: "preselectedRows", scrollableContainerRef: "scrollableContainerRef", loading: "loading", asyncTable: "asyncTable", paginable: "paginable", euiTableResponsive: "euiTableResponsive", euiTableFixedLayout: "euiTableFixedLayout", euiTableDraggable: "euiTableDraggable", euiTableCards: "euiTableCards", euiTableBordered: "euiTableBordered", euiTableCompact: "euiTableCompact", hasStickyHeader: "hasStickyHeader", hasStickyColumns: "hasStickyColumns" }, outputs: { selectedRows: "selectedRows", sortChange: "sortChange" }, host: { properties: { "class": "this.cssClasses", "class.eui-table__loading": "this.hasLoading" } }, providers: [EuiTableSortService, EuiTableSelectableRowService], queries: [{ propertyName: "templates", predicate: EuiTemplateDirective }], viewQueries: [{ propertyName: "theadRef", first: true, predicate: ["theadRef"], descendants: true }, { propertyName: "tbodyRef", first: true, predicate: ["tbodyRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"], dependencies: [{ kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
401
459
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.12", ngImport: i0, type: EuiTableComponent, decorators: [{
|
|
402
460
|
type: Component,
|
|
403
|
-
args: [{ selector: 'eui-table, table[euiTable]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [EuiTableSortService, EuiTableSelectableRowService], template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns th:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td:first-child.eui-table__col--sticky{box-shadow:inset -5px 0 8px -8px #0003;left:0}.eui-table--sticky-columns td:last-child.eui-table__col--sticky{box-shadow:inset 5px 0 8px -8px #0003;right:0}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"] }]
|
|
404
|
-
}], ctorParameters: function () { return [{ type: EuiTableSortService }, { type: i0.ChangeDetectorRef }, { type:
|
|
461
|
+
args: [{ selector: 'eui-table, table[euiTable]', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [EuiTableSortService, EuiTableSelectableRowService], template: "<thead #theadRef *ngIf=\"headerTemplate\">\n <ng-template [ngTemplateOutlet]=\"headerTemplate\"></ng-template>\n</thead>\n<tbody #tbodyRef *ngIf=\"bodyTemplate\">\n <ng-container *ngFor=\"let row of rowsRendered; let i = index; trackBy: trackByFn\">\n <ng-template [ngTemplateOutlet]=\"bodyTemplate\" [ngTemplateOutletContext]=\"{ $implicit: row, index: i + (page * pageSize) }\"></ng-template>\n </ng-container>\n <ng-container *ngIf=\"emptyMessageTemplate && rowsRendered.length === 0\">\n <ng-template [ngTemplateOutlet]=\"emptyMessageTemplate\"></ng-template>\n </ng-container>\n</tbody>\n<tfoot *ngIf=\"footerTemplate\">\n <ng-template [ngTemplateOutlet]=\"footerTemplate\"></ng-template>\n</tfoot>\n", styles: [".eui-table__scrollable-wrapper{overflow-x:auto}.eui-table__scrollable-wrapper::-webkit-scrollbar{display:inherit;height:10px;width:10px;background-color:var(--eui-base-color-grey-10)}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__scrollable-wrapper::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__scrollable-wrapper::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table{--eui-table-compact-scale-factor: .95;--eui-table-background-color: var(--eui-base-color-white);--eui-table-text-color: var(--eui-base-color-text);--eui-table-selected-row-background-color: var(--eui-base-color-primary-5);--eui-table-highlighted-background-color: var(--eui-base-color-accent-100);--eui-table-bordered-color: var(--eui-base-color-grey-15);--eui-table-loading-position: 50%;background-color:var(--eui-table-background-color);border-collapse:collapse;border-spacing:0;color:var(--eui-table-text-color);display:table;overflow:auto;-webkit-overflow-scrolling:touch;position:relative;width:auto}.eui-table thead>tr>th,.eui-table tbody>tr>td,.eui-table tfoot>tr>td{vertical-align:middle}.eui-table--bordered{box-shadow:var(--eui-base-shadow-1)}.eui-table--bordered td,.eui-table--bordered th{border:1px solid var(--eui-table-bordered-color)}.eui-table--compact thead th,.eui-table--compact thead tr{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:var(--eui-base-spacing-s)!important}.eui-table--compact tbody tr{height:calc(2 * var(--eui-base-spacing-m))!important}.eui-table--compact tbody tr td{font-size:calc(var(--eui-base-font-size) * var(--eui-table-compact-scale-factor))!important;padding:0 var(--eui-base-spacing-s)!important}.eui-table--responsive{width:100%}.eui-table--fixed-layout{table-layout:fixed}.eui-table--highlighted{background-color:var(--eui-table-highlighted-background-color);text-decoration:none}.eui-table .actionsColumn,.eui-table__actions-column{text-align:center;width:calc(15 * var(--eui-base-spacing-m))}.eui-table.eui-table__loading:before{animation:.8s linear infinite spin;border:8px solid transparent;border-radius:50%;border-top-color:var(--eui-base-color-primary-100);content:\"\";display:block;height:80px;left:50%;margin:-40px 0 0 -40px;position:absolute;top:var(--eui-table-loading-position);width:80px;z-index:1000001}.eui-table.eui-table__loading tbody{opacity:var(--eui-base-disabled-opacity)}.eui-table thead tr.eui-table__columns-filter th{background-color:var(--eui-base-color-grey-5);font-weight:400;position:relative}.eui-table thead tr th{background-color:var(--eui-base-color-grey-10);font-weight:700;padding:var(--eui-base-spacing-m) var(--eui-base-spacing-s);position:relative}.eui-table thead tr th.eui-table__sortable-col{cursor:pointer}.eui-table thead tr th.eui-table__sortable-col .eui-table__sortable-col-content{align-items:center;display:flex}.eui-table thead tr th.eui-table__sortable-col--disabled{cursor:default}.eui-table thead tr th .eui-table__sortable-icon{color:var(--eui-base-color-grey-50);font-size:var(--eui-base-font-size-l);margin-left:var(--eui-base-spacing-2xs)}.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-asc,.eui-table thead tr th .eui-table__sortable-icon.eui-icon-sort-desc{color:var(--eui-base-color-primary-100)}.eui-table thead tr th.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table thead tr th.eui-table__cell-select .eui-table__cell-select--indeterminated{position:absolute;right:50%;top:var(--eui-base-spacing-s);transform:translate(50%)}.eui-table tbody tr{border-top:1px solid var(--eui-base-color-grey-15);height:calc(3 * var(--eui-base-spacing-m))}.eui-table tbody tr.eui-table__row--selected,.eui-table tbody tr.eui-table__row--selected td{background-color:var(--eui-table-selected-row-background-color)!important}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr:not(.eui-table-expandable-row):nth-child(odd) td{background-color:var(--eui-base-color-grey-2)}.eui-table tbody tr td{padding:var(--eui-base-spacing-xs) var(--eui-base-spacing-s);vertical-align:middle}.eui-table tbody tr td.eui-table__cell-select{color:var(--eui-base-color-grey-75);cursor:pointer;width:auto}.eui-table tbody tr:nth-of-type(odd){background-color:var(--eui-base-color-white)}.eui-table tbody tr:nth-of-type(even){background-color:var(--eui-base-color-grey-5)}.eui-table tbody tr:nth-of-type(even) td{background-color:var(--eui-base-color-grey-5)}.eui-table tfoot tr{border-bottom:1px solid var(--eui-base-color-grey-15);border-top:1px solid var(--eui-base-color-grey-15)}.eui-table tfoot tr td{padding:var(--eui-base-spacing-s);vertical-align:middle}.eui-table__sticky-container{overflow:auto}.eui-table__sticky-container::-webkit-scrollbar{display:inherit;height:8px;width:8px;background-color:var(--eui-base-color-grey-10)}.eui-table__sticky-container::-webkit-scrollbar-thumb{background-color:var(--eui-base-color-grey-20);border-radius:5rem}.eui-table__sticky-container::-webkit-scrollbar-thumb:hover{background-color:var(--eui-base-color-grey-25)}.eui-table__sticky-container::-webkit-scrollbar-track{background-color:var(--eui-base-color-grey-10);border-radius:0}.eui-table--sticky-header thead tr th{position:sticky;top:0}.eui-table--sticky-columns .eui-table__col--sticky{position:sticky}.eui-table--sticky-columns th.eui-table__col--sticky{z-index:9}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns th.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky{z-index:8}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-first{box-shadow:inset -5px 0 8px -8px #0003}.eui-table--sticky-columns td.eui-table__col--sticky.eui-table__col--sticky-shadowed-last{box-shadow:inset 5px 0 8px -8px #0003}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}@media screen and (max-width: 767px){.eui-table:not(.eui-table-cards).eui-table--responsive{width:100%}.eui-table:not(.eui-table-cards).eui-table--responsive thead,.eui-table:not(.eui-table-cards).eui-table--responsive tbody,.eui-table:not(.eui-table-cards).eui-table--responsive tfoot,.eui-table:not(.eui-table-cards).eui-table--responsive th,.eui-table:not(.eui-table-cards).eui-table--responsive td,.eui-table:not(.eui-table-cards).eui-table--responsive tr{display:block}.eui-table:not(.eui-table-cards).eui-table--responsive thead tr{left:-9999px;position:absolute;top:-9999px}.eui-table:not(.eui-table-cards).eui-table--responsive tr{height:auto}.eui-table:not(.eui-table-cards).eui-table--responsive td{border:none;border-bottom:1px solid var(--eui-base-color-grey-10);padding:var(--eui-base-spacing-2xs);padding-left:50%;position:relative;text-align:left!important}.eui-table:not(.eui-table-cards).eui-table--responsive td:before{color:var(--eui-base-color-grey-80);content:attr(data-col-label);font-weight:700;left:var(--eui-base-spacing-xs);padding-right:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs);white-space:nowrap;width:45%}.eui-table:not(.eui-table-cards) .actionsColumn{text-align:left;width:100%}}.eui-table-paginator{--eui-paginator-font-size: var(--eui-base-font-size-m);--eui-paginator-padding: var(--eui-base-spacing-s);align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:var(--eui-paginator-padding) 0;position:relative;width:100%}.eui-table-paginator__page{display:flex;flex-direction:column;font-size:var(--eui-paginator-font-size)}.eui-table-paginator__page-selector{align-items:center;display:inline-flex;flex-wrap:wrap}.eui-table-paginator__page-range{align-items:center;display:inline-flex}.eui-table-paginator__page-navigation{align-items:center;display:flex}.eui-table-paginator__page-navigation-item,.eui-table-paginator__page-navigation-numbers{align-items:center;display:inline-flex}.eui-card.eui-card--no-content-padding .eui-card-content .eui-table-paginator{padding:var(--eui-paginator-padding)}@media screen and (max-width: 767px){.eui-table-paginator{align-items:center;display:flex;flex-direction:column-reverse;margin:var(--eui-base-spacing-s) 0;width:100%}.eui-table-paginator__page-numbers{flex-wrap:wrap}.eui-table-paginator__page-range{margin:0 var(--eui-base-spacing-m)}.eui-table-paginator__page-navigation{justify-content:center;margin-left:0}}.eui-table__filter{align-items:center;display:flex;justify-content:flex-end}.eui-table__filter--responsive{width:100%}.eui-table__filter-input{min-width:calc(8 * var(--eui-base-spacing-m));padding-left:var(--eui-base-spacing-2xl)!important;padding-right:var(--eui-base-spacing-xl)}.eui-table__filter-search-icon{color:var(--eui-base-color-grey-25);font-size:var(--eui-base-font-size-3xl);left:var(--eui-base-spacing-xs);position:absolute;top:var(--eui-base-spacing-xs)}.eui-table__filter .eui-clearable-input-wrapper{position:relative}@media screen and (max-width: 767px){.eui-table__filter--responsive{display:block;width:100%}}.eui-table__draggable-preview--no-preview.cdk-drag-preview{display:none}.eui-table--draggable tr.eui-table__draggable-preview--no-placeholder{opacity:1}.eui-table--draggable tr:hover{background-color:var(--eui-base-color-accent-5)}.eui-table--draggable td .cdk-drop-list{flex-direction:column}.eui-table-cards{background-color:transparent;display:flex;flex-direction:column;overflow:hidden;width:100%}.eui-table-cards thead{width:100%}.eui-table-cards thead tr{align-items:center;height:auto}.eui-table-cards thead tr th{position:relative;vertical-align:middle;width:100%}.eui-table-cards thead tr th.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody{width:100%}.eui-table-cards tbody tr{align-items:center;border-top:0;display:flex;height:auto;width:100%}.eui-table-cards tbody tr.eui-table__row--selected .eui-card:first-child{--eui-card-header-background-color: var(--eui-table-selected-row-background-color)}.eui-table-cards tbody tr td{position:relative;vertical-align:middle;width:100%}.eui-table-cards tbody tr td.eui-table__cell-select{padding:var(--eui-base-spacing-s) var(--eui-base-spacing-m);width:auto}.eui-table-cards tbody tr:hover{background-color:transparent}.eui-table-cards tbody tr:not(.eui-table-expandable-row):nth-child(odd){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(even):hover:not(.eui-table__row--selected){background-color:transparent}.eui-table-cards tbody tr:nth-of-type(odd):hover:not(.eui-table__row--selected){background-color:transparent}\n"] }]
|
|
462
|
+
}], ctorParameters: function () { return [{ type: EuiTableSortService }, { type: i0.ChangeDetectorRef }, { type: EuiTableSelectableRowService }, { type: i0.ElementRef }]; }, propDecorators: { rows: [{
|
|
405
463
|
type: Input
|
|
406
464
|
}], paginator: [{
|
|
407
465
|
type: Input
|