@eui/ecl 22.0.0-alpha.30 → 22.0.0-alpha.31

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 (30) hide show
  1. package/docs/changelog.html +27 -0
  2. package/docs/components/EclMultiselectComponent.html +88 -605
  3. package/docs/components/EclMultiselectDropdownComponent.html +204 -2316
  4. package/docs/components/EclMultiselectInputComponent.html +3 -545
  5. package/docs/components/EclMultiselectOptionComponent.html +48 -443
  6. package/docs/components/EclRatingFieldComponent.html +0 -45
  7. package/docs/components/EclSearchFormComponent.html +4 -447
  8. package/docs/directives/EclMultiselectOptionDirective.html +21 -286
  9. package/docs/interfaces/EclMultiselectOption.html +6 -6
  10. package/docs/js/search/search_index.js +2 -2
  11. package/docs/json/EclMultiselectComponent.md +6 -6
  12. package/docs/json/EclMultiselectDropdownComponent.md +1 -6
  13. package/docs/json/EclMultiselectInputComponent.md +1 -1
  14. package/docs/json/EclMultiselectOptionComponent.md +2 -1
  15. package/docs/json/EclMultiselectOptionDirective.md +1 -1
  16. package/docs/json/documentation.json +834 -1416
  17. package/docs/llms.txt +33 -95
  18. package/docs/properties.html +1 -1
  19. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +320 -430
  20. package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
  21. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs +4 -6
  22. package/fesm2022/eui-ecl-components-ecl-rating-field.mjs.map +1 -1
  23. package/fesm2022/eui-ecl-components-ecl-search-form.mjs +22 -27
  24. package/fesm2022/eui-ecl-components-ecl-search-form.mjs.map +1 -1
  25. package/package.json +1 -1
  26. package/types/eui-ecl-components-ecl-multiselect.d.ts +163 -192
  27. package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
  28. package/types/eui-ecl-components-ecl-rating-field.d.ts.map +1 -1
  29. package/types/eui-ecl-components-ecl-search-form.d.ts +14 -14
  30. package/types/eui-ecl-components-ecl-search-form.d.ts.map +1 -1
@@ -1,9 +1,7 @@
1
1
  import * as _angular_core from '@angular/core';
2
- import { PipeTransform, ElementRef, OnChanges, OnDestroy, OnInit, DoCheck, AfterViewInit, QueryList, EventEmitter, Injector } from '@angular/core';
3
- import { ControlValueAccessor, FormGroup } from '@angular/forms';
2
+ import { PipeTransform, InputSignal, ModelSignal, ElementRef, OnInit, DoCheck, OnDestroy } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
4
  import { ECLBaseDirective } from '@eui/ecl/core';
5
- import { BooleanInput } from '@angular/cdk/coercion';
6
- import { Subject } from 'rxjs';
7
5
  import * as i1 from '@eui/ecl/components/ecl-checkbox';
8
6
 
9
7
  declare class BoldTextPipe implements PipeTransform {
@@ -22,10 +20,10 @@ declare class EclMultiselectMainInputClickEvent {
22
20
 
23
21
  interface EclMultiselectOption {
24
22
  id?: string;
25
- label?: string;
26
- value?: string;
23
+ label?: InputSignal<string>;
24
+ value?: InputSignal<string>;
27
25
  isActive: boolean;
28
- isChecked: boolean;
26
+ isChecked: ModelSignal<boolean>;
29
27
  }
30
28
 
31
29
  declare class EclMultiselectOptionClickEvent {
@@ -47,10 +45,6 @@ declare class EclMultiselectInputComponent extends ECLBaseDirective {
47
45
  * Size modifier for the multiselect input (e.g., 's', 'm', 'l').
48
46
  */
49
47
  eclSize: _angular_core.InputSignal<string>;
50
- /**
51
- * Unique ID for the counter element.
52
- */
53
- counterId: _angular_core.WritableSignal<`${string}-${string}-${string}-${string}-${string}`>;
54
48
  /**
55
49
  * Label for the selections counter, read by screen readers.
56
50
  */
@@ -71,10 +65,6 @@ declare class EclMultiselectInputComponent extends ECLBaseDirective {
71
65
  * Marks the component as being in an invalid state.
72
66
  */
73
67
  isInvalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
74
- /**
75
- * CSS classes for the component, including size and inherited classes.
76
- */
77
- get cssClasses(): string;
78
68
  /**
79
69
  * Placeholder text for the input when no items are selected.
80
70
  */
@@ -82,7 +72,7 @@ declare class EclMultiselectInputComponent extends ECLBaseDirective {
82
72
  /**
83
73
  * Array of currently selected item labels.
84
74
  */
85
- selectedItems: _angular_core.InputSignal<string[]>;
75
+ selectedItemsLabels: _angular_core.InputSignal<string[]>;
86
76
  /**
87
77
  * Indicates that the dropdown is currently expanded.
88
78
  */
@@ -95,14 +85,6 @@ declare class EclMultiselectInputComponent extends ECLBaseDirective {
95
85
  * ARIA describedby attribute for accessibility.
96
86
  */
97
87
  ariaDescribedby: _angular_core.InputSignal<string>;
98
- /**
99
- * Computed ARIA describedby combining the input value with the counter ID.
100
- */
101
- ariaDescribedbyFull: _angular_core.Signal<string>;
102
- /**
103
- * Reference to the internal input element.
104
- */
105
- readonly inputMultiselect: _angular_core.Signal<ElementRef<any>>;
106
88
  /**
107
89
  * Event emitted when the input is clicked.
108
90
  */
@@ -111,45 +93,61 @@ declare class EclMultiselectInputComponent extends ECLBaseDirective {
111
93
  * Event emitted when a key is pressed on the input.
112
94
  */
113
95
  readonly mainInputKeydown: _angular_core.OutputEmitterRef<Event>;
114
- private readonly ICON_SIZE_FOR_EC_THEME_ON;
115
- private readonly ICON_SIZE_FOR_EU_THEME_ON;
116
- private eclThemeService;
117
- private renderer;
96
+ /**
97
+ * Unique ID for the counter element.
98
+ */
99
+ protected counterId: _angular_core.WritableSignal<`${string}-${string}-${string}-${string}-${string}`>;
100
+ /**
101
+ * Reference to the internal input element.
102
+ */
103
+ protected readonly inputMultiselect: _angular_core.Signal<ElementRef<any>>;
104
+ /**
105
+ * Computed ARIA describedby combining the input value with the counter ID.
106
+ */
107
+ protected ariaDescribedbyFull: _angular_core.Signal<string>;
118
108
  /**
119
109
  * Returns the label text shown inside the button.
120
110
  */
121
- buttonText: _angular_core.Signal<string>;
111
+ protected buttonText: _angular_core.Signal<string>;
122
112
  /**
123
113
  * Returns the count of selected items.
124
114
  */
125
- selectedItemsCount: _angular_core.Signal<number>;
115
+ protected selectedItemsCount: _angular_core.Signal<number>;
126
116
  /**
127
117
  * Displays a count badge when items are selected.
128
118
  */
129
- isShowCounter: _angular_core.Signal<boolean>;
119
+ protected isShowCounter: _angular_core.Signal<boolean>;
130
120
  /**
131
121
  * Indicates that the dropdown is expanded (active).
132
122
  */
133
- isActive: _angular_core.Signal<boolean>;
123
+ protected isActive: _angular_core.Signal<boolean>;
124
+ /**
125
+ * CSS classes for the component, including size and inherited classes.
126
+ */
127
+ protected get cssClasses(): string;
134
128
  /**
135
129
  * Returns icon size depending on the theme.
136
130
  */
137
- get sizeIcon(): string;
131
+ protected get sizeIcon(): string;
132
+ private readonly ICON_SIZE_FOR_EC_THEME_ON;
133
+ private readonly ICON_SIZE_FOR_EU_THEME_ON;
134
+ private eclThemeService;
135
+ private renderer;
136
+ /**
137
+ * Focuses the multiselect input element.
138
+ */
139
+ onFocus(): void;
138
140
  /**
139
141
  * Handles click on the input container. Emits custom event with original DOM event.
140
142
  */
141
- onClick(evt: Event): void;
143
+ protected onClick(evt: Event): void;
142
144
  /**
143
145
  * Handles keydown events on the input.
144
146
  * Only emits event on ArrowDown, Enter, or Space keys.
145
147
  */
146
- onKeydown(evt: KeyboardEvent): void;
147
- /**
148
- * Focuses the multiselect input element.
149
- */
150
- onFocus(): void;
148
+ protected onKeydown(evt: KeyboardEvent): void;
151
149
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclMultiselectInputComponent, never>;
152
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectInputComponent, "div[eclMultiselectInput]", never, { "eclSize": { "alias": "eclSize"; "required": false; "isSignal": true; }; "counterLabel": { "alias": "counterLabel"; "required": false; "isSignal": true; }; "toggleId": { "alias": "toggleId"; "required": false; "isSignal": true; }; "toggleLabel": { "alias": "toggleLabel"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "inputPlaceholder": { "alias": "inputPlaceholder"; "required": false; "isSignal": true; }; "selectedItems": { "alias": "selectedItems"; "required": false; "isSignal": true; }; "isDropdownExpanded": { "alias": "isDropdownExpanded"; "required": false; "isSignal": true; }; "ariaControls": { "alias": "ariaControls"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; }, { "mainInputClick": "mainInputClick"; "mainInputKeydown": "mainInputKeydown"; }, never, never, true, never>;
150
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectInputComponent, "div[eclMultiselectInput]", never, { "eclSize": { "alias": "eclSize"; "required": false; "isSignal": true; }; "counterLabel": { "alias": "counterLabel"; "required": false; "isSignal": true; }; "toggleId": { "alias": "toggleId"; "required": false; "isSignal": true; }; "toggleLabel": { "alias": "toggleLabel"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "inputPlaceholder": { "alias": "inputPlaceholder"; "required": false; "isSignal": true; }; "selectedItemsLabels": { "alias": "selectedItemsLabels"; "required": false; "isSignal": true; }; "isDropdownExpanded": { "alias": "isDropdownExpanded"; "required": false; "isSignal": true; }; "ariaControls": { "alias": "ariaControls"; "required": false; "isSignal": true; }; "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; }, { "mainInputClick": "mainInputClick"; "mainInputKeydown": "mainInputKeydown"; }, never, never, true, never>;
153
151
  }
154
152
 
155
153
  /**
@@ -169,52 +167,47 @@ declare class EclMultiselectOptionDirective extends ECLBaseDirective {
169
167
  * Label displayed for the option.
170
168
  */
171
169
  readonly label: _angular_core.InputSignal<string>;
172
- /**
173
- * Emits whenever the option's state changes (used internally).
174
- */
175
- changes: Subject<unknown>;
176
170
  /**
177
171
  * Indicates that the option is disabled.
178
172
  */
179
- get disabled(): boolean;
180
- set disabled(value: BooleanInput);
181
- private _disabled;
173
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
182
174
  /**
183
175
  * Indicates that the option is selected.
184
176
  */
185
- get selected(): boolean;
186
- set selected(value: boolean);
187
- private _selected;
188
- private elRef;
177
+ readonly selected: _angular_core.InputSignalWithTransform<boolean, unknown>;
189
178
  /**
190
179
  * Applies ECL checkbox styling class to the option.
191
180
  */
192
- get cssClasses(): string;
181
+ protected get cssClasses(): string;
182
+ private readonly elRef;
193
183
  /**
194
184
  * Returns true if this directive is applied to an <optgroup> element.
195
185
  */
196
186
  isOptGroup(): boolean;
197
187
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclMultiselectOptionDirective, never>;
198
- static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EclMultiselectOptionDirective, "optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; }; "selected": { "alias": "selected"; "required": false; }; }, {}, ["eclOptionItems"], never, true, never>;
188
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<EclMultiselectOptionDirective, "optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, {}, ["eclOptionItems"], never, true, never>;
199
189
  }
200
190
 
201
191
  /**
202
192
  * Component representing a single selectable option in the multiselect dropdown.
203
193
  */
204
- declare class EclMultiselectOptionComponent extends ECLBaseDirective implements EclMultiselectOption, OnChanges, OnDestroy, OnInit {
205
- readonly eclCheckboxInput: _angular_core.Signal<ElementRef<any>>;
206
- keyword: string;
207
- set value(value: string);
208
- get value(): string;
194
+ declare class EclMultiselectOptionComponent extends ECLBaseDirective implements EclMultiselectOption, OnInit {
195
+ /**
196
+ * Value assigned to the option.
197
+ */
198
+ readonly value: _angular_core.InputSignal<string>;
209
199
  /**
210
200
  * Display label for the option.
211
201
  */
212
- label: string;
213
- changes: Subject<unknown>;
202
+ readonly label: _angular_core.InputSignal<string>;
214
203
  /**
215
204
  * Disables the option when true.
216
205
  */
217
- disabled: boolean;
206
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
207
+ /**
208
+ * Indicates whether the option is selected.
209
+ */
210
+ readonly isChecked: _angular_core.ModelSignal<boolean>;
218
211
  /**
219
212
  * Emits when the option is clicked.
220
213
  */
@@ -223,17 +216,20 @@ declare class EclMultiselectOptionComponent extends ECLBaseDirective implements
223
216
  * Emits when a key is pressed while focused on the option.
224
217
  */
225
218
  readonly optionKeydown: _angular_core.OutputEmitterRef<EclMultiselectOptionKeydownEvent>;
226
- protected display: string;
227
- get cssClasses(): string;
228
219
  /**
229
- * Indicates whether the option is selected.
220
+ * Reference to the checkbox input element.
221
+ */
222
+ protected readonly eclCheckboxInput: _angular_core.Signal<ElementRef<any>>;
223
+ /**
224
+ * Keyword used by the boldText pipe to highlight matching text.
225
+ */
226
+ protected keyword: string;
227
+ /**
228
+ * Controls the host element visibility (`display` style).
230
229
  */
231
- get isChecked(): boolean;
232
- set isChecked(value: boolean);
230
+ protected readonly display: _angular_core.WritableSignal<string>;
231
+ private readonly renderer;
233
232
  private _id;
234
- private _checked;
235
- private _value;
236
- private renderer;
237
233
  /**
238
234
  * Returns the unique identifier for the option.
239
235
  */
@@ -242,17 +238,7 @@ declare class EclMultiselectOptionComponent extends ECLBaseDirective implements
242
238
  * Indicates whether the option is active (visible and not disabled).
243
239
  */
244
240
  get isActive(): boolean;
245
- ngOnChanges(): void;
246
241
  ngOnInit(): void;
247
- ngOnDestroy(): void;
248
- /**
249
- * Toggles the selected state and emits the optionClick event.
250
- */
251
- onOptionClick(): void;
252
- /**
253
- * Emits the optionKeydown event when a key is pressed.
254
- */
255
- onOptionKeydown(evt: KeyboardEvent): void;
256
242
  /**
257
243
  * Focuses the checkbox input.
258
244
  */
@@ -266,110 +252,121 @@ declare class EclMultiselectOptionComponent extends ECLBaseDirective implements
266
252
  */
267
253
  hide(): void;
268
254
  /**
269
- * Sets the keyword for search highlighting.
255
+ * Sets the keyword used by the boldText pipe to highlight matching text.
270
256
  */
271
257
  highlightSearchText(keyword: string): void;
258
+ /**
259
+ * Applies ECL checkbox styling class to the option.
260
+ */
261
+ protected get cssClasses(): string;
262
+ /**
263
+ * Toggles the selected state and emits the optionClick event.
264
+ */
265
+ protected onOptionClick(): void;
266
+ /**
267
+ * Emits the optionKeydown event when a key is pressed.
268
+ */
269
+ protected onOptionKeydown(evt: KeyboardEvent): void;
272
270
  private createId;
273
271
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclMultiselectOptionComponent, never>;
274
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectOptionComponent, "div[eclMultiselectOption]", never, { "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "isChecked": { "alias": "isChecked"; "required": false; }; }, { "optionClick": "optionClick"; "optionKeydown": "optionKeydown"; }, never, never, true, [{ directive: typeof i1.EclCheckboxDirective; inputs: {}; outputs: {}; }]>;
275
- static ngAcceptInputType_disabled: unknown;
272
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectOptionComponent, "div[eclMultiselectOption]", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "isChecked": { "alias": "isChecked"; "required": false; "isSignal": true; }; }, { "isChecked": "isCheckedChange"; "optionClick": "optionClick"; "optionKeydown": "optionKeydown"; }, never, never, true, [{ directive: typeof i1.EclCheckboxDirective; inputs: {}; outputs: {}; }]>;
276
273
  }
277
274
 
278
275
  /**
279
276
  * Component that renders a dropdown-style multiselect UI element.
280
277
  * Used internally by the `EclMultiselectComponent`.
281
278
  */
282
- declare class EclMultiselectDropdownComponent extends ECLBaseDirective implements OnInit, ControlValueAccessor, DoCheck, OnDestroy, AfterViewInit {
283
- readonly searchInput: _angular_core.Signal<ElementRef<any>>;
284
- readonly eclMultiselectInput: _angular_core.Signal<EclMultiselectInputComponent>;
285
- readonly selectAllCheckbox: _angular_core.Signal<ElementRef<any>>;
286
- readonly closeBtn: _angular_core.Signal<ElementRef<any>>;
287
- readonly clearAllBtn: _angular_core.Signal<ElementRef<any>>;
288
- multiOptionComponents: QueryList<EclMultiselectOptionComponent>;
279
+ declare class EclMultiselectDropdownComponent extends ECLBaseDirective implements OnInit, ControlValueAccessor, DoCheck, OnDestroy {
289
280
  /**
290
281
  * Emits the list of selected values whenever the selection changes.
291
282
  */
292
- eclChange: EventEmitter<string[]>;
293
- /**
294
- * Marks the component as visually invalid.
295
- */
296
- get isInvalid(): boolean | undefined;
297
- set isInvalid(value: boolean | undefined);
283
+ readonly eclChange: _angular_core.OutputEmitterRef<string[]>;
298
284
  /**
299
- * Adds the ECL base CSS class for multiselect dropdowns.
285
+ * State configured imperatively by the parent `EclMultiselectComponent`.
286
+ * This dropdown is created dynamically and is never bound in a template, so these
287
+ * are writable signals set through their `.set()` accessor rather than inputs.
300
288
  */
301
- get cssClasses(): string;
289
+ readonly isInvalid: _angular_core.WritableSignal<boolean>;
302
290
  /**
303
291
  * Placeholder for the main multiselect input.
304
292
  */
305
- mainInputPlaceholder: string;
293
+ readonly mainInputPlaceholder: _angular_core.WritableSignal<string>;
306
294
  /**
307
295
  * Placeholder for the search field input.
308
296
  */
309
- readonly searchFieldPlaceholder: _angular_core.InputSignal<string>;
297
+ readonly searchFieldPlaceholder: _angular_core.WritableSignal<string>;
310
298
  /**
311
299
  * Size of the multiselect dropdown (e.g., 'm', 'l').
312
300
  */
313
- eclSize: string;
301
+ readonly eclSize: _angular_core.WritableSignal<string>;
314
302
  /**
315
303
  * Disables the component when true.
304
+ * Set by the parent and by `ControlValueAccessor.setDisabledState`.
316
305
  */
317
- get disabled(): boolean | undefined;
318
- set disabled(value: boolean | undefined);
306
+ readonly disabled: _angular_core.WritableSignal<boolean>;
319
307
  /**
320
308
  * Optional ARIA description used for accessibility purposes.
321
309
  */
322
- ariaDescribedby: string | undefined;
310
+ readonly ariaDescribedby: _angular_core.WritableSignal<string>;
323
311
  /**
324
312
  * Label displayed for the toggle button to assist screen readers.
325
313
  */
326
- toggleLabel: string | undefined;
314
+ readonly toggleLabel: _angular_core.WritableSignal<string>;
327
315
  /**
328
316
  * Enables the search box in the dropdown interface.
329
317
  */
330
- hasSearchBox: boolean;
318
+ readonly hasSearchBox: _angular_core.WritableSignal<boolean>;
331
319
  /**
332
320
  * Displays the "Select all" checkbox above the list of options.
333
321
  */
334
- hasSelectAll: boolean;
322
+ readonly hasSelectAll: _angular_core.WritableSignal<boolean>;
335
323
  /**
336
324
  * When true, the Apply button acts as a submit button (type="submit") instead of a regular button.
337
325
  */
338
- isSubmitOnApply: _angular_core.WritableSignal<boolean>;
326
+ readonly isSubmitOnApply: _angular_core.WritableSignal<boolean>;
339
327
  /**
340
328
  * Label for the selections counter, read by screen readers.
341
329
  */
342
- counterLabel: string;
330
+ readonly counterLabel: _angular_core.WritableSignal<string>;
343
331
  /**
344
332
  * Optional identifier used for the dropdown element.
345
333
  */
346
- id: string;
334
+ readonly id: _angular_core.WritableSignal<string>;
347
335
  /**
348
- * Indicates that the "no results found" message should be displayed.
336
+ * List of option directives currently rendered in the dropdown.
337
+ */
338
+ multiOptionDirectives: _angular_core.WritableSignal<EclMultiselectOptionDirective[]>;
339
+ protected readonly searchInput: _angular_core.Signal<ElementRef<any>>;
340
+ protected readonly eclMultiselectInput: _angular_core.Signal<EclMultiselectInputComponent>;
341
+ protected readonly selectAllCheckbox: _angular_core.Signal<ElementRef<any>>;
342
+ protected readonly closeBtn: _angular_core.Signal<ElementRef<any>>;
343
+ protected readonly clearAllBtn: _angular_core.Signal<ElementRef<any>>;
344
+ protected readonly multiOptionComponents: _angular_core.Signal<readonly EclMultiselectOptionComponent[]>;
345
+ /**
346
+ * Gets labels of currently selected options.
349
347
  */
350
- isShowNoResultsFound: boolean;
348
+ protected selectedItemsLabels: _angular_core.Signal<string[]>;
351
349
  /**
352
- * Controls the visibility of the multiselect dropdown.
350
+ * Controls the visibility of the multiselect toolbar.
351
+ * Always visible when isSubmitOnApply is true so the user can submit the form.
353
352
  */
354
- isShowMultiselectDropdown: boolean;
353
+ protected isShowToolbar: _angular_core.Signal<boolean>;
355
354
  /**
356
- * List of option directives currently rendered in the dropdown.
355
+ * Indicates that the "no results found" message should be displayed.
357
356
  */
358
- multiOptionDirectives: _angular_core.WritableSignal<EclMultiselectOptionDirective[]>;
357
+ protected isShowNoResultsFound: boolean;
359
358
  /**
360
- * Reactive form group managing internal form state.
359
+ * Controls the visibility of the multiselect dropdown.
361
360
  */
362
- form: FormGroup;
361
+ protected isShowMultiselectDropdown: boolean;
363
362
  /**
364
363
  * Total number of options available in the dropdown list.
365
364
  */
366
- optionsCount: number;
365
+ protected optionsCount: number;
367
366
  protected dropdownId: string;
368
367
  protected isSelectAllDisabled: boolean | null;
369
368
  protected selectAllId: string;
370
369
  protected toggleId: string;
371
- private _disabled;
372
- private _isInvalid;
373
370
  private _selectedItems;
374
371
  private destroy$;
375
372
  private isWriteValueCalled;
@@ -379,8 +376,6 @@ declare class EclMultiselectDropdownComponent extends ECLBaseDirective implement
379
376
  constructor();
380
377
  ngDoCheck(): void;
381
378
  ngOnInit(): void;
382
- ngAfterViewInit(): void;
383
- private applyOptionState;
384
379
  ngOnDestroy(): void;
385
380
  /**
386
381
  * Writes a new value to the component from the outside (e.g., form model).
@@ -402,57 +397,49 @@ declare class EclMultiselectDropdownComponent extends ECLBaseDirective implement
402
397
  * Required by ControlValueAccessor.
403
398
  */
404
399
  setDisabledState(isDisabled: boolean): void;
405
- onEscapeKey(): void;
406
- onKeyUp(event: MouseEvent): void;
407
- /**
408
- * Gets labels of currently selected options.
409
- */
410
- selectedItems: _angular_core.Signal<string[]>;
411
400
  /**
412
- * Indicates if any options are currently selected.
413
- */
414
- isItemsSelected: _angular_core.Signal<boolean>;
415
- /**
416
- * Controls the visibility of the multiselect toolbar.
417
- * Always visible when isSubmitOnApply is true so the user can submit the form.
401
+ * Adds the ECL base CSS class for multiselect dropdowns.
418
402
  */
419
- isShowToolbar: _angular_core.Signal<boolean>;
420
- initSelectedOptions(): void;
421
- onClickClearAll(evt: Event): void;
422
- onEnterClear(evt: Event): void;
423
- onClickClose(evt: Event): void;
424
- onArrowUpClose(evt: Event): void;
425
- onArrowDownClose(evt: Event): void;
426
- onTabClose(evt: Event): void;
427
- onArrowUpClear(evt: Event): void;
428
- onArrowDownClear(evt: Event): void;
429
- onTabClear(evt: Event): void;
430
- onEnterSearch(evt: Event): void;
431
- onArrowDownSearch(evt: Event): void;
432
- onArrowUpSearch(evt: Event): void;
433
- onKeydownMainInput(evt: Event): void;
434
- onClickMainInput(evt: EclMultiselectMainInputClickEvent): void;
435
- onArrowDownSelectAll(evt: Event): void;
436
- onArrowUpSelectAll(evt: Event): void;
437
- onEnterSelectAll(evt: Event): void;
403
+ protected get cssClasses(): string;
404
+ protected onEscapeKey(): void;
405
+ protected onKeyUp(event: MouseEvent): void;
406
+ protected onClickClearAll(evt: Event): void;
407
+ protected onEnterClear(evt: Event): void;
408
+ protected onClickClose(evt: Event): void;
409
+ protected onArrowUpClose(evt: Event): void;
410
+ protected onArrowDownClose(evt: Event): void;
411
+ protected onTabClose(evt: Event): void;
412
+ protected onArrowUpClear(evt: Event): void;
413
+ protected onArrowDownClear(evt: Event): void;
414
+ protected onTabClear(evt: Event): void;
415
+ protected onEnterSearch(evt: Event): void;
416
+ protected onArrowDownSearch(evt: Event): void;
417
+ protected onArrowUpSearch(evt: Event): void;
418
+ protected onKeydownMainInput(evt: Event): void;
419
+ protected onClickMainInput(evt: EclMultiselectMainInputClickEvent): void;
420
+ protected onArrowDownSelectAll(evt: Event): void;
421
+ protected onArrowUpSelectAll(evt: Event): void;
422
+ protected onEnterSelectAll(evt: Event): void;
438
423
  /**
439
424
  * Handles search input, filters options, and updates their visibility.
440
425
  */
441
- onSearch(input: EventTarget): void;
426
+ protected onSearch(input: EventTarget): void;
442
427
  /**
443
428
  * Toggles all visible options based on the "Select All" checkbox.
444
429
  */
445
- onSelectAll(): void;
430
+ protected onSelectAll(): void;
446
431
  /**
447
432
  * Handles keyboard interaction on option items.
448
433
  * Supports arrow keys, tab, escape, and enter.
449
434
  */
450
- onKeydownOption(evt: EclMultiselectOptionKeydownEvent): void;
435
+ protected onKeydownOption(evt: EclMultiselectOptionKeydownEvent): void;
451
436
  /**
452
437
  * Triggered when a single option is clicked/selected.
453
438
  * Updates selected items, emits changes.
454
439
  */
455
- onOptionSelected(evt: EclMultiselectOptionClickEvent): void;
440
+ protected onOptionSelected(evt: EclMultiselectOptionClickEvent): void;
441
+ private applyOptionState;
442
+ private initSelectedOptions;
456
443
  private selectAllActiveOptions;
457
444
  private unselectAllActiveOptions;
458
445
  private propagateChange;
@@ -476,9 +463,7 @@ declare class EclMultiselectDropdownComponent extends ECLBaseDirective implement
476
463
  private getToggleId;
477
464
  private modifyParentLabelForAttribute;
478
465
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclMultiselectDropdownComponent, never>;
479
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectDropdownComponent, "div[eclMultiselectDropdown]", never, { "isInvalid": { "alias": "isInvalid"; "required": false; }; "mainInputPlaceholder": { "alias": "mainInputPlaceholder"; "required": false; }; "searchFieldPlaceholder": { "alias": "searchFieldPlaceholder"; "required": false; "isSignal": true; }; "eclSize": { "alias": "eclSize"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "eclChange": "eclChange"; }, never, never, true, never>;
480
- static ngAcceptInputType_isInvalid: unknown;
481
- static ngAcceptInputType_disabled: unknown;
466
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectDropdownComponent, "div[eclMultiselectDropdown]", never, {}, { "eclChange": "eclChange"; }, never, never, true, never>;
482
467
  }
483
468
 
484
469
  /**
@@ -505,7 +490,6 @@ declare class EclMultiselectOptgroupComponent extends ECLBaseDirective {
505
490
  * Replaces the original element with a custom dropdown rendered dynamically.
506
491
  */
507
492
  declare class EclMultiselectComponent extends ECLBaseDirective implements DoCheck, OnInit, OnDestroy {
508
- injector: Injector;
509
493
  /**
510
494
  * List of option directives projected into the component.
511
495
  */
@@ -525,17 +509,11 @@ declare class EclMultiselectComponent extends ECLBaseDirective implements DoChec
525
509
  /**
526
510
  * Marks the multiselect as invalid.
527
511
  */
528
- get isInvalid(): boolean | undefined;
529
- set isInvalid(value: boolean | undefined);
512
+ readonly isInvalid: _angular_core.InputSignalWithTransform<boolean, unknown>;
530
513
  /**
531
514
  * Disables the multiselect component when set to true.
532
515
  */
533
- set disabled(value: BooleanInput);
534
- get disabled(): boolean | undefined;
535
- /**
536
- * CSS classes applied to the host element.
537
- */
538
- get cssClasses(): string;
516
+ readonly disabled: _angular_core.InputSignalWithTransform<boolean, unknown>;
539
517
  /**
540
518
  * Emits an array of selected option values when the selection changes.
541
519
  */
@@ -543,20 +521,19 @@ declare class EclMultiselectComponent extends ECLBaseDirective implements DoChec
543
521
  /**
544
522
  * Enables the search box within the dropdown.
545
523
  */
546
- set hasSearchBox(value: string);
524
+ readonly hasSearchBox: _angular_core.InputSignalWithTransform<boolean, unknown>;
547
525
  /**
548
526
  * Displays the "Select all" option in the dropdown.
549
527
  */
550
- set hasSelectAll(value: string);
528
+ readonly hasSelectAll: _angular_core.InputSignalWithTransform<boolean, unknown>;
551
529
  /**
552
530
  * When true, the Apply button in the dropdown acts as a submit button (type="submit").
553
531
  */
554
- set isSubmitOnApply(value: string);
532
+ readonly isSubmitOnApply: _angular_core.InputSignalWithTransform<boolean, unknown>;
555
533
  /**
556
534
  * Placeholder text to show in the multiselect input field when no options are selected.
557
535
  */
558
- set eclPlaceholder(value: string);
559
- get eclPlaceholder(): string;
536
+ readonly eclPlaceholder: _angular_core.InputSignal<string>;
560
537
  /**
561
538
  * Multiselect size: 's' | 'm' | 'l'. Default is 'm'.
562
539
  */
@@ -565,16 +542,15 @@ declare class EclMultiselectComponent extends ECLBaseDirective implements DoChec
565
542
  * Label for the selections counter, read by screen readers.
566
543
  * Accepts a translation key or plain text. Default: 'ecl.multiselect.SELECTED'.
567
544
  */
568
- set counterLabel(value: string);
545
+ readonly counterLabel: _angular_core.InputSignal<string>;
569
546
  private readonly SELECT_CONTAINER_CLASS;
570
547
  private readonly SELECT_CONTAINER_HIDDEN_CLASS;
571
- private _disabled;
572
- private _hasSelectAll;
573
- private _hasSearchBox;
574
- private _isSubmitOnApply;
575
- private _counterLabel;
576
- private _isInvalid;
577
- private _eclPlaceholder;
548
+ private readonly injector;
549
+ private readonly el;
550
+ private readonly viewContainerRef;
551
+ private readonly differs;
552
+ private readonly renderer;
553
+ private readonly platformId;
578
554
  private differ;
579
555
  private multiselectComponent;
580
556
  private hostEl;
@@ -582,15 +558,14 @@ declare class EclMultiselectComponent extends ECLBaseDirective implements DoChec
582
558
  private hostWrapperEl;
583
559
  private multiselectComponentHtml;
584
560
  private destroy$;
585
- private el;
586
- private viewContainerRef;
587
- private differs;
588
- private renderer;
589
- private platformId;
590
561
  constructor();
591
562
  ngDoCheck(): void;
592
563
  ngOnInit(): void;
593
564
  ngOnDestroy(): void;
565
+ /**
566
+ * CSS classes applied to the host element.
567
+ */
568
+ protected get cssClasses(): string;
594
569
  private hideOriginalSelectComponent;
595
570
  private createHostWrapperContainer;
596
571
  private getHostElement;
@@ -599,11 +574,7 @@ declare class EclMultiselectComponent extends ECLBaseDirective implements DoChec
599
574
  private setAriaLabelledBy;
600
575
  private attachOptions;
601
576
  static ɵfac: _angular_core.ɵɵFactoryDeclaration<EclMultiselectComponent, never>;
602
- static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectComponent, "select[eclMultiselect]", never, { "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "toggleLabel": { "alias": "toggleLabel"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "hasSearchBox": { "alias": "hasSearchBox"; "required": false; }; "hasSelectAll": { "alias": "hasSelectAll"; "required": false; }; "isSubmitOnApply": { "alias": "isSubmitOnApply"; "required": false; }; "eclPlaceholder": { "alias": "eclPlaceholder"; "required": false; }; "eclSize": { "alias": "eclSize"; "required": false; "isSignal": true; }; "counterLabel": { "alias": "counterLabel"; "required": false; }; }, { "eclChange": "eclChange"; }, ["eclOptionItems"], ["*"], true, never>;
603
- static ngAcceptInputType_isInvalid: unknown;
604
- static ngAcceptInputType_hasSearchBox: unknown;
605
- static ngAcceptInputType_hasSelectAll: unknown;
606
- static ngAcceptInputType_isSubmitOnApply: unknown;
577
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<EclMultiselectComponent, "select[eclMultiselect]", never, { "ariaDescribedby": { "alias": "ariaDescribedby"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "toggleLabel": { "alias": "toggleLabel"; "required": false; "isSignal": true; }; "isInvalid": { "alias": "isInvalid"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "hasSearchBox": { "alias": "hasSearchBox"; "required": false; "isSignal": true; }; "hasSelectAll": { "alias": "hasSelectAll"; "required": false; "isSignal": true; }; "isSubmitOnApply": { "alias": "isSubmitOnApply"; "required": false; "isSignal": true; }; "eclPlaceholder": { "alias": "eclPlaceholder"; "required": false; "isSignal": true; }; "eclSize": { "alias": "eclSize"; "required": false; "isSignal": true; }; "counterLabel": { "alias": "counterLabel"; "required": false; "isSignal": true; }; }, { "eclChange": "eclChange"; }, ["eclOptionItems"], ["*"], true, never>;
607
578
  }
608
579
 
609
580
  declare const EUI_ECL_MULTISELECT: readonly [typeof EclMultiselectComponent, typeof EclMultiselectOptionDirective, typeof EclMultiselectOptionComponent, typeof EclMultiselectInputComponent, typeof EclMultiselectDropdownComponent, typeof EclMultiselectOptgroupComponent, typeof BoldTextPipe];