@evotor-dev/ui-kit 8.7.0 → 8.8.0

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 (35) hide show
  1. package/esm2022/lib/components/evo-autocomplete/components/evo-autocomplete/evo-autocomplete.component.mjs +3 -3
  2. package/esm2022/lib/components/evo-autocomplete/components/evo-autocomplete-default-option/evo-autocomplete-default-option.component.mjs +2 -2
  3. package/esm2022/lib/components/evo-modal/classes/EvoConfiguredComponentModalDrawingStrategy.mjs +8 -0
  4. package/esm2022/lib/components/evo-modal/classes/EvoConfiguredModalDrawingStrategy.mjs +14 -0
  5. package/esm2022/lib/components/evo-modal/classes/EvoConfiguredTemplateModalDrawingStrategy.mjs +11 -0
  6. package/esm2022/lib/components/evo-modal/classes/EvoDynamicModalDrawingStrategy.mjs +9 -0
  7. package/esm2022/lib/components/evo-modal/classes/EvoModalDrawingStrategy.mjs +3 -0
  8. package/esm2022/lib/components/evo-modal/enums.mjs +8 -0
  9. package/esm2022/lib/components/evo-modal/evo-modal-buttons/evo-modal-buttons.component.mjs +17 -0
  10. package/esm2022/lib/components/evo-modal/evo-modal-portal.mjs +29 -0
  11. package/esm2022/lib/components/evo-modal/evo-modal.component.mjs +128 -103
  12. package/esm2022/lib/components/evo-modal/evo-modal.provider.mjs +18 -0
  13. package/esm2022/lib/components/evo-modal/evo-modal.service.mjs +47 -12
  14. package/esm2022/lib/components/evo-modal/interfaces.mjs +2 -0
  15. package/esm2022/lib/components/evo-modal/public-api.mjs +7 -1
  16. package/esm2022/lib/components/evo-modal/tokens.mjs +12 -0
  17. package/esm2022/lib/components/evo-modal/utils.mjs +21 -0
  18. package/fesm2022/evotor-dev-ui-kit.mjs +424 -241
  19. package/fesm2022/evotor-dev-ui-kit.mjs.map +1 -1
  20. package/lib/components/evo-modal/classes/EvoConfiguredComponentModalDrawingStrategy.d.ts +6 -0
  21. package/lib/components/evo-modal/classes/EvoConfiguredModalDrawingStrategy.d.ts +6 -0
  22. package/lib/components/evo-modal/classes/EvoConfiguredTemplateModalDrawingStrategy.d.ts +6 -0
  23. package/lib/components/evo-modal/classes/EvoDynamicModalDrawingStrategy.d.ts +6 -0
  24. package/lib/components/evo-modal/classes/EvoModalDrawingStrategy.d.ts +5 -0
  25. package/lib/components/evo-modal/enums.d.ts +6 -0
  26. package/lib/components/evo-modal/evo-modal-buttons/evo-modal-buttons.component.d.ts +6 -0
  27. package/lib/components/evo-modal/evo-modal-portal.d.ts +16 -0
  28. package/lib/components/evo-modal/evo-modal.component.d.ts +48 -32
  29. package/lib/components/evo-modal/evo-modal.provider.d.ts +3 -0
  30. package/lib/components/evo-modal/evo-modal.service.d.ts +13 -12
  31. package/lib/components/evo-modal/interfaces.d.ts +47 -0
  32. package/lib/components/evo-modal/public-api.d.ts +6 -0
  33. package/lib/components/evo-modal/tokens.d.ts +7 -0
  34. package/lib/components/evo-modal/utils.d.ts +5 -0
  35. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, output, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, input, booleanAttribute, ComponentRef, computed, viewChild, signal, ChangeDetectorRef, DestroyRef, EnvironmentInjector, NgZone, createComponent, Injector, ApplicationRef, ComponentFactoryResolver, makeEnvironmentProviders, Host, ContentChildren, ViewChildren } from '@angular/core';
2
+ import { InjectionToken, Injectable, PLATFORM_ID, ɵstringify as _stringify, Directive, Input, EventEmitter, Output, HostListener, Optional, ViewContainerRef, TemplateRef, Inject, NgModule, CUSTOM_ELEMENTS_SCHEMA, inject, SecurityContext, Component, ChangeDetectionStrategy, HostBinding, Pipe, output, forwardRef, ViewChild, ViewEncapsulation, ContentChild, ElementRef, ComponentRef, input, model, viewChild, signal, computed, DestroyRef, EnvironmentInjector, createComponent, Injector, makeEnvironmentProviders, booleanAttribute, ChangeDetectorRef, NgZone, ApplicationRef, ComponentFactoryResolver, Host, ContentChildren, ViewChildren } from '@angular/core';
3
3
  import * as i1 from '@angular/common';
4
4
  import { isPlatformBrowser, CommonModule, AsyncPipe, NgClass, NgTemplateOutlet, NgIf, NgStyle, Location, NgFor } from '@angular/common';
5
5
  import * as i1$2 from '@angular/forms';
@@ -8,7 +8,7 @@ import { NgxPageScrollModule } from 'ngx-page-scroll';
8
8
  import * as i3 from '@angular/router';
9
9
  import { RouterModule, NavigationEnd, RouterLink, RouterLinkActive } from '@angular/router';
10
10
  import * as i1$3 from 'rxjs';
11
- import { BehaviorSubject, Subject, Observable, shareReplay, fromEvent, merge, concat, of, asyncScheduler, scheduled } from 'rxjs';
11
+ import { BehaviorSubject, Subject, Observable, shareReplay, fromEvent, merge, concat, of, finalize, filter as filter$1, asyncScheduler, scheduled } from 'rxjs';
12
12
  import { takeUntil, map, debounceTime, tap, delay, distinctUntilChanged, switchMap, filter, takeWhile, observeOn, take, mergeMap, throttleTime } from 'rxjs/operators';
13
13
  import { style, animate, trigger, state, transition } from '@angular/animations';
14
14
  import * as i1$1 from '@angular/platform-browser';
@@ -21,9 +21,8 @@ import { isNull, cloneDeep, isEqual, merge as merge$1, isUndefined } from 'lodas
21
21
  import * as IMask from 'imask';
22
22
  import flatpickr from 'flatpickr';
23
23
  import { IMaskDirective } from 'angular-imask';
24
- import { Key } from 'ts-keycode-enum';
24
+ import { toObservable, takeUntilDestroyed } from '@angular/core/rxjs-interop';
25
25
  import { createPopper } from '@popperjs/core';
26
- import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
27
26
  import { __decorate } from 'tslib';
28
27
  import autobind from 'autobind-decorator';
29
28
  import bytes from 'bytes';
@@ -1622,11 +1621,11 @@ class EvoAutocompleteComponent {
1622
1621
  };
1623
1622
  }
1624
1623
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoAutocompleteComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i1$2.NgControl }, { token: EvoIconService }, { token: i1$1.DomSanitizer }, { token: EVO_ICON_RESOLVER }], target: i0.ɵɵFactoryTarget.Component }); }
1625
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoAutocompleteComponent, isStandalone: true, selector: "evo-autocomplete", inputs: { size: "size", isOpen: "isOpen", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", markFirst: "markFirst", placeholder: "placeholder", typeToSearchText: "typeToSearchText", addTagText: "addTagText", loadingText: "loadingText", clearAllText: "clearAllText", dropdownPosition: "dropdownPosition", appendTo: "appendTo", loading: "loading", closeOnSelect: "closeOnSelect", hideSelected: "hideSelected", selectOnTab: "selectOnTab", openOnEnter: "openOnEnter", maxSelectedItems: "maxSelectedItems", groupBy: "groupBy", groupValue: "groupValue", bufferAmount: "bufferAmount", virtualScroll: "virtualScroll", selectableGroup: "selectableGroup", selectableGroupAsModel: "selectableGroupAsModel", searchFn: "searchFn", clearOnBackspace: "clearOnBackspace", typeahead: "typeahead", multiple: "multiple", multipleInline: "multipleInline", addTag: "addTag", clearable: "clearable", errorsMessages: "errorsMessages", compareWith: "compareWith", _notFoundText: ["notFoundText", "_notFoundText"], editQuery: "editQuery", searchable: "searchable", setSelectbox: ["isSelectbox", "setSelectbox"], setTheme: ["theme", "setTheme"] }, outputs: { blurEvent: "blur", focusEvent: "focus", changeEvent: "change", openEvent: "open", closeEvent: "close", searchEvent: "search", clearEvent: "clear", addEvent: "add", removeEvent: "remove", scrollEvent: "scroll", scrollToEndEvent: "scrollToEnd" }, queries: [{ propertyName: "labelTemp", first: true, predicate: ["labelTemp"], descendants: true, read: TemplateRef }, { propertyName: "multiLabelTemp", first: true, predicate: ["multiLabelTemp"], descendants: true, read: TemplateRef }, { propertyName: "optionTemp", first: true, predicate: ["optionTemp"], descendants: true, read: TemplateRef }, { propertyName: "optgroupTemp", first: true, predicate: ["optgroupTemp"], descendants: true, read: TemplateRef }, { propertyName: "headerTemp", first: true, predicate: ["headerTemp"], descendants: true, read: TemplateRef }, { propertyName: "footerTemp", first: true, predicate: ["footerTemp"], descendants: true, read: TemplateRef }, { propertyName: "notFoundTemp", first: true, predicate: ["notFoundTemp"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n @if (labelTemp) {\n <ng-template ng-label-tmp let-item=\"item\">\n <ng-template *ngTemplateOutlet=\"labelTemp; context: { item: item }\"/>\n </ng-template>\n }\n\n <!-- Overall Label For All Selected Items Template -->\n @if (multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: {items: items, clear: clear}\" />\n </ng-template>\n }\n @if (headerTemp) {\n <!-- Options header template -->\n <ng-template ng-header-tmp>\n <ng-template *ngTemplateOutlet=\"headerTemp; context: {items: items}\" />\n </ng-template>\n }\n\n <!-- Option Template -->\n @if (optionTemp) {\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-item$=\"item$\">\n <ng-template\n *ngTemplateOutlet=\"\n optionTemp;\n context: {item: item, index: index, searchTerm: search, item$: item$}\n \"\n />\n </ng-template>\n }\n\n @if (multipleInline && !multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value\">{{ getMultipleInlineItemsLabels(items) }}</div>\n </ng-template>\n }\n\n @if (optgroupTemp) {\n <!-- Options group template -->\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"optgroupTemp; context: { item: item, index: index }\" />\n </ng-template>\n }\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n @if (typeToSearchText) {\n <div class=\"ng-option disabled\">{{ typeToSearchText }}</div>\n }\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{ loadingText }}</div>\n </ng-template>\n\n @if (notFoundTemp) {\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template *ngTemplateOutlet=\"notFoundTemp; context: {searchTerm: searchTerm}\" />\n </ng-template>\n } @else {\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option disabled\">{{ notFoundText }}</div>\n </ng-template>\n }\n\n @if (footerTemp) {\n <!-- Options footer template -->\n <ng-template ng-footer-tmp>\n <ng-template *ngTemplateOutlet=\"footerTemp; context: {items: items}\" />\n </ng-template>\n }\n </ng-select>\n\n @if (hasErrors && errorsMessages) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n }\n</div>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}evo-autocomplete{--evo-dropdown-max-height: 310px;--evo-autocomplete-option-overflow: hidden;--evo-autocomplete-option-text-overflow: ellipsis;--evo-autocomplete-option-white-space: nowrap;--evo-autocomplete-optgroup-overflow: hidden;--evo-autocomplete-optgroup-text-overflow: ellipsis;--evo-autocomplete-optgroup-white-space: nowrap;--evo-autocomplete-arrow-icon-color: #212121;--evo-autocomplete-option-v-padding: 12px;--evo-autocomplete-option-h-padding: 16px;--evo-autocomplete-panel-border-radius: 8px;--evo-autocomplete-panel-shadow: 0px 8px 10px rgba(0, 0, 0, .14), 0px 3px 14px rgba(0, 0, 0, .12)}evo-autocomplete .evo-autocomplete{--inner-input-padding-right: 40px;position:relative;display:block}evo-autocomplete .evo-autocomplete ng-select[ng-reflect-clearable=false]{--inner-input-padding-right: 16px}evo-autocomplete .evo-autocomplete__icon{display:block;flex:0 0 24px;width:24px;height:24px}evo-autocomplete .evo-autocomplete__icon_clear{position:absolute;top:12px;right:12px;z-index:1001;cursor:pointer;transition:fill .3s;fill:#91b1b8}evo-autocomplete .evo-autocomplete__icon_clear:hover{fill:#a7c1c6}evo-autocomplete .evo-autocomplete__icon_clear:active{fill:#829fa6}evo-autocomplete .evo-autocomplete__icon_dropdown{fill:#212121}evo-autocomplete .evo-autocomplete .ng-input{padding:0 var(--inner-input-padding-right) 0 16px}evo-autocomplete .evo-autocomplete .ng-placeholder{color:#9b9b9b}evo-autocomplete .evo-autocomplete .ng-value-container{align-items:center;min-width:0;overflow:hidden}evo-autocomplete .evo-autocomplete .ng-value{overflow:hidden;text-overflow:ellipsis}evo-autocomplete .evo-autocomplete .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;position:relative;align-items:center;margin:0;padding:0 12px 0 16px;line-height:var(--evo-input-height)}evo-autocomplete .evo-autocomplete .ng-select-container.ng-has-value .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center;color:#91b1b8;transition:color .3s}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:hover{color:#a7c1c6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:active{color:#829fa6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched{display:block;cursor:pointer}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched svg{display:block;fill:currentColor}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader{display:flex;justify-content:center;align-items:center;width:16px;height:100%;margin:0 0 0 8px;border:none;transform:none;animation:none}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader:before{content:\"\";display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-autocomplete .evo-autocomplete .ng-optgroup{font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:600}evo-autocomplete .evo-autocomplete .ng-optgroup evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete .ng-option{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer}evo-autocomplete .evo-autocomplete .ng-option evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-option.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-option.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-option.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single:not(.ng-select-focused) .ng-select-container .ng-value-container .ng-value{visibility:visible}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single.ng-select-focused .ng-select-container .ng-value-container .ng-value{visibility:var(--evo-autocomplete-option-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel{z-index:3001;display:block;margin:4px 0;background-color:#fff;border-radius:var(--evo-autocomplete-panel-border-radius);box-shadow:var(--evo-autocomplete-panel-shadow);overflow:hidden}evo-autocomplete .evo-autocomplete .ng-dropdown-panel.ng-select-top{bottom:100%}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items{max-height:var(--evo-dropdown-max-height, 310px)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{overflow:var(--evo-autocomplete-option-overflow);white-space:var(--evo-autocomplete-option-white-space);text-overflow:var(--evo-autocomplete-option-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{overflow:var(--evo-autocomplete-optgroup-overflow);white-space:var(--evo-autocomplete-optgroup-white-space);text-overflow:var(--evo-autocomplete-optgroup-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:16px;background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{background-color:#c6c6c6;border:6px solid #FFFFFF;border-radius:16px}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-button{display:none}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper .ng-arrow{display:block;width:24px;height:24px;background-color:var(--evo-autocomplete-arrow-icon-color);-webkit-mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');background-position:center;transition:transform .25s}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg);transform-origin:center center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused{z-index:11}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-select-container{box-shadow:0 0 2px #91b1b8}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-clearable .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-height: 32px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-font-size: 14px;--evo-input-height: 40px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-value-icon{display:none}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-input{display:none}evo-autocomplete .evo-autocomplete .ng-select.ng-select-focused .ng-select-container,evo-autocomplete .evo-autocomplete .ng-select.ng-select-opened .ng-select-container{border:solid 1px #74706F}evo-autocomplete .evo-autocomplete.evo-autocomplete_touched.evo-autocomplete_invalid .ng-select:not(.ng-select-opened) .ng-select-container{border-color:#ff1817!important}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container .ng-arrow{opacity:.3}evo-autocomplete .evo-autocomplete .ng-input>input[readonly]{-webkit-user-select:auto!important;user-select:auto!important}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "directive", type: i4.NgFooterTemplateDirective, selector: "[ng-footer-tmp]" }, { kind: "directive", type: i4.NgNotFoundTemplateDirective, selector: "[ng-notfound-tmp]" }, { kind: "directive", type: i4.NgTypeToSearchTemplateDirective, selector: "[ng-typetosearch-tmp]" }, { kind: "directive", type: i4.NgLoadingTextTemplateDirective, selector: "[ng-loadingtext-tmp]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EvoControlErrorModule }, { kind: "component", type: EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1624
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoAutocompleteComponent, isStandalone: true, selector: "evo-autocomplete", inputs: { size: "size", isOpen: "isOpen", items: "items", bindLabel: "bindLabel", bindValue: "bindValue", markFirst: "markFirst", placeholder: "placeholder", typeToSearchText: "typeToSearchText", addTagText: "addTagText", loadingText: "loadingText", clearAllText: "clearAllText", dropdownPosition: "dropdownPosition", appendTo: "appendTo", loading: "loading", closeOnSelect: "closeOnSelect", hideSelected: "hideSelected", selectOnTab: "selectOnTab", openOnEnter: "openOnEnter", maxSelectedItems: "maxSelectedItems", groupBy: "groupBy", groupValue: "groupValue", bufferAmount: "bufferAmount", virtualScroll: "virtualScroll", selectableGroup: "selectableGroup", selectableGroupAsModel: "selectableGroupAsModel", searchFn: "searchFn", clearOnBackspace: "clearOnBackspace", typeahead: "typeahead", multiple: "multiple", multipleInline: "multipleInline", addTag: "addTag", clearable: "clearable", errorsMessages: "errorsMessages", compareWith: "compareWith", _notFoundText: ["notFoundText", "_notFoundText"], editQuery: "editQuery", searchable: "searchable", setSelectbox: ["isSelectbox", "setSelectbox"], setTheme: ["theme", "setTheme"] }, outputs: { blurEvent: "blur", focusEvent: "focus", changeEvent: "change", openEvent: "open", closeEvent: "close", searchEvent: "search", clearEvent: "clear", addEvent: "add", removeEvent: "remove", scrollEvent: "scroll", scrollToEndEvent: "scrollToEnd" }, queries: [{ propertyName: "labelTemp", first: true, predicate: ["labelTemp"], descendants: true, read: TemplateRef }, { propertyName: "multiLabelTemp", first: true, predicate: ["multiLabelTemp"], descendants: true, read: TemplateRef }, { propertyName: "optionTemp", first: true, predicate: ["optionTemp"], descendants: true, read: TemplateRef }, { propertyName: "optgroupTemp", first: true, predicate: ["optgroupTemp"], descendants: true, read: TemplateRef }, { propertyName: "headerTemp", first: true, predicate: ["headerTemp"], descendants: true, read: TemplateRef }, { propertyName: "footerTemp", first: true, predicate: ["footerTemp"], descendants: true, read: TemplateRef }, { propertyName: "notFoundTemp", first: true, predicate: ["notFoundTemp"], descendants: true, read: TemplateRef }], viewQueries: [{ propertyName: "ngSelectComponent", first: true, predicate: NgSelectComponent, descendants: true }], ngImport: i0, template: "<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n @if (labelTemp) {\n <ng-template ng-label-tmp let-item=\"item\">\n <ng-template *ngTemplateOutlet=\"labelTemp; context: {item: item}\" />\n </ng-template>\n }\n\n <!-- Overall Label For All Selected Items Template -->\n @if (multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div class=\"evo-autocomplete__label\">\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: {items: items, clear: clear}\" />\n </div>\n </ng-template>\n }\n @if (headerTemp) {\n <!-- Options header template -->\n <ng-template ng-header-tmp>\n <ng-template *ngTemplateOutlet=\"headerTemp; context: {items: items}\" />\n </ng-template>\n }\n\n <!-- Option Template -->\n @if (optionTemp) {\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-item$=\"item$\">\n <ng-template\n *ngTemplateOutlet=\"\n optionTemp;\n context: {item: item, index: index, searchTerm: search, item$: item$}\n \"\n />\n </ng-template>\n }\n\n @if (multipleInline && !multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value evo-autocomplete__label\">{{ getMultipleInlineItemsLabels(items) }}</div>\n </ng-template>\n }\n\n @if (optgroupTemp) {\n <!-- Options group template -->\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"optgroupTemp; context: {item: item, index: index}\" />\n </ng-template>\n }\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n @if (typeToSearchText) {\n <div class=\"ng-option disabled\">{{ typeToSearchText }}</div>\n }\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{ loadingText }}</div>\n </ng-template>\n\n @if (notFoundTemp) {\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template *ngTemplateOutlet=\"notFoundTemp; context: {searchTerm: searchTerm}\" />\n </ng-template>\n } @else {\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option disabled\">{{ notFoundText }}</div>\n </ng-template>\n }\n\n @if (footerTemp) {\n <!-- Options footer template -->\n <ng-template ng-footer-tmp>\n <ng-template *ngTemplateOutlet=\"footerTemp; context: {items: items}\" />\n </ng-template>\n }\n </ng-select>\n\n @if (hasErrors && errorsMessages) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n }\n</div>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}evo-autocomplete{--evo-dropdown-max-height: 310px;--evo-autocomplete-option-overflow: hidden;--evo-autocomplete-option-text-overflow: ellipsis;--evo-autocomplete-option-white-space: normal;--evo-autocomplete-optgroup-overflow: hidden;--evo-autocomplete-optgroup-text-overflow: ellipsis;--evo-autocomplete-optgroup-white-space: nowrap;--evo-autocomplete-arrow-icon-color: #212121;--evo-autocomplete-option-v-padding: 12px;--evo-autocomplete-option-h-padding: 16px;--evo-autocomplete-panel-border-radius: 8px;--evo-autocomplete-panel-shadow: 0px 8px 10px rgba(0, 0, 0, .14), 0px 3px 14px rgba(0, 0, 0, .12)}evo-autocomplete .evo-autocomplete{--inner-input-padding-right: 40px;position:relative;display:block}evo-autocomplete .evo-autocomplete ng-select[ng-reflect-clearable=false]{--inner-input-padding-right: 16px}evo-autocomplete .evo-autocomplete__icon{display:block;flex:0 0 24px;width:24px;height:24px}evo-autocomplete .evo-autocomplete__icon_clear{position:absolute;top:12px;right:12px;z-index:1001;cursor:pointer;transition:fill .3s;fill:#91b1b8}evo-autocomplete .evo-autocomplete__icon_clear:hover{fill:#a7c1c6}evo-autocomplete .evo-autocomplete__icon_clear:active{fill:#829fa6}evo-autocomplete .evo-autocomplete__icon_dropdown{fill:#212121}evo-autocomplete .evo-autocomplete .ng-input{padding:0 var(--inner-input-padding-right) 0 16px}evo-autocomplete .evo-autocomplete .ng-placeholder{color:#9b9b9b}evo-autocomplete .evo-autocomplete .ng-value-container{align-items:center;min-width:0;overflow:hidden}evo-autocomplete .evo-autocomplete__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}evo-autocomplete .evo-autocomplete .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;position:relative;align-items:center;margin:0;padding:0 12px 0 16px;line-height:var(--evo-input-height)}evo-autocomplete .evo-autocomplete .ng-select-container.ng-has-value .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center;color:#91b1b8;transition:color .3s}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:hover{color:#a7c1c6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:active{color:#829fa6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched{display:block;cursor:pointer}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched svg{display:block;fill:currentColor}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader{display:flex;justify-content:center;align-items:center;width:16px;height:100%;margin:0 0 0 8px;border:none;transform:none;animation:none}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader:before{content:\"\";display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-autocomplete .evo-autocomplete .ng-optgroup{font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:600}evo-autocomplete .evo-autocomplete .ng-optgroup evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete .ng-option{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer}evo-autocomplete .evo-autocomplete .ng-option evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-option.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-option.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-option.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single:not(.ng-select-focused) .ng-select-container .ng-value-container .ng-value{visibility:visible}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single.ng-select-focused .ng-select-container .ng-value-container .ng-value{visibility:var(--evo-autocomplete-option-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel{z-index:3001;display:block;margin:4px 0;background-color:#fff;border-radius:var(--evo-autocomplete-panel-border-radius);box-shadow:var(--evo-autocomplete-panel-shadow);overflow:hidden}evo-autocomplete .evo-autocomplete .ng-dropdown-panel.ng-select-top{bottom:100%}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items{max-height:var(--evo-dropdown-max-height, 310px)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{overflow:var(--evo-autocomplete-option-overflow);white-space:var(--evo-autocomplete-option-white-space);text-overflow:var(--evo-autocomplete-option-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{overflow:var(--evo-autocomplete-optgroup-overflow);white-space:var(--evo-autocomplete-optgroup-white-space);text-overflow:var(--evo-autocomplete-optgroup-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:16px;background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{background-color:#c6c6c6;border:6px solid #FFFFFF;border-radius:16px}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-button{display:none}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper .ng-arrow{display:block;width:24px;height:24px;background-color:var(--evo-autocomplete-arrow-icon-color);-webkit-mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');background-position:center;transition:transform .25s}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg);transform-origin:center center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused{z-index:11}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-select-container{box-shadow:0 0 2px #91b1b8}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-clearable .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-height: 32px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-font-size: 14px;--evo-input-height: 40px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-value-icon{display:none}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-input{display:none}evo-autocomplete .evo-autocomplete .ng-select-multiple .ng-option-selected{--inner-option-background: #FFFFFF}evo-autocomplete .evo-autocomplete .ng-select-multiple .ng-option-selected.ng-option-marked{--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-select.ng-select-focused .ng-select-container,evo-autocomplete .evo-autocomplete .ng-select.ng-select-opened .ng-select-container{border:solid 1px #74706F}evo-autocomplete .evo-autocomplete.evo-autocomplete_touched.evo-autocomplete_invalid .ng-select:not(.ng-select-opened) .ng-select-container{border-color:#ff1817!important}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container .ng-arrow{opacity:.3}evo-autocomplete .evo-autocomplete .ng-input>input[readonly]{-webkit-user-select:auto!important;user-select:auto!important}\n"], dependencies: [{ kind: "directive", type: EvoUiClassDirective, selector: "[evoUiClass]", inputs: ["class", "evoUiClass"] }, { kind: "ngmodule", type: NgSelectModule }, { kind: "component", type: i4.NgSelectComponent, selector: "ng-select", inputs: ["bindLabel", "bindValue", "markFirst", "placeholder", "notFoundText", "typeToSearchText", "addTagText", "loadingText", "clearAllText", "appearance", "dropdownPosition", "appendTo", "loading", "closeOnSelect", "hideSelected", "selectOnTab", "openOnEnter", "maxSelectedItems", "groupBy", "groupValue", "bufferAmount", "virtualScroll", "selectableGroup", "selectableGroupAsModel", "searchFn", "trackByFn", "clearOnBackspace", "labelForId", "inputAttrs", "tabIndex", "readonly", "searchWhileComposing", "minTermLength", "editableSearchTerm", "keyDownFn", "typeahead", "multiple", "addTag", "searchable", "clearable", "isOpen", "items", "compareWith", "clearSearchOnAdd", "deselectOnClick"], outputs: ["blur", "focus", "change", "open", "close", "search", "clear", "add", "remove", "scroll", "scrollToEnd"] }, { kind: "directive", type: i4.NgOptgroupTemplateDirective, selector: "[ng-optgroup-tmp]" }, { kind: "directive", type: i4.NgOptionTemplateDirective, selector: "[ng-option-tmp]" }, { kind: "directive", type: i4.NgLabelTemplateDirective, selector: "[ng-label-tmp]" }, { kind: "directive", type: i4.NgMultiLabelTemplateDirective, selector: "[ng-multi-label-tmp]" }, { kind: "directive", type: i4.NgHeaderTemplateDirective, selector: "[ng-header-tmp]" }, { kind: "directive", type: i4.NgFooterTemplateDirective, selector: "[ng-footer-tmp]" }, { kind: "directive", type: i4.NgNotFoundTemplateDirective, selector: "[ng-notfound-tmp]" }, { kind: "directive", type: i4.NgTypeToSearchTemplateDirective, selector: "[ng-typetosearch-tmp]" }, { kind: "directive", type: i4.NgLoadingTextTemplateDirective, selector: "[ng-loadingtext-tmp]" }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: EvoControlErrorModule }, { kind: "component", type: EvoControlErrorComponent, selector: "evo-control-error", inputs: ["errors", "errorsMessages", "showCount"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
1626
1625
  }
1627
1626
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoAutocompleteComponent, decorators: [{
1628
1627
  type: Component,
1629
- args: [{ selector: 'evo-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [EvoUiClassDirective, NgSelectModule, FormsModule, NgTemplateOutlet, NgIf, EvoControlErrorModule], template: "<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n @if (labelTemp) {\n <ng-template ng-label-tmp let-item=\"item\">\n <ng-template *ngTemplateOutlet=\"labelTemp; context: { item: item }\"/>\n </ng-template>\n }\n\n <!-- Overall Label For All Selected Items Template -->\n @if (multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: {items: items, clear: clear}\" />\n </ng-template>\n }\n @if (headerTemp) {\n <!-- Options header template -->\n <ng-template ng-header-tmp>\n <ng-template *ngTemplateOutlet=\"headerTemp; context: {items: items}\" />\n </ng-template>\n }\n\n <!-- Option Template -->\n @if (optionTemp) {\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-item$=\"item$\">\n <ng-template\n *ngTemplateOutlet=\"\n optionTemp;\n context: {item: item, index: index, searchTerm: search, item$: item$}\n \"\n />\n </ng-template>\n }\n\n @if (multipleInline && !multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value\">{{ getMultipleInlineItemsLabels(items) }}</div>\n </ng-template>\n }\n\n @if (optgroupTemp) {\n <!-- Options group template -->\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"optgroupTemp; context: { item: item, index: index }\" />\n </ng-template>\n }\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n @if (typeToSearchText) {\n <div class=\"ng-option disabled\">{{ typeToSearchText }}</div>\n }\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{ loadingText }}</div>\n </ng-template>\n\n @if (notFoundTemp) {\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template *ngTemplateOutlet=\"notFoundTemp; context: {searchTerm: searchTerm}\" />\n </ng-template>\n } @else {\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option disabled\">{{ notFoundText }}</div>\n </ng-template>\n }\n\n @if (footerTemp) {\n <!-- Options footer template -->\n <ng-template ng-footer-tmp>\n <ng-template *ngTemplateOutlet=\"footerTemp; context: {items: items}\" />\n </ng-template>\n }\n </ng-select>\n\n @if (hasErrors && errorsMessages) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n }\n</div>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}evo-autocomplete{--evo-dropdown-max-height: 310px;--evo-autocomplete-option-overflow: hidden;--evo-autocomplete-option-text-overflow: ellipsis;--evo-autocomplete-option-white-space: nowrap;--evo-autocomplete-optgroup-overflow: hidden;--evo-autocomplete-optgroup-text-overflow: ellipsis;--evo-autocomplete-optgroup-white-space: nowrap;--evo-autocomplete-arrow-icon-color: #212121;--evo-autocomplete-option-v-padding: 12px;--evo-autocomplete-option-h-padding: 16px;--evo-autocomplete-panel-border-radius: 8px;--evo-autocomplete-panel-shadow: 0px 8px 10px rgba(0, 0, 0, .14), 0px 3px 14px rgba(0, 0, 0, .12)}evo-autocomplete .evo-autocomplete{--inner-input-padding-right: 40px;position:relative;display:block}evo-autocomplete .evo-autocomplete ng-select[ng-reflect-clearable=false]{--inner-input-padding-right: 16px}evo-autocomplete .evo-autocomplete__icon{display:block;flex:0 0 24px;width:24px;height:24px}evo-autocomplete .evo-autocomplete__icon_clear{position:absolute;top:12px;right:12px;z-index:1001;cursor:pointer;transition:fill .3s;fill:#91b1b8}evo-autocomplete .evo-autocomplete__icon_clear:hover{fill:#a7c1c6}evo-autocomplete .evo-autocomplete__icon_clear:active{fill:#829fa6}evo-autocomplete .evo-autocomplete__icon_dropdown{fill:#212121}evo-autocomplete .evo-autocomplete .ng-input{padding:0 var(--inner-input-padding-right) 0 16px}evo-autocomplete .evo-autocomplete .ng-placeholder{color:#9b9b9b}evo-autocomplete .evo-autocomplete .ng-value-container{align-items:center;min-width:0;overflow:hidden}evo-autocomplete .evo-autocomplete .ng-value{overflow:hidden;text-overflow:ellipsis}evo-autocomplete .evo-autocomplete .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;position:relative;align-items:center;margin:0;padding:0 12px 0 16px;line-height:var(--evo-input-height)}evo-autocomplete .evo-autocomplete .ng-select-container.ng-has-value .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center;color:#91b1b8;transition:color .3s}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:hover{color:#a7c1c6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:active{color:#829fa6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched{display:block;cursor:pointer}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched svg{display:block;fill:currentColor}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader{display:flex;justify-content:center;align-items:center;width:16px;height:100%;margin:0 0 0 8px;border:none;transform:none;animation:none}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader:before{content:\"\";display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-autocomplete .evo-autocomplete .ng-optgroup{font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:600}evo-autocomplete .evo-autocomplete .ng-optgroup evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete .ng-option{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer}evo-autocomplete .evo-autocomplete .ng-option evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-option.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-option.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-option.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single:not(.ng-select-focused) .ng-select-container .ng-value-container .ng-value{visibility:visible}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single.ng-select-focused .ng-select-container .ng-value-container .ng-value{visibility:var(--evo-autocomplete-option-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel{z-index:3001;display:block;margin:4px 0;background-color:#fff;border-radius:var(--evo-autocomplete-panel-border-radius);box-shadow:var(--evo-autocomplete-panel-shadow);overflow:hidden}evo-autocomplete .evo-autocomplete .ng-dropdown-panel.ng-select-top{bottom:100%}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items{max-height:var(--evo-dropdown-max-height, 310px)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{overflow:var(--evo-autocomplete-option-overflow);white-space:var(--evo-autocomplete-option-white-space);text-overflow:var(--evo-autocomplete-option-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{overflow:var(--evo-autocomplete-optgroup-overflow);white-space:var(--evo-autocomplete-optgroup-white-space);text-overflow:var(--evo-autocomplete-optgroup-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:16px;background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{background-color:#c6c6c6;border:6px solid #FFFFFF;border-radius:16px}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-button{display:none}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper .ng-arrow{display:block;width:24px;height:24px;background-color:var(--evo-autocomplete-arrow-icon-color);-webkit-mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');background-position:center;transition:transform .25s}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg);transform-origin:center center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused{z-index:11}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-select-container{box-shadow:0 0 2px #91b1b8}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-clearable .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-height: 32px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-font-size: 14px;--evo-input-height: 40px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-value-icon{display:none}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-input{display:none}evo-autocomplete .evo-autocomplete .ng-select.ng-select-focused .ng-select-container,evo-autocomplete .evo-autocomplete .ng-select.ng-select-opened .ng-select-container{border:solid 1px #74706F}evo-autocomplete .evo-autocomplete.evo-autocomplete_touched.evo-autocomplete_invalid .ng-select:not(.ng-select-opened) .ng-select-container{border-color:#ff1817!important}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container .ng-arrow{opacity:.3}evo-autocomplete .evo-autocomplete .ng-input>input[readonly]{-webkit-user-select:auto!important;user-select:auto!important}\n"] }]
1628
+ args: [{ selector: 'evo-autocomplete', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, standalone: true, imports: [EvoUiClassDirective, NgSelectModule, FormsModule, NgTemplateOutlet, NgIf, EvoControlErrorModule], template: "<div class=\"evo-autocomplete\" [evoUiClass]=\"classes\">\n <ng-select\n [items]=\"items\"\n [bindLabel]=\"bindLabel\"\n [bindValue]=\"bindValue\"\n [markFirst]=\"markFirst\"\n [placeholder]=\"placeholder\"\n [notFoundText]=\"notFoundText\"\n [typeToSearchText]=\"typeToSearchText\"\n [addTagText]=\"addTagText\"\n [loadingText]=\"loadingText\"\n [clearAllText]=\"clearAllText\"\n [dropdownPosition]=\"dropdownPosition\"\n [appendTo]=\"appendTo\"\n [loading]=\"loading\"\n [closeOnSelect]=\"closeOnSelect\"\n [hideSelected]=\"hideSelected\"\n [selectOnTab]=\"selectOnTab\"\n [openOnEnter]=\"openOnEnter\"\n [maxSelectedItems]=\"maxSelectedItems\"\n [groupBy]=\"groupBy\"\n [groupValue]=\"groupValue\"\n [bufferAmount]=\"bufferAmount\"\n [virtualScroll]=\"virtualScroll\"\n [selectableGroup]=\"selectableGroup\"\n [selectableGroupAsModel]=\"selectableGroupAsModel\"\n [searchFn]=\"searchFn\"\n [clearOnBackspace]=\"clearOnBackspace\"\n [typeahead]=\"typeahead\"\n [multiple]=\"multiple || multipleInline\"\n [addTag]=\"addTag\"\n [searchable]=\"searchable\"\n [clearable]=\"clearable\"\n [isOpen]=\"isOpen\"\n [editableSearchTerm]=\"editQuery\"\n [disabled]=\"control.disabled\"\n [compareWith]=\"compareWith\"\n [(ngModel)]=\"value\"\n (blur)=\"onBlur($event)\"\n (focus)=\"onFocus($event)\"\n (change)=\"changeEvent.emit($event)\"\n (open)=\"openEvent.emit($event)\"\n (close)=\"closeEvent.emit($event)\"\n (search)=\"searchEvent.emit($event)\"\n (clear)=\"clearEvent.emit($event)\"\n (add)=\"addEvent.emit($event)\"\n (remove)=\"removeEvent.emit($event)\"\n (scroll)=\"scrollEvent.emit($event)\"\n (scrollToEnd)=\"scrollToEndEvent.emit($event)\"\n >\n <!-- Selected Item Template -->\n @if (labelTemp) {\n <ng-template ng-label-tmp let-item=\"item\">\n <ng-template *ngTemplateOutlet=\"labelTemp; context: {item: item}\" />\n </ng-template>\n }\n\n <!-- Overall Label For All Selected Items Template -->\n @if (multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\" let-clear=\"clear\">\n <div class=\"evo-autocomplete__label\">\n <ng-template *ngTemplateOutlet=\"multiLabelTemp; context: {items: items, clear: clear}\" />\n </div>\n </ng-template>\n }\n @if (headerTemp) {\n <!-- Options header template -->\n <ng-template ng-header-tmp>\n <ng-template *ngTemplateOutlet=\"headerTemp; context: {items: items}\" />\n </ng-template>\n }\n\n <!-- Option Template -->\n @if (optionTemp) {\n <ng-template ng-option-tmp let-item=\"item\" let-index=\"index\" let-search=\"searchTerm\" let-item$=\"item$\">\n <ng-template\n *ngTemplateOutlet=\"\n optionTemp;\n context: {item: item, index: index, searchTerm: search, item$: item$}\n \"\n />\n </ng-template>\n }\n\n @if (multipleInline && !multiLabelTemp) {\n <ng-template ng-multi-label-tmp let-items=\"items\">\n <div class=\"ng-value evo-autocomplete__label\">{{ getMultipleInlineItemsLabels(items) }}</div>\n </ng-template>\n }\n\n @if (optgroupTemp) {\n <!-- Options group template -->\n <ng-template ng-optgroup-tmp let-item=\"item\" let-index=\"index\">\n <ng-template *ngTemplateOutlet=\"optgroupTemp; context: {item: item, index: index}\" />\n </ng-template>\n }\n\n <!-- Search Text Templates -->\n <ng-template ng-typetosearch-tmp>\n @if (typeToSearchText) {\n <div class=\"ng-option disabled\">{{ typeToSearchText }}</div>\n }\n </ng-template>\n <ng-template ng-loadingtext-tmp let-searchTerm=\"searchTerm\">\n <div class=\"ng-option disabled\">{{ loadingText }}</div>\n </ng-template>\n\n @if (notFoundTemp) {\n <ng-template ng-notfound-tmp let-searchTerm=\"searchTerm\">\n <ng-template *ngTemplateOutlet=\"notFoundTemp; context: {searchTerm: searchTerm}\" />\n </ng-template>\n } @else {\n <ng-template ng-notfound-tmp>\n <div class=\"ng-option disabled\">{{ notFoundText }}</div>\n </ng-template>\n }\n\n @if (footerTemp) {\n <!-- Options footer template -->\n <ng-template ng-footer-tmp>\n <ng-template *ngTemplateOutlet=\"footerTemp; context: {items: items}\" />\n </ng-template>\n }\n </ng-select>\n\n @if (hasErrors && errorsMessages) {\n <evo-control-error [errors]=\"control.errors\" [errorsMessages]=\"errorsMessages\" />\n }\n</div>\n", styles: ["@keyframes evo-fx-blink{50%{transform:scale(1);opacity:1}to{opacity:0}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes gradient{0%{background-position:0 50%}50%{background-position:50vw 50%}to{background-position:100vw 50%}}evo-autocomplete{--evo-dropdown-max-height: 310px;--evo-autocomplete-option-overflow: hidden;--evo-autocomplete-option-text-overflow: ellipsis;--evo-autocomplete-option-white-space: normal;--evo-autocomplete-optgroup-overflow: hidden;--evo-autocomplete-optgroup-text-overflow: ellipsis;--evo-autocomplete-optgroup-white-space: nowrap;--evo-autocomplete-arrow-icon-color: #212121;--evo-autocomplete-option-v-padding: 12px;--evo-autocomplete-option-h-padding: 16px;--evo-autocomplete-panel-border-radius: 8px;--evo-autocomplete-panel-shadow: 0px 8px 10px rgba(0, 0, 0, .14), 0px 3px 14px rgba(0, 0, 0, .12)}evo-autocomplete .evo-autocomplete{--inner-input-padding-right: 40px;position:relative;display:block}evo-autocomplete .evo-autocomplete ng-select[ng-reflect-clearable=false]{--inner-input-padding-right: 16px}evo-autocomplete .evo-autocomplete__icon{display:block;flex:0 0 24px;width:24px;height:24px}evo-autocomplete .evo-autocomplete__icon_clear{position:absolute;top:12px;right:12px;z-index:1001;cursor:pointer;transition:fill .3s;fill:#91b1b8}evo-autocomplete .evo-autocomplete__icon_clear:hover{fill:#a7c1c6}evo-autocomplete .evo-autocomplete__icon_clear:active{fill:#829fa6}evo-autocomplete .evo-autocomplete__icon_dropdown{fill:#212121}evo-autocomplete .evo-autocomplete .ng-input{padding:0 var(--inner-input-padding-right) 0 16px}evo-autocomplete .evo-autocomplete .ng-placeholder{color:#9b9b9b}evo-autocomplete .evo-autocomplete .ng-value-container{align-items:center;min-width:0;overflow:hidden}evo-autocomplete .evo-autocomplete__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}evo-autocomplete .evo-autocomplete .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s;position:relative;align-items:center;margin:0;padding:0 12px 0 16px;line-height:var(--evo-input-height)}evo-autocomplete .evo-autocomplete .ng-select-container.ng-has-value .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center;color:#91b1b8;transition:color .3s}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:hover{color:#a7c1c6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper:active{color:#829fa6}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear{display:none}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched{display:block;cursor:pointer}evo-autocomplete .evo-autocomplete .ng-select .ng-clear-wrapper .ng-clear_patched svg{display:block;fill:currentColor}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader{display:flex;justify-content:center;align-items:center;width:16px;height:100%;margin:0 0 0 8px;border:none;transform:none;animation:none}evo-autocomplete .evo-autocomplete .ng-select .ng-spinner-loader:before{content:\"\";display:block;flex:0 0 16px;width:16px;height:16px;border:2px solid #C6C6C6;border-top-color:#21c68b;border-radius:50%;animation:spin .8s linear infinite}evo-autocomplete .evo-autocomplete .ng-optgroup{font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer;font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:600}evo-autocomplete .evo-autocomplete .ng-optgroup evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-optgroup.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete .ng-option{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #FFFFFF;display:flex;align-items:center;min-height:48px;white-space:normal;color:var(--inner-option-text-color);background-color:var(--inner-option-background);padding:var(--evo-autocomplete-option-v-padding) var(--evo-autocomplete-option-h-padding);cursor:pointer}evo-autocomplete .evo-autocomplete .ng-option evo-autocomplete-default-option{--evo-autocomplete-default-option-background: var(--inner-option-background);--evo-autocomplete-default-option-text-color: var(--inner-option-text-color);--evo-autocomplete-default-option-description-color: var(--inner-option-description-color)}evo-autocomplete .evo-autocomplete .ng-option.ng-option-marked{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-option.ng-option-disabled{--inner-option-text-color: #C6C6C6;--inner-option-description-color: #C6C6C6;--inner-option-background: #FFFFFF;cursor:default}evo-autocomplete .evo-autocomplete .ng-option.ng-option-selected{--inner-option-text-color: #212121;--inner-option-description-color: #9B9B9B;--inner-option-background: #E1ECEF}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single:not(.ng-select-focused) .ng-select-container .ng-value-container .ng-value{visibility:visible}evo-autocomplete .evo-autocomplete_is-edit-query .ng-select.ng-select-single.ng-select-focused .ng-select-container .ng-value-container .ng-value{visibility:var(--evo-autocomplete-option-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel{z-index:3001;display:block;margin:4px 0;background-color:#fff;border-radius:var(--evo-autocomplete-panel-border-radius);box-shadow:var(--evo-autocomplete-panel-shadow);overflow:hidden}evo-autocomplete .evo-autocomplete .ng-dropdown-panel.ng-select-top{bottom:100%}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items{max-height:var(--evo-dropdown-max-height, 310px)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-option{overflow:var(--evo-autocomplete-option-overflow);white-space:var(--evo-autocomplete-option-white-space);text-overflow:var(--evo-autocomplete-option-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items .ng-optgroup{overflow:var(--evo-autocomplete-optgroup-overflow);white-space:var(--evo-autocomplete-optgroup-white-space);text-overflow:var(--evo-autocomplete-optgroup-text-overflow)}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar{width:16px;background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-track{background-color:transparent}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-thumb{background-color:#c6c6c6;border:6px solid #FFFFFF;border-radius:16px}evo-autocomplete .evo-autocomplete .ng-dropdown-panel .ng-dropdown-panel-items::-webkit-scrollbar-button{display:none}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper{display:inline-flex;align-items:center;width:24px;height:100%;margin:0 0 0 16px;padding:0;text-align:center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-arrow-wrapper .ng-arrow{display:block;width:24px;height:24px;background-color:var(--evo-autocomplete-arrow-icon-color);-webkit-mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');mask-image:url('data:image/svg+xml,<svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">%0A <path d=\"M8.81066 10C8.14248 10 7.80786 10.8079 8.28033 11.2803L11.4697 14.4697C11.7626 14.7626 12.2374 14.7626 12.5303 14.4697L15.7197 11.2803C16.1921 10.8079 15.8575 10 15.1893 10H8.81066Z\" />%0A</svg>%0A');background-position:center;transition:transform .25s}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select.ng-select-opened .ng-arrow{transform:rotate(180deg);transform-origin:center center}evo-autocomplete .evo-autocomplete_is-selectbox .ng-select .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused{z-index:11}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-placeholder{display:none}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-focused .ng-select-container{box-shadow:0 0 2px #91b1b8}evo-autocomplete .evo-autocomplete_is-selectbox.ng-select-clearable .ng-input{padding-right:32px}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-default.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-height: 32px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-normal .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_theme-rounded.evo-autocomplete_size-small .ng-select-container{--evo-input-height: 48px;--evo-input-border-radius: 4px;--evo-input-font-size: 16px;--evo-input-font-size: 14px;--evo-input-height: 40px;--evo-input-border-radius: 256px;display:flex;align-items:center;height:var(--evo-input-height);color:#212121;font-weight:400;font-size:var(--evo-input-font-size);font-family:var(--evo-font);white-space:nowrap;background-color:#fff;border:1px solid #C6C6C6;border-radius:var(--evo-input-border-radius);outline:none;transition:color .3s,box-shadow .3s,background .3s,border .3s}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-value-icon{display:none}evo-autocomplete .evo-autocomplete_is-multiple-inline .ng-select .ng-select-container .ng-input{display:none}evo-autocomplete .evo-autocomplete .ng-select-multiple .ng-option-selected{--inner-option-background: #FFFFFF}evo-autocomplete .evo-autocomplete .ng-select-multiple .ng-option-selected.ng-option-marked{--inner-option-background: #F4F6F8}evo-autocomplete .evo-autocomplete .ng-select.ng-select-focused .ng-select-container,evo-autocomplete .evo-autocomplete .ng-select.ng-select-opened .ng-select-container{border:solid 1px #74706F}evo-autocomplete .evo-autocomplete.evo-autocomplete_touched.evo-autocomplete_invalid .ng-select:not(.ng-select-opened) .ng-select-container{border-color:#ff1817!important}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container{color:#b0b0b0!important;background-color:#f9fafb!important;border:1px solid #E3E3E3!important;cursor:default;pointer-events:none}evo-autocomplete .evo-autocomplete.evo-autocomplete_disabled .ng-select-container .ng-arrow{opacity:.3}evo-autocomplete .evo-autocomplete .ng-input>input[readonly]{-webkit-user-select:auto!important;user-select:auto!important}\n"] }]
1630
1629
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i1$2.NgControl }, { type: EvoIconService }, { type: i1$1.DomSanitizer }, { type: undefined, decorators: [{
1631
1630
  type: Inject,
1632
1631
  args: [EVO_ICON_RESOLVER]
@@ -1878,11 +1877,11 @@ class EvoAutocompleteDefaultOptionComponent {
1878
1877
  }
1879
1878
  }
1880
1879
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoAutocompleteDefaultOptionComponent, deps: [{ token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
1881
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoAutocompleteDefaultOptionComponent, isStandalone: true, selector: "evo-autocomplete-default-option", inputs: { hasCheckbox: "hasCheckbox", label: "label", description: "description", isDisabled: "isDisabled", isSelected: "isSelected" }, host: { properties: { "class.has-checkbox": "this.hasCheckboxClass" } }, ngImport: i0, template: "@if (hasCheckbox) {\n <div class=\"option option_has-checkbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >\n {{ label }}\n </evo-checkbox>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n} @else {\n <div class=\"option\">\n <div class=\"option__label\">{{ label }}</div>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n}\n", styles: [":host{display:block;color:inherit;white-space:var(--evo-autocomplete-option-white-space, nowrap);--evo-autocomplete-default-option-text-color: #212121;--evo-autocomplete-default-option-description-color: #9B9B9B;--evo-autocomplete-default-option-background: #FFFFFF}.option{position:relative;z-index:1;color:var(--evo-autocomplete-default-option-text-color);background:var(--evo-autocomplete-default-option-background)}.option__label{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;display:block;margin-bottom:0;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-text-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option__description{font-family:var(--evo-font);font-style:normal;font-size:12px;line-height:18px;font-weight:400;display:block;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-description-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option evo-checkbox{color:var(--evo-autocomplete-default-option-text-color)}.option evo-checkbox+.option__description{padding-left:32px}\n"], dependencies: [{ kind: "ngmodule", type: EvoCheckboxModule }, { kind: "component", type: EvoCheckboxComponent, selector: "evo-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1880
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoAutocompleteDefaultOptionComponent, isStandalone: true, selector: "evo-autocomplete-default-option", inputs: { hasCheckbox: "hasCheckbox", label: "label", description: "description", isDisabled: "isDisabled", isSelected: "isSelected" }, host: { properties: { "class.has-checkbox": "this.hasCheckboxClass" } }, ngImport: i0, template: "@if (hasCheckbox) {\n <div class=\"option option_has-checkbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >\n {{ label }}\n </evo-checkbox>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n} @else {\n <div class=\"option\">\n <div class=\"option__label\">{{ label }}</div>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n}\n", styles: [":host{display:block;color:inherit;white-space:var(--evo-autocomplete-option-white-space, normal);--evo-autocomplete-default-option-text-color: #212121;--evo-autocomplete-default-option-description-color: #9B9B9B;--evo-autocomplete-default-option-background: #FFFFFF}.option{position:relative;z-index:1;color:var(--evo-autocomplete-default-option-text-color);background:var(--evo-autocomplete-default-option-background)}.option__label{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;display:block;margin-bottom:0;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-text-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option__description{font-family:var(--evo-font);font-style:normal;font-size:12px;line-height:18px;font-weight:400;display:block;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-description-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option evo-checkbox{color:var(--evo-autocomplete-default-option-text-color)}.option evo-checkbox+.option__description{padding-left:32px}\n"], dependencies: [{ kind: "ngmodule", type: EvoCheckboxModule }, { kind: "component", type: EvoCheckboxComponent, selector: "evo-checkbox", inputs: ["indeterminate"], outputs: ["indeterminateChange"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1$2.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$2.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
1882
1881
  }
1883
1882
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoAutocompleteDefaultOptionComponent, decorators: [{
1884
1883
  type: Component,
1885
- args: [{ selector: 'evo-autocomplete-default-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [EvoCheckboxModule, FormsModule], template: "@if (hasCheckbox) {\n <div class=\"option option_has-checkbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >\n {{ label }}\n </evo-checkbox>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n} @else {\n <div class=\"option\">\n <div class=\"option__label\">{{ label }}</div>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n}\n", styles: [":host{display:block;color:inherit;white-space:var(--evo-autocomplete-option-white-space, nowrap);--evo-autocomplete-default-option-text-color: #212121;--evo-autocomplete-default-option-description-color: #9B9B9B;--evo-autocomplete-default-option-background: #FFFFFF}.option{position:relative;z-index:1;color:var(--evo-autocomplete-default-option-text-color);background:var(--evo-autocomplete-default-option-background)}.option__label{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;display:block;margin-bottom:0;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-text-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option__description{font-family:var(--evo-font);font-style:normal;font-size:12px;line-height:18px;font-weight:400;display:block;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-description-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option evo-checkbox{color:var(--evo-autocomplete-default-option-text-color)}.option evo-checkbox+.option__description{padding-left:32px}\n"] }]
1884
+ args: [{ selector: 'evo-autocomplete-default-option', changeDetection: ChangeDetectionStrategy.OnPush, standalone: true, imports: [EvoCheckboxModule, FormsModule], template: "@if (hasCheckbox) {\n <div class=\"option option_has-checkbox\">\n <evo-checkbox\n [ngModel]=\"isSelected\"\n [ngModelOptions]=\"{standalone: true}\"\n [disabled]=\"isDisabled\"\n (click)=\"onCheckboxClick($event)\"\n (change)=\"onCheckboxClick($event)\"\n (ngModelChange)=\"onSelectedChange($event)\"\n >\n {{ label }}\n </evo-checkbox>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n} @else {\n <div class=\"option\">\n <div class=\"option__label\">{{ label }}</div>\n\n @if (description) {\n <div class=\"option__description\">{{ description }}</div>\n }\n </div>\n}\n", styles: [":host{display:block;color:inherit;white-space:var(--evo-autocomplete-option-white-space, normal);--evo-autocomplete-default-option-text-color: #212121;--evo-autocomplete-default-option-description-color: #9B9B9B;--evo-autocomplete-default-option-background: #FFFFFF}.option{position:relative;z-index:1;color:var(--evo-autocomplete-default-option-text-color);background:var(--evo-autocomplete-default-option-background)}.option__label{font-family:var(--evo-font);font-style:normal;font-size:14px;line-height:24px;font-weight:400;display:block;margin-bottom:0;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-text-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option__description{font-family:var(--evo-font);font-style:normal;font-size:12px;line-height:18px;font-weight:400;display:block;overflow:var(--evo-autocomplete-option-overflow, hidden);color:var(--evo-autocomplete-default-option-description-color);text-overflow:var(--evo-autocomplete-option-text-overflow, ellipsis)}.option evo-checkbox{color:var(--evo-autocomplete-default-option-text-color)}.option evo-checkbox+.option__description{padding-left:32px}\n"] }]
1886
1885
  }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }], propDecorators: { hasCheckbox: [{
1887
1886
  type: Input
1888
1887
  }], label: [{
@@ -3363,31 +3362,255 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
3363
3362
  }]
3364
3363
  }] });
3365
3364
 
3365
+ const EVO_MODAL_CONFIG = new InjectionToken('EVO_MODAL_CONFIG');
3366
+ // Root ID
3367
+ const EVO_MODAL_DEFAULT_ROOT_ID = 'EVO_MODAL_ROOT_ID';
3368
+ const EVO_MODAL_ROOT_ID = new InjectionToken('EvoModal default root ID');
3369
+ // Config
3370
+ const EVO_MODAL_DEFAULT_CONFIG = {
3371
+ host: 'body',
3372
+ };
3373
+ // Modal Data
3374
+ const EVO_MODAL_DATA = new InjectionToken('EVO_MODAL_DATA');
3375
+
3376
+ class EvoPortalOutlet {
3377
+ constructor(injector, viewContainerRef) {
3378
+ this.injector = injector;
3379
+ this.viewContainerRef = viewContainerRef;
3380
+ }
3381
+ }
3382
+
3383
+ // eslint-disable-next-line:max-line-length
3384
+ class EvoAbstractPortal {
3385
+ }
3386
+ class EvoPortalService {
3387
+ constructor(appRef, injector, cfr) {
3388
+ this.appRef = appRef;
3389
+ this.injector = injector;
3390
+ this.cfr = cfr;
3391
+ }
3392
+ // eslint-disable-next-line
3393
+ attachComponent(portal, host, injector) {
3394
+ if (host instanceof EvoPortalOutlet) {
3395
+ return this.attachToHost(portal, host, injector);
3396
+ }
3397
+ else {
3398
+ return this.attachToDomElement(portal, host, injector);
3399
+ }
3400
+ }
3401
+ // eslint-disable-next-line
3402
+ attachToDomElement(portal, elementOrSelector, injector) {
3403
+ let element;
3404
+ if (this.isElementSelector(elementOrSelector)) {
3405
+ element = document.querySelector(elementOrSelector);
3406
+ if (!element) {
3407
+ this.errNotFoundBySelector(elementOrSelector);
3408
+ }
3409
+ }
3410
+ else if (this.isHTMLElement(elementOrSelector)) {
3411
+ element = elementOrSelector;
3412
+ }
3413
+ // TODO: rewrite without deprecated ComponentFactoryResolver
3414
+ const factory = this.cfr.resolveComponentFactory(portal);
3415
+ const compRef = factory.create(injector || this.injector);
3416
+ this.appRef.attachView(compRef.hostView);
3417
+ element.appendChild(this.getRootNode(compRef));
3418
+ return compRef;
3419
+ }
3420
+ // eslint-disable-next-line
3421
+ attachToHost(portal, portalHost, injector) {
3422
+ const factory = this.cfr.resolveComponentFactory(portal);
3423
+ return portalHost.viewContainerRef.createComponent(factory, portalHost.viewContainerRef.length, injector || portalHost.injector);
3424
+ }
3425
+ // eslint-disable-next-line
3426
+ attachTemplate(template, host, context) {
3427
+ if (host instanceof EvoPortalOutlet) {
3428
+ return host.viewContainerRef.createEmbeddedView(template, context, host.viewContainerRef.length);
3429
+ }
3430
+ else if (this.isHTMLElement(host)) {
3431
+ return this.attachTemplateToElement(template, host, context);
3432
+ }
3433
+ else {
3434
+ const hostEl = document.querySelector(host);
3435
+ if (!hostEl) {
3436
+ this.errNotFoundBySelector(host);
3437
+ return;
3438
+ }
3439
+ return this.attachTemplateToElement(template, hostEl, context);
3440
+ }
3441
+ }
3442
+ // eslint-disable-next-line
3443
+ detach(portal) {
3444
+ portal.destroy();
3445
+ }
3446
+ attachTemplateToElement(template, element, context) {
3447
+ const viewRef = template.createEmbeddedView(context);
3448
+ this.appRef.attachView(viewRef);
3449
+ element.appendChild(viewRef.rootNodes[0]);
3450
+ return viewRef;
3451
+ }
3452
+ // eslint-disable-next-line
3453
+ getRootNode(ref) {
3454
+ if (ref instanceof ComponentRef) {
3455
+ // eslint-disable-next-line
3456
+ return ref.hostView.rootNodes[0];
3457
+ }
3458
+ else {
3459
+ return ref.rootNodes[0];
3460
+ }
3461
+ }
3462
+ // eslint-disable-next-line
3463
+ isElementSelector(selector) {
3464
+ return selector && typeof selector === 'string' && !!selector.trim().length;
3465
+ }
3466
+ // eslint-disable-next-line
3467
+ isHTMLElement(element) {
3468
+ return element && (element instanceof Element || element instanceof HTMLDocument);
3469
+ }
3470
+ errNotFoundBySelector(selector) {
3471
+ throw new Error(`Element with selector '${selector}' not found`);
3472
+ }
3473
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
3474
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalService }); }
3475
+ }
3476
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalService, decorators: [{
3477
+ type: Injectable
3478
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }] });
3479
+
3480
+ class EvoPortalOutletDirective extends EvoPortalOutlet {
3481
+ constructor(injector, viewContainerRef) {
3482
+ super(injector, viewContainerRef);
3483
+ this.injector = injector;
3484
+ this.viewContainerRef = viewContainerRef;
3485
+ }
3486
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalOutletDirective, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3487
+ static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.10", type: EvoPortalOutletDirective, isStandalone: true, selector: "[evoPortalOutlet]", usesInheritance: true, ngImport: i0 }); }
3488
+ }
3489
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalOutletDirective, decorators: [{
3490
+ type: Directive,
3491
+ args: [{
3492
+ selector: '[evoPortalOutlet]',
3493
+ standalone: true,
3494
+ }]
3495
+ }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ViewContainerRef }] });
3496
+
3497
+ class EvoPortalModule {
3498
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3499
+ static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, imports: [EvoPortalOutletDirective], exports: [EvoPortalOutletDirective] }); }
3500
+ static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, providers: [EvoPortalService] }); }
3501
+ }
3502
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, decorators: [{
3503
+ type: NgModule,
3504
+ args: [{
3505
+ imports: [EvoPortalOutletDirective],
3506
+ providers: [EvoPortalService],
3507
+ exports: [EvoPortalOutletDirective],
3508
+ }]
3509
+ }] });
3510
+
3511
+ class EvoModalPortal extends EvoPortalService {
3512
+ constructor(appRef, injector, cfr) {
3513
+ super(appRef, injector, cfr);
3514
+ this.appRef = appRef;
3515
+ this.injector = injector;
3516
+ this.cfr = cfr;
3517
+ }
3518
+ attach(host) {
3519
+ this.attachedPortal = this.attachComponent(EvoModalComponent, host, this.injector);
3520
+ this.attachedPortal.changeDetectorRef.detectChanges();
3521
+ }
3522
+ detach() {
3523
+ super.detach(this.attachedPortal);
3524
+ this.attachedPortal = null;
3525
+ }
3526
+ hasAttachedPortal() {
3527
+ return !!this.attachedPortal;
3528
+ }
3529
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalPortal, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
3530
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalPortal }); }
3531
+ }
3532
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalPortal, decorators: [{
3533
+ type: Injectable
3534
+ }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }] });
3535
+
3536
+ function isDynamicModalParams(params) {
3537
+ return params && !isConfiguredModalParams(params) && params?.hasOwnProperty('component');
3538
+ }
3539
+ function isConfiguredModalParams(params) {
3540
+ return params &&
3541
+ (params.hasOwnProperty('titleText') ||
3542
+ params.hasOwnProperty('acceptText') ||
3543
+ params.hasOwnProperty('declineText') ||
3544
+ params.hasOwnProperty('acceptButtonColor') ||
3545
+ params.hasOwnProperty('acceptButtonTheme') ||
3546
+ params.hasOwnProperty('declineButtonColor') ||
3547
+ params.hasOwnProperty('declineButtonTheme') ||
3548
+ params.hasOwnProperty('asyncAccept'));
3549
+ }
3550
+ function isConfiguredTemplateModalParams(params) {
3551
+ return params && isConfiguredModalParams(params) && params.hasOwnProperty('template');
3552
+ }
3553
+ function isConfiguredComponentModalParams(params) {
3554
+ return params && isConfiguredModalParams(params) && params.hasOwnProperty('component');
3555
+ }
3556
+
3366
3557
  class EvoModalService {
3367
3558
  constructor() {
3559
+ this.portal = inject(EvoModalPortal);
3560
+ this.config = inject(EVO_MODAL_CONFIG);
3561
+ this.evoModalRootId = inject(EVO_MODAL_ROOT_ID);
3368
3562
  this.modalEvents$ = new Subject();
3369
- this.registeredModals = {};
3563
+ this.registeredModals = new Map();
3370
3564
  }
3371
3565
  register(id) {
3372
- this.registeredModals[id] = { id, isOpen: false };
3566
+ this.registeredModals.set(id, { id, isOpen: false });
3373
3567
  }
3374
3568
  unregister(id) {
3375
- delete this.registeredModals[id];
3569
+ this.registeredModals.delete(id);
3376
3570
  }
3377
- open(id, params) {
3378
- this.modalEvents$.next({ id, isOpen: true, params });
3571
+ open(idOrParams, params) {
3572
+ if (typeof idOrParams === 'string') {
3573
+ this.modalEvents$.next({ id: idOrParams, isOpen: true, params });
3574
+ }
3575
+ else if (isDynamicModalParams(idOrParams)) {
3576
+ this.openDynamicModal(idOrParams);
3577
+ }
3578
+ else if (isConfiguredModalParams(idOrParams)) {
3579
+ this.openConfiguredModal(idOrParams);
3580
+ }
3379
3581
  }
3380
- close(id, agreement, params) {
3582
+ close(id = this.evoModalRootId, agreement = false, params) {
3381
3583
  this.modalEvents$.next({ id, isOpen: false, agreement, params });
3382
3584
  }
3383
3585
  getEventsSubscription(id) {
3384
- return this.modalEvents$.pipe(filter((data) => data.id === id), distinctUntilChanged((a, b) => isEqual(a, b)), tap((evoModalState) => evoModalState[id]));
3586
+ return this.modalEvents$.pipe(filter(({ id: currentId }) => currentId === id), distinctUntilChanged((a, b) => isEqual(a, b)));
3587
+ }
3588
+ openDynamicModal(params) {
3589
+ this.attachPortal();
3590
+ this.modalEvents$.next({ id: this.evoModalRootId, isOpen: true, params });
3591
+ }
3592
+ openConfiguredModal(idOrParams) {
3593
+ this.attachPortal();
3594
+ this.modalEvents$.next({ id: this.evoModalRootId, isOpen: true, params: idOrParams });
3595
+ }
3596
+ cleanupDefaultHost() {
3597
+ if (!this.portal.hasAttachedPortal()) {
3598
+ return;
3599
+ }
3600
+ this.portal.detach();
3601
+ }
3602
+ attachPortal() {
3603
+ if (this.portal.hasAttachedPortal()) {
3604
+ return;
3605
+ }
3606
+ this.portal.attach(this.config.host);
3385
3607
  }
3386
3608
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); }
3387
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalService }); }
3609
+ static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalService, providedIn: 'root' }); }
3388
3610
  }
3389
3611
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalService, decorators: [{
3390
- type: Injectable
3612
+ type: Injectable,
3613
+ args: [{ providedIn: 'root' }]
3391
3614
  }] });
3392
3615
 
3393
3616
  var EvoModalCloseTargets;
@@ -3397,117 +3620,198 @@ var EvoModalCloseTargets;
3397
3620
  EvoModalCloseTargets["DEFAULT"] = "default";
3398
3621
  EvoModalCloseTargets["ESC"] = "escape";
3399
3622
  })(EvoModalCloseTargets || (EvoModalCloseTargets = {}));
3400
- class EvoModalComponent {
3401
- get id() {
3402
- return this._id;
3623
+
3624
+ class EvoModalDrawingStrategy {
3625
+ }
3626
+
3627
+ class EvoDynamicModalDrawingStrategy extends EvoModalDrawingStrategy {
3628
+ draw(params) {
3629
+ this.isDynamicContent.set(true);
3630
+ this.clearView();
3631
+ this.insertComponent(params);
3403
3632
  }
3404
- set id(id) {
3405
- if (id) {
3406
- this._id = id;
3407
- this.modalService.register(id);
3408
- }
3409
- else {
3410
- throw new Error("EvoModal. Can't be registered, wrong id passed");
3411
- }
3633
+ }
3634
+
3635
+ class EvoConfiguredModalDrawingStrategy extends EvoModalDrawingStrategy {
3636
+ draw(params) {
3637
+ this.titleText.set(params.titleText);
3638
+ this.acceptText.set(params.acceptText);
3639
+ this.declineText.set(params.declineText);
3640
+ this.acceptButtonColor.update((color) => params.acceptButtonColor || color);
3641
+ this.acceptButtonTheme.update((theme) => params.acceptButtonTheme || theme);
3642
+ this.declineButtonColor.update((color) => params.acceptButtonColor || color);
3643
+ this.declineButtonTheme.update((theme) => params.acceptButtonTheme || theme);
3644
+ this.asyncAccept.set(params.asyncAccept);
3412
3645
  }
3413
- constructor(modalService, elRef) {
3414
- this.modalService = modalService;
3415
- this.elRef = elRef;
3416
- this.declineButtonColor = 'secondary';
3417
- this.declineButtonTheme = 'rounded-outline';
3418
- this.isAcceptLoading = false;
3419
- this.isDeclineDisabled = false;
3420
- this.isVisible = false;
3646
+ }
3647
+
3648
+ class EvoConfiguredComponentModalDrawingStrategy extends EvoConfiguredModalDrawingStrategy {
3649
+ draw(params) {
3650
+ super.draw(params);
3651
+ this.insertComponent(params, 'content');
3652
+ }
3653
+ }
3654
+
3655
+ class EvoConfiguredTemplateModalDrawingStrategy extends EvoConfiguredModalDrawingStrategy {
3656
+ draw(params) {
3657
+ super.draw(params);
3658
+ this.modalContent.set({
3659
+ template: params.template,
3660
+ context: params.data,
3661
+ });
3662
+ }
3663
+ }
3664
+
3665
+ class EvoModalButtonsComponent {
3666
+ constructor() {
3667
+ this.single = input(false);
3668
+ }
3669
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalButtonsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3670
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "17.3.10", type: EvoModalButtonsComponent, isStandalone: true, selector: "evo-modal-buttons, [evo-modal-buttons]", inputs: { single: { classPropertyName: "single", publicName: "single", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "class.evo-modal-buttons_single-btn": "single()" }, classAttribute: "evo-modal-buttons" }, ngImport: i0, template: '<ng-content select="[evoButton]"/>', isInline: true, styles: [".evo-modal-buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:32px;gap:16px}@media (min-width: 768px){.evo-modal-buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));gap:32px;margin:32px auto 0}.evo-modal-buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal-buttons button{display:block;width:100%}@media (min-width: 768px){.evo-modal-buttons button{width:auto}}\n"], encapsulation: i0.ViewEncapsulation.None }); }
3671
+ }
3672
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalButtonsComponent, decorators: [{
3673
+ type: Component,
3674
+ args: [{ selector: 'evo-modal-buttons, [evo-modal-buttons]', standalone: true, imports: [], template: '<ng-content select="[evoButton]"/>', host: {
3675
+ class: 'evo-modal-buttons',
3676
+ '[class.evo-modal-buttons_single-btn]': 'single()',
3677
+ }, encapsulation: ViewEncapsulation.None, styles: [".evo-modal-buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:32px;gap:16px}@media (min-width: 768px){.evo-modal-buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));gap:32px;margin:32px auto 0}.evo-modal-buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal-buttons button{display:block;width:100%}@media (min-width: 768px){.evo-modal-buttons button{width:auto}}\n"] }]
3678
+ }] });
3679
+
3680
+ class EvoModalComponent {
3681
+ constructor() {
3682
+ // eslint-disable-next-line @typescript-eslint/member-ordering
3683
+ this.evoModalRootId = inject(EVO_MODAL_ROOT_ID);
3684
+ this.acceptText = model('');
3685
+ this.acceptButtonColor = model(`success`);
3686
+ this.acceptButtonTheme = model(`rounded-solid`);
3687
+ this.asyncAccept = model(null);
3688
+ this.declineText = model('');
3689
+ this.declineButtonColor = model('secondary');
3690
+ this.declineButtonTheme = model('rounded-outline');
3691
+ this.id = model(this.evoModalRootId);
3692
+ this.titleText = model('');
3693
+ this.contentContainer = viewChild('contentContainer', { read: ViewContainerRef });
3694
+ this.contentContainer$ = toObservable(this.contentContainer);
3695
+ this.drawingStrategy = signal(null);
3696
+ this.isDynamicContent = signal(false);
3697
+ this.isLoading = signal(false);
3698
+ this.isVisible = computed(() => this.modalState()?.isOpen || false);
3699
+ this.modalContainer = viewChild('modalContainer', { read: ViewContainerRef });
3700
+ this.modalContainer$ = toObservable(this.modalContainer);
3701
+ this.modalContent = signal(null);
3702
+ this.modalElement = viewChild('modal', { read: ElementRef });
3703
+ this.modalState = signal(null);
3704
+ this.showButtons = computed(() => this.acceptText() || this.declineText());
3421
3705
  this.closeTargets = EvoModalCloseTargets;
3422
- this.closeTarget = EvoModalCloseTargets.DEFAULT;
3706
+ this.destroyRef = inject(DestroyRef);
3707
+ this.environmentInjector = inject(EnvironmentInjector);
3708
+ this.evoModalService = inject(EvoModalService);
3423
3709
  }
3424
3710
  ngOnInit() {
3711
+ this.evoModalService.register(this.id());
3425
3712
  this.subscribeModalEvents();
3426
3713
  }
3427
3714
  ngOnDestroy() {
3428
- this.modalService.unregister(this.id);
3715
+ this.evoModalService.unregister(this.id());
3429
3716
  }
3430
- onBackgroundClick($event) {
3431
- if (this.declineText &&
3432
- $event &&
3433
- $event.target &&
3434
- !this.elRef.nativeElement.querySelector('.evo-modal').contains($event.target) &&
3435
- this.modalState.isOpen) {
3436
- this.handleOnClose(false, this.closeTargets.BACKGROUND);
3717
+ onAcceptClick() {
3718
+ const asyncAcceptAction = this.asyncAccept()?.();
3719
+ if (!asyncAcceptAction) {
3720
+ return this.close(true, EvoModalCloseTargets.BUTTON);
3437
3721
  }
3722
+ this.isLoading.set(true);
3723
+ asyncAcceptAction.pipe(finalize(() => this.isLoading.set(false)), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.close(true, EvoModalCloseTargets.BUTTON));
3438
3724
  }
3439
- handleOnClose(agreement, closeTarget) {
3440
- this.closeTarget = closeTarget;
3441
- if (agreement === false && this.isDeclineDisabled) {
3442
- return;
3725
+ onBackgroundClick(event) {
3726
+ if (this.canCloseByBackground(event)) {
3727
+ this.close(false, EvoModalCloseTargets.BACKGROUND);
3443
3728
  }
3444
- if (agreement && typeof this.asyncAccept === 'function') {
3445
- const setAsyncStates = (isLoading = false) => {
3446
- this.isDeclineDisabled = isLoading;
3447
- this.isAcceptLoading = isLoading;
3448
- };
3449
- setAsyncStates(true);
3450
- return this.asyncAccept().subscribe(() => {
3451
- setAsyncStates(false);
3452
- this.modalService.close(this.id, agreement, {
3453
- closeTarget: this.closeTarget,
3454
- });
3455
- }, () => {
3456
- setAsyncStates(false);
3457
- });
3729
+ }
3730
+ onDeclineClick() {
3731
+ if (this.isLoading()) {
3732
+ return;
3458
3733
  }
3459
- this.modalService.close(this.id, agreement, {
3460
- closeTarget: this.closeTarget,
3461
- });
3734
+ this.close(false, EvoModalCloseTargets.BUTTON);
3462
3735
  }
3463
- subscribeModalEvents() {
3464
- this.modalService.getEventsSubscription(this.id).subscribe((modalState) => {
3465
- this.modalState = modalState;
3466
- // timeout for modal animation support
3467
- setTimeout(() => {
3468
- this.isVisible = modalState.isOpen;
3469
- });
3470
- if (modalState.isOpen) {
3471
- this.initKeyboardListener();
3472
- }
3736
+ clearView() {
3737
+ this.modalContainer()?.clear();
3738
+ }
3739
+ insertComponent({ data, injector, component }, target = 'modal') {
3740
+ const dynamicComponentRef = createComponent(component, {
3741
+ environmentInjector: this.environmentInjector,
3742
+ elementInjector: Injector.create({
3743
+ providers: [
3744
+ {
3745
+ provide: EVO_MODAL_DATA,
3746
+ useValue: data,
3747
+ },
3748
+ ],
3749
+ parent: injector,
3750
+ }),
3473
3751
  });
3752
+ this.getInsertionContainer(target).pipe(filter$1((container) => !!container), takeUntilDestroyed(this.destroyRef)).subscribe((container) => {
3753
+ container.insert(dynamicComponentRef.hostView);
3754
+ dynamicComponentRef.changeDetectorRef.markForCheck();
3755
+ });
3756
+ }
3757
+ canCloseByBackground(event) {
3758
+ return (this.declineText() || this.isDynamicContent()) &&
3759
+ !this.isLoading() &&
3760
+ this.modalState().isOpen &&
3761
+ event?.target &&
3762
+ !this.modalElement().nativeElement.contains(event.target);
3763
+ }
3764
+ close(agreement, closeTarget) {
3765
+ this.evoModalService.close(this.id(), agreement, { closeTarget });
3766
+ this.clearView();
3767
+ if (this.id() !== this.evoModalRootId) {
3768
+ return;
3769
+ }
3770
+ this.evoModalService.unregister(this.evoModalRootId);
3771
+ this.evoModalService.cleanupDefaultHost();
3772
+ }
3773
+ getInsertionContainer(target) {
3774
+ return target === 'modal' ? this.modalContainer$ : this.contentContainer$;
3474
3775
  }
3475
3776
  initKeyboardListener() {
3476
- return fromEvent(document.body, 'keydown')
3477
- .pipe(takeWhile(() => {
3478
- return this.modalState.isOpen;
3479
- }))
3480
- .subscribe((event) => {
3481
- if (this.declineText && event.keyCode === Key.Escape) {
3482
- this.handleOnClose(false, this.closeTargets.ESC);
3777
+ fromEvent(document.body, 'keydown').pipe(takeWhile(() => this.modalState().isOpen), filter$1((event) => (this.declineText() || this.isDynamicContent()) && event.key === 'Escape'), takeUntilDestroyed(this.destroyRef)).subscribe(() => this.close(false, this.closeTargets.ESC));
3778
+ }
3779
+ setDrawingStrategy(params) {
3780
+ switch (true) {
3781
+ case isDynamicModalParams(params):
3782
+ return this.drawingStrategy.set(new EvoDynamicModalDrawingStrategy());
3783
+ case isConfiguredComponentModalParams(params):
3784
+ return this.drawingStrategy.set(new EvoConfiguredComponentModalDrawingStrategy());
3785
+ case isConfiguredTemplateModalParams(params):
3786
+ return this.drawingStrategy.set(new EvoConfiguredTemplateModalDrawingStrategy());
3787
+ default:
3788
+ return;
3789
+ }
3790
+ }
3791
+ subscribeModalEvents() {
3792
+ this.evoModalService.getEventsSubscription(this.id()).pipe(takeUntilDestroyed(this.destroyRef)).subscribe((modalState) => {
3793
+ this.modalState.set(modalState);
3794
+ if (!modalState.isOpen) {
3795
+ return;
3483
3796
  }
3797
+ this.initKeyboardListener();
3798
+ this.setDrawingStrategy(modalState.params);
3799
+ this.drawingStrategy()?.draw.call(this, modalState.params);
3484
3800
  });
3485
3801
  }
3486
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalComponent, deps: [{ token: EvoModalService }, { token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component }); }
3487
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoModalComponent, isStandalone: true, selector: "evo-modal", inputs: { id: "id", titleText: "titleText", acceptText: "acceptText", acceptButtonColor: "acceptButtonColor", acceptButtonTheme: "acceptButtonTheme", declineText: "declineText", declineButtonColor: "declineButtonColor", declineButtonTheme: "declineButtonTheme", asyncAccept: "asyncAccept" }, ngImport: i0, template: "@if (modalState?.isOpen) {\n <div\n class=\"evo-modal__background\"\n [ngClass]=\"{'evo-modal__background_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n ></div>\n\n <div class=\"evo-modal__wrapper\" [ngClass]=\"{'evo-modal_visible': isVisible}\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\">\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\" />\n </div>\n\n @if (titleText !== undefined) {\n <h2 class=\"evo-modal__title\">{{ titleText }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content />\n </div>\n <div class=\"evo-modal__buttons\" [ngClass]=\"{'evo-modal__buttons_single-btn': !declineText || !acceptText}\">\n @if (declineText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_decline\"\n [color]=\"declineButtonColor\"\n [theme]=\"declineButtonTheme\"\n [disabled]=\"isDeclineDisabled\"\n (click)=\"handleOnClose(false, closeTargets.BUTTON)\"\n >\n {{ declineText }}\n </button>\n }\n\n @if (acceptText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_accept\"\n [color]=\"acceptButtonColor\"\n [theme]=\"acceptButtonTheme\"\n [loading]=\"isAcceptLoading\"\n (click)=\"handleOnClose(true, closeTargets.BUTTON)\"\n >\n {{ acceptText }}\n </button>\n }\n </div>\n </div>\n </div>\n}\n", styles: [".evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:738px;height:auto;max-height:100%;margin-top:50px;padding:56px 0 16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;opacity:0;transition:margin-top .25s,opacity .25s;transition-delay:50ms}.evo-modal_visible .evo-modal{margin-top:0;opacity:1}@media (min-width: 768px){.evo-modal{width:738px;height:auto;padding:32px 0}}.evo-modal__title{margin-top:0;margin-bottom:0;padding-right:32px;padding-left:32px;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;padding-right:16px;padding-left:16px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;padding:0 32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}@media (min-width: 768px){.evo-modal__content{padding:0 16px}}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080;opacity:0;transition:opacity .25s}.evo-modal__background_visible{opacity:1}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}.evo-modal__buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:56px;padding-right:32px;padding-left:32px}@media (min-width: 768px){.evo-modal__buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));grid-column-gap:32px;margin:32px auto 0;padding-right:16px;padding-left:16px}.evo-modal__buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal__button{display:block;width:100%}@media (min-width: 768px){.evo-modal__button{width:auto}}.evo-modal__button+.evo-modal__button{margin:0 0 16px}@media (min-width: 768px){.evo-modal__button+.evo-modal__button{margin:0}}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: EvoButtonComponent, selector: "button[evoButton], a[evoButton]", inputs: ["size", "color", "theme", "disabled", "loading"] }] }); }
3802
+ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
3803
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: EvoModalComponent, isStandalone: true, selector: "evo-modal", inputs: { acceptText: { classPropertyName: "acceptText", publicName: "acceptText", isSignal: true, isRequired: false, transformFunction: null }, acceptButtonColor: { classPropertyName: "acceptButtonColor", publicName: "acceptButtonColor", isSignal: true, isRequired: false, transformFunction: null }, acceptButtonTheme: { classPropertyName: "acceptButtonTheme", publicName: "acceptButtonTheme", isSignal: true, isRequired: false, transformFunction: null }, asyncAccept: { classPropertyName: "asyncAccept", publicName: "asyncAccept", isSignal: true, isRequired: false, transformFunction: null }, declineText: { classPropertyName: "declineText", publicName: "declineText", isSignal: true, isRequired: false, transformFunction: null }, declineButtonColor: { classPropertyName: "declineButtonColor", publicName: "declineButtonColor", isSignal: true, isRequired: false, transformFunction: null }, declineButtonTheme: { classPropertyName: "declineButtonTheme", publicName: "declineButtonTheme", isSignal: true, isRequired: false, transformFunction: null }, id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, titleText: { classPropertyName: "titleText", publicName: "titleText", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { acceptText: "acceptTextChange", acceptButtonColor: "acceptButtonColorChange", acceptButtonTheme: "acceptButtonThemeChange", asyncAccept: "asyncAcceptChange", declineText: "declineTextChange", declineButtonColor: "declineButtonColorChange", declineButtonTheme: "declineButtonThemeChange", id: "idChange", titleText: "titleTextChange" }, viewQueries: [{ propertyName: "contentContainer", first: true, predicate: ["contentContainer"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "modalContainer", first: true, predicate: ["modalContainer"], descendants: true, read: ViewContainerRef, isSignal: true }, { propertyName: "modalElement", first: true, predicate: ["modal"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "@if (isVisible()) {\n <div class=\"evo-modal__background\" (click)=\"onBackgroundClick($event)\"></div>\n\n <div class=\"evo-modal__wrapper\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\" #modal>\n @if (isDynamicContent()) {\n <ng-template #modalContainer/>\n } @else {\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\"/>\n </div>\n\n @if (titleText()) {\n <h2 class=\"evo-modal__title\">{{ titleText() }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content/>\n\n <ng-container *ngTemplateOutlet=\"modalContent()?.template; context: {data: modalContent()?.context}\"/>\n\n <ng-template #contentContainer/>\n </div>\n\n @if (showButtons()) {\n <evo-modal-buttons [single]=\"!declineText() || !acceptText()\">\n @if (declineText()) {\n <button\n class=\"evo-modal__button_decline\"\n evoButton\n [color]=\"declineButtonColor()\"\n [theme]=\"declineButtonTheme()\"\n [disabled]=\"isLoading()\"\n (click)=\"onDeclineClick()\"\n >{{ declineText() }}</button>\n }\n\n @if (acceptText()) {\n <button\n class=\"evo-modal__button_accept\"\n evoButton\n [color]=\"acceptButtonColor()\"\n [theme]=\"acceptButtonTheme()\"\n [loading]=\"isLoading()\"\n (click)=\"onAcceptClick()\"\n >{{ acceptText() }}</button>\n }\n </evo-modal-buttons>\n }\n }\n </div>\n </div>\n}\n", styles: ["@keyframes appearance{0%{opacity:0}to{opacity:1}}.evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:752px;height:auto;max-height:100%;padding:16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;animation:appearance .25s linear}@media (min-width: 768px){.evo-modal{width:752px;height:auto;padding:32px}}.evo-modal__title{margin-top:0;margin-bottom:0;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}\n"], dependencies: [{ kind: "component", type: EvoButtonComponent, selector: "button[evoButton], a[evoButton]", inputs: ["size", "color", "theme", "disabled", "loading"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: EvoModalButtonsComponent, selector: "evo-modal-buttons, [evo-modal-buttons]", inputs: ["single"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
3488
3804
  }
3489
3805
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalComponent, decorators: [{
3490
3806
  type: Component,
3491
- args: [{ selector: 'evo-modal', standalone: true, imports: [NgClass, EvoButtonComponent], template: "@if (modalState?.isOpen) {\n <div\n class=\"evo-modal__background\"\n [ngClass]=\"{'evo-modal__background_visible': isVisible}\"\n (click)=\"onBackgroundClick($event)\"\n ></div>\n\n <div class=\"evo-modal__wrapper\" [ngClass]=\"{'evo-modal_visible': isVisible}\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\">\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\" />\n </div>\n\n @if (titleText !== undefined) {\n <h2 class=\"evo-modal__title\">{{ titleText }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content />\n </div>\n <div class=\"evo-modal__buttons\" [ngClass]=\"{'evo-modal__buttons_single-btn': !declineText || !acceptText}\">\n @if (declineText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_decline\"\n [color]=\"declineButtonColor\"\n [theme]=\"declineButtonTheme\"\n [disabled]=\"isDeclineDisabled\"\n (click)=\"handleOnClose(false, closeTargets.BUTTON)\"\n >\n {{ declineText }}\n </button>\n }\n\n @if (acceptText) {\n <button\n evoButton\n class=\"evo-modal__button evo-modal__button_accept\"\n [color]=\"acceptButtonColor\"\n [theme]=\"acceptButtonTheme\"\n [loading]=\"isAcceptLoading\"\n (click)=\"handleOnClose(true, closeTargets.BUTTON)\"\n >\n {{ acceptText }}\n </button>\n }\n </div>\n </div>\n </div>\n}\n", styles: [".evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:738px;height:auto;max-height:100%;margin-top:50px;padding:56px 0 16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;opacity:0;transition:margin-top .25s,opacity .25s;transition-delay:50ms}.evo-modal_visible .evo-modal{margin-top:0;opacity:1}@media (min-width: 768px){.evo-modal{width:738px;height:auto;padding:32px 0}}.evo-modal__title{margin-top:0;margin-bottom:0;padding-right:32px;padding-left:32px;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;padding-right:16px;padding-left:16px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;padding:0 32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}@media (min-width: 768px){.evo-modal__content{padding:0 16px}}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080;opacity:0;transition:opacity .25s}.evo-modal__background_visible{opacity:1}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}.evo-modal__buttons{display:flex;flex-shrink:0;flex-direction:column-reverse;justify-content:center;align-items:center;width:100%;margin-top:56px;padding-right:32px;padding-left:32px}@media (min-width: 768px){.evo-modal__buttons{display:grid;width:auto;grid-template-columns:repeat(2,minmax(140px,1fr));grid-column-gap:32px;margin:32px auto 0;padding-right:16px;padding-left:16px}.evo-modal__buttons_single-btn{grid-template-columns:minmax(140px,1fr)}}.evo-modal__button{display:block;width:100%}@media (min-width: 768px){.evo-modal__button{width:auto}}.evo-modal__button+.evo-modal__button{margin:0 0 16px}@media (min-width: 768px){.evo-modal__button+.evo-modal__button{margin:0}}\n"] }]
3492
- }], ctorParameters: () => [{ type: EvoModalService }, { type: i0.ElementRef }], propDecorators: { id: [{
3493
- type: Input
3494
- }], titleText: [{
3495
- type: Input
3496
- }], acceptText: [{
3497
- type: Input
3498
- }], acceptButtonColor: [{
3499
- type: Input
3500
- }], acceptButtonTheme: [{
3501
- type: Input
3502
- }], declineText: [{
3503
- type: Input
3504
- }], declineButtonColor: [{
3505
- type: Input
3506
- }], declineButtonTheme: [{
3507
- type: Input
3508
- }], asyncAccept: [{
3509
- type: Input
3510
- }] } });
3807
+ args: [{ selector: 'evo-modal', standalone: true, imports: [
3808
+ EvoButtonComponent,
3809
+ EvoUiClassDirective,
3810
+ NgIf,
3811
+ NgTemplateOutlet,
3812
+ EvoModalButtonsComponent,
3813
+ ], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (isVisible()) {\n <div class=\"evo-modal__background\" (click)=\"onBackgroundClick($event)\"></div>\n\n <div class=\"evo-modal__wrapper\" (click)=\"onBackgroundClick($event)\">\n <div class=\"evo-modal\" #modal>\n @if (isDynamicContent()) {\n <ng-template #modalContainer/>\n } @else {\n <div class=\"evo-modal__icon\">\n <ng-content select=\"evo-icon\"/>\n </div>\n\n @if (titleText()) {\n <h2 class=\"evo-modal__title\">{{ titleText() }}</h2>\n }\n\n <div class=\"evo-modal__content\">\n <ng-content/>\n\n <ng-container *ngTemplateOutlet=\"modalContent()?.template; context: {data: modalContent()?.context}\"/>\n\n <ng-template #contentContainer/>\n </div>\n\n @if (showButtons()) {\n <evo-modal-buttons [single]=\"!declineText() || !acceptText()\">\n @if (declineText()) {\n <button\n class=\"evo-modal__button_decline\"\n evoButton\n [color]=\"declineButtonColor()\"\n [theme]=\"declineButtonTheme()\"\n [disabled]=\"isLoading()\"\n (click)=\"onDeclineClick()\"\n >{{ declineText() }}</button>\n }\n\n @if (acceptText()) {\n <button\n class=\"evo-modal__button_accept\"\n evoButton\n [color]=\"acceptButtonColor()\"\n [theme]=\"acceptButtonTheme()\"\n [loading]=\"isLoading()\"\n (click)=\"onAcceptClick()\"\n >{{ acceptText() }}</button>\n }\n </evo-modal-buttons>\n }\n }\n </div>\n </div>\n}\n", styles: ["@keyframes appearance{0%{opacity:0}to{opacity:1}}.evo-modal{display:flex;flex-direction:column;justify-content:flex-start;align-items:center;width:100%;max-width:752px;height:auto;max-height:100%;padding:16px;overflow:hidden;text-align:center;background-color:#fff;border-radius:16px;box-shadow:0 0 12px 2px #0000004d;animation:appearance .25s linear}@media (min-width: 768px){.evo-modal{width:752px;height:auto;padding:32px}}.evo-modal__title{margin-top:0;margin-bottom:0;font-weight:700;font-size:16px;line-height:24px}@media (min-width: 768px){.evo-modal__title{width:674px;font-size:24px;line-height:32px}}.evo-modal__icon{margin-bottom:8px}.evo-modal__icon ::ng-deep evo-icon{display:block;width:64px;height:64px}@media (min-width: 768px){.evo-modal__icon{margin-bottom:32px}}.evo-modal__icon:empty{display:none}.evo-modal__content{width:100%;margin-top:32px;overflow:auto;font-size:14px;line-height:22px}.evo-modal__content:empty{display:none;margin-top:0}.evo-modal__content ::ng-deep *:last-child{margin-bottom:0}.evo-modal__background{position:fixed;inset:0;z-index:1010;display:flex;justify-content:center;width:100%;height:100%;background:#00000080}.evo-modal__wrapper{position:fixed;inset:0;z-index:1011;display:flex;justify-content:center;align-items:center;width:100%;padding:16px}@media (min-width: 768px){.evo-modal__wrapper{width:auto}}\n"] }]
3814
+ }] });
3511
3815
 
3512
3816
  class EvoModalModule {
3513
3817
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoModalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
@@ -3523,6 +3827,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
3523
3827
  }]
3524
3828
  }] });
3525
3829
 
3830
+ function provideModal(config = {}) {
3831
+ return makeEnvironmentProviders([
3832
+ EvoModalPortal,
3833
+ {
3834
+ provide: EVO_MODAL_ROOT_ID,
3835
+ useValue: EVO_MODAL_DEFAULT_ROOT_ID,
3836
+ },
3837
+ {
3838
+ provide: EVO_MODAL_CONFIG,
3839
+ useValue: merge$1(EVO_MODAL_DEFAULT_CONFIG, config),
3840
+ },
3841
+ ]);
3842
+ }
3843
+
3526
3844
  class EvoNoteComponent {
3527
3845
  constructor() {
3528
3846
  this.closable = input(false, { transform: booleanAttribute });
@@ -3871,141 +4189,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
3871
4189
  }]
3872
4190
  }] });
3873
4191
 
3874
- class EvoPortalOutlet {
3875
- constructor(injector, viewContainerRef) {
3876
- this.injector = injector;
3877
- this.viewContainerRef = viewContainerRef;
3878
- }
3879
- }
3880
-
3881
- // eslint-disable-next-line:max-line-length
3882
- class EvoAbstractPortal {
3883
- }
3884
- class EvoPortalService {
3885
- constructor(appRef, injector, cfr) {
3886
- this.appRef = appRef;
3887
- this.injector = injector;
3888
- this.cfr = cfr;
3889
- }
3890
- // eslint-disable-next-line
3891
- attachComponent(portal, host, injector) {
3892
- if (host instanceof EvoPortalOutlet) {
3893
- return this.attachToHost(portal, host, injector);
3894
- }
3895
- else {
3896
- return this.attachToDomElement(portal, host, injector);
3897
- }
3898
- }
3899
- // eslint-disable-next-line
3900
- attachToDomElement(portal, elementOrSelector, injector) {
3901
- let element;
3902
- if (this.isElementSelector(elementOrSelector)) {
3903
- element = document.querySelector(elementOrSelector);
3904
- if (!element) {
3905
- this.errNotFoundBySelector(elementOrSelector);
3906
- }
3907
- }
3908
- else if (this.isHTMLElement(elementOrSelector)) {
3909
- element = elementOrSelector;
3910
- }
3911
- // TODO: rewrite without deprecated ComponentFactoryResolver
3912
- const factory = this.cfr.resolveComponentFactory(portal);
3913
- const compRef = factory.create(injector || this.injector);
3914
- this.appRef.attachView(compRef.hostView);
3915
- element.appendChild(this.getRootNode(compRef));
3916
- return compRef;
3917
- }
3918
- // eslint-disable-next-line
3919
- attachToHost(portal, portalHost, injector) {
3920
- const factory = this.cfr.resolveComponentFactory(portal);
3921
- return portalHost.viewContainerRef.createComponent(factory, portalHost.viewContainerRef.length, injector || portalHost.injector);
3922
- }
3923
- // eslint-disable-next-line
3924
- attachTemplate(template, host, context) {
3925
- if (host instanceof EvoPortalOutlet) {
3926
- return host.viewContainerRef.createEmbeddedView(template, context, host.viewContainerRef.length);
3927
- }
3928
- else if (this.isHTMLElement(host)) {
3929
- return this.attachTemplateToElement(template, host, context);
3930
- }
3931
- else {
3932
- const hostEl = document.querySelector(host);
3933
- if (!hostEl) {
3934
- this.errNotFoundBySelector(host);
3935
- return;
3936
- }
3937
- return this.attachTemplateToElement(template, hostEl, context);
3938
- }
3939
- }
3940
- // eslint-disable-next-line
3941
- detach(portal) {
3942
- portal.destroy();
3943
- }
3944
- attachTemplateToElement(template, element, context) {
3945
- const viewRef = template.createEmbeddedView(context);
3946
- this.appRef.attachView(viewRef);
3947
- element.appendChild(viewRef.rootNodes[0]);
3948
- return viewRef;
3949
- }
3950
- // eslint-disable-next-line
3951
- getRootNode(ref) {
3952
- if (ref instanceof ComponentRef) {
3953
- // eslint-disable-next-line
3954
- return ref.hostView.rootNodes[0];
3955
- }
3956
- else {
3957
- return ref.rootNodes[0];
3958
- }
3959
- }
3960
- // eslint-disable-next-line
3961
- isElementSelector(selector) {
3962
- return selector && typeof selector === 'string' && !!selector.trim().length;
3963
- }
3964
- // eslint-disable-next-line
3965
- isHTMLElement(element) {
3966
- return element && (element instanceof Element || element instanceof HTMLDocument);
3967
- }
3968
- errNotFoundBySelector(selector) {
3969
- throw new Error(`Element with selector '${selector}' not found`);
3970
- }
3971
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalService, deps: [{ token: i0.ApplicationRef }, { token: i0.Injector }, { token: i0.ComponentFactoryResolver }], target: i0.ɵɵFactoryTarget.Injectable }); }
3972
- static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalService }); }
3973
- }
3974
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalService, decorators: [{
3975
- type: Injectable
3976
- }], ctorParameters: () => [{ type: i0.ApplicationRef }, { type: i0.Injector }, { type: i0.ComponentFactoryResolver }] });
3977
-
3978
- class EvoPortalOutletDirective extends EvoPortalOutlet {
3979
- constructor(injector, viewContainerRef) {
3980
- super(injector, viewContainerRef);
3981
- this.injector = injector;
3982
- this.viewContainerRef = viewContainerRef;
3983
- }
3984
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalOutletDirective, deps: [{ token: i0.Injector }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
3985
- static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.10", type: EvoPortalOutletDirective, isStandalone: true, selector: "[evoPortalOutlet]", usesInheritance: true, ngImport: i0 }); }
3986
- }
3987
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalOutletDirective, decorators: [{
3988
- type: Directive,
3989
- args: [{
3990
- selector: '[evoPortalOutlet]',
3991
- standalone: true,
3992
- }]
3993
- }], ctorParameters: () => [{ type: i0.Injector }, { type: i0.ViewContainerRef }] });
3994
-
3995
- class EvoPortalModule {
3996
- static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
3997
- static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, imports: [EvoPortalOutletDirective], exports: [EvoPortalOutletDirective] }); }
3998
- static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, providers: [EvoPortalService] }); }
3999
- }
4000
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: EvoPortalModule, decorators: [{
4001
- type: NgModule,
4002
- args: [{
4003
- imports: [EvoPortalOutletDirective],
4004
- providers: [EvoPortalService],
4005
- exports: [EvoPortalOutletDirective],
4006
- }]
4007
- }] });
4008
-
4009
4192
  class EvoRadioComponent extends EvoBaseControl {
4010
4193
  constructor() {
4011
4194
  super(...arguments);
@@ -6161,5 +6344,5 @@ class Serializable {
6161
6344
  * Generated bundle index. Do not edit.
6162
6345
  */
6163
6346
 
6164
- export { CSS_BREAKPOINTS, DESKTOP_SMALL_VIEW, DaDataEntityTypes, DaDataParty, DadataBankStatus, DadataBankType, DadataCompanyBranchType, DadataCompanyStatus, DadataCompanyType, DadataFounderShareType, DadataManagerType, DeclinationPipe, DeprecateMethod, DeprecateVariable, DesktopSmallViewProvider, EVO_ASSETS_PATH, EVO_DROPDOWN_POSITION_DESCRIPTION, EVO_ICON_RESOLVER, EVO_LOCAL_ASSETS_PATH, EVO_SIDEBAR_CONFIG, EVO_SIDEBAR_DATA, EVO_SIDEBAR_ROOT_ID, EvoAbstractPortal, EvoAccordionComponent, EvoAccordionContentComponent, EvoAccordionModule, EvoAccordionPanelComponent, EvoAccordionTitleComponent, EvoAutocompleteComponent, EvoAutocompleteDefaultOptionComponent, EvoAutocompleteFooterComponent, EvoAutocompleteHeaderComponent, EvoAutocompleteModule, EvoBadgeComponent, EvoBadgeModule, EvoBaseControl, EvoButtonComponent, EvoButtonModule, EvoCheckboxComponent, EvoCheckboxModule, EvoChipComponent, EvoChipModule, EvoChipTheme, EvoChipType, EvoCircularLoaderComponent, EvoClickOutsideDirective, EvoCollection, EvoCollectionFabric, EvoControlErrorComponent, EvoControlErrorModule, EvoControlLabelComponent, EvoControlLabelModule, EvoControlStateManager, EvoControlStates, EvoCounterComponent, EvoCounterModule, EvoCounterSize, EvoDatepickerComponent, EvoDatepickerModule, EvoDropdownComponent, EvoDropdownModule, EvoDropdownOriginDirective, EvoExpandedService, EvoIconButtonComponent, EvoIconButtonModule, EvoIconComponent, EvoIconNumberComponent, EvoIconNumberModule, EvoIconService, EvoInputComponent, EvoInputContenteditableComponent, EvoInputContenteditableModule, EvoInputIconDirective, EvoInputModule, EvoInputSizes, EvoInputTheme, EvoIsExpandedDirective, EvoLetContext, EvoLetDirective, EvoLoaderModule, EvoModalCloseTargets, EvoModalComponent, EvoModalModule, EvoModalService, EvoNavbarComponent, EvoNavbarItemComponent, EvoNavbarModule, EvoNavigationButtonComponent, EvoNavigationButtonModule, EvoNoteComponent, EvoNoteModule, EvoPaginatorComponent, EvoPaginatorModule, EvoPipesModule, EvoPopoverComponent, EvoPopoverModule, EvoPortalModule, EvoPortalOutlet, EvoPortalOutletDirective, EvoPortalService, EvoRadioComponent, EvoRadioModule, EvoRadioshapeComponent, EvoRadioshapeModule, EvoSidebarCloseTargets, EvoSidebarComponent, EvoSidebarContentComponent, EvoSidebarFooterComponent, EvoSidebarHeaderComponent, EvoSidebarService, EvoSidebarSizes, EvoSidebarStates, EvoStepperComponent, EvoStepperItemComponent, EvoStepperModule, EvoTabComponent, EvoTabContentComponent, EvoTabStateCollection, EvoTableColumnComponent, EvoTableComponent, EvoTableModule, EvoTableRowClickEvent, EvoTabsComponent, EvoTabsModule, EvoTabsService, EvoTabsSize, EvoTabsSizeService, EvoTextareaComponent, EvoTextareaModule, EvoToastComponent, EvoToastModule, EvoToastService, EvoToastTypes, EvoToggleComponent, EvoToggleModule, EvoUiClassDirective, EvoUiKitModule, EvoUploadComponent, EvoUploadModule, FormHelper, MOBILE_VIEW, MobileViewProvider, SafeHtmlPipe, Serializable, TABLET_VIEW, TabletViewProvider, VIEW_BREAKPOINTS_PROVIDERS, WINDOW_PROVIDERS, enterZone, evoAssetsPathProvider, evoCreateToken, evoCreateTokenFromFactory, evoIconResolverProvider, evoLocalAssetsPathProvider, evoSidebarAnimationDuration, evoSidebarDefaultConfig, evoSidebarRootId, expandAnimation, portalProvider, provideSidebar, sidebarAnimation, skipInitialRenderAnimation, switchQueryToList };
6347
+ export { CSS_BREAKPOINTS, DESKTOP_SMALL_VIEW, DaDataEntityTypes, DaDataParty, DadataBankStatus, DadataBankType, DadataCompanyBranchType, DadataCompanyStatus, DadataCompanyType, DadataFounderShareType, DadataManagerType, DeclinationPipe, DeprecateMethod, DeprecateVariable, DesktopSmallViewProvider, EVO_ASSETS_PATH, EVO_DROPDOWN_POSITION_DESCRIPTION, EVO_ICON_RESOLVER, EVO_LOCAL_ASSETS_PATH, EVO_MODAL_CONFIG, EVO_MODAL_DATA, EVO_MODAL_DEFAULT_CONFIG, EVO_MODAL_DEFAULT_ROOT_ID, EVO_MODAL_ROOT_ID, EVO_SIDEBAR_CONFIG, EVO_SIDEBAR_DATA, EVO_SIDEBAR_ROOT_ID, EvoAbstractPortal, EvoAccordionComponent, EvoAccordionContentComponent, EvoAccordionModule, EvoAccordionPanelComponent, EvoAccordionTitleComponent, EvoAutocompleteComponent, EvoAutocompleteDefaultOptionComponent, EvoAutocompleteFooterComponent, EvoAutocompleteHeaderComponent, EvoAutocompleteModule, EvoBadgeComponent, EvoBadgeModule, EvoBaseControl, EvoButtonComponent, EvoButtonModule, EvoCheckboxComponent, EvoCheckboxModule, EvoChipComponent, EvoChipModule, EvoChipTheme, EvoChipType, EvoCircularLoaderComponent, EvoClickOutsideDirective, EvoCollection, EvoCollectionFabric, EvoControlErrorComponent, EvoControlErrorModule, EvoControlLabelComponent, EvoControlLabelModule, EvoControlStateManager, EvoControlStates, EvoCounterComponent, EvoCounterModule, EvoCounterSize, EvoDatepickerComponent, EvoDatepickerModule, EvoDropdownComponent, EvoDropdownModule, EvoDropdownOriginDirective, EvoExpandedService, EvoIconButtonComponent, EvoIconButtonModule, EvoIconComponent, EvoIconNumberComponent, EvoIconNumberModule, EvoIconService, EvoInputComponent, EvoInputContenteditableComponent, EvoInputContenteditableModule, EvoInputIconDirective, EvoInputModule, EvoInputSizes, EvoInputTheme, EvoIsExpandedDirective, EvoLetContext, EvoLetDirective, EvoLoaderModule, EvoModalButtonsComponent, EvoModalCloseTargets, EvoModalComponent, EvoModalModule, EvoModalService, EvoNavbarComponent, EvoNavbarItemComponent, EvoNavbarModule, EvoNavigationButtonComponent, EvoNavigationButtonModule, EvoNoteComponent, EvoNoteModule, EvoPaginatorComponent, EvoPaginatorModule, EvoPipesModule, EvoPopoverComponent, EvoPopoverModule, EvoPortalModule, EvoPortalOutlet, EvoPortalOutletDirective, EvoPortalService, EvoRadioComponent, EvoRadioModule, EvoRadioshapeComponent, EvoRadioshapeModule, EvoSidebarCloseTargets, EvoSidebarComponent, EvoSidebarContentComponent, EvoSidebarFooterComponent, EvoSidebarHeaderComponent, EvoSidebarService, EvoSidebarSizes, EvoSidebarStates, EvoStepperComponent, EvoStepperItemComponent, EvoStepperModule, EvoTabComponent, EvoTabContentComponent, EvoTabStateCollection, EvoTableColumnComponent, EvoTableComponent, EvoTableModule, EvoTableRowClickEvent, EvoTabsComponent, EvoTabsModule, EvoTabsService, EvoTabsSize, EvoTabsSizeService, EvoTextareaComponent, EvoTextareaModule, EvoToastComponent, EvoToastModule, EvoToastService, EvoToastTypes, EvoToggleComponent, EvoToggleModule, EvoUiClassDirective, EvoUiKitModule, EvoUploadComponent, EvoUploadModule, FormHelper, MOBILE_VIEW, MobileViewProvider, SafeHtmlPipe, Serializable, TABLET_VIEW, TabletViewProvider, VIEW_BREAKPOINTS_PROVIDERS, WINDOW_PROVIDERS, enterZone, evoAssetsPathProvider, evoCreateToken, evoCreateTokenFromFactory, evoIconResolverProvider, evoLocalAssetsPathProvider, evoSidebarAnimationDuration, evoSidebarDefaultConfig, evoSidebarRootId, expandAnimation, isConfiguredComponentModalParams, isConfiguredModalParams, isConfiguredTemplateModalParams, isDynamicModalParams, portalProvider, provideModal, provideSidebar, sidebarAnimation, skipInitialRenderAnimation, switchQueryToList };
6165
6348
  //# sourceMappingURL=evotor-dev-ui-kit.mjs.map