@eui/components 16.0.0-next.12 → 16.0.0-next.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/docs/components/EuiMenuItemComponent.html +1 -1
  2. package/docs/components/EuiPaginatorComponent.html +5 -0
  3. package/docs/components/EuiTableComponent.html +5 -0
  4. package/docs/components/EuiTreeComponent.html +21 -1
  5. package/docs/dependencies.html +2 -2
  6. package/docs/js/menu-wc.js +6 -6
  7. package/docs/js/menu-wc_es5.js +1 -1
  8. package/docs/js/search/search_index.js +2 -2
  9. package/esm2022/eui-button-group/eui-button-group.component.mjs +2 -2
  10. package/esm2022/eui-dropdown/eui-dropdown.component.mjs +4 -4
  11. package/esm2022/eui-menu/eui-menu-item.component.mjs +4 -4
  12. package/esm2022/eui-paginator/eui-paginator.component.mjs +2 -1
  13. package/esm2022/eui-select/eui-select.component.mjs +2 -2
  14. package/esm2022/eui-table/eui-table.component.mjs +6 -2
  15. package/esm2022/eui-tree/eui-tree.component.mjs +11 -4
  16. package/esm2022/eui-tree/eui-tree.model.mjs +1 -1
  17. package/eui-paginator/eui-paginator.component.d.ts.map +1 -1
  18. package/eui-table/eui-table.component.d.ts.map +1 -1
  19. package/eui-tree/eui-tree.component.d.ts +6 -3
  20. package/eui-tree/eui-tree.component.d.ts.map +1 -1
  21. package/eui-tree/eui-tree.model.d.ts +1 -1
  22. package/eui-tree/eui-tree.model.d.ts.map +1 -1
  23. package/fesm2022/eui-components-eui-button-group.mjs +1 -1
  24. package/fesm2022/eui-components-eui-button-group.mjs.map +1 -1
  25. package/fesm2022/eui-components-eui-dropdown.mjs +3 -3
  26. package/fesm2022/eui-components-eui-dropdown.mjs.map +1 -1
  27. package/fesm2022/eui-components-eui-menu.mjs +3 -3
  28. package/fesm2022/eui-components-eui-menu.mjs.map +1 -1
  29. package/fesm2022/eui-components-eui-paginator.mjs +1 -0
  30. package/fesm2022/eui-components-eui-paginator.mjs.map +1 -1
  31. package/fesm2022/eui-components-eui-select.mjs +2 -2
  32. package/fesm2022/eui-components-eui-select.mjs.map +1 -1
  33. package/fesm2022/eui-components-eui-table.mjs +5 -1
  34. package/fesm2022/eui-components-eui-table.mjs.map +1 -1
  35. package/fesm2022/eui-components-eui-tree.mjs +10 -3
  36. package/fesm2022/eui-components-eui-tree.mjs.map +1 -1
  37. package/package.json +7 -7
@@ -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 DoCheck,\n ElementRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnInit,\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';\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 encapsulation: ViewEncapsulation.None,\n})\nexport class EuiSelectComponent implements OnChanges, OnInit, DoCheck {\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 @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n if (this._isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select--invalid');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select--invalid');\n }\n }\n\n protected _isInvalid: boolean;\n private _readonly: boolean;\n private control: NgControl;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n private placeholderOption: HTMLOptionElement;\n\n constructor(\n private renderer: Renderer2,\n private injector: Injector,\n private elementRef: ElementRef<HTMLSelectElement>,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnInit(): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select');\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 if (changes['placeholder']) {\n this.control = this.injector.get(NgControl, undefined, { optional: true });\n if (!this.control) {\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\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 }\n }\n }\n }\n\n ngDoCheck(): void {\n if (!this.control) {\n this.control = this.injector.get(NgControl, undefined, { optional: true });\n }\n this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n /** while the optionList changes but there's no selected option and there's a placeholder, add the placeholder\n * class. Otherwise, the placeholder will look selected but the color will be black. */\n if (this.placeholder && this.elementRef.nativeElement.selectedIndex === 0) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n\n @HostListener('change', ['$event.target.value'])\n onChange(value): void {\n this.control = this.injector.get(NgControl, undefined, { optional: true });\n if (!this.control) {\n this.setPlaceholderClass(this.placeholder === value ? undefined : value);\n }\n }\n\n syncReadOnlyValue(): void {\n this.setReadonlyValue(this.readonlyInput);\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 // eslint-disable-next-line prefer-spread\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 private setPlaceholderClass(value: any): void {\n const placeholderOption = this.elementRef.nativeElement.options[0];\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n this.renderer.setAttribute(placeholderOption, 'selected', '');\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n this.renderer.removeAttribute(placeholderOption, 'selected');\n }\n }\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {\n return `${value}`;\n }\n if (typeof value === 'string') {\n value = `'${value}'`;\n }\n if (value && typeof value === 'object') {\n value = 'Object';\n }\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import { Directive, DoCheck, ElementRef, forwardRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { _buildValueString } from './utils';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\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 implements ControlValueAccessor, OnChanges, DoCheck {\n @Input() placeholder: string;\n\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n\n constructor(_renderer: Renderer2, _elementRef: ElementRef, private selectComponent: EuiSelectComponent) {\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.placeholder && this.elementRef.nativeElement.selectedIndex === 0) {\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n }\n }\n\n /**\n * Sets the \"value\" property on the select element.\n *\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n this.selectComponent.syncReadOnlyValue();\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 /* empty */\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, Input, OnChanges, OnDestroy, Optional, Renderer2, SimpleChanges } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\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, OnChanges, AfterViewInit {\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n this._selected = coerceBooleanProperty(value);\n }\n\n @Input() label: string;\n\n private _selected: boolean;\n private readonly select: EuiSelectControlValueAccessor;\n private readonly selectNative: SelectControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n private element: ElementRef<HTMLOptionElement>;\n private renderer: Renderer2;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n this.selectComponent = _selectComponent;\n this.element = _element;\n this.renderer = _renderer;\n }\n\n ngAfterViewInit(): void {\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n // Investigate what are the regressions from the removal of this line. Issue is that the Native\n // control value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n //\n // this.selectNative.writeValue(this.select.value);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected) {\n /**\n * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n * that the readonly input is not aware of the selected value until the render of the view completes.\n */\n switch (this._selected) {\n case true:\n this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n break;\n default:\n this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n }\n this.selectComponent?.syncReadOnlyValue();\n }\n\n if (changes.label) {\n this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n this.selectComponent?.syncReadOnlyValue();\n }\n }\n}\n","import { Directive, DoCheck, ElementRef, forwardRef, Injector, Input, Provider, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectMultipleControlValueAccessor } from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\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][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\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 ControlValueAccessor, DoCheck {\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 *\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter = 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 selectComponent: EuiSelectComponent, 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, { optional: true });\n }\n this._isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n *\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 this.selectComponent.syncReadOnlyValue();\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n *\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 registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, { optional: true });\n this.isInvalid = control.invalid;\n if (this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement, `eui-select--invalid`);\n }\n fn();\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)) {\n return id;\n }\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","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(_element: ElementRef, _renderer: Renderer2, @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) {\n return;\n }\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: [CommonModule],\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.EuiSelectComponent","i1.EuiSelectControlValueAccessor","i3.EuiSelectComponent","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 Component,\n ComponentRef,\n DoCheck,\n ElementRef,\n HostListener,\n Injector,\n Input,\n OnChanges,\n OnInit,\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';\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 encapsulation: ViewEncapsulation.None,\n})\nexport class EuiSelectComponent implements OnChanges, OnInit, DoCheck {\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 @Input()\n public get isInvalid() {\n return this._isInvalid || null;\n }\n public set isInvalid(state: BooleanInput) {\n this._isInvalid = coerceBooleanProperty(state);\n if (this._isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select--invalid');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select--invalid');\n }\n }\n\n protected _isInvalid: boolean;\n private _readonly: boolean;\n private control: NgControl;\n private readonlyInput: ComponentRef<EuiInputTextComponent>;\n private placeholderOption: HTMLOptionElement;\n\n constructor(\n private renderer: Renderer2,\n private injector: Injector,\n private elementRef: ElementRef<HTMLSelectElement>,\n private viewContainerRef: ViewContainerRef\n ) {}\n\n ngOnInit(): void {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select');\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 if (changes['placeholder']) {\n this.control = this.injector.get(NgControl, undefined, { optional: true });\n if (!this.control) {\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\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 }\n }\n }\n }\n\n ngDoCheck(): void {\n if (!this.control) {\n this.control = this.injector.get(NgControl, undefined, { optional: true });\n }\n this.isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n /** while the optionList changes but there's no selected option and there's a placeholder, add the placeholder\n * class. Otherwise, the placeholder will look selected but the color will be black. */\n if (this.placeholder && this.elementRef.nativeElement.selectedIndex === 0) {\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n }\n }\n\n @HostListener('change', ['$event.target.value'])\n onChange(value): void {\n this.control = this.injector.get(NgControl, undefined, { optional: true });\n if (!this.control) {\n this.setPlaceholderClass(this.placeholder === value ? undefined : value);\n }\n }\n\n syncReadOnlyValue(): void {\n this.setReadonlyValue(this.readonlyInput);\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 // eslint-disable-next-line prefer-spread\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 private setPlaceholderClass(value: any): void {\n const placeholderOption = this.elementRef.nativeElement.options[0];\n if (!!this.placeholder && (value === undefined || value === null || value === '')) {\n this.renderer.setAttribute(placeholderOption, 'selected', '');\n this.renderer.addClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n } else {\n this.renderer.removeClass(this.elementRef.nativeElement, 'eui-select__placeholder');\n this.renderer.removeAttribute(placeholderOption, 'selected');\n }\n }\n}\n","export function _buildValueString(id: string, value: any): string {\n if (id == null) {\n return `${value}`;\n }\n if (typeof value === 'string') {\n value = `'${value}'`;\n }\n if (value && typeof value === 'object') {\n value = 'Object';\n }\n return `${id}: ${value}`.slice(0, 50);\n}\n\nexport function _extractId(valueString: string): string {\n return valueString.split(':')[0];\n}\n","import { Directive, DoCheck, ElementRef, forwardRef, Input, OnChanges, Renderer2, SimpleChanges } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { _buildValueString } from './utils';\n\n@Directive({\n selector:\n // eslint-disable-next-line @angular-eslint/directive-selector\n 'select:not([multiple])[formControlName][euiSelect],select:not([multiple])[formControl][euiSelect],select:not([multiple])[ngModel][euiSelect]',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\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 implements ControlValueAccessor, OnChanges, DoCheck {\n @Input() placeholder: string;\n\n private elementRef: ElementRef;\n private renderer: Renderer2;\n private placeholderOption: HTMLOptionElement;\n\n constructor(_renderer: Renderer2, _elementRef: ElementRef, private selectComponent: EuiSelectComponent) {\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.placeholder && this.elementRef.nativeElement.selectedIndex === 0) {\n this.renderer.addClass(this.placeholderOption, 'eui-select__placeholder');\n }\n }\n\n /**\n * Sets the \"value\" property on the select element.\n *\n * @nodoc\n */\n override writeValue(value: any): void {\n super.writeValue(value);\n this.setPlaceholderClass(value);\n this.selectComponent.syncReadOnlyValue();\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 /* empty */\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, Input, OnChanges, OnDestroy, Optional, Renderer2, SimpleChanges } from '@angular/core';\nimport { NgSelectOption, SelectControlValueAccessor } from '@angular/forms';\nimport { EuiSelectControlValueAccessor } from './eui-select-control.directive';\nimport { EuiSelectComponent } from './eui-select.component';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\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, OnChanges, AfterViewInit {\n @Input()\n get selected(): boolean {\n return this._selected;\n }\n set selected(value: BooleanInput) {\n this._selected = coerceBooleanProperty(value);\n }\n\n @Input() label: string;\n\n private _selected: boolean;\n private readonly select: EuiSelectControlValueAccessor;\n private readonly selectNative: SelectControlValueAccessor;\n private readonly selectComponent: EuiSelectComponent;\n private element: ElementRef<HTMLOptionElement>;\n private renderer: Renderer2;\n\n constructor(\n _element: ElementRef,\n _renderer: Renderer2,\n @Optional() @Host() _select: EuiSelectControlValueAccessor,\n @Optional() @Host() _selectNative: SelectControlValueAccessor,\n @Optional() @Host() _selectComponent: EuiSelectComponent\n ) {\n super(_element, _renderer, _select);\n this.select = _select;\n this.selectNative = _selectNative;\n this.selectComponent = _selectComponent;\n this.element = _element;\n this.renderer = _renderer;\n }\n\n ngAfterViewInit(): void {\n if (this.selectNative && this.select && this.selectNative.value !== this.select.value) {\n // TODO: This causes issues when options array change from N to 1 and the option 1 is set through setValue()\n // Investigate what are the regressions from the removal of this line. Issue is that the Native\n // control value accessor holds a mapper not in sync with the EuiSelectControlValueAccessor.\n //\n // this.selectNative.writeValue(this.select.value);\n }\n }\n\n ngOnChanges(changes: SimpleChanges): void {\n if (changes.selected) {\n /**\n * in case there's a selected value, readonly attribute is true, sync it to the readonly input. The reason is\n * that the readonly input is not aware of the selected value until the render of the view completes.\n */\n switch (this._selected) {\n case true:\n this.renderer.setAttribute(this.element.nativeElement, 'selected', '');\n break;\n default:\n this.renderer.removeAttribute(this.element.nativeElement, 'selected');\n }\n this.selectComponent?.syncReadOnlyValue();\n }\n\n if (changes.label) {\n this.renderer.setProperty(this.element.nativeElement, 'innerText', changes.label.currentValue);\n this.selectComponent?.syncReadOnlyValue();\n }\n }\n}\n","import { Directive, DoCheck, ElementRef, forwardRef, Injector, Input, Provider, Renderer2 } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR, NgControl, SelectMultipleControlValueAccessor } from '@angular/forms';\nimport { EuiSelectMultipleOption } from './eui-select-mutli-option.directive';\nimport { _extractId } from './utils';\nimport { BooleanInput, coerceBooleanProperty } from '@angular/cdk/coercion';\nimport { EuiSelectComponent } from './eui-select.component';\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][formControlName][euiSelect],select[multiple][formControl][euiSelect],select[multiple][ngModel][euiSelect]',\n // eslint-disable-next-line @angular-eslint/no-host-metadata-property\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 ControlValueAccessor, DoCheck {\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 *\n * @nodoc\n */\n value: any;\n\n /** @internal */\n _optionMap: Map<string, EuiSelectMultipleOption> = new Map<string, EuiSelectMultipleOption>();\n\n /** @internal */\n _idCounter = 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 selectComponent: EuiSelectComponent, 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, { optional: true });\n }\n this._isInvalid = this.control ? this.control.invalid && this.control.touched : this._isInvalid;\n }\n\n /**\n * Sets the \"value\" property on one or of more of the select's options.\n *\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 this.selectComponent.syncReadOnlyValue();\n }\n\n /**\n * Registers a function called when the control value changes\n * and writes an array of the selected options.\n *\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 registerOnTouched(fn: any): void {\n this.onTouched = () => {\n const control = this.injector.get(NgControl, undefined, { optional: true });\n this.isInvalid = control.invalid;\n if (this.isInvalid) {\n this.renderer.addClass(this.elementRef.nativeElement, `eui-select--invalid`);\n }\n fn();\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)) {\n return id;\n }\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","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(_element: ElementRef, _renderer: Renderer2, @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) {\n return;\n }\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: [CommonModule],\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.EuiSelectComponent","i1.EuiSelectControlValueAccessor","i3.EuiSelectComponent","NgSelectMultipleOption","i1.EuiSelectMultipleControlValueAccessor"],"mappings":"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"}
@@ -171,6 +171,7 @@ class EuiTableComponent extends BaseDirective {
171
171
  this.cd = cd;
172
172
  this.euiTableSelectableRowService = euiTableSelectableRowService;
173
173
  this.elementRef = elementRef;
174
+ this.rows = [];
174
175
  this.propId = 'id';
175
176
  this.preselectedRows = [];
176
177
  this.string = 'eui-table';
@@ -200,6 +201,9 @@ class EuiTableComponent extends BaseDirective {
200
201
  this.stickyFeatureHandlerIndex = 0;
201
202
  }
202
203
  ngOnChanges(c) {
204
+ if (!this.rows) {
205
+ this.rows = [];
206
+ }
203
207
  this.euiTableSelectableRowService.setPropId(this.propId);
204
208
  if (c && c.rows && c.rows.firstChange === false) {
205
209
  this.tableFeaturesHandlerSubscription.unsubscribe();
@@ -396,7 +400,7 @@ class EuiTableComponent extends BaseDirective {
396
400
  const props = [];
397
401
  const paths = (pathObj = {}, head = '') => Object.entries(pathObj).reduce((product, [key, value]) => {
398
402
  const fullPath = addDelimiter(head, key);
399
- const match = (v) => typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;
403
+ const match = (v) => v && typeof v !== 'object' && v?.toString().toLowerCase().indexOf(filter?.trim().toLowerCase()) !== -1;
400
404
  if (key !== '0' && typeof value !== 'object') {
401
405
  props.push({ key: addDelimiter(head, key), match: match(value), value });
402
406
  }