ng-devui
Version:
DevUI components based on Angular
275 lines (270 loc) • 26.9 kB
JavaScript
import { __decorate, __metadata } from 'tslib';
import * as i0 from '@angular/core';
import { EventEmitter, forwardRef, Component, Input, HostBinding, Output, ViewChild, HostListener, NgModule } from '@angular/core';
import * as i4 from '@angular/forms';
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
import * as i5 from 'ng-devui/auto-complete';
import { AutoCompleteDirective, AutoCompleteModule } from 'ng-devui/auto-complete';
import * as i1 from 'ng-devui/i18n';
import * as i2 from 'ng-devui/utils';
import { WithConfig } from 'ng-devui/utils';
import * as i3 from '@angular/common';
import { CommonModule } from '@angular/common';
import { PositioningModule } from 'ng-devui/position';
class EditableSelectComponent {
get hasGlowStyle() {
return this.showGlowStyle;
}
set dropDownOpen(val) {
this._dropDownOpen = val;
if (this._dropDownOpen) {
this.autoCompleteDirective.openPopup(this.activeIndex);
}
else {
this.autoCompleteDirective.hidePopup();
this.onTouched();
}
}
get dropDownOpen() {
return this._dropDownOpen;
}
get placeholderContent() {
return this.valueParser(this.inputValueCache) || this.placeholder;
}
onDocumentClick(event) {
if (this.blurTimer) {
clearTimeout(this.blurTimer);
}
this.closeDropdownMenu(event);
}
constructor(cdr, i18n, devConfigService) {
this.cdr = cdr;
this.i18n = i18n;
this.devConfigService = devConfigService;
this.appendToBody = false;
this.appendToBodyDirections = ['rightDown', 'leftDown', 'rightUp', 'leftUp'];
this.disabled = false;
this.placeholder = '';
this.source = [];
this.allowClear = false;
this.enableSelectedValueList = false;
this.enableLazyLoad = false;
this.customViewDirection = 'bottom';
this.formatter = (item) => (item ? item.label || item.toString() : '');
this.valueParser = (item) => (item ? item.label || item.toString() : '');
this.showAnimation = true;
this.styleType = 'default';
this.showGlowStyle = true;
this.loadMore = new EventEmitter();
this.toggleChange = new EventEmitter();
this.hoverItem = new EventEmitter();
this.selectItem = new EventEmitter();
this.multiItems = [];
this.activeIndex = 0;
this.ANIMATION_DELAY = 300;
this._dropDownOpen = false;
this.onChange = (_) => null;
this.onTouched = () => null;
}
ngOnChanges(changes) {
if (changes?.searchFn && typeof this.searchFn === 'function') {
if (this.subscription) {
this.subscription.unsubscribe();
}
this.subscription = this.searchFn('').subscribe((source) => {
this.source = source;
});
}
}
ngOnInit() {
this.i18nCommonText = this.i18n.getI18nText().common;
this.i18nSubscription = this.i18n.langChange().subscribe((data) => {
this.i18nCommonText = data.common;
});
}
ngOnDestroy() {
if (this.i18nSubscription) {
this.i18nSubscription.unsubscribe();
}
}
writeValue(value) {
this.inputValueCache = this.inputValue = value ?? '';
this.cdr.markForCheck();
}
registerOnChange(fn) {
this.onChange = fn;
}
registerOnTouched(fn) {
this.onTouched = fn;
}
selectValue(value) {
this._dropDownOpen = false;
this.inputValueCache = this.inputValue = value ?? '';
this.selectItem.emit(this.inputValue);
this.onChange(this.inputValue);
this.onTouched();
}
valueClear(event) {
event.stopPropagation();
this.inputValueCache = this.inputValue = '';
this.onChange('');
}
onTermChange(value) {
this.inputValueCache = this.inputValue = value;
this.onChange(this.inputValue);
}
toggle() {
const inputString = this.formatter(this.inputValue) ?? '';
this.activeIndex = this.enableSelectedValueList
? this.autoCompleteDirective.popupRef.instance.activeIndex
: this.source.map((item) => this.formatter(item).toLowerCase()).indexOf(inputString.toLowerCase());
this.activeIndex = this.activeIndex > -1 ? this.activeIndex : 0;
this.dropDownOpen = !this.dropDownOpen;
if (this.dropDownOpen && !this.enableSelectedValueList) {
this.autoCompleteDirective.searchValue('', false);
this.autoCompleteDirective.popupRef.instance.scrollToActive(this.activeIndex);
}
}
loadMoreEvent(event) {
this.loadMore.emit(event);
}
toggleChangeHandler(value) {
this._dropDownOpen = value;
this.inputValue = !this.enableSelectedValueList && value ? '' : this.inputValueCache;
this.toggleChange.emit(value);
}
onHoverItem(event) {
this.hoverItem.emit(event);
}
closeDropdownMenu(event, isBlur = false) {
if (this.dropDownOpen) {
const target = isBlur ? event.relatedTarget : event.target;
const targetEl = target;
if (!this.editableSelectBox.nativeElement.contains(targetEl)) {
this.dropDownOpen = false;
}
}
}
blurEventHandle(event) {
if (this.blurTimer) {
clearTimeout(this.blurTimer);
}
this.blurTimer = setTimeout(() => this.closeDropdownMenu(event, true), this.ANIMATION_DELAY);
}
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditableSelectComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1.I18nService }, { token: i2.DevConfigService }], target: i0.ɵɵFactoryTarget.Component }); }
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: EditableSelectComponent, selector: "d-editable-select", inputs: { appendToBody: "appendToBody", appendToBodyDirections: "appendToBodyDirections", appendToBodyScrollStrategy: "appendToBodyScrollStrategy", disabled: "disabled", placeholder: "placeholder", source: "source", itemTemplate: "itemTemplate", noResultItemTemplate: "noResultItemTemplate", maxHeight: "maxHeight", width: "width", disabledKey: "disabledKey", allowClear: "allowClear", enableSelectedValueList: "enableSelectedValueList", enableLazyLoad: "enableLazyLoad", customViewTemplate: "customViewTemplate", customViewDirection: "customViewDirection", formatter: "formatter", valueParser: "valueParser", searchFn: "searchFn", showAnimation: "showAnimation", styleType: "styleType", showGlowStyle: "showGlowStyle" }, outputs: { loadMore: "loadMore", toggleChange: "toggleChange", hoverItem: "hoverItem", selectItem: "selectItem" }, host: { listeners: { "document:click": "onDocumentClick($event)" }, properties: { "class.devui-glow-style": "this.hasGlowStyle" } }, providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => EditableSelectComponent),
multi: true,
},
], viewQueries: [{ propertyName: "autoCompleteDirective", first: true, predicate: AutoCompleteDirective, descendants: true, static: true }, { propertyName: "editableSelectBox", first: true, predicate: ["editableSelectBox"], descendants: true, static: true }], exportAs: ["editable-select"], usesOnChanges: true, ngImport: i0, template: "<div\n #editableSelectBox\n class=\"devui-form-group devui-has-feedback\"\n [ngClass]=\"{\n 'devui-select-open': dropDownOpen,\n 'allow-clear': (inputValue || inputValue === 0) && allowClear,\n 'devui-gray-style': styleType === 'gray'\n }\"\n>\n <input\n (click)=\"toggle()\"\n class=\"devui-form-control devui-dropdown-origin\"\n type=\"text\"\n name=\"autoCompleteControl\"\n [source]=\"source\"\n (ngModelChange)=\"onTermChange($event)\"\n [ngModel]=\"inputValue\"\n [searchFn]=\"searchFn\"\n [disabled]=\"disabled\"\n [disabledKey]=\"disabledKey\"\n [placeholder]=\"placeholderContent\"\n [itemTemplate]=\"itemTemplate\"\n [noResultItemTemplate]=\"noResultItemTemplate || noResultDefaultTemplate\"\n [appendToBody]=\"appendToBody\"\n [appendToBodyDirections]=\"appendToBodyDirections\"\n [appendToBodyScrollStrategy]=\"appendToBodyScrollStrategy\"\n [maxHeight]=\"maxHeight\"\n [sceneType]=\"enableSelectedValueList ? 'select' : 'select-extend'\"\n [dAutoCompleteWidth]=\"width\"\n dAutoComplete\n [enableLazyLoad]=\"enableLazyLoad\"\n [formatter]=\"formatter\"\n [valueParser]=\"valueParser\"\n [showAnimation]=\"showAnimation\"\n [customViewTemplate]=\"customViewTemplate\"\n [customViewDirection]=\"customViewDirection\"\n (toggleChange)=\"toggleChangeHandler($event)\"\n (loadMore)=\"loadMoreEvent($event)\"\n (selectValue)=\"selectValue($event)\"\n (hoverItem)=\"onHoverItem($event)\"\n (blur)=\"blurEventHandle($event)\"\n />\n <span class=\"devui-form-control-feedback\">\n <span class=\"devui-select-clear-icon\" (click)=\"valueClear($event)\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n </span>\n <span class=\"devui-select-chevron-icon\">\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\n ></path>\n </g>\n </svg>\n </span>\n </span>\n</div>\n\n<ng-template #noResultDefaultTemplate>\n <span>{{ inputValue || inputValue === 0 ? i18nCommonText?.noRecordsFound : i18nCommonText?.noData }}</span>\n</ng-template>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-form-group.devui-has-feedback>.devui-form-control-feedback{height:100%;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:var(--devui-font-size, 12px);z-index:10}.devui-form-group.devui-has-feedback>.devui-form-control-feedback>span{align-items:center}.devui-form-group.devui-has-feedback>.devui-form-control-feedback>span>svg{width:1em;height:1em}.devui-form-group.devui-has-feedback .devui-select-clear-icon{pointer-events:auto;display:none;cursor:pointer}.devui-form-group.devui-has-feedback .devui-select-clear-icon path{fill:var(--devui-shape-icon-fill, #c2c2c2);transition:all var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)) var(--devui-animation-duration-slow, .3s)}.devui-form-group.devui-has-feedback .devui-select-clear-icon:hover path{fill:var(--devui-shape-icon-fill-hover, #808080)}.devui-form-group.devui-has-feedback .devui-select-chevron-icon{display:flex;transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-form-group.devui-has-feedback .devui-select-chevron-icon svg path{fill:var(--devui-text-weak, #333333)}.devui-form-group.devui-has-feedback.allow-clear:hover .devui-select-chevron-icon{display:none}.devui-form-group.devui-has-feedback.allow-clear:hover .devui-select-clear-icon{display:flex}.devui-select-open .devui-select-chevron-icon{transform:rotate(180deg)}.devui-form-control{outline:none;padding-right:24px}input::-ms-clear{display:none}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.AutoCompleteDirective, selector: "[dAutoComplete]", inputs: ["disabled", "cssClass", "delay", "showGlowStyle", "minLength", "itemTemplate", "noResultItemTemplate", "searchingTemplate", "isSearching", "appendToBody", "appendToBodyDirections", "appendToBodyScrollStrategy", "cdkOverlayOffsetY", "dAutoCompleteWidth", "formatter", "sceneType", "tipsText", "overview", "latestSource", "source", "valueParser", "searchFn", "dropdown", "maxHeight", "disabledKey", "showAnimation", "enableLazyLoad", "retainInputValue", "allowEmptyValueSearch", "customViewTemplate", "customViewDirection"], outputs: ["loadMore", "selectValue", "transInputFocusEmit", "changeDropDownStatus", "toggleChange", "hoverItem"], exportAs: ["autoComplete"] }] }); }
}
__decorate([
WithConfig(),
__metadata("design:type", String)
], EditableSelectComponent.prototype, "appendToBodyScrollStrategy", void 0);
__decorate([
WithConfig(),
__metadata("design:type", Object)
], EditableSelectComponent.prototype, "showAnimation", void 0);
__decorate([
WithConfig(),
__metadata("design:type", Object)
], EditableSelectComponent.prototype, "styleType", void 0);
__decorate([
WithConfig(),
__metadata("design:type", Object)
], EditableSelectComponent.prototype, "showGlowStyle", void 0);
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditableSelectComponent, decorators: [{
type: Component,
args: [{ selector: 'd-editable-select', exportAs: 'editable-select', providers: [
{
provide: NG_VALUE_ACCESSOR,
useExisting: forwardRef(() => EditableSelectComponent),
multi: true,
},
], preserveWhitespaces: false, template: "<div\n #editableSelectBox\n class=\"devui-form-group devui-has-feedback\"\n [ngClass]=\"{\n 'devui-select-open': dropDownOpen,\n 'allow-clear': (inputValue || inputValue === 0) && allowClear,\n 'devui-gray-style': styleType === 'gray'\n }\"\n>\n <input\n (click)=\"toggle()\"\n class=\"devui-form-control devui-dropdown-origin\"\n type=\"text\"\n name=\"autoCompleteControl\"\n [source]=\"source\"\n (ngModelChange)=\"onTermChange($event)\"\n [ngModel]=\"inputValue\"\n [searchFn]=\"searchFn\"\n [disabled]=\"disabled\"\n [disabledKey]=\"disabledKey\"\n [placeholder]=\"placeholderContent\"\n [itemTemplate]=\"itemTemplate\"\n [noResultItemTemplate]=\"noResultItemTemplate || noResultDefaultTemplate\"\n [appendToBody]=\"appendToBody\"\n [appendToBodyDirections]=\"appendToBodyDirections\"\n [appendToBodyScrollStrategy]=\"appendToBodyScrollStrategy\"\n [maxHeight]=\"maxHeight\"\n [sceneType]=\"enableSelectedValueList ? 'select' : 'select-extend'\"\n [dAutoCompleteWidth]=\"width\"\n dAutoComplete\n [enableLazyLoad]=\"enableLazyLoad\"\n [formatter]=\"formatter\"\n [valueParser]=\"valueParser\"\n [showAnimation]=\"showAnimation\"\n [customViewTemplate]=\"customViewTemplate\"\n [customViewDirection]=\"customViewDirection\"\n (toggleChange)=\"toggleChangeHandler($event)\"\n (loadMore)=\"loadMoreEvent($event)\"\n (selectValue)=\"selectValue($event)\"\n (hoverItem)=\"onHoverItem($event)\"\n (blur)=\"blurEventHandle($event)\"\n />\n <span class=\"devui-form-control-feedback\">\n <span class=\"devui-select-clear-icon\" (click)=\"valueClear($event)\">\n <svg viewBox=\"0 0 16 16\">\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M8,1 C11.8659932,1 15,4.13400675 15,8 C15,11.8659932 11.8659932,15 8,15 C4.13400675,15 1,11.8659932 1,8 C1,4.13400675 4.13400675,1 8,1 Z M5.87867966,5.17157288 C5.68341751,4.97631073 5.36683502,4.97631073 5.17157288,5.17157288 C4.99800652,5.34513923 4.97872137,5.61456363 5.11371742,5.80943177 L5.17157288,5.87867966 L7.29218611,7.99929289 L5.17157288,10.1213203 C4.97631073,10.3165825 4.97631073,10.633165 5.17157288,10.8284271 C5.34513923,11.0019935 5.61456363,11.0212786 5.80943177,10.8862826 L5.87867966,10.8284271 L7.99929289,8.70639967 L10.1213203,10.8284271 C10.3165825,11.0236893 10.633165,11.0236893 10.8284271,10.8284271 C11.0019935,10.6548608 11.0212786,10.3854364 10.8862826,10.1905682 L10.8284271,10.1213203 L8.70710678,8 L10.8284271,5.87867966 C11.0236893,5.68341751 11.0236893,5.36683502 10.8284271,5.17157288 C10.6548608,4.99800652 10.3854364,4.97872137 10.1905682,5.11371742 L10.1213203,5.17157288 L8,7.29289322 L5.87867966,5.17157288 Z\"\n fill-rule=\"nonzero\"\n ></path>\n </g>\n </svg>\n </span>\n <span class=\"devui-select-chevron-icon\">\n <svg\n width=\"16px\"\n height=\"16px\"\n viewBox=\"0 0 16 16\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n xmlns:xlink=\"http://www.w3.org/1999/xlink\"\n >\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <path\n d=\"M3.64644661,5.64644661 C3.82001296,5.47288026 4.08943736,5.45359511 4.2843055,5.58859116 L4.35355339,5.64644661 L8,9.293 L11.6464466,5.64644661 C11.820013,5.47288026 12.0894374,5.45359511 12.2843055,5.58859116 L12.3535534,5.64644661 C12.5271197,5.82001296 12.5464049,6.08943736 12.4114088,6.2843055 L12.3535534,6.35355339 L8.35355339,10.3535534 C8.17998704,10.5271197 7.91056264,10.5464049 7.7156945,10.4114088 L7.64644661,10.3535534 L3.64644661,6.35355339 C3.45118446,6.15829124 3.45118446,5.84170876 3.64644661,5.64644661 Z\"\n ></path>\n </g>\n </svg>\n </span>\n </span>\n</div>\n\n<ng-template #noResultDefaultTemplate>\n <span>{{ inputValue || inputValue === 0 ? i18nCommonText?.noRecordsFound : i18nCommonText?.noData }}</span>\n</ng-template>\n", styles: [".devui-font-size-base{font-size:var(--devui-font-size, 12px)}.devui-font-base{font-size:var(--devui-font-size, 12px);font-weight:var(--devui-font-content-weight, normal);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-modal-title{font-size:var(--devui-font-size-modal-title, 18px)}.devui-font-modal-title{font-size:var(--devui-font-size-modal-title, 18px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-page-title{font-size:var(--devui-font-size-page-title, 16px)}.devui-font-page-title{font-size:var(--devui-font-size-page-title, 16px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-font-size-secondary-title{font-size:var(--devui-font-size-card-title, 14px)}.devui-font-secondary-title{font-size:var(--devui-font-size-card-title, 14px);font-weight:var(--devui-font-title-weight, bold);line-height:var(--devui-line-height-base, 1.5)}.devui-form-group.devui-has-feedback>.devui-form-control-feedback{height:100%;display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:var(--devui-font-size, 12px);z-index:10}.devui-form-group.devui-has-feedback>.devui-form-control-feedback>span{align-items:center}.devui-form-group.devui-has-feedback>.devui-form-control-feedback>span>svg{width:1em;height:1em}.devui-form-group.devui-has-feedback .devui-select-clear-icon{pointer-events:auto;display:none;cursor:pointer}.devui-form-group.devui-has-feedback .devui-select-clear-icon path{fill:var(--devui-shape-icon-fill, #c2c2c2);transition:all var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1)) var(--devui-animation-duration-slow, .3s)}.devui-form-group.devui-has-feedback .devui-select-clear-icon:hover path{fill:var(--devui-shape-icon-fill-hover, #808080)}.devui-form-group.devui-has-feedback .devui-select-chevron-icon{display:flex;transition:transform var(--devui-animation-duration-slow, .3s) var(--devui-animation-ease-in-out-smooth, cubic-bezier(.645, .045, .355, 1))}.devui-form-group.devui-has-feedback .devui-select-chevron-icon svg path{fill:var(--devui-text-weak, #333333)}.devui-form-group.devui-has-feedback.allow-clear:hover .devui-select-chevron-icon{display:none}.devui-form-group.devui-has-feedback.allow-clear:hover .devui-select-clear-icon{display:flex}.devui-select-open .devui-select-chevron-icon{transform:rotate(180deg)}.devui-form-control{outline:none;padding-right:24px}input::-ms-clear{display:none}\n"] }]
}], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1.I18nService }, { type: i2.DevConfigService }], propDecorators: { appendToBody: [{
type: Input
}], appendToBodyDirections: [{
type: Input
}], appendToBodyScrollStrategy: [{
type: Input
}], disabled: [{
type: Input
}], placeholder: [{
type: Input
}], source: [{
type: Input
}], itemTemplate: [{
type: Input
}], noResultItemTemplate: [{
type: Input
}], maxHeight: [{
type: Input
}], width: [{
type: Input
}], disabledKey: [{
type: Input
}], allowClear: [{
type: Input
}], enableSelectedValueList: [{
type: Input
}], enableLazyLoad: [{
type: Input
}], customViewTemplate: [{
type: Input
}], customViewDirection: [{
type: Input
}], formatter: [{
type: Input
}], valueParser: [{
type: Input
}], searchFn: [{
type: Input
}], showAnimation: [{
type: Input
}], styleType: [{
type: Input
}], showGlowStyle: [{
type: Input
}], hasGlowStyle: [{
type: HostBinding,
args: ['class.devui-glow-style']
}], loadMore: [{
type: Output
}], toggleChange: [{
type: Output
}], hoverItem: [{
type: Output
}], selectItem: [{
type: Output
}], autoCompleteDirective: [{
type: ViewChild,
args: [AutoCompleteDirective, { static: true }]
}], editableSelectBox: [{
type: ViewChild,
args: ['editableSelectBox', { static: true }]
}], onDocumentClick: [{
type: HostListener,
args: ['document:click', ['$event']]
}] } });
class EditableSelectModule {
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditableSelectModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "18.2.13", ngImport: i0, type: EditableSelectModule, declarations: [EditableSelectComponent], imports: [CommonModule, FormsModule, AutoCompleteModule, PositioningModule], exports: [EditableSelectComponent] }); }
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditableSelectModule, imports: [CommonModule, FormsModule, AutoCompleteModule, PositioningModule] }); }
}
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: EditableSelectModule, decorators: [{
type: NgModule,
args: [{
imports: [CommonModule, FormsModule, AutoCompleteModule, PositioningModule],
exports: [EditableSelectComponent],
declarations: [EditableSelectComponent],
}]
}] });
/**
* Generated bundle index. Do not edit.
*/
export { EditableSelectComponent, EditableSelectModule };
//# sourceMappingURL=ng-devui-editable-select.mjs.map