@eui/ecl 22.0.0-alpha.32 → 22.0.0-alpha.33

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { model, inject, HostBinding, Component, input, booleanAttribute, ElementRef, Injector, ViewContainerRef, Renderer2, PLATFORM_ID, runInInjectionContext, afterNextRender, Directive } from '@angular/core';
2
+ import { model, inject, Component, input, booleanAttribute, ElementRef, Injector, ViewContainerRef, Renderer2, PLATFORM_ID, runInInjectionContext, afterNextRender, Directive } from '@angular/core';
3
3
  import { ECLBaseDirective, EclThemeService } from '@eui/ecl/core';
4
4
  import * as i1 from '@eui/ecl/components/ecl-icon';
5
5
  import { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';
@@ -60,7 +60,7 @@ class EclSelectContainerComponent extends ECLBaseDirective {
60
60
  }
61
61
  }
62
62
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSelectContainerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
63
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EclSelectContainerComponent, isStandalone: true, selector: "ecl-select-container", inputs: { eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { eclSize: "eclSizeChange", disabled: "disabledChange", isInvalid: "isInvalidChange", toggleLabel: "toggleLabelChange" }, host: { properties: { "class": "this.cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
63
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "22.1.2", type: EclSelectContainerComponent, isStandalone: true, selector: "ecl-select-container", inputs: { eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { eclSize: "eclSizeChange", disabled: "disabledChange", isInvalid: "isInvalidChange", toggleLabel: "toggleLabelChange" }, host: { properties: { "class": "cssClasses" } }, usesInheritance: true, ngImport: i0, template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: i1.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "component", type: i2.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i2.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
64
64
  }
65
65
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSelectContainerComponent, decorators: [{
66
66
  type: Component,
@@ -68,11 +68,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImpor
68
68
  ...EUI_ECL_ICON,
69
69
  TranslatePipe,
70
70
  ...EUI_ECL_BUTTON,
71
- ], template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
72
- }], propDecorators: { eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }, { type: i0.Output, args: ["eclSizeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }, { type: i0.Output, args: ["isInvalidChange"] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }, { type: i0.Output, args: ["toggleLabelChange"] }], cssClasses: [{
73
- type: HostBinding,
74
- args: ['class']
75
- }] } });
71
+ ], host: {
72
+ '[class]': 'cssClasses',
73
+ }, template: "<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n" }]
74
+ }], propDecorators: { eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }, { type: i0.Output, args: ["eclSizeChange"] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }, { type: i0.Output, args: ["isInvalidChange"] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }, { type: i0.Output, args: ["toggleLabelChange"] }] } });
76
75
 
77
76
  /**
78
77
  * Directive that enhances a native <select> element with ECL styling
@@ -204,24 +203,19 @@ class EclSelectDirective extends ECLBaseDirective {
204
203
  });
205
204
  }
206
205
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSelectDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
207
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclSelectDirective, isStandalone: true, selector: "select[eclSelect]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null }, eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.disabled": "this.isDisabled", "class": "this.cssClasses", "class.ecl-select--invalid": "this.isInvalidState" } }, usesInheritance: true, ngImport: i0 }); }
206
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "22.1.2", type: EclSelectDirective, isStandalone: true, selector: "select[eclSelect]", inputs: { disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null }, eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class": "cssClasses", "attr.disabled": "isDisabled", "class.ecl-select--invalid": "isInvalidState" } }, usesInheritance: true, ngImport: i0 }); }
208
207
  }
209
208
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.2", ngImport: i0, type: EclSelectDirective, decorators: [{
210
209
  type: Directive,
211
- args: [{ selector: 'select[eclSelect]' }]
212
- }], propDecorators: { disabled: [{
213
- type: HostBinding,
214
- args: ['attr.disabled']
215
- }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }], eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], cssClasses: [{
216
- type: HostBinding,
217
- args: ['class']
218
- }], isDisabled: [{
219
- type: HostBinding,
220
- args: ['attr.disabled']
221
- }], isInvalidState: [{
222
- type: HostBinding,
223
- args: ['class.ecl-select--invalid']
224
- }] } });
210
+ args: [{
211
+ selector: 'select[eclSelect]',
212
+ host: {
213
+ '[class]': 'cssClasses',
214
+ '[attr.disabled]': 'isDisabled',
215
+ '[class.ecl-select--invalid]': 'isInvalidState',
216
+ },
217
+ }]
218
+ }], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }], eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }] } });
225
219
 
226
220
  const EUI_ECL_SELECT = [
227
221
  EclSelectDirective,
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-select.mjs","sources":["../../components/ecl-select/ecl-select-container.component.ts","../../components/ecl-select/ecl-select-container.component.html","../../components/ecl-select/ecl-select.directive.ts","../../components/ecl-select/index.ts","../../components/ecl-select/eui-ecl-components-ecl-select.ts"],"sourcesContent":["import { Component, HostBinding, inject, model } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Container component, which wraps the <select> component. Ataches custom select button with dropdown arrow.\n */\n@Component({\n selector: 'ecl-select-container',\n templateUrl: './ecl-select-container.component.html',\n imports: [\n ...EUI_ECL_ICON,\n TranslatePipe,\n ...EUI_ECL_BUTTON,\n ],\n})\nexport class EclSelectContainerComponent extends ECLBaseDirective {\n /**\n * Size/length of the field and the dropdown, can be 's', 'm' or 'l'. Default is 'm'.\n * Same as the size of the main host element.\n */\n readonly eclSize = model('m');\n readonly disabled = model<boolean>(undefined);\n readonly isInvalid = model<boolean>(undefined);\n /**\n * Custom label for the arrow-down button. Set from the main host element.\n */\n readonly toggleLabel = model<string | undefined>(undefined);\n\n /**\n * Adds specific classes for the container.\n */\n @HostBinding('class')\n get cssClasses(): string {\n const eclSize = this.eclSize();\n return [\n super.getCssClasses('ecl-select__container'),\n eclSize ? `ecl-select__container--${eclSize}` : '',\n this.disabled() ? 'ecl-select__container--disabled' : '',\n this.isInvalid() ? 'ecl-select__container--invalid' : '',\n ]\n .join(' ')\n .trim();\n }\n\n private ICON_SIZE_EC = 'xs';\n private ICON_SIZE_EU = 's'\n private eclThemeService = inject(EclThemeService);\n\n /**\n * Returns different icon sizes, depending if it's EU (s) or EC (xs) theme.\n */\n get iconSize(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC;\n } else {\n return this.ICON_SIZE_EU;\n }\n }\n}\n","<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n","import {\n AfterContentInit,\n ComponentRef,\n Directive,\n DoCheck,\n ElementRef,\n HostBinding,\n Injector,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewContainerRef,\n afterNextRender,\n booleanAttribute,\n inject,\n runInInjectionContext,\n input,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\nimport { NgControl } from '@angular/forms';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive that enhances a native <select> element with ECL styling\n * by wrapping it inside an {@link EclSelectContainerComponent}.\n */\n@Directive({ selector: 'select[eclSelect]' })\nexport class EclSelectDirective extends ECLBaseDirective\n implements OnInit, DoCheck, AfterContentInit, OnDestroy {\n\n /** Disables the select element. */\n @HostBinding('attr.disabled')\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Marks the select element as invalid. */\n readonly isInvalid = input(false, { transform: booleanAttribute });\n\n /** Accessible label for the toggle button. */\n readonly toggleLabel = input<string>(undefined);\n\n /** Size of the select component. */\n readonly eclSize = input<'s' | 'm' | 'l'>('m');\n\n private ngControl = inject(NgControl, { optional: true, self: true });\n private el = inject(ElementRef<HTMLElement>);\n private injector = inject(Injector);\n private vcr = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private platformId = inject(PLATFORM_ID);\n private isBrowser = isPlatformBrowser(this.platformId);\n private containerRef!: ComponentRef<EclSelectContainerComponent>;\n private readonly OPTGROUP_TAG_NAME = 'OPTGROUP';\n\n @HostBinding('class')\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n\n @HostBinding('attr.disabled')\n get isDisabled(): boolean {\n return this.ngControl ? (this.ngControl.disabled || null) : (this.disabled() || null);\n }\n\n @HostBinding('class.ecl-select--invalid')\n get isInvalidState(): boolean {\n return this.ngControl\n ? (this.ngControl.status === 'INVALID' && this.ngControl.touched)\n : this.isInvalid();\n }\n\n /**\n * Initializes the directive.\n * - Creates the {@link EclSelectContainerComponent} wrapper.\n * - Synchronizes initial input values.\n * - Moves the <select> element inside the wrapper.\n *\n * Skipped on the server to avoid SSR hydration mismatch (NG0500).\n */\n ngOnInit(): void {\n if (!this.isBrowser) return;\n\n this.containerRef = this.vcr.createComponent(EclSelectContainerComponent);\n this.syncContainerInputs();\n\n const containerEl = this.containerRef.location.nativeElement as any;\n const selectEl = this.el.nativeElement as any;\n\n if (selectEl.parentNode !== containerEl) {\n runInInjectionContext(this.injector, () => {\n afterNextRender(() => {\n if (selectEl.parentNode === containerEl) return;\n const firstChild = containerEl.firstChild ?? null;\n this.renderer.insertBefore(containerEl, selectEl, firstChild, true);\n });\n });\n }\n }\n\n /**\n * Processes any <optgroup> elements inside the <select> and\n * enhances them with appropriate accessibility attributes.\n */\n ngAfterContentInit(): void {\n const childrenElements: Element[] =\n Array.from(this.el.nativeElement.children);\n\n this.handleOptgroup(childrenElements);\n }\n\n /**\n * Keeps the wrapper component synchronized with the directive’s\n * current inputs and form control state.\n *\n * This is used to reflect runtime changes such as:\n * - Disabled state\n * - Validation status\n * - Size changes\n */\n ngDoCheck(): void {\n this.syncContainerInputs();\n }\n\n /**\n * Destroys the dynamically created wrapper component to prevent\n * memory leaks when the directive is removed.\n */\n ngOnDestroy(): void {\n this.containerRef?.destroy();\n }\n\n /**\n * Synchronizes directive inputs and control state\n * with the wrapper component instance.\n */\n private syncContainerInputs(): void {\n const c = this.containerRef?.instance;\n if (!c) return;\n\n c.eclSize.set(this.eclSize());\n c.disabled.set(this.isDisabled);\n c.toggleLabel.set(this.toggleLabel());\n c.isInvalid.set(this.isInvalidState);\n }\n\n /**\n * Enhances <optgroup> and <option> elements with\n * accessible aria-label attributes.\n *\n * - Applies the optgroup label to the group container.\n * - Combines option and group labels for child options.\n *\n * This improves screen reader support for grouped options.\n *\n * @param childrenElements List of direct children of the <select> element.\n */\n private handleOptgroup(childrenElements: Element[]): void {\n childrenElements\n .filter(el =>\n el.tagName === this.OPTGROUP_TAG_NAME &&\n el.getAttribute('label') !== null\n )\n .forEach(optGroup => {\n const optGroupLabel = optGroup.getAttribute('label');\n\n this.renderer.setAttribute(\n optGroup,\n 'aria-label',\n optGroupLabel\n );\n\n Array.from(optGroup.children).forEach(option => {\n const optionLabel =\n option.getAttribute('label') || option.textContent;\n\n if (optionLabel) {\n this.renderer.setAttribute(\n option,\n 'aria-label',\n `${optionLabel} - ${optGroupLabel}`\n );\n }\n });\n });\n }\n}\n","import { EclSelectDirective } from './ecl-select.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\nexport * from './ecl-select.directive';\nexport * from './ecl-select-container.component';\n\nexport const EUI_ECL_SELECT = [\n EclSelectDirective,\n EclSelectContainerComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eui-ecl-components-ecl-select.mjs","sources":["../../components/ecl-select/ecl-select-container.component.ts","../../components/ecl-select/ecl-select-container.component.html","../../components/ecl-select/ecl-select.directive.ts","../../components/ecl-select/index.ts","../../components/ecl-select/eui-ecl-components-ecl-select.ts"],"sourcesContent":["import { Component, inject, model } from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclThemeService } from '@eui/ecl/core';\nimport { EUI_ECL_ICON } from '@eui/ecl/components/ecl-icon';\nimport { EUI_ECL_BUTTON } from '@eui/ecl/components/ecl-button';\nimport { TranslatePipe } from '@ngx-translate/core';\n\n/**\n * Container component, which wraps the <select> component. Ataches custom select button with dropdown arrow.\n */\n@Component({\n selector: 'ecl-select-container',\n templateUrl: './ecl-select-container.component.html',\n imports: [\n ...EUI_ECL_ICON,\n TranslatePipe,\n ...EUI_ECL_BUTTON,\n ],\n host: {\n '[class]': 'cssClasses',\n },\n})\nexport class EclSelectContainerComponent extends ECLBaseDirective {\n /**\n * Size/length of the field and the dropdown, can be 's', 'm' or 'l'. Default is 'm'.\n * Same as the size of the main host element.\n */\n readonly eclSize = model('m');\n readonly disabled = model<boolean>(undefined);\n readonly isInvalid = model<boolean>(undefined);\n /**\n * Custom label for the arrow-down button. Set from the main host element.\n */\n readonly toggleLabel = model<string | undefined>(undefined);\n\n /**\n * Adds specific classes for the container.\n */\n get cssClasses(): string {\n const eclSize = this.eclSize();\n return [\n super.getCssClasses('ecl-select__container'),\n eclSize ? `ecl-select__container--${eclSize}` : '',\n this.disabled() ? 'ecl-select__container--disabled' : '',\n this.isInvalid() ? 'ecl-select__container--invalid' : '',\n ]\n .join(' ')\n .trim();\n }\n\n private ICON_SIZE_EC = 'xs';\n private ICON_SIZE_EU = 's'\n private eclThemeService = inject(EclThemeService);\n\n /**\n * Returns different icon sizes, depending if it's EU (s) or EC (xs) theme.\n */\n protected get iconSize(): string {\n if (this.eclThemeService.isECTheme()) {\n return this.ICON_SIZE_EC;\n } else {\n return this.ICON_SIZE_EU;\n }\n }\n}\n","<div class=\"ecl-select__icon\">\n <button eclButton variant=\"tertiary\" tabindex=\"-1\" isIconOnly>\n <span eclButtonLabel>{{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}</span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"iconSize\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n","import {\n AfterContentInit,\n ComponentRef,\n Directive,\n DoCheck,\n ElementRef,\n Injector,\n OnDestroy,\n OnInit,\n PLATFORM_ID,\n Renderer2,\n ViewContainerRef,\n afterNextRender,\n booleanAttribute,\n inject,\n runInInjectionContext,\n input,\n} from '@angular/core';\nimport { ECLBaseDirective } from '@eui/ecl/core';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\nimport { NgControl } from '@angular/forms';\nimport { isPlatformBrowser } from '@angular/common';\n\n/**\n * Directive that enhances a native <select> element with ECL styling\n * by wrapping it inside an {@link EclSelectContainerComponent}.\n */\n@Directive({\n selector: 'select[eclSelect]',\n host: {\n '[class]': 'cssClasses',\n '[attr.disabled]': 'isDisabled',\n '[class.ecl-select--invalid]': 'isInvalidState',\n },\n})\nexport class EclSelectDirective extends ECLBaseDirective\n implements OnInit, DoCheck, AfterContentInit, OnDestroy {\n\n /** Disables the select element. */\n readonly disabled = input(false, { transform: booleanAttribute });\n\n /** Marks the select element as invalid. */\n readonly isInvalid = input(false, { transform: booleanAttribute });\n\n /** Accessible label for the toggle button. */\n readonly toggleLabel = input<string>(undefined);\n\n /** Size of the select component. */\n readonly eclSize = input<'s' | 'm' | 'l'>('m');\n\n private ngControl = inject(NgControl, { optional: true, self: true });\n private el = inject(ElementRef<HTMLElement>);\n private injector = inject(Injector);\n private vcr = inject(ViewContainerRef);\n private renderer = inject(Renderer2);\n private platformId = inject(PLATFORM_ID);\n private isBrowser = isPlatformBrowser(this.platformId);\n private containerRef!: ComponentRef<EclSelectContainerComponent>;\n private readonly OPTGROUP_TAG_NAME = 'OPTGROUP';\n\n get cssClasses(): string {\n return [super.getCssClasses('ecl-select')].join(' ').trim();\n }\n\n get isDisabled(): boolean {\n return this.ngControl ? (this.ngControl.disabled || null) : (this.disabled() || null);\n }\n\n get isInvalidState(): boolean {\n return this.ngControl\n ? (this.ngControl.status === 'INVALID' && this.ngControl.touched)\n : this.isInvalid();\n }\n\n /**\n * Initializes the directive.\n * - Creates the {@link EclSelectContainerComponent} wrapper.\n * - Synchronizes initial input values.\n * - Moves the <select> element inside the wrapper.\n *\n * Skipped on the server to avoid SSR hydration mismatch (NG0500).\n */\n ngOnInit(): void {\n if (!this.isBrowser) return;\n\n this.containerRef = this.vcr.createComponent(EclSelectContainerComponent);\n this.syncContainerInputs();\n\n const containerEl = this.containerRef.location.nativeElement as any;\n const selectEl = this.el.nativeElement as any;\n\n if (selectEl.parentNode !== containerEl) {\n runInInjectionContext(this.injector, () => {\n afterNextRender(() => {\n if (selectEl.parentNode === containerEl) return;\n const firstChild = containerEl.firstChild ?? null;\n this.renderer.insertBefore(containerEl, selectEl, firstChild, true);\n });\n });\n }\n }\n\n /**\n * Processes any <optgroup> elements inside the <select> and\n * enhances them with appropriate accessibility attributes.\n */\n ngAfterContentInit(): void {\n const childrenElements: Element[] =\n Array.from(this.el.nativeElement.children);\n\n this.handleOptgroup(childrenElements);\n }\n\n /**\n * Keeps the wrapper component synchronized with the directive’s\n * current inputs and form control state.\n *\n * This is used to reflect runtime changes such as:\n * - Disabled state\n * - Validation status\n * - Size changes\n */\n ngDoCheck(): void {\n this.syncContainerInputs();\n }\n\n /**\n * Destroys the dynamically created wrapper component to prevent\n * memory leaks when the directive is removed.\n */\n ngOnDestroy(): void {\n this.containerRef?.destroy();\n }\n\n /**\n * Synchronizes directive inputs and control state\n * with the wrapper component instance.\n */\n private syncContainerInputs(): void {\n const c = this.containerRef?.instance;\n if (!c) return;\n\n c.eclSize.set(this.eclSize());\n c.disabled.set(this.isDisabled);\n c.toggleLabel.set(this.toggleLabel());\n c.isInvalid.set(this.isInvalidState);\n }\n\n /**\n * Enhances <optgroup> and <option> elements with\n * accessible aria-label attributes.\n *\n * - Applies the optgroup label to the group container.\n * - Combines option and group labels for child options.\n *\n * This improves screen reader support for grouped options.\n *\n * @param childrenElements List of direct children of the <select> element.\n */\n private handleOptgroup(childrenElements: Element[]): void {\n childrenElements\n .filter(el =>\n el.tagName === this.OPTGROUP_TAG_NAME &&\n el.getAttribute('label') !== null\n )\n .forEach(optGroup => {\n const optGroupLabel = optGroup.getAttribute('label');\n\n this.renderer.setAttribute(\n optGroup,\n 'aria-label',\n optGroupLabel\n );\n\n Array.from(optGroup.children).forEach(option => {\n const optionLabel =\n option.getAttribute('label') || option.textContent;\n\n if (optionLabel) {\n this.renderer.setAttribute(\n option,\n 'aria-label',\n `${optionLabel} - ${optGroupLabel}`\n );\n }\n });\n });\n }\n}\n","import { EclSelectDirective } from './ecl-select.directive';\nimport { EclSelectContainerComponent } from './ecl-select-container.component';\n\nexport * from './ecl-select.directive';\nexport * from './ecl-select-container.component';\n\nexport const EUI_ECL_SELECT = [\n EclSelectDirective,\n EclSelectContainerComponent,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eui/ecl",
3
- "version": "22.0.0-alpha.32",
3
+ "version": "22.0.0-alpha.33",
4
4
  "tag": "next",
5
5
  "description": "eUI ECL components package",
6
6
  "homepage": "https://eui.ecdevops.eu",
@@ -102,7 +102,7 @@ declare class EclSelectContainerComponent extends ECLBaseDirective {
102
102
  /**
103
103
  * Returns different icon sizes, depending if it's EU (s) or EC (xs) theme.
104
104
  */
105
- get iconSize(): string;
105
+ protected get iconSize(): string;
106
106
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclSelectContainerComponent, never>;
107
107
  static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclSelectContainerComponent, "ecl-select-container", never, { "eclSize": { "alias": "eclSize"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "toggleLabel": { "alias": "toggleLabel"; "required": false; "isSignal": true; }; }, { "eclSize": "eclSizeChange"; "disabled": "disabledChange"; "isInvalid": "isInvalidChange"; "toggleLabel": "toggleLabelChange"; }, never, never, true, never>;
108
108
  }
@@ -1 +1 @@
1
- {"version":3,"file":"eui-ecl-components-ecl-select.d.ts","sources":["../../components/ecl-select/ecl-select.directive.ts","../../components/ecl-select/ecl-select-container.component.ts","../../components/ecl-select/index.ts"],"mappings":";;;;AAwBA;;;AAGG;AACH,cACa,kBAAmB,SAAQ,gBACpC,YAAW,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS;;uBAItC,aAAA,CAAA,wBAAA;;wBAGC,aAAA,CAAA,wBAAA;;0BAGE,aAAA,CAAA,WAAA;;sBAGJ,aAAA,CAAA,WAAA;;;;;;;;;AAUhB;;;;AAmBA;;;;;;;AAOG;AACH;AAoBA;;;AAGG;AACH;AAOA;;;;;;;;AAQG;AACH;AAIA;;;AAGG;AACH;AAIA;;;AAGG;AACH;AAUA;;;;;;;;;;AAUG;AACH;oDAhIS,kBAAkB;sDAAlB,kBAAkB;AA6J9B;;ACnLD;;AAEG;AACH,cASa,2BAA4B,SAAQ,gBAAgB;AAC7D;;;AAGG;sBACa,aAAA,CAAA,WAAA;uBACC,aAAA,CAAA,WAAA;wBACC,aAAA,CAAA,WAAA;AAClB;;AAEG;0BACiB,aAAA,CAAA,WAAA;AAEpB;;AAEG;;;;;AAkBH;;AAEG;;oDAnCM,2BAA2B;sDAA3B,2BAA2B;AA2CvC;;ACxDD,cAAa,cAAc,mBAAA,kBAAA,SAAA,2BAAA;;;;","names":[]}
1
+ {"version":3,"file":"eui-ecl-components-ecl-select.d.ts","sources":["../../components/ecl-select/ecl-select.directive.ts","../../components/ecl-select/ecl-select-container.component.ts","../../components/ecl-select/index.ts"],"mappings":";;;;AAuBA;;;AAGG;AACH,cAQa,kBAAmB,SAAQ,gBACpC,YAAW,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,SAAS;;uBAGtC,aAAA,CAAA,wBAAA;;wBAGC,aAAA,CAAA,wBAAA;;0BAGE,aAAA,CAAA,WAAA;;sBAGJ,aAAA,CAAA,WAAA;;;;;;;;;AAUhB;;;;AAgBA;;;;;;;AAOG;AACH;AAoBA;;;AAGG;AACH;AAOA;;;;;;;;AAQG;AACH;AAIA;;;AAGG;AACH;AAIA;;;AAGG;AACH;AAUA;;;;;;;;;;AAUG;AACH;oDA5HS,kBAAkB;sDAAlB,kBAAkB;AAyJ9B;;ACrLD;;AAEG;AACH,cAYa,2BAA4B,SAAQ,gBAAgB;AAC7D;;;AAGG;sBACa,aAAA,CAAA,WAAA;uBACC,aAAA,CAAA,WAAA;wBACC,aAAA,CAAA,WAAA;AAClB;;AAEG;0BACiB,aAAA,CAAA,WAAA;AAEpB;;AAEG;;;;;AAiBH;;AAEG;AACH;oDAnCS,2BAA2B;sDAA3B,2BAA2B;AA0CvC;;AC1DD,cAAa,cAAc,mBAAA,kBAAA,SAAA,2BAAA;;;;","names":[]}