@eui/ecl 23.0.0-alpha.6 → 23.0.0-alpha.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docs/changelog.html +86 -0
- package/docs/classes/EclLanguageService.html +8 -8
- package/docs/components/EclBannerComponent.html +28 -56
- package/docs/components/EclCardComponent.html +12 -24
- package/docs/components/EclCarouselComponent.html +33 -65
- package/docs/components/EclCarouselItemComponent.html +4 -8
- package/docs/components/EclCategoryFilterComponent.html +4 -8
- package/docs/components/EclCategoryFilterItemComponent.html +5 -9
- package/docs/components/EclCategoryFilterListComponent.html +5 -9
- package/docs/components/EclContentItemComponent.html +20 -40
- package/docs/components/EclFactFiguresItemComponent.html +4 -8
- package/docs/components/EclFactFiguresViewAllComponent.html +4 -8
- package/docs/components/EclFeaturedItemComponent.html +4 -10
- package/docs/components/EclFileComponent.html +4 -8
- package/docs/components/EclFileItemsComponent.html +4 -8
- package/docs/components/EclFormGroupComponent.html +4 -8
- package/docs/components/EclGalleryComponent.html +21 -41
- package/docs/components/EclGalleryItemComponent.html +8 -16
- package/docs/components/EclIconComponent.html +4 -8
- package/docs/components/EclInpageNavigationComponent.html +20 -40
- package/docs/components/EclInpageNavigationItemComponent.html +4 -8
- package/docs/components/EclListIllustrationComponent.html +4 -8
- package/docs/components/EclListIllustrationItemComponent.html +9 -17
- package/docs/components/EclMediaContainerComponent.html +21 -41
- package/docs/components/EclMegaMenuComponent.html +4 -8
- package/docs/components/EclMegaMenuFeaturedComponent.html +12 -24
- package/docs/components/EclMegaMenuInfoComponent.html +4 -8
- package/docs/components/EclMegaMenuItemComponent.html +37 -73
- package/docs/components/EclMegaMenuSubitemComponent.html +21 -43
- package/docs/components/EclMenuComponent.html +20 -40
- package/docs/components/EclMenuItemComponent.html +12 -24
- package/docs/components/EclMenuMegaItemComponent.html +12 -24
- package/docs/components/EclModalComponent.html +1 -1
- package/docs/components/EclMultiselectComponent.html +4 -8
- package/docs/components/EclMultiselectDropdownComponent.html +21 -41
- package/docs/components/EclMultiselectInputComponent.html +4 -8
- package/docs/components/EclMultiselectOptionComponent.html +4 -8
- package/docs/components/EclNavigationListComponent.html +4 -8
- package/docs/components/EclNavigationListItemComponent.html +4 -8
- package/docs/components/EclNewsTickerComponent.html +28 -48
- package/docs/components/EclNewsTickerItemComponent.html +4 -8
- package/docs/components/EclPageHeaderComponent.html +8 -16
- package/docs/components/EclPaginationComponent.html +4 -8
- package/docs/components/EclPopoverComponent.html +12 -24
- package/docs/components/EclSiteHeaderComponent.html +44 -88
- package/docs/components/EclSiteHeaderCustomActionComponent.html +8 -16
- package/docs/components/EclSiteHeaderLanguageComponent.html +10 -18
- package/docs/components/EclSiteHeaderLanguagePopoverComponent.html +6 -10
- package/docs/components/EclSiteHeaderLoginComponent.html +4 -8
- package/docs/components/EclSiteHeaderSearchComponent.html +4 -8
- package/docs/components/EclTabComponent.html +12 -24
- package/docs/components/EclTabsComponent.html +29 -57
- package/docs/components/EclTimelineComponent.html +4 -8
- package/docs/components/EclTimelineItemComponent.html +16 -32
- package/docs/directives/EclCheckboxDirective.html +16 -32
- package/docs/directives/EclDescriptionListDirective.html +4 -8
- package/docs/directives/EclGalleryMediaDirective.html +2 -2
- package/docs/directives/EclGalleryPictureDirective.html +1 -1
- package/docs/directives/EclListIllustrationPictureDirective.html +4 -8
- package/docs/directives/EclMediaContainerItemDirective.html +4 -8
- package/docs/directives/EclMegaMenuSublistDirective.html +8 -16
- package/docs/directives/EclMultiselectOptionDirective.html +4 -8
- package/docs/directives/EclPageHeaderMetaItemDirective.html +9 -0
- package/docs/directives/EclRadioDirective.html +8 -16
- package/docs/directives/EclSocialMediaFollowLinkDirective.html +4 -8
- package/docs/directives/EclTableDirective.html +4 -8
- package/docs/directives/EclTableHeadDirective.html +4 -8
- package/docs/injectables/EclDefaultLanguageService.html +7 -7
- package/docs/injectables/EclMegaMenuService.html +2 -2
- package/docs/interfaces/EclMegaMenuItem.html +2 -2
- package/docs/interfaces/EclMenuItem.html +2 -2
- package/docs/js/search/search_index.js +2 -2
- package/docs/json/EclMegaMenuItemComponent.md +1 -1
- package/docs/json/EclMegaMenuSubitemComponent.md +1 -1
- package/docs/json/EclSiteHeaderLanguagePopoverComponent.md +2 -2
- package/docs/json/documentation.json +1365 -2133
- package/docs/llms.txt +182 -182
- package/docs/miscellaneous/variables.html +16 -16
- package/docs/properties.html +1 -1
- package/fesm2022/eui-ecl-components-ecl-banner.mjs +37 -40
- package/fesm2022/eui-ecl-components-ecl-banner.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-card.mjs +23 -17
- package/fesm2022/eui-ecl-components-ecl-card.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs +105 -82
- package/fesm2022/eui-ecl-components-ecl-carousel.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs +36 -29
- package/fesm2022/eui-ecl-components-ecl-category-filter.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs +30 -20
- package/fesm2022/eui-ecl-components-ecl-checkbox.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs +46 -27
- package/fesm2022/eui-ecl-components-ecl-content-item.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-date-picker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs +25 -15
- package/fesm2022/eui-ecl-components-ecl-fact-figures.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-featured.mjs +10 -9
- package/fesm2022/eui-ecl-components-ecl-featured.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-file.mjs +17 -13
- package/fesm2022/eui-ecl-components-ecl-file.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs +12 -7
- package/fesm2022/eui-ecl-components-ecl-form-group.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs +44 -49
- package/fesm2022/eui-ecl-components-ecl-gallery.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-icon.mjs +7 -8
- package/fesm2022/eui-ecl-components-ecl-icon.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs +48 -50
- package/fesm2022/eui-ecl-components-ecl-inpage-navigation.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-link.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs +19 -24
- package/fesm2022/eui-ecl-components-ecl-list-illustration.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-list.mjs +6 -7
- package/fesm2022/eui-ecl-components-ecl-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-loading-indicator.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs +31 -34
- package/fesm2022/eui-ecl-components-ecl-media-container.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs +237 -197
- package/fesm2022/eui-ecl-components-ecl-mega-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-menu.mjs +108 -86
- package/fesm2022/eui-ecl-components-ecl-menu.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs +0 -1
- package/fesm2022/eui-ecl-components-ecl-modal.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs +70 -67
- package/fesm2022/eui-ecl-components-ecl-multiselect.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs +16 -14
- package/fesm2022/eui-ecl-components-ecl-navigation-list.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs +67 -51
- package/fesm2022/eui-ecl-components-ecl-news-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs +17 -12
- package/fesm2022/eui-ecl-components-ecl-page-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs +9 -7
- package/fesm2022/eui-ecl-components-ecl-pagination.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-popover.mjs +44 -38
- package/fesm2022/eui-ecl-components-ecl-popover.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-radio.mjs +22 -14
- package/fesm2022/eui-ecl-components-ecl-radio.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-footer.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs +123 -118
- package/fesm2022/eui-ecl-components-ecl-site-header.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-slogan-ticker.mjs +2 -2
- package/fesm2022/eui-ecl-components-ecl-slogan-ticker.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs +10 -8
- package/fesm2022/eui-ecl-components-ecl-social-media-follow.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-table.mjs +17 -15
- package/fesm2022/eui-ecl-components-ecl-table.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs +101 -81
- package/fesm2022/eui-ecl-components-ecl-tabs.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs +47 -37
- package/fesm2022/eui-ecl-components-ecl-timeline.mjs.map +1 -1
- package/fesm2022/eui-ecl-components-ecl-tooltip.mjs.map +1 -1
- package/fesm2022/eui-ecl-core.mjs +1 -1
- package/fesm2022/eui-ecl-core.mjs.map +1 -1
- package/package.json +1 -1
- package/types/eui-ecl-components-ecl-banner.d.ts +42 -43
- package/types/eui-ecl-components-ecl-banner.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-card.d.ts +34 -35
- package/types/eui-ecl-components-ecl-card.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-carousel.d.ts +10 -11
- package/types/eui-ecl-components-ecl-carousel.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-category-filter.d.ts +6 -6
- package/types/eui-ecl-components-ecl-category-filter.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-checkbox.d.ts +47 -49
- package/types/eui-ecl-components-ecl-checkbox.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-content-item.d.ts +16 -18
- package/types/eui-ecl-components-ecl-content-item.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-fact-figures.d.ts +3 -3
- package/types/eui-ecl-components-ecl-fact-figures.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-featured.d.ts +2 -2
- package/types/eui-ecl-components-ecl-featured.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-file.d.ts +42 -43
- package/types/eui-ecl-components-ecl-file.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-form-group.d.ts +1 -3
- package/types/eui-ecl-components-ecl-form-group.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-gallery.d.ts +12 -12
- package/types/eui-ecl-components-ecl-gallery.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts +1 -1
- package/types/eui-ecl-components-ecl-icon.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts +8 -8
- package/types/eui-ecl-components-ecl-inpage-navigation.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list-illustration.d.ts +44 -44
- package/types/eui-ecl-components-ecl-list-illustration.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-list.d.ts +2 -2
- package/types/eui-ecl-components-ecl-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-media-container.d.ts +33 -33
- package/types/eui-ecl-components-ecl-media-container.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-mega-menu.d.ts +185 -191
- package/types/eui-ecl-components-ecl-mega-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-menu.d.ts +126 -128
- package/types/eui-ecl-components-ecl-menu.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-modal.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-multiselect.d.ts +10 -10
- package/types/eui-ecl-components-ecl-multiselect.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-navigation-list.d.ts +3 -4
- package/types/eui-ecl-components-ecl-navigation-list.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-news-ticker.d.ts +18 -18
- package/types/eui-ecl-components-ecl-news-ticker.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-page-header.d.ts +3 -3
- package/types/eui-ecl-components-ecl-page-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts +1 -1
- package/types/eui-ecl-components-ecl-pagination.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-popover.d.ts +3 -3
- package/types/eui-ecl-components-ecl-popover.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-radio.d.ts +28 -28
- package/types/eui-ecl-components-ecl-radio.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-site-header.d.ts +48 -48
- package/types/eui-ecl-components-ecl-site-header.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts +1 -1
- package/types/eui-ecl-components-ecl-social-media-follow.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-table.d.ts +3 -3
- package/types/eui-ecl-components-ecl-table.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-tabs.d.ts +12 -12
- package/types/eui-ecl-components-ecl-tabs.d.ts.map +1 -1
- package/types/eui-ecl-components-ecl-timeline.d.ts +27 -28
- package/types/eui-ecl-components-ecl-timeline.d.ts.map +1 -1
- package/types/eui-ecl-core.d.ts +11 -11
- package/types/eui-ecl-core.d.ts.map +1 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { Pipe, input, signal, booleanAttribute, computed, output, inject, Renderer2,
|
|
2
|
+
import { Pipe, input, signal, booleanAttribute, computed, viewChild, output, inject, Renderer2, HostBinding, Component, Input, ElementRef, EventEmitter, forwardRef, HostListener, Output, ViewChildren, contentChildren, Directive, Injector, ViewContainerRef, IterableDiffers, PLATFORM_ID, afterNextRender, ViewEncapsulation } from '@angular/core';
|
|
3
3
|
import { NG_VALUE_ACCESSOR, NgControl } from '@angular/forms';
|
|
4
4
|
import { Subject, takeUntil } from 'rxjs';
|
|
5
5
|
import { TranslatePipe } from '@ngx-translate/core';
|
|
@@ -138,6 +138,11 @@ class EclMultiselectInputComponent extends ECLBaseDirective {
|
|
|
138
138
|
return [describedby, counter].filter(Boolean).join(' ') || undefined;
|
|
139
139
|
}, /* @ts-ignore */
|
|
140
140
|
...(ngDevMode ? [{ debugName: "ariaDescribedbyFull" }] : /* istanbul ignore next */ []));
|
|
141
|
+
/**
|
|
142
|
+
* Reference to the internal input element.
|
|
143
|
+
*/
|
|
144
|
+
this.inputMultiselect = viewChild('inputMultiselect', /* @ts-ignore */
|
|
145
|
+
...(ngDevMode ? [{ debugName: "inputMultiselect" }] : /* istanbul ignore next */ []));
|
|
141
146
|
/**
|
|
142
147
|
* Event emitted when the input is clicked.
|
|
143
148
|
*/
|
|
@@ -222,10 +227,10 @@ class EclMultiselectInputComponent extends ECLBaseDirective {
|
|
|
222
227
|
* Focuses the multiselect input element.
|
|
223
228
|
*/
|
|
224
229
|
onFocus() {
|
|
225
|
-
this.renderer.selectRootElement(this.inputMultiselect.nativeElement, true).focus();
|
|
230
|
+
this.renderer.selectRootElement(this.inputMultiselect().nativeElement, true).focus();
|
|
226
231
|
}
|
|
227
232
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
228
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
233
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EclMultiselectInputComponent, isStandalone: true, selector: "div[eclMultiselectInput]", inputs: { eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, counterLabel: { classPropertyName: "counterLabel", publicName: "counterLabel", isSignal: true, isRequired: false, transformFunction: null }, toggleId: { classPropertyName: "toggleId", publicName: "toggleId", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null }, isDisabled: { classPropertyName: "isDisabled", publicName: "isDisabled", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: true, isRequired: false, transformFunction: null }, inputPlaceholder: { classPropertyName: "inputPlaceholder", publicName: "inputPlaceholder", isSignal: true, isRequired: false, transformFunction: null }, selectedItems: { classPropertyName: "selectedItems", publicName: "selectedItems", isSignal: true, isRequired: false, transformFunction: null }, isDropdownExpanded: { classPropertyName: "isDropdownExpanded", publicName: "isDropdownExpanded", isSignal: true, isRequired: false, transformFunction: null }, ariaControls: { classPropertyName: "ariaControls", publicName: "ariaControls", isSignal: true, isRequired: false, transformFunction: null }, ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { mainInputClick: "mainInputClick", mainInputKeydown: "mainInputKeydown" }, host: { properties: { "class.ecl-select__container--disabled": "isDisabled()", "class.ecl-select__container--invalid": "isInvalid()", "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "inputMultiselect", first: true, predicate: ["inputMultiselect"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div [class.ecl-select-multiple-selections-counter--visible]=\"isShowCounter()\"\n class=\"ecl-select-multiple-selections-counter\" [id]=\"counterId()\">\n <div class=\"ecl-select-multiple-selections-counter__label\">{{ counterLabel() | translate }}</div>\n <span>{{ selectedItemsCount() }}</span>\n</div>\n<button\n class=\"ecl-select ecl-select__multiple-toggle\"\n [class.ecl-select--active]=\"isActive()\"\n #inputMultiselect\n type=\"button\"\n [id]=\"toggleId()\"\n [attr.aria-expanded]=\"isDropdownExpanded()\"\n [attr.aria-controls]=\"ariaControls()\"\n [attr.disabled]=\"isDisabled() ? true : undefined\"\n [attr.aria-describedby]=\"ariaDescribedbyFull()\"\n (keydown)=\"onKeydown($event)\"\n (click)=\"onClick($event)\"> {{ buttonText() }}\n</button>\n<div class=\"ecl-select__icon\">\n <button eclButton isIconOnly variant=\"tertiary\" tabindex=\"-1\">\n <span eclButtonLabel>\n {{ toggleLabel() || 'ecl.multiselect.TOGGLE.DROPDOWN' | translate }}\n </span>\n <ecl-icon icon=\"corner-arrow\" [size]=\"sizeIcon\" transform=\"rotate-180\"></ecl-icon>\n </button>\n</div>\n", dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "directive", type: i1.EclButtonLabelDirective, selector: "[eclButtonLabel]" }, { kind: "component", type: i2.EclIconComponent, selector: "ecl-icon", inputs: ["iconSet", "icon", "size", "color", "transform", "ariaLabelledby", "role", "title", "ariaHidden", "focusable", "isFlipHorizontal"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
229
234
|
}
|
|
230
235
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectInputComponent, decorators: [{
|
|
231
236
|
type: Component,
|
|
@@ -236,10 +241,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
236
241
|
}], propDecorators: { eclSize: [{ type: i0.Input, args: [{ isSignal: true, alias: "eclSize", required: false }] }], counterLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "counterLabel", required: false }] }], toggleId: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleId", required: false }] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }], isDisabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDisabled", required: false }] }], isInvalid: [{ type: i0.Input, args: [{ isSignal: true, alias: "isInvalid", required: false }] }], cssClasses: [{
|
|
237
242
|
type: HostBinding,
|
|
238
243
|
args: ['class']
|
|
239
|
-
}], inputPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputPlaceholder", required: false }] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }], isDropdownExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDropdownExpanded", required: false }] }], ariaControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaControls", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedby", required: false }] }], inputMultiselect: [{
|
|
240
|
-
type: ViewChild,
|
|
241
|
-
args: ['inputMultiselect']
|
|
242
|
-
}], mainInputClick: [{ type: i0.Output, args: ["mainInputClick"] }], mainInputKeydown: [{ type: i0.Output, args: ["mainInputKeydown"] }] } });
|
|
244
|
+
}], inputPlaceholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputPlaceholder", required: false }] }], selectedItems: [{ type: i0.Input, args: [{ isSignal: true, alias: "selectedItems", required: false }] }], isDropdownExpanded: [{ type: i0.Input, args: [{ isSignal: true, alias: "isDropdownExpanded", required: false }] }], ariaControls: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaControls", required: false }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedby", required: false }] }], inputMultiselect: [{ type: i0.ViewChild, args: ['inputMultiselect', { isSignal: true }] }], mainInputClick: [{ type: i0.Output, args: ["mainInputClick"] }], mainInputKeydown: [{ type: i0.Output, args: ["mainInputKeydown"] }] } });
|
|
243
245
|
|
|
244
246
|
/**
|
|
245
247
|
* Component representing a single selectable option in the multiselect dropdown.
|
|
@@ -247,6 +249,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
247
249
|
class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
248
250
|
constructor() {
|
|
249
251
|
super(...arguments);
|
|
252
|
+
this.eclCheckboxInput = viewChild('checkboxInput', /* @ts-ignore */
|
|
253
|
+
...(ngDevMode ? [{ debugName: "eclCheckboxInput" }] : /* istanbul ignore next */ []));
|
|
250
254
|
this.keyword = '';
|
|
251
255
|
this.changes = new Subject();
|
|
252
256
|
/**
|
|
@@ -323,7 +327,7 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
|
323
327
|
* Focuses the checkbox input.
|
|
324
328
|
*/
|
|
325
329
|
onFocus() {
|
|
326
|
-
this.renderer.selectRootElement(this.eclCheckboxInput.nativeElement, true).focus();
|
|
330
|
+
this.renderer.selectRootElement(this.eclCheckboxInput().nativeElement, true).focus();
|
|
327
331
|
}
|
|
328
332
|
/**
|
|
329
333
|
* Makes the option visible.
|
|
@@ -349,15 +353,12 @@ class EclMultiselectOptionComponent extends ECLBaseDirective {
|
|
|
349
353
|
return crypto.randomUUID();
|
|
350
354
|
}
|
|
351
355
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectOptionComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
352
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
356
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EclMultiselectOptionComponent, isStandalone: true, selector: "div[eclMultiselectOption]", inputs: { value: "value", label: "label", disabled: ["disabled", "disabled", booleanAttribute], isChecked: "isChecked" }, outputs: { optionClick: "optionClick", optionKeydown: "optionKeydown" }, host: { properties: { "class.ecl-checkbox--disabled": "this.disabled", "attr.disabled": "this.disabled", "style.display": "this.display", "class": "this.cssClasses" } }, viewQueries: [{ propertyName: "eclCheckboxInput", first: true, predicate: ["checkboxInput"], descendants: true, isSignal: true }], usesInheritance: true, usesOnChanges: true, hostDirectives: [{ directive: i1$1.EclCheckboxDirective }], ngImport: i0, template: "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n", dependencies: [{ kind: "component", type: i1$1.EclCheckboxLabelComponent, selector: "label[eclCheckboxLabel]", inputs: ["isInvalid", "isDisabled", "isRequired"] }, { kind: "directive", type: i1$1.EclCheckboxInputDirective, selector: "input[eclCheckboxInput]" }, { kind: "pipe", type: BoldTextPipe, name: "boldText" }] }); }
|
|
353
357
|
}
|
|
354
358
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectOptionComponent, decorators: [{
|
|
355
359
|
type: Component,
|
|
356
360
|
args: [{ selector: 'div[eclMultiselectOption]', imports: [BoldTextPipe, ...EUI_ECL_CHECKBOX], hostDirectives: [EclCheckboxDirective], template: "<input\n eclCheckboxInput\n type=\"checkbox\"\n [id]=\"id\"\n [value]=\"value\"\n (click)=\"onOptionClick()\"\n (keydown)=\"onOptionKeydown($event)\"\n [checked]=\"isChecked\"\n [disabled]=\"disabled\"\n #checkboxInput />\n<label [for]=\"id\" eclCheckboxLabel><span [innerHTML]=\"label | boldText: keyword\"></span></label>\n" }]
|
|
357
|
-
}], propDecorators: { eclCheckboxInput: [{
|
|
358
|
-
type: ViewChild,
|
|
359
|
-
args: ['checkboxInput']
|
|
360
|
-
}], value: [{
|
|
361
|
+
}], propDecorators: { eclCheckboxInput: [{ type: i0.ViewChild, args: ['checkboxInput', { isSignal: true }] }], value: [{
|
|
361
362
|
type: Input
|
|
362
363
|
}], label: [{
|
|
363
364
|
type: Input
|
|
@@ -441,6 +442,14 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
441
442
|
}
|
|
442
443
|
constructor() {
|
|
443
444
|
super();
|
|
445
|
+
this.searchInput = viewChild('searchInput', /* @ts-ignore */
|
|
446
|
+
...(ngDevMode ? [{ debugName: "searchInput" }] : /* istanbul ignore next */ []));
|
|
447
|
+
this.eclMultiselectInput = viewChild('eclMultiselectInput', /* @ts-ignore */
|
|
448
|
+
...(ngDevMode ? [{ debugName: "eclMultiselectInput" }] : /* istanbul ignore next */ []));
|
|
449
|
+
this.selectAllCheckbox = viewChild('selectAllCheckbox', /* @ts-ignore */
|
|
450
|
+
...(ngDevMode ? [{ debugName: "selectAllCheckbox" }] : /* istanbul ignore next */ []));
|
|
451
|
+
this.closeBtn = viewChild('closeBtn', { ...(ngDevMode ? { debugName: "closeBtn" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
452
|
+
this.clearAllBtn = viewChild('clearAllBtn', { ...(ngDevMode ? { debugName: "clearAllBtn" } : /* istanbul ignore next */ {}), read: ElementRef });
|
|
444
453
|
/**
|
|
445
454
|
* Emits the list of selected values whenever the selection changes.
|
|
446
455
|
*/
|
|
@@ -629,7 +638,7 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
629
638
|
}
|
|
630
639
|
onEnterClear(evt) {
|
|
631
640
|
this.onClickClearAll(evt);
|
|
632
|
-
this.eclMultiselectInput.onFocus();
|
|
641
|
+
this.eclMultiselectInput().onFocus();
|
|
633
642
|
}
|
|
634
643
|
onClickClose(evt) {
|
|
635
644
|
evt.preventDefault();
|
|
@@ -648,27 +657,27 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
648
657
|
}
|
|
649
658
|
onArrowDownClose(evt) {
|
|
650
659
|
evt.preventDefault();
|
|
651
|
-
this.renderer.selectRootElement(this.clearAllBtn.nativeElement, true).focus();
|
|
660
|
+
this.renderer.selectRootElement(this.clearAllBtn().nativeElement, true).focus();
|
|
652
661
|
}
|
|
653
662
|
onTabClose(evt) {
|
|
654
663
|
if (!evt.shiftKey) {
|
|
655
664
|
evt.preventDefault();
|
|
656
|
-
this.renderer.selectRootElement(this.clearAllBtn.nativeElement, true).focus();
|
|
665
|
+
this.renderer.selectRootElement(this.clearAllBtn().nativeElement, true).focus();
|
|
657
666
|
}
|
|
658
667
|
}
|
|
659
668
|
onArrowUpClear(evt) {
|
|
660
669
|
evt.preventDefault();
|
|
661
|
-
this.renderer.selectRootElement(this.closeBtn.nativeElement, true).focus();
|
|
670
|
+
this.renderer.selectRootElement(this.closeBtn().nativeElement, true).focus();
|
|
662
671
|
}
|
|
663
672
|
onArrowDownClear(evt) {
|
|
664
673
|
evt.preventDefault();
|
|
665
|
-
this.eclMultiselectInput.onFocus();
|
|
674
|
+
this.eclMultiselectInput().onFocus();
|
|
666
675
|
}
|
|
667
676
|
onTabClear(evt) {
|
|
668
677
|
if (!evt.shiftKey) {
|
|
669
678
|
evt.preventDefault();
|
|
670
679
|
this.hideMultiselectDropdown();
|
|
671
|
-
this.eclMultiselectInput.onFocus();
|
|
680
|
+
this.eclMultiselectInput().onFocus();
|
|
672
681
|
}
|
|
673
682
|
}
|
|
674
683
|
onEnterSearch(evt) {
|
|
@@ -678,7 +687,7 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
678
687
|
evt.preventDefault();
|
|
679
688
|
const currentOptions = this.getActiveOptions();
|
|
680
689
|
if (this.hasSelectAll) {
|
|
681
|
-
this.renderer.selectRootElement(this.selectAllCheckbox.nativeElement, true).focus();
|
|
690
|
+
this.renderer.selectRootElement(this.selectAllCheckbox().nativeElement, true).focus();
|
|
682
691
|
}
|
|
683
692
|
else {
|
|
684
693
|
currentOptions[0].onFocus();
|
|
@@ -687,13 +696,13 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
687
696
|
onArrowUpSearch(evt) {
|
|
688
697
|
evt.preventDefault();
|
|
689
698
|
this.hideMultiselectDropdown();
|
|
690
|
-
this.eclMultiselectInput.onFocus();
|
|
699
|
+
this.eclMultiselectInput().onFocus();
|
|
691
700
|
}
|
|
692
701
|
onKeydownMainInput(evt) {
|
|
693
702
|
evt.preventDefault();
|
|
694
703
|
this.showMultiselectDropdown();
|
|
695
704
|
if (this.hasSearchBox) {
|
|
696
|
-
setTimeout(() => this.renderer.selectRootElement(this.searchInput.nativeElement, true).focus());
|
|
705
|
+
setTimeout(() => this.renderer.selectRootElement(this.searchInput().nativeElement, true).focus());
|
|
697
706
|
}
|
|
698
707
|
else {
|
|
699
708
|
this.onArrowDownSearch(evt);
|
|
@@ -713,7 +722,7 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
713
722
|
onArrowUpSelectAll(evt) {
|
|
714
723
|
evt.preventDefault();
|
|
715
724
|
if (this.hasSearchBox) {
|
|
716
|
-
this.renderer.selectRootElement(this.searchInput.nativeElement, true).focus();
|
|
725
|
+
this.renderer.selectRootElement(this.searchInput().nativeElement, true).focus();
|
|
717
726
|
}
|
|
718
727
|
else {
|
|
719
728
|
this.onArrowUpSearch(evt);
|
|
@@ -761,7 +770,7 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
761
770
|
* Toggles all visible options based on the "Select All" checkbox.
|
|
762
771
|
*/
|
|
763
772
|
onSelectAll() {
|
|
764
|
-
if (this.selectAllCheckbox.nativeElement.checked) {
|
|
773
|
+
if (this.selectAllCheckbox().nativeElement.checked) {
|
|
765
774
|
this.selectAllActiveOptions();
|
|
766
775
|
}
|
|
767
776
|
else {
|
|
@@ -809,8 +818,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
809
818
|
* Updates selected items, emits changes.
|
|
810
819
|
*/
|
|
811
820
|
onOptionSelected(evt) {
|
|
812
|
-
|
|
813
|
-
|
|
821
|
+
const selectAllCheckbox = this.selectAllCheckbox();
|
|
822
|
+
if (selectAllCheckbox && selectAllCheckbox.nativeElement.checked) {
|
|
823
|
+
this.renderer.setProperty(selectAllCheckbox.nativeElement, 'checked', false);
|
|
814
824
|
}
|
|
815
825
|
const currOption = evt.multiselectOption;
|
|
816
826
|
if (currOption.isChecked) {
|
|
@@ -834,8 +844,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
834
844
|
this._selectedItems.set(newItems);
|
|
835
845
|
}
|
|
836
846
|
unselectAllActiveOptions() {
|
|
837
|
-
|
|
838
|
-
|
|
847
|
+
const selectAllCheckbox = this.selectAllCheckbox();
|
|
848
|
+
if (selectAllCheckbox) {
|
|
849
|
+
this.renderer.setProperty(selectAllCheckbox.nativeElement, 'checked', false);
|
|
839
850
|
}
|
|
840
851
|
this._selectedItems.set([]);
|
|
841
852
|
this.getAvailableOptions().forEach((item) => {
|
|
@@ -864,8 +875,9 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
864
875
|
this.multiOptionComponents.forEach((item) => {
|
|
865
876
|
item.isChecked = false;
|
|
866
877
|
});
|
|
867
|
-
|
|
868
|
-
|
|
878
|
+
const selectAllCheckbox = this.selectAllCheckbox();
|
|
879
|
+
if (selectAllCheckbox) {
|
|
880
|
+
this.renderer.setProperty(selectAllCheckbox.nativeElement, 'checked', false);
|
|
869
881
|
}
|
|
870
882
|
this._selectedItems.set([]);
|
|
871
883
|
}
|
|
@@ -890,31 +902,33 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
890
902
|
evt.preventDefault();
|
|
891
903
|
const index = this.getOptionIndexByIdFromActiveOptions(option.id);
|
|
892
904
|
const currentOptions = this.getActiveOptions();
|
|
905
|
+
const closeBtn = this.closeBtn();
|
|
893
906
|
if (index !== currentOptions.length - 1) {
|
|
894
907
|
const nextSiblingCheckbox = currentOptions[index + 1];
|
|
895
908
|
nextSiblingCheckbox.onFocus();
|
|
896
909
|
}
|
|
897
|
-
else if (
|
|
898
|
-
this.renderer.selectRootElement(
|
|
910
|
+
else if (closeBtn) {
|
|
911
|
+
this.renderer.selectRootElement(closeBtn.nativeElement, true).focus();
|
|
899
912
|
}
|
|
900
913
|
}
|
|
901
914
|
onArrowUpOption(evt, option) {
|
|
902
915
|
evt.preventDefault();
|
|
903
916
|
const index = this.getOptionIndexByIdFromActiveOptions(option.id);
|
|
917
|
+
const selectAllCheckbox = this.selectAllCheckbox();
|
|
904
918
|
if (index !== 0) {
|
|
905
919
|
const prevSiblingCheckbox = this.getActiveOptions()[index - 1];
|
|
906
920
|
prevSiblingCheckbox.onFocus();
|
|
907
921
|
}
|
|
908
|
-
else if (!this.hasSelectAll ||
|
|
922
|
+
else if (!this.hasSelectAll || selectAllCheckbox.nativeElement.disabled) {
|
|
909
923
|
if (this.hasSearchBox) {
|
|
910
|
-
this.renderer.selectRootElement(this.searchInput.nativeElement, true).focus();
|
|
924
|
+
this.renderer.selectRootElement(this.searchInput().nativeElement, true).focus();
|
|
911
925
|
}
|
|
912
926
|
else {
|
|
913
927
|
this.onArrowUpSearch(evt);
|
|
914
928
|
}
|
|
915
929
|
}
|
|
916
930
|
else {
|
|
917
|
-
this.renderer.selectRootElement(
|
|
931
|
+
this.renderer.selectRootElement(selectAllCheckbox.nativeElement, true).focus();
|
|
918
932
|
}
|
|
919
933
|
}
|
|
920
934
|
getActiveOptions() {
|
|
@@ -949,7 +963,7 @@ class EclMultiselectDropdownComponent extends ECLBaseDirective {
|
|
|
949
963
|
useExisting: forwardRef(() => EclMultiselectDropdownComponent),
|
|
950
964
|
multi: true,
|
|
951
965
|
},
|
|
952
|
-
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true }, { propertyName: "eclMultiselectInput", first: true, predicate: ["eclMultiselectInput"], descendants: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true }, { propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true, read: ElementRef }, { propertyName: "clearAllBtn", first: true, predicate: ["clearAllBtn"], descendants: true, read: ElementRef }, { propertyName: "multiOptionComponents", predicate: EclMultiselectOptionComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems()\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaDescribedby]=\"ariaDescribedby\" [toggleLabel]=\"toggleLabel\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\" [counterLabel]=\"counterLabel\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n @if(hasSearchBox) {\n <input class=\"ecl-text-input\" type=\"search\" #searchInput [placeholder]=\"searchFieldPlaceholder()\"\n (input)=\"onSearch($event.target)\" (keydown.enter)=\"onEnterSearch($event)\" [attr.aria-label]=\"searchFieldPlaceholder\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\" (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n }\n @if(hasSelectAll) {\n <div eclCheckbox [isDisabled]=\"isSelectAllDisabled\" class=\"ecl-select__multiple-all\">\n <input eclCheckboxInput #selectAllCheckbox [id]=\"selectAllId\" type=\"checkbox\" [attr.disabled]=\"isSelectAllDisabled\"\n (click)=\"onSelectAll()\" (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" (keydown.enter)=\"onEnterSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }})\n </label>\n </div>\n }\n <div class=\"ecl-select__multiple-options\" aria-live=\"polite\">\n @for (item of multiOptionDirectives; track item.label()) {\n @if (item.isOptGroup()) {\n <fieldset eclMultiselectOptgroup [label]=\"item.label()\">\n @for (elem of item.eclOptionItems; track elem.label()) {\n <div\n eclMultiselectOption\n [value]=\"elem.value()\"\n [label]=\"elem.label()\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n </fieldset>\n } @else if (!item.isOptGroup()) {\n <div\n eclMultiselectOption\n [value]=\"item.value()\"\n [label]=\"item.label()\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n }\n\n\n @if (isShowNoResultsFound) {\n <div class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n }\n\n </div>\n @if (isShowToolbar()) {\n <div class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n type=\"button\"\n (keydown.arrowup)=\"onArrowUpClose($event)\"\n (keydown.arrowDown)=\"onArrowDownClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.APPLY' | translate }}\n </button>\n <button\n eclButton\n variant=\"tertiary\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpClear($event)\"\n (keydown.arrowDown)=\"onArrowDownClear($event)\"\n (keydown.tab)=\"onTabClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "component", type: EclMultiselectOptionComponent, selector: "div[eclMultiselectOption]", inputs: ["value", "label", "disabled", "isChecked"], outputs: ["optionClick", "optionKeydown"] }, { kind: "component", type: EclMultiselectOptgroupComponent, selector: "fieldset[eclMultiselectOptgroup]", inputs: ["label"] }, { kind: "component", type: EclMultiselectInputComponent, selector: "div[eclMultiselectInput]", inputs: ["eclSize", "counterLabel", "toggleId", "toggleLabel", "isDisabled", "isInvalid", "inputPlaceholder", "selectedItems", "isDropdownExpanded", "ariaControls", "ariaDescribedby"], outputs: ["mainInputClick", "mainInputKeydown"] }, { kind: "component", type: i1$1.EclCheckboxLabelComponent, selector: "label[eclCheckboxLabel]", inputs: ["isInvalid", "isDisabled", "isRequired"] }, { kind: "directive", type: i1$1.EclCheckboxInputDirective, selector: "input[eclCheckboxInput]" }, { kind: "directive", type: i1$1.EclCheckboxDirective, selector: "[eclCheckbox]", inputs: ["isDisabled", "isInvalid", "isSingle"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
966
|
+
], viewQueries: [{ propertyName: "searchInput", first: true, predicate: ["searchInput"], descendants: true, isSignal: true }, { propertyName: "eclMultiselectInput", first: true, predicate: ["eclMultiselectInput"], descendants: true, isSignal: true }, { propertyName: "selectAllCheckbox", first: true, predicate: ["selectAllCheckbox"], descendants: true, isSignal: true }, { propertyName: "closeBtn", first: true, predicate: ["closeBtn"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "clearAllBtn", first: true, predicate: ["clearAllBtn"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "multiOptionComponents", predicate: EclMultiselectOptionComponent, descendants: true }], usesInheritance: true, ngImport: i0, template: "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems()\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaDescribedby]=\"ariaDescribedby\" [toggleLabel]=\"toggleLabel\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\" [counterLabel]=\"counterLabel\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n @if(hasSearchBox) {\n <input class=\"ecl-text-input\" type=\"search\" #searchInput [placeholder]=\"searchFieldPlaceholder()\"\n (input)=\"onSearch($event.target)\" (keydown.enter)=\"onEnterSearch($event)\" [attr.aria-label]=\"searchFieldPlaceholder\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\" (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n }\n @if(hasSelectAll) {\n <div eclCheckbox [isDisabled]=\"isSelectAllDisabled\" class=\"ecl-select__multiple-all\">\n <input eclCheckboxInput #selectAllCheckbox [id]=\"selectAllId\" type=\"checkbox\" [attr.disabled]=\"isSelectAllDisabled\"\n (click)=\"onSelectAll()\" (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" (keydown.enter)=\"onEnterSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }})\n </label>\n </div>\n }\n <div class=\"ecl-select__multiple-options\" aria-live=\"polite\">\n @for (item of multiOptionDirectives; track item.label()) {\n @if (item.isOptGroup()) {\n <fieldset eclMultiselectOptgroup [label]=\"item.label()\">\n @for (elem of item.eclOptionItems(); track elem.label()) {\n <div\n eclMultiselectOption\n [value]=\"elem.value()\"\n [label]=\"elem.label()\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n </fieldset>\n } @else if (!item.isOptGroup()) {\n <div\n eclMultiselectOption\n [value]=\"item.value()\"\n [label]=\"item.label()\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n }\n\n\n @if (isShowNoResultsFound) {\n <div class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n }\n\n </div>\n @if (isShowToolbar()) {\n <div class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n type=\"button\"\n (keydown.arrowup)=\"onArrowUpClose($event)\"\n (keydown.arrowDown)=\"onArrowDownClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.APPLY' | translate }}\n </button>\n <button\n eclButton\n variant=\"tertiary\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpClear($event)\"\n (keydown.arrowDown)=\"onArrowDownClear($event)\"\n (keydown.tab)=\"onTabClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n </div>\n }\n</div>\n", dependencies: [{ kind: "component", type: i1.EclButtonComponent, selector: "button[eclButton], button[ecl-button], a[eclButton]", inputs: ["isIconOnly", "variant", "eclStyle", "size", "containerStyleClass"] }, { kind: "component", type: EclMultiselectOptionComponent, selector: "div[eclMultiselectOption]", inputs: ["value", "label", "disabled", "isChecked"], outputs: ["optionClick", "optionKeydown"] }, { kind: "component", type: EclMultiselectOptgroupComponent, selector: "fieldset[eclMultiselectOptgroup]", inputs: ["label"] }, { kind: "component", type: EclMultiselectInputComponent, selector: "div[eclMultiselectInput]", inputs: ["eclSize", "counterLabel", "toggleId", "toggleLabel", "isDisabled", "isInvalid", "inputPlaceholder", "selectedItems", "isDropdownExpanded", "ariaControls", "ariaDescribedby"], outputs: ["mainInputClick", "mainInputKeydown"] }, { kind: "component", type: i1$1.EclCheckboxLabelComponent, selector: "label[eclCheckboxLabel]", inputs: ["isInvalid", "isDisabled", "isRequired"] }, { kind: "directive", type: i1$1.EclCheckboxInputDirective, selector: "input[eclCheckboxInput]" }, { kind: "directive", type: i1$1.EclCheckboxDirective, selector: "[eclCheckbox]", inputs: ["isDisabled", "isInvalid", "isSingle"] }, { kind: "pipe", type: TranslatePipe, name: "translate" }] }); }
|
|
953
967
|
}
|
|
954
968
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectDropdownComponent, decorators: [{
|
|
955
969
|
type: Component,
|
|
@@ -962,23 +976,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
962
976
|
useExisting: forwardRef(() => EclMultiselectDropdownComponent),
|
|
963
977
|
multi: true,
|
|
964
978
|
},
|
|
965
|
-
], template: "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems()\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaDescribedby]=\"ariaDescribedby\" [toggleLabel]=\"toggleLabel\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\" [counterLabel]=\"counterLabel\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n @if(hasSearchBox) {\n <input class=\"ecl-text-input\" type=\"search\" #searchInput [placeholder]=\"searchFieldPlaceholder()\"\n (input)=\"onSearch($event.target)\" (keydown.enter)=\"onEnterSearch($event)\" [attr.aria-label]=\"searchFieldPlaceholder\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\" (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n }\n @if(hasSelectAll) {\n <div eclCheckbox [isDisabled]=\"isSelectAllDisabled\" class=\"ecl-select__multiple-all\">\n <input eclCheckboxInput #selectAllCheckbox [id]=\"selectAllId\" type=\"checkbox\" [attr.disabled]=\"isSelectAllDisabled\"\n (click)=\"onSelectAll()\" (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" (keydown.enter)=\"onEnterSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }})\n </label>\n </div>\n }\n <div class=\"ecl-select__multiple-options\" aria-live=\"polite\">\n @for (item of multiOptionDirectives; track item.label()) {\n @if (item.isOptGroup()) {\n <fieldset eclMultiselectOptgroup [label]=\"item.label()\">\n @for (elem of item.eclOptionItems; track elem.label()) {\n <div\n eclMultiselectOption\n [value]=\"elem.value()\"\n [label]=\"elem.label()\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n </fieldset>\n } @else if (!item.isOptGroup()) {\n <div\n eclMultiselectOption\n [value]=\"item.value()\"\n [label]=\"item.label()\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n }\n\n\n @if (isShowNoResultsFound) {\n <div class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n }\n\n </div>\n @if (isShowToolbar()) {\n <div class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n type=\"button\"\n (keydown.arrowup)=\"onArrowUpClose($event)\"\n (keydown.arrowDown)=\"onArrowDownClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.APPLY' | translate }}\n </button>\n <button\n eclButton\n variant=\"tertiary\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpClear($event)\"\n (keydown.arrowDown)=\"onArrowDownClear($event)\"\n (keydown.tab)=\"onTabClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n </div>\n }\n</div>\n" }]
|
|
966
|
-
}], ctorParameters: () => [], propDecorators: { searchInput: [{
|
|
967
|
-
type: ViewChild,
|
|
968
|
-
args: ['searchInput']
|
|
969
|
-
}], eclMultiselectInput: [{
|
|
970
|
-
type: ViewChild,
|
|
971
|
-
args: ['eclMultiselectInput']
|
|
972
|
-
}], selectAllCheckbox: [{
|
|
973
|
-
type: ViewChild,
|
|
974
|
-
args: ['selectAllCheckbox']
|
|
975
|
-
}], closeBtn: [{
|
|
976
|
-
type: ViewChild,
|
|
977
|
-
args: ['closeBtn', { read: ElementRef }]
|
|
978
|
-
}], clearAllBtn: [{
|
|
979
|
-
type: ViewChild,
|
|
980
|
-
args: ['clearAllBtn', { read: ElementRef }]
|
|
981
|
-
}], multiOptionComponents: [{
|
|
979
|
+
], template: "<div eclMultiselectInput #eclMultiselectInput [inputPlaceholder]=\"mainInputPlaceholder\" [selectedItems]=\"selectedItems()\"\n (mainInputClick)=\"onClickMainInput($event)\" (mainInputKeydown)=\"onKeydownMainInput($event)\" [isDisabled]=\"disabled\"\n [ariaDescribedby]=\"ariaDescribedby\" [toggleLabel]=\"toggleLabel\" [ariaControls]=\"dropdownId\" [isInvalid]=\"isInvalid\"\n [isDropdownExpanded]=\"isShowMultiselectDropdown\" [eclSize]=\"eclSize\" [toggleId]=\"toggleId\" [counterLabel]=\"counterLabel\"></div>\n<div\n [style.display]=\"isShowMultiselectDropdown ? 'block' : 'none'\"\n class=\"ecl-select__multiple-dropdown ecl-select__container ecl-select__container--{{eclSize}}\"\n [id]=\"dropdownId\">\n @if(hasSearchBox) {\n <input class=\"ecl-text-input\" type=\"search\" #searchInput [placeholder]=\"searchFieldPlaceholder()\"\n (input)=\"onSearch($event.target)\" (keydown.enter)=\"onEnterSearch($event)\" [attr.aria-label]=\"searchFieldPlaceholder\"\n (keydown.arrowup)=\"onArrowUpSearch($event)\" (keydown.arrowdown)=\"onArrowDownSearch($event)\" />\n }\n @if(hasSelectAll) {\n <div eclCheckbox [isDisabled]=\"isSelectAllDisabled\" class=\"ecl-select__multiple-all\">\n <input eclCheckboxInput #selectAllCheckbox [id]=\"selectAllId\" type=\"checkbox\" [attr.disabled]=\"isSelectAllDisabled\"\n (click)=\"onSelectAll()\" (keydown.arrowup)=\"onArrowUpSelectAll($event)\"\n (keydown.arrowdown)=\"onArrowDownSelectAll($event)\" (keydown.enter)=\"onEnterSelectAll($event)\" />\n <label [for]=\"selectAllId\" eclCheckboxLabel> {{ 'ecl.multiselect.SELECT-ALL' | translate }} ({{ optionsCount }})\n </label>\n </div>\n }\n <div class=\"ecl-select__multiple-options\" aria-live=\"polite\">\n @for (item of multiOptionDirectives; track item.label()) {\n @if (item.isOptGroup()) {\n <fieldset eclMultiselectOptgroup [label]=\"item.label()\">\n @for (elem of item.eclOptionItems(); track elem.label()) {\n <div\n eclMultiselectOption\n [value]=\"elem.value()\"\n [label]=\"elem.label()\"\n [disabled]=\"elem.disabled\"\n [isChecked]=\"elem.selected\"\n [class]=\"elem.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n </fieldset>\n } @else if (!item.isOptGroup()) {\n <div\n eclMultiselectOption\n [value]=\"item.value()\"\n [label]=\"item.label()\"\n [disabled]=\"item.disabled\"\n [isChecked]=\"item.selected\"\n [class]=\"item.class\"\n (optionClick)=\"onOptionSelected($event)\"\n (optionKeydown)=\"onKeydownOption($event)\"></div>\n }\n }\n\n\n @if (isShowNoResultsFound) {\n <div class=\"ecl-select__multiple-no-results\">\n <span>{{ 'ecl.multiselect.NO-RESULTS-FOUND' | translate }}</span>\n </div>\n }\n\n </div>\n @if (isShowToolbar()) {\n <div class=\"ecl-select-multiple-toolbar\">\n <button\n eclButton\n variant=\"primary\"\n #closeBtn\n type=\"button\"\n (keydown.arrowup)=\"onArrowUpClose($event)\"\n (keydown.arrowDown)=\"onArrowDownClose($event)\"\n (keydown.tab)=\"onTabClose($event)\"\n (click)=\"onClickClose($event)\">\n {{ 'ecl.common.APPLY' | translate }}\n </button>\n <button\n eclButton\n variant=\"tertiary\"\n #clearAllBtn\n (keydown.arrowup)=\"onArrowUpClear($event)\"\n (keydown.arrowDown)=\"onArrowDownClear($event)\"\n (keydown.tab)=\"onTabClear($event)\"\n (keydown.enter)=\"onEnterClear($event)\"\n (click)=\"onClickClearAll($event)\">\n {{ 'ecl.multiselect.CLEAR-ALL' | translate }}\n </button>\n </div>\n }\n</div>\n" }]
|
|
980
|
+
}], ctorParameters: () => [], propDecorators: { searchInput: [{ type: i0.ViewChild, args: ['searchInput', { isSignal: true }] }], eclMultiselectInput: [{ type: i0.ViewChild, args: ['eclMultiselectInput', { isSignal: true }] }], selectAllCheckbox: [{ type: i0.ViewChild, args: ['selectAllCheckbox', { isSignal: true }] }], closeBtn: [{ type: i0.ViewChild, args: ['closeBtn', { ...{ read: ElementRef }, isSignal: true }] }], clearAllBtn: [{ type: i0.ViewChild, args: ['clearAllBtn', { ...{ read: ElementRef }, isSignal: true }] }], multiOptionComponents: [{
|
|
982
981
|
type: ViewChildren,
|
|
983
982
|
args: [EclMultiselectOptionComponent]
|
|
984
983
|
}], eclChange: [{
|
|
@@ -1014,6 +1013,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
1014
1013
|
class EclMultiselectOptionDirective extends ECLBaseDirective {
|
|
1015
1014
|
constructor() {
|
|
1016
1015
|
super(...arguments);
|
|
1016
|
+
/**
|
|
1017
|
+
* Nested option directives (used for optgroups).
|
|
1018
|
+
*/
|
|
1019
|
+
this.eclOptionItems = contentChildren(forwardRef(() => EclMultiselectOptionDirective), /* @ts-ignore */
|
|
1020
|
+
...(ngDevMode ? [{ debugName: "eclOptionItems" }] : /* istanbul ignore next */ []));
|
|
1017
1021
|
/**
|
|
1018
1022
|
* Value assigned to the option.
|
|
1019
1023
|
*/
|
|
@@ -1063,17 +1067,14 @@ class EclMultiselectOptionDirective extends ECLBaseDirective {
|
|
|
1063
1067
|
return this.elRef.nativeElement.nodeName === 'OPTGROUP';
|
|
1064
1068
|
}
|
|
1065
1069
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectOptionDirective, deps: null, target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1066
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.
|
|
1070
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.2.0", version: "22.0.5", type: EclMultiselectOptionDirective, isStandalone: true, selector: "optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]", inputs: { value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, selected: { classPropertyName: "selected", publicName: "selected", isSignal: false, isRequired: false, transformFunction: null } }, host: { properties: { "attr.disabled": "this.disabled", "attr.selected": "this.selected", "class": "this.cssClasses" } }, queries: [{ propertyName: "eclOptionItems", predicate: i0.forwardRef(() => EclMultiselectOptionDirective), isSignal: true }], usesInheritance: true, ngImport: i0 }); }
|
|
1067
1071
|
}
|
|
1068
1072
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectOptionDirective, decorators: [{
|
|
1069
1073
|
type: Directive,
|
|
1070
1074
|
args: [{
|
|
1071
1075
|
selector: 'optgroup[eclMultiselectOptgroup], option[eclMultiselectOption]',
|
|
1072
1076
|
}]
|
|
1073
|
-
}], propDecorators: { eclOptionItems: [{
|
|
1074
|
-
type: ContentChildren,
|
|
1075
|
-
args: [forwardRef(() => EclMultiselectOptionDirective)]
|
|
1076
|
-
}], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{
|
|
1077
|
+
}], propDecorators: { eclOptionItems: [{ type: i0.ContentChildren, args: [forwardRef(() => EclMultiselectOptionDirective), { isSignal: true }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], disabled: [{
|
|
1077
1078
|
type: Input
|
|
1078
1079
|
}, {
|
|
1079
1080
|
type: HostBinding,
|
|
@@ -1177,6 +1178,11 @@ class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
1177
1178
|
constructor() {
|
|
1178
1179
|
super();
|
|
1179
1180
|
this.injector = inject(Injector);
|
|
1181
|
+
/**
|
|
1182
|
+
* List of option directives projected into the component.
|
|
1183
|
+
*/
|
|
1184
|
+
this.eclOptionItems = contentChildren(forwardRef(() => EclMultiselectOptionDirective), /* @ts-ignore */
|
|
1185
|
+
...(ngDevMode ? [{ debugName: "eclOptionItems" }] : /* istanbul ignore next */ []));
|
|
1180
1186
|
/**
|
|
1181
1187
|
* Defines the `aria-describedby` attribute for accessibility.
|
|
1182
1188
|
*/
|
|
@@ -1227,10 +1233,10 @@ class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
1227
1233
|
});
|
|
1228
1234
|
}
|
|
1229
1235
|
ngDoCheck() {
|
|
1230
|
-
const diff = this.differ.diff(this.eclOptionItems);
|
|
1236
|
+
const diff = this.differ.diff(this.eclOptionItems());
|
|
1231
1237
|
if (diff) {
|
|
1232
1238
|
if (this.multiselectComponent) {
|
|
1233
|
-
this.multiselectComponent.multiOptionDirectives = this.eclOptionItems
|
|
1239
|
+
this.multiselectComponent.multiOptionDirectives = Array.from(this.eclOptionItems());
|
|
1234
1240
|
}
|
|
1235
1241
|
}
|
|
1236
1242
|
}
|
|
@@ -1318,17 +1324,17 @@ class EclMultiselectComponent extends ECLBaseDirective {
|
|
|
1318
1324
|
}
|
|
1319
1325
|
attachOptions() {
|
|
1320
1326
|
setTimeout(() => {
|
|
1321
|
-
this.multiselectComponent.multiOptionDirectives = this.eclOptionItems
|
|
1327
|
+
this.multiselectComponent.multiOptionDirectives = Array.from(this.eclOptionItems());
|
|
1322
1328
|
});
|
|
1323
1329
|
}
|
|
1324
1330
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1325
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
1331
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "22.0.5", type: EclMultiselectComponent, isStandalone: true, selector: "select[eclMultiselect]", inputs: { ariaDescribedby: { classPropertyName: "ariaDescribedby", publicName: "ariaDescribedby", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, toggleLabel: { classPropertyName: "toggleLabel", publicName: "toggleLabel", isSignal: true, isRequired: false, transformFunction: null }, isInvalid: { classPropertyName: "isInvalid", publicName: "isInvalid", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, hasSearchBox: { classPropertyName: "hasSearchBox", publicName: "hasSearchBox", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, hasSelectAll: { classPropertyName: "hasSelectAll", publicName: "hasSelectAll", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, isSubmitOnApply: { classPropertyName: "isSubmitOnApply", publicName: "isSubmitOnApply", isSignal: false, isRequired: false, transformFunction: booleanAttribute }, eclPlaceholder: { classPropertyName: "eclPlaceholder", publicName: "eclPlaceholder", isSignal: false, isRequired: false, transformFunction: null }, eclSize: { classPropertyName: "eclSize", publicName: "eclSize", isSignal: true, isRequired: false, transformFunction: null }, counterLabel: { classPropertyName: "counterLabel", publicName: "counterLabel", isSignal: false, isRequired: false, transformFunction: null } }, outputs: { eclChange: "eclChange" }, host: { properties: { "attr.disabled": "this.disabled", "class": "this.cssClasses" } }, providers: [
|
|
1326
1332
|
{
|
|
1327
1333
|
provide: NG_VALUE_ACCESSOR,
|
|
1328
1334
|
useExisting: forwardRef(() => EclMultiselectComponent),
|
|
1329
1335
|
multi: true,
|
|
1330
1336
|
},
|
|
1331
|
-
], queries: [{ propertyName: "eclOptionItems", predicate: i0.forwardRef(() => EclMultiselectOptionDirective) }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); }
|
|
1337
|
+
], queries: [{ propertyName: "eclOptionItems", predicate: i0.forwardRef(() => EclMultiselectOptionDirective), isSignal: true }], usesInheritance: true, ngImport: i0, template: "<ng-content></ng-content>\n", encapsulation: i0.ViewEncapsulation.None }); }
|
|
1332
1338
|
}
|
|
1333
1339
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImport: i0, type: EclMultiselectComponent, decorators: [{
|
|
1334
1340
|
type: Component,
|
|
@@ -1339,10 +1345,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.5", ngImpor
|
|
|
1339
1345
|
multi: true,
|
|
1340
1346
|
},
|
|
1341
1347
|
], template: "<ng-content></ng-content>\n" }]
|
|
1342
|
-
}], ctorParameters: () => [], propDecorators: { eclOptionItems: [{
|
|
1343
|
-
type: ContentChildren,
|
|
1344
|
-
args: [forwardRef(() => EclMultiselectOptionDirective)]
|
|
1345
|
-
}], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedby", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }], isInvalid: [{
|
|
1348
|
+
}], ctorParameters: () => [], propDecorators: { eclOptionItems: [{ type: i0.ContentChildren, args: [forwardRef(() => EclMultiselectOptionDirective), { isSignal: true }] }], ariaDescribedby: [{ type: i0.Input, args: [{ isSignal: true, alias: "ariaDescribedby", required: false }] }], id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], toggleLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "toggleLabel", required: false }] }], isInvalid: [{
|
|
1346
1349
|
type: Input,
|
|
1347
1350
|
args: [{ transform: booleanAttribute }]
|
|
1348
1351
|
}], disabled: [{
|