@spartan-ng/brain 0.0.1-alpha.613 → 0.0.1-alpha.628

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"spartan-ng-brain-autocomplete.mjs","sources":["../tmp-esm2022/autocomplete/lib/brn-autocomplete-input-wrapper.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-item.token.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete.token.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-anchor.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-clear.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-content.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-empty.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-label.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-group.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-input.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-item.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-list.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-search.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-separator.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-status.js","../tmp-esm2022/autocomplete/index.js","../tmp-esm2022/autocomplete/spartan-ng-brain-autocomplete.js"],"sourcesContent":["import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteInputWrapper {\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInputWrapper, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteInputWrapper, isStandalone: true, selector: \"[brnAutocompleteInputWrapper]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInputWrapper, decorators: [{\n type: Directive,\n args: [{ selector: '[brnAutocompleteInputWrapper]' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWlucHV0LXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLDJCQUEyQjswSEFBM0IsMkJBQTJCOzhHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2JybkF1dG9jb21wbGV0ZUlucHV0V3JhcHBlcl0nIH0pXG5leHBvcnQgY2xhc3MgQnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyIHt9XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const BrnAutocompleteItemToken = new InjectionToken('BrnAutocompleteItemToken');\nexport function provideBrnAutocompleteItem(autocomplete) {\n return { provide: BrnAutocompleteItemToken, useExisting: autocomplete };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pdGVtLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHakYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQStCLDBCQUEwQixDQUFDLENBQUM7QUFFckgsTUFBTSxVQUFVLDBCQUEwQixDQUFJLFlBQTBDO0lBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEV4aXN0aW5nUHJvdmlkZXIsIEluamVjdGlvblRva2VuLCB0eXBlIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQnJuQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcblxuZXhwb3J0IGNvbnN0IEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5BdXRvY29tcGxldGVJdGVtPHVua25vd24+PignQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuQXV0b2NvbXBsZXRlSXRlbTxUPihhdXRvY29tcGxldGU6IFR5cGU8QnJuQXV0b2NvbXBsZXRlSXRlbTxUPj4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuLCB1c2VFeGlzdGluZzogYXV0b2NvbXBsZXRlIH07XG59XG4iXX0=","import { inject, InjectionToken, } from '@angular/core';\nexport const BrnAutocompleteBaseToken = new InjectionToken('BrnAutocompleteBaseToken');\nexport function provideBrnAutocompleteBase(autocomplete) {\n return { provide: BrnAutocompleteBaseToken, useExisting: autocomplete };\n}\nexport function injectBrnAutocompleteBase() {\n return inject(BrnAutocompleteBaseToken);\n}\nfunction getDefaultConfig() {\n return {\n isItemEqualToValue: (itemValue, selectedValue) => Object.is(itemValue, selectedValue),\n itemToString: undefined,\n };\n}\nconst BrnAutocompleteConfigToken = new InjectionToken('BrnAutocompleteConfig');\nexport function provideBrnAutocompleteConfig(config) {\n return { provide: BrnAutocompleteConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\nexport function injectBrnAutocompleteConfig() {\n const injectedConfig = inject(BrnAutocompleteConfigToken, { optional: true });\n return injectedConfig ? injectedConfig : getDefaultConfig();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRU4sTUFBTSxFQUNOLGNBQWMsR0FNZCxNQUFNLGVBQWUsQ0FBQztBQXVCdkIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQStCLDBCQUEwQixDQUFDLENBQUM7QUFFckgsTUFBTSxVQUFVLDBCQUEwQixDQUFJLFlBQTBDO0lBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3hDLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixDQUEyQixDQUFDO0FBQ25FLENBQUM7QUFXRCxTQUFTLGdCQUFnQjtJQUN4QixPQUFPO1FBQ04sa0JBQWtCLEVBQUUsQ0FBQyxTQUFZLEVBQUUsYUFBdUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDO1FBQ2xHLFlBQVksRUFBRSxTQUFTO0tBQ3ZCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBaUMsdUJBQXVCLENBQUMsQ0FBQztBQUUvRyxNQUFNLFVBQVUsNEJBQTRCLENBQUksTUFBeUM7SUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGdCQUFnQixFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO0FBQ2hHLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCO0lBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBRSxjQUEyQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0FBQzNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcblx0dHlwZSBFeGlzdGluZ1Byb3ZpZGVyLFxuXHRpbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHR0eXBlIElucHV0U2lnbmFsLFxuXHR0eXBlIE1vZGVsU2lnbmFsLFxuXHR0eXBlIFNpZ25hbCxcblx0dHlwZSBUeXBlLFxuXHR0eXBlIFZhbHVlUHJvdmlkZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBCcm5BdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJybkF1dG9jb21wbGV0ZUJhc2U8VD4ge1xuXHRpdGVtVG9TdHJpbmc6IElucHV0U2lnbmFsPEF1dG9jb21wbGV0ZUl0ZW1Ub1N0cmluZzxUPiB8IHVuZGVmaW5lZD47XG5cdHNlYXJjaDogTW9kZWxTaWduYWw8c3RyaW5nPjtcblx0ZGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPjtcblx0ZGlzYWJsZWRTdGF0ZTogU2lnbmFsPGJvb2xlYW4+O1xuXHRrZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxCcm5BdXRvY29tcGxldGVJdGVtPFQ+Pjtcblx0dmFsdWU6IE1vZGVsU2lnbmFsPFQgfCBudWxsPiB8IE1vZGVsU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXHR2aXNpYmxlSXRlbXM6IFNpZ25hbDxib29sZWFuPjtcblx0aXNFeHBhbmRlZDogU2lnbmFsPGJvb2xlYW4+O1xuXHRzZWFyY2hJbnB1dFdyYXBwZXJXaWR0aDogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuXG5cdHVwZGF0ZVNlYXJjaDogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG5cdGlzU2VsZWN0ZWQ6IChpdGVtVmFsdWU6IFQpID0+IGJvb2xlYW47XG5cdHNlbGVjdDogKGl0ZW1WYWx1ZTogVCkgPT4gdm9pZDtcblx0b3BlbjogKCkgPT4gdm9pZDtcblx0cmVzZXRWYWx1ZTogKCkgPT4gdm9pZDtcblx0LyoqIFNlbGVjdCB0aGUgYWN0aXZlIGl0ZW0gd2l0aCBFbnRlciBrZXkuICovXG5cdHNlbGVjdEFjdGl2ZUl0ZW06ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCcm5BdXRvY29tcGxldGVCYXNlVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuQXV0b2NvbXBsZXRlQmFzZTx1bmtub3duPj4oJ0JybkF1dG9jb21wbGV0ZUJhc2VUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJybkF1dG9jb21wbGV0ZUJhc2U8VD4oYXV0b2NvbXBsZXRlOiBUeXBlPEJybkF1dG9jb21wbGV0ZUJhc2U8VD4+KTogRXhpc3RpbmdQcm92aWRlciB7XG5cdHJldHVybiB7IHByb3ZpZGU6IEJybkF1dG9jb21wbGV0ZUJhc2VUb2tlbiwgdXNlRXhpc3Rpbmc6IGF1dG9jb21wbGV0ZSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZTxUPigpOiBCcm5BdXRvY29tcGxldGVCYXNlPFQ+IHtcblx0cmV0dXJuIGluamVjdChCcm5BdXRvY29tcGxldGVCYXNlVG9rZW4pIGFzIEJybkF1dG9jb21wbGV0ZUJhc2U8VD47XG59XG5cbi8vIGNvbmZpZ1xuZXhwb3J0IHR5cGUgQXV0b2NvbXBsZXRlSXRlbUVxdWFsVG9WYWx1ZTxUPiA9IChpdGVtVmFsdWU6IFQsIHNlbGVjdGVkVmFsdWU6IFQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IHR5cGUgQXV0b2NvbXBsZXRlSXRlbVRvU3RyaW5nPFQ+ID0gKGl0ZW1WYWx1ZTogVCkgPT4gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPiB7XG5cdGlzSXRlbUVxdWFsVG9WYWx1ZTogQXV0b2NvbXBsZXRlSXRlbUVxdWFsVG9WYWx1ZTxUPjtcblx0aXRlbVRvU3RyaW5nPzogQXV0b2NvbXBsZXRlSXRlbVRvU3RyaW5nPFQ+O1xufVxuXG5mdW5jdGlvbiBnZXREZWZhdWx0Q29uZmlnPFQ+KCk6IEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPiB7XG5cdHJldHVybiB7XG5cdFx0aXNJdGVtRXF1YWxUb1ZhbHVlOiAoaXRlbVZhbHVlOiBULCBzZWxlY3RlZFZhbHVlOiBUIHwgbnVsbCkgPT4gT2JqZWN0LmlzKGl0ZW1WYWx1ZSwgc2VsZWN0ZWRWYWx1ZSksXG5cdFx0aXRlbVRvU3RyaW5nOiB1bmRlZmluZWQsXG5cdH07XG59XG5cbmNvbnN0IEJybkF1dG9jb21wbGV0ZUNvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPEJybkF1dG9jb21wbGV0ZUNvbmZpZzx1bmtub3duPj4oJ0JybkF1dG9jb21wbGV0ZUNvbmZpZycpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPihjb25maWc6IFBhcnRpYWw8QnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+Pik6IFZhbHVlUHJvdmlkZXIge1xuXHRyZXR1cm4geyBwcm92aWRlOiBCcm5BdXRvY29tcGxldGVDb25maWdUb2tlbiwgdXNlVmFsdWU6IHsgLi4uZ2V0RGVmYXVsdENvbmZpZygpLCAuLi5jb25maWcgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+KCk6IEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPiB7XG5cdGNvbnN0IGluamVjdGVkQ29uZmlnID0gaW5qZWN0KEJybkF1dG9jb21wbGV0ZUNvbmZpZ1Rva2VuLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXHRyZXR1cm4gaW5qZWN0ZWRDb25maWcgPyAoaW5qZWN0ZWRDb25maWcgYXMgQnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+KSA6IGdldERlZmF1bHRDb25maWcoKTtcbn1cbiJdfQ==","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { booleanAttribute, computed, contentChild, contentChildren, Directive, ElementRef, forwardRef, inject, Injector, input, linkedSignal, model, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnAutocompleteInputWrapper } from './brn-autocomplete-input-wrapper';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { injectBrnAutocompleteConfig, provideBrnAutocompleteBase, } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport const BRN_AUTOCOMPLETE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BrnAutocomplete),\n multi: true,\n};\nexport class BrnAutocomplete {\n _injector = inject(Injector);\n _config = injectBrnAutocompleteConfig();\n /** Access the popover if present */\n _brnPopover = inject(BrnPopover, { optional: true });\n /** Whether the autocomplete is disabled */\n disabled = input(false, { transform: booleanAttribute });\n _disabled = linkedSignal(this.disabled);\n /** @internal The disabled state as a readonly signal */\n disabledState = this._disabled.asReadonly();\n /** A function to compare an item with the selected value. */\n isItemEqualToValue = input(this._config.isItemEqualToValue);\n /** A function to convert an item to a string for display. */\n itemToString = input(this._config.itemToString);\n /** The selected value of the autocomplete. */\n value = model(null);\n /** The current search query. */\n search = model('');\n _searchInputWrapper = contentChild(BrnAutocompleteInputWrapper, {\n read: ElementRef,\n });\n /** @internal The width of the search input wrapper */\n searchInputWrapperWidth = computed(() => {\n const inputElement = this._searchInputWrapper()?.nativeElement;\n return inputElement ? inputElement.offsetWidth : null;\n });\n /** @internal Access all the items within the autocomplete */\n items = contentChildren(BrnAutocompleteItemToken, {\n descendants: true,\n });\n /** Determine if the autocomplete has any visible items */\n visibleItems = computed(() => this.items().length > 0);\n /** @internal The key manager for managing active descendant */\n keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n /** @internal Whether the autocomplete is expanded */\n isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n _onChange;\n _onTouched;\n constructor() {\n this.keyManager\n .withVerticalOrientation()\n .withHomeAndEnd()\n .withWrap()\n .skipPredicate((item) => item.disabled);\n this._brnPopover?.closed.subscribe(() => {\n this.keyManager.setActiveItem(-1);\n });\n }\n updateSearch(value) {\n this.search.set(value);\n this.open();\n if (value === '') {\n this.resetValue();\n }\n }\n isSelected(itemValue) {\n return this.isItemEqualToValue()(itemValue, this.value());\n }\n select(itemValue) {\n this.value.set(itemValue);\n this._onChange?.(itemValue);\n this.search.set(stringifyAsLabel(itemValue, this.itemToString()));\n this.close();\n }\n /** Select the active item with Enter key. */\n selectActiveItem() {\n if (!this.isExpanded())\n return;\n const value = this.keyManager.activeItem?.value();\n if (value === undefined)\n return;\n this.select(value);\n }\n resetValue() {\n this.value.set(null);\n this.search.set('');\n this._onChange?.(null);\n }\n open() {\n if (this._disabled() || this.isExpanded())\n return;\n this._brnPopover?.open();\n }\n close() {\n if (this._disabled() || !this.isExpanded())\n return;\n this._brnPopover?.close();\n }\n toggle() {\n if (this._disabled())\n return;\n this.isExpanded() ? this.close() : this.open();\n }\n /** CONTROL VALUE ACCESSOR */\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this._disabled.set(isDisabled);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnAutocomplete, isStandalone: true, selector: \"[brnAutocomplete]\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, isItemEqualToValue: { classPropertyName: \"isItemEqualToValue\", publicName: \"isItemEqualToValue\", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: \"itemToString\", publicName: \"itemToString\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: \"search\", publicName: \"search\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", search: \"searchChange\" }, providers: [provideBrnAutocompleteBase(BrnAutocomplete), BRN_AUTOCOMPLETE_VALUE_ACCESSOR], queries: [{ propertyName: \"_searchInputWrapper\", first: true, predicate: BrnAutocompleteInputWrapper, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"items\", predicate: BrnAutocompleteItemToken, descendants: true, isSignal: true }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocomplete, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocomplete]',\n providers: [provideBrnAutocompleteBase(BrnAutocomplete), BRN_AUTOCOMPLETE_VALUE_ACCESSOR],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvRCxPQUFPLEVBQ04sZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLE1BQU0sRUFDTixRQUFRLEVBQ1IsS0FBSyxFQUNMLFlBQVksRUFDWixLQUFLLEdBQ0wsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBRTFELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBSU4sMkJBQTJCLEVBQzNCLDBCQUEwQixHQUMxQixNQUFNLDBCQUEwQixDQUFDOztBQUVsQyxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM5QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO0lBQzlDLEtBQUssRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQU1GLE1BQU0sT0FBTyxlQUFlO0lBQ1YsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU3QixPQUFPLEdBQUcsMkJBQTJCLEVBQUssQ0FBQztJQUU1RCxvQ0FBb0M7SUFDbkIsV0FB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QixDQUFDO0lBRUQsTUFBTTtRQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtZQUFFLE9BQU87UUFFN0IsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztJQUNoRCxDQUFDO0lBRUQsNkJBQTZCO0lBQzdCLFVBQVUsQ0FBQyxLQUFlO1FBQ3pCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUFzQjtRQUN0QyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBVztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQzswSEF6SVcsZUFBZTs4R0FBZixlQUFlLHV5QkFGaEIsQ0FBQywwQkFBMEIsQ0FBQyxlQUFlLENBQUMsRUFBRSwrQkFBK0IsQ0FBQywyRUE4QnJDLDJCQUEyQiwyQkFDeEUsVUFBVSx3REFVK0Msd0JBQXdCOzsyRkF2QzVFLGVBQWU7a0JBSjNCLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFLENBQUMsMEJBQTBCLGlCQUFpQixFQUFFLCtCQUErQixDQUFDO2lCQUN6RiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGNvbnRlbnRDaGlsZCxcblx0Y29udGVudENoaWxkcmVuLFxuXHREaXJlY3RpdmUsXG5cdEVsZW1lbnRSZWYsXG5cdGZvcndhcmRSZWYsXG5cdGluamVjdCxcblx0SW5qZWN0b3IsXG5cdGlucHV0LFxuXHRsaW5rZWRTaWduYWwsXG5cdG1vZGVsLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHN0cmluZ2lmeUFzTGFiZWwgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9jb3JlJztcbmltcG9ydCB7IENoYW5nZUZuLCBUb3VjaEZuIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZm9ybXMnO1xuaW1wb3J0IHsgQnJuUG9wb3ZlciB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL3BvcG92ZXInO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWlucHV0LXdyYXBwZXInO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtLnRva2VuJztcbmltcG9ydCB7XG5cdEF1dG9jb21wbGV0ZUl0ZW1FcXVhbFRvVmFsdWUsXG5cdEF1dG9jb21wbGV0ZUl0ZW1Ub1N0cmluZyxcblx0QnJuQXV0b2NvbXBsZXRlQmFzZSxcblx0aW5qZWN0QnJuQXV0b2NvbXBsZXRlQ29uZmlnLFxuXHRwcm92aWRlQnJuQXV0b2NvbXBsZXRlQmFzZSxcbn0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJSTl9BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1IgPSB7XG5cdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5BdXRvY29tcGxldGUpLFxuXHRtdWx0aTogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVdJyxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJybkF1dG9jb21wbGV0ZUJhc2UoQnJuQXV0b2NvbXBsZXRlKSwgQlJOX0FVVE9DT01QTEVURV9WQUxVRV9BQ0NFU1NPUl0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZTxUPiBpbXBsZW1lbnRzIEJybkF1dG9jb21wbGV0ZUJhc2U8VD4sIENvbnRyb2xWYWx1ZUFjY2Vzc29yIHtcblx0cHJpdmF0ZSByZWFkb25seSBfaW5qZWN0b3IgPSBpbmplY3QoSW5qZWN0b3IpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX2NvbmZpZyA9IGluamVjdEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPigpO1xuXG5cdC8qKiBBY2Nlc3MgdGhlIHBvcG92ZXIgaWYgcHJlc2VudCAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9icm5Qb3BvdmVyID0gaW5qZWN0KEJyblBvcG92ZXIsIHsgb3B0aW9uYWw6IHRydWUgfSk7XG5cblx0LyoqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBpcyBkaXNhYmxlZCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2Rpc2FibGVkID0gbGlua2VkU2lnbmFsKHRoaXMuZGlzYWJsZWQpO1xuXG5cdC8qKiBAaW50ZXJuYWwgVGhlIGRpc2FibGVkIHN0YXRlIGFzIGEgcmVhZG9ubHkgc2lnbmFsICovXG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZFN0YXRlID0gdGhpcy5fZGlzYWJsZWQuYXNSZWFkb25seSgpO1xuXG5cdC8qKiBBIGZ1bmN0aW9uIHRvIGNvbXBhcmUgYW4gaXRlbSB3aXRoIHRoZSBzZWxlY3RlZCB2YWx1ZS4gKi9cblx0cHVibGljIHJlYWRvbmx5IGlzSXRlbUVxdWFsVG9WYWx1ZSA9IGlucHV0PEF1dG9jb21wbGV0ZUl0ZW1FcXVhbFRvVmFsdWU8VD4+KHRoaXMuX2NvbmZpZy5pc0l0ZW1FcXVhbFRvVmFsdWUpO1xuXG5cdC8qKiBBIGZ1bmN0aW9uIHRvIGNvbnZlcnQgYW4gaXRlbSB0byBhIHN0cmluZyBmb3IgZGlzcGxheS4gKi9cblx0cHVibGljIHJlYWRvbmx5IGl0ZW1Ub1N0cmluZyA9IGlucHV0PEF1dG9jb21wbGV0ZUl0ZW1Ub1N0cmluZzxUPiB8IHVuZGVmaW5lZD4odGhpcy5fY29uZmlnLml0ZW1Ub1N0cmluZyk7XG5cblx0LyoqIFRoZSBzZWxlY3RlZCB2YWx1ZSBvZiB0aGUgYXV0b2NvbXBsZXRlLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmFsdWUgPSBtb2RlbDxUIHwgbnVsbD4obnVsbCk7XG5cblx0LyoqIFRoZSBjdXJyZW50IHNlYXJjaCBxdWVyeS4gKi9cblx0cHVibGljIHJlYWRvbmx5IHNlYXJjaCA9IG1vZGVsPHN0cmluZz4oJycpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaElucHV0V3JhcHBlciA9IGNvbnRlbnRDaGlsZChCcm5BdXRvY29tcGxldGVJbnB1dFdyYXBwZXIsIHtcblx0XHRyZWFkOiBFbGVtZW50UmVmLFxuXHR9KTtcblxuXHQvKiogQGludGVybmFsIFRoZSB3aWR0aCBvZiB0aGUgc2VhcmNoIGlucHV0IHdyYXBwZXIgKi9cblx0cHVibGljIHJlYWRvbmx5IHNlYXJjaElucHV0V3JhcHBlcldpZHRoID0gY29tcHV0ZWQ8bnVtYmVyIHwgbnVsbD4oKCkgPT4ge1xuXHRcdGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX3NlYXJjaElucHV0V3JhcHBlcigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdHJldHVybiBpbnB1dEVsZW1lbnQgPyAoaW5wdXRFbGVtZW50Lm9mZnNldFdpZHRoIGFzIG51bWJlcikgOiBudWxsO1xuXHR9KTtcblxuXHQvKiogQGludGVybmFsIEFjY2VzcyBhbGwgdGhlIGl0ZW1zIHdpdGhpbiB0aGUgYXV0b2NvbXBsZXRlICovXG5cdHB1YmxpYyByZWFkb25seSBpdGVtcyA9IGNvbnRlbnRDaGlsZHJlbjxCcm5BdXRvY29tcGxldGVJdGVtPFQ+PihCcm5BdXRvY29tcGxldGVJdGVtVG9rZW4sIHtcblx0XHRkZXNjZW5kYW50czogdHJ1ZSxcblx0fSk7XG5cblx0LyoqIERldGVybWluZSBpZiB0aGUgYXV0b2NvbXBsZXRlIGhhcyBhbnkgdmlzaWJsZSBpdGVtcyAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmlzaWJsZUl0ZW1zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtcygpLmxlbmd0aCA+IDApO1xuXG5cdC8qKiBAaW50ZXJuYWwgVGhlIGtleSBtYW5hZ2VyIGZvciBtYW5hZ2luZyBhY3RpdmUgZGVzY2VuZGFudCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkga2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zLCB0aGlzLl9pbmplY3Rvcik7XG5cblx0LyoqIEBpbnRlcm5hbCBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaXMgZXhwYW5kZWQgKi9cblx0cHVibGljIHJlYWRvbmx5IGlzRXhwYW5kZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9icm5Qb3BvdmVyPy5zdGF0ZUNvbXB1dGVkKCkgPT09ICdvcGVuJyk7XG5cblx0cHJvdGVjdGVkIF9vbkNoYW5nZT86IENoYW5nZUZuPFQgfCBudWxsPjtcblx0cHJvdGVjdGVkIF9vblRvdWNoZWQ/OiBUb3VjaEZuO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMua2V5TWFuYWdlclxuXHRcdFx0LndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKClcblx0XHRcdC53aXRoSG9tZUFuZEVuZCgpXG5cdFx0XHQud2l0aFdyYXAoKVxuXHRcdFx0LnNraXBQcmVkaWNhdGUoKGl0ZW0pID0+IGl0ZW0uZGlzYWJsZWQpO1xuXG5cdFx0dGhpcy5fYnJuUG9wb3Zlcj8uY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG5cdFx0fSk7XG5cdH1cblxuXHR1cGRhdGVTZWFyY2godmFsdWU6IHN0cmluZykge1xuXHRcdHRoaXMuc2VhcmNoLnNldCh2YWx1ZSk7XG5cdFx0dGhpcy5vcGVuKCk7XG5cblx0XHRpZiAodmFsdWUgPT09ICcnKSB7XG5cdFx0XHR0aGlzLnJlc2V0VmFsdWUoKTtcblx0XHR9XG5cdH1cblxuXHRpc1NlbGVjdGVkKGl0ZW1WYWx1ZTogVCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiB0aGlzLmlzSXRlbUVxdWFsVG9WYWx1ZSgpKGl0ZW1WYWx1ZSwgdGhpcy52YWx1ZSgpKTtcblx0fVxuXG5cdHNlbGVjdChpdGVtVmFsdWU6IFQpIHtcblx0XHR0aGlzLnZhbHVlLnNldChpdGVtVmFsdWUpO1xuXHRcdHRoaXMuX29uQ2hhbmdlPy4oaXRlbVZhbHVlKTtcblx0XHR0aGlzLnNlYXJjaC5zZXQoc3RyaW5naWZ5QXNMYWJlbChpdGVtVmFsdWUsIHRoaXMuaXRlbVRvU3RyaW5nKCkpKTtcblx0XHR0aGlzLmNsb3NlKCk7XG5cdH1cblxuXHQvKiogU2VsZWN0IHRoZSBhY3RpdmUgaXRlbSB3aXRoIEVudGVyIGtleS4gKi9cblx0c2VsZWN0QWN0aXZlSXRlbSgpIHtcblx0XHRpZiAoIXRoaXMuaXNFeHBhbmRlZCgpKSByZXR1cm47XG5cblx0XHRjb25zdCB2YWx1ZSA9IHRoaXMua2V5TWFuYWdlci5hY3RpdmVJdGVtPy52YWx1ZSgpO1xuXG5cdFx0aWYgKHZhbHVlID09PSB1bmRlZmluZWQpIHJldHVybjtcblxuXHRcdHRoaXMuc2VsZWN0KHZhbHVlKTtcblx0fVxuXG5cdHJlc2V0VmFsdWUoKSB7XG5cdFx0dGhpcy52YWx1ZS5zZXQobnVsbCk7XG5cdFx0dGhpcy5zZWFyY2guc2V0KCcnKTtcblx0XHR0aGlzLl9vbkNoYW5nZT8uKG51bGwpO1xuXHR9XG5cblx0b3BlbigpIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQoKSB8fCB0aGlzLmlzRXhwYW5kZWQoKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5fYnJuUG9wb3Zlcj8ub3BlbigpO1xuXHR9XG5cblx0Y2xvc2UoKSB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkgfHwgIXRoaXMuaXNFeHBhbmRlZCgpKSByZXR1cm47XG5cblx0XHR0aGlzLl9icm5Qb3BvdmVyPy5jbG9zZSgpO1xuXHR9XG5cblx0dG9nZ2xlKCkge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpKSByZXR1cm47XG5cblx0XHR0aGlzLmlzRXhwYW5kZWQoKSA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuXHR9XG5cblx0LyoqIENPTlRST0wgVkFMVUUgQUNDRVNTT1IgKi9cblx0d3JpdGVWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG5cdH1cblxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiBDaGFuZ2VGbjxUIHwgbnVsbD4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuX2Rpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcblx0fVxufVxuIl19","import { Directive, ElementRef, inject } from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteAnchor {\n _host = inject(ElementRef, { host: true });\n _brnDialog = inject(BrnDialog, { optional: true });\n constructor() {\n if (!this._brnDialog)\n return;\n this._brnDialog.mutableAttachTo.set(this._host.nativeElement);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteAnchor, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteAnchor, isStandalone: true, selector: \"[brnAutocompleteAnchor]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteAnchor, decorators: [{\n type: Directive,\n args: [{ selector: '[brnAutocompleteAnchor]' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1hbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtYW5jaG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBFO1FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUU3QixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDOzBIQVJXLHFCQUFxQjs4R0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkRpYWxvZyB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2RpYWxvZyc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVBbmNob3JdJyB9KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUFuY2hvciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2hvc3QgPSBpbmplY3QoRWxlbWVudFJlZiwgeyBob3N0OiB0cnVlIH0pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9icm5EaWFsb2cgPSBpbmplY3QoQnJuRGlhbG9nLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGlmICghdGhpcy5fYnJuRGlhbG9nKSByZXR1cm47XG5cblx0XHR0aGlzLl9icm5EaWFsb2cubXV0YWJsZUF0dGFjaFRvLnNldCh0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuXHR9XG59XG4iXX0=","import { computed, Directive, effect, inject, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteClear {\n _autocomplete = injectBrnAutocompleteBase();\n _renderer = inject(Renderer2);\n _templateRef = inject(TemplateRef);\n _viewContainerRef = inject(ViewContainerRef);\n /** Determine if the combobox has a value */\n _hasValue = computed(() => this._autocomplete.value() !== null);\n constructor() {\n effect(() => {\n this._viewContainerRef.clear();\n if (this._hasValue()) {\n const view = this._viewContainerRef.createEmbeddedView(this._templateRef);\n view.rootNodes.forEach((node) => {\n this._renderer.listen(node, 'click', (e) => {\n e.preventDefault();\n this.clear();\n });\n });\n }\n });\n }\n clear() {\n this._autocomplete.resetValue();\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteClear, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteClear, isStandalone: true, selector: \"[brnAutocompleteClear]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteClear, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteClear]',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1jbGVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1jbGVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFDZixhQUFhLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUM1QyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLFlBQVksR0FBRyxNQUFNLENBQW9CLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTlELDRDQUE0QztJQUMzQixTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7SUFFakY7UUFDQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDMUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSztRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQzswSEExQlcsb0JBQW9COzhHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVDbGVhcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVDbGVhciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2F1dG9jb21wbGV0ZSA9IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblx0cHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8dm9pZD4+KFRlbXBsYXRlUmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZSBjb21ib2JveCBoYXMgYSB2YWx1ZSAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9oYXNWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2F1dG9jb21wbGV0ZS52YWx1ZSgpICE9PSBudWxsKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0dGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXHRcdFx0aWYgKHRoaXMuX2hhc1ZhbHVlKCkpIHtcblx0XHRcdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlUmVmKTtcblx0XHRcdFx0dmlldy5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX3JlbmRlcmVyLmxpc3Rlbihub2RlLCAnY2xpY2snLCAoZSkgPT4ge1xuXHRcdFx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0XHRcdFx0dGhpcy5jbGVhcigpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGNsZWFyKCkge1xuXHRcdHRoaXMuX2F1dG9jb21wbGV0ZS5yZXNldFZhbHVlKCk7XG5cdH1cbn1cbiJdfQ==","import { Directive } from '@angular/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteContent {\n _autocomplete = injectBrnAutocompleteBase();\n /** Determine if the autocomplete has any visible items */\n _visibleItems = this._autocomplete.visibleItems;\n _autocompleteWidth = this._autocomplete.searchInputWrapperWidth;\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteContent, isStandalone: true, selector: \"[brnAutocompleteContent]\", host: { properties: { \"attr.data-empty\": \"!_visibleItems() ? \\\"\\\" : null\", \"style.--brn-autocomplete-width.px\": \"_autocompleteWidth()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteContent]',\n host: {\n '[attr.data-empty]': '!_visibleItems() ? \"\" : null',\n '[style.--brn-autocomplete-width.px]': '_autocompleteWidth()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFTckUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQixhQUFhLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUU3RCwwREFBMEQ7SUFDdkMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBRWhELGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUM7MEhBTnZFLHNCQUFzQjs4R0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLElBQUksRUFBRTt3QkFDTCxtQkFBbUIsRUFBRSw4QkFBOEI7d0JBQ25ELHFDQUFxQyxFQUFFLHNCQUFzQjtxQkFDN0Q7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UgfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlQ29udGVudF0nLFxuXHRob3N0OiB7XG5cdFx0J1thdHRyLmRhdGEtZW1wdHldJzogJyFfdmlzaWJsZUl0ZW1zKCkgPyBcIlwiIDogbnVsbCcsXG5cdFx0J1tzdHlsZS4tLWJybi1hdXRvY29tcGxldGUtd2lkdGgucHhdJzogJ19hdXRvY29tcGxldGVXaWR0aCgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQXV0b2NvbXBsZXRlQ29udGVudCB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2F1dG9jb21wbGV0ZSA9IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UoKTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZSBhdXRvY29tcGxldGUgaGFzIGFueSB2aXNpYmxlIGl0ZW1zICovXG5cdHByb3RlY3RlZCByZWFkb25seSBfdmlzaWJsZUl0ZW1zID0gdGhpcy5fYXV0b2NvbXBsZXRlLnZpc2libGVJdGVtcztcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2F1dG9jb21wbGV0ZVdpZHRoID0gdGhpcy5fYXV0b2NvbXBsZXRlLnNlYXJjaElucHV0V3JhcHBlcldpZHRoO1xufVxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteEmpty {\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteEmpty, isStandalone: true, selector: \"[brnAutocompleteEmpty]\", host: { attributes: { \"role\": \"status\", \"aria-live\": \"polite\", \"aria-atomic\": \"true\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteEmpty, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteEmpty]',\n host: {\n role: 'status',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1lbXB0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxQyxNQUFNLE9BQU8sb0JBQW9COzBIQUFwQixvQkFBb0I7OEdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFSaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLFFBQVE7d0JBQ3JCLGFBQWEsRUFBRSxNQUFNO3FCQUNyQjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlRW1wdHldJyxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdzdGF0dXMnLFxuXHRcdCdhcmlhLWxpdmUnOiAncG9saXRlJyxcblx0XHQnYXJpYS1hdG9taWMnOiAndHJ1ZScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUVtcHR5IHt9XG4iXX0=","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteLabel {\n static _id = 0;\n /** The id of the autocomplete label */\n id = input(`brn-autocomplete-label-${++BrnAutocompleteLabel._id}`);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteLabel, isStandalone: true, selector: \"[brnAutocompleteLabel]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"id\": \"id()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteLabel, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteLabel]',\n host: {\n '[id]': 'id()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1sYWJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1sYWJlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUV2Qix1Q0FBdUM7SUFDdkIsRUFBRSxHQUFHLEtBQUssQ0FBUywwQkFBMEIsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDOzBIQUovRSxvQkFBb0I7OEdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLE1BQU07cUJBQ2Q7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVMYWJlbF0nLFxuXHRob3N0OiB7XG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUxhYmVsIHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHQvKiogVGhlIGlkIG9mIHRoZSBhdXRvY29tcGxldGUgbGFiZWwgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWF1dG9jb21wbGV0ZS1sYWJlbC0keysrQnJuQXV0b2NvbXBsZXRlTGFiZWwuX2lkfWApO1xufVxuIl19","import { computed, contentChild, contentChildren, Directive } from '@angular/core';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { BrnAutocompleteLabel } from './brn-autocomplete-label';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteGroup {\n /** Get the items in the group */\n _items = contentChildren(BrnAutocompleteItemToken, {\n descendants: true,\n });\n /** Determine if there are any visible items in the group */\n _visible = computed(() => this._items().length > 0);\n /** Get the label associated with the group */\n _label = contentChild(BrnAutocompleteLabel);\n _labelledBy = computed(() => {\n const label = this._label();\n return label ? label.id() : null;\n });\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnAutocompleteGroup, isStandalone: true, selector: \"[brnAutocompleteGroup]\", host: { attributes: { \"role\": \"group\" }, properties: { \"attr.data-hidden\": \"!_visible() ? \\\"\\\" : null\", \"attr.aria-labelledby\": \"_labelledBy()\" } }, queries: [{ propertyName: \"_items\", predicate: BrnAutocompleteItemToken, descendants: true, isSignal: true }, { propertyName: \"_label\", first: true, predicate: BrnAutocompleteLabel, descendants: true, isSignal: true }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteGroup, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteGroup]',\n host: {\n role: 'group',\n '[attr.data-hidden]': '!_visible() ? \"\" : null',\n '[attr.aria-labelledby]': '_labelledBy()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVVoRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ2hDLGlDQUFpQztJQUNoQixNQUFNLEdBQUcsZUFBZSxDQUFDLHdCQUF3QixFQUFFO1FBQ25FLFdBQVcsRUFBRSxJQUFJO0tBQ2pCLENBQUMsQ0FBQztJQUVILDREQUE0RDtJQUN6QyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFdkUsOENBQThDO0lBQzdCLE1BQU0sR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUUxQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDOzBIQWZTLG9CQUFvQjs4R0FBcEIsb0JBQW9CLDhQQUVVLHdCQUF3Qix5RkFRM0Isb0JBQW9COzsyRkFWL0Msb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixvQkFBb0IsRUFBRSx5QkFBeUI7d0JBQy9DLHdCQUF3QixFQUFFLGVBQWU7cUJBQ3pDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtLnRva2VuJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUxhYmVsIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWxhYmVsJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkF1dG9jb21wbGV0ZUdyb3VwXScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnZ3JvdXAnLFxuXHRcdCdbYXR0ci5kYXRhLWhpZGRlbl0nOiAnIV92aXNpYmxlKCkgPyBcIlwiIDogbnVsbCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnX2xhYmVsbGVkQnkoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUdyb3VwIHtcblx0LyoqIEdldCB0aGUgaXRlbXMgaW4gdGhlIGdyb3VwICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zID0gY29udGVudENoaWxkcmVuKEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZXJlIGFyZSBhbnkgdmlzaWJsZSBpdGVtcyBpbiB0aGUgZ3JvdXAgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF92aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5faXRlbXMoKS5sZW5ndGggPiAwKTtcblxuXHQvKiogR2V0IHRoZSBsYWJlbCBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2xhYmVsID0gY29udGVudENoaWxkKEJybkF1dG9jb21wbGV0ZUxhYmVsKTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2xhYmVsbGVkQnkgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgbGFiZWwgPSB0aGlzLl9sYWJlbCgpO1xuXHRcdHJldHVybiBsYWJlbCA/IGxhYmVsLmlkKCkgOiBudWxsO1xuXHR9KTtcbn1cbiJdfQ==","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteInput {\n static _id = 0;\n _el = inject(ElementRef);\n _autocomplete = injectBrnAutocompleteBase();\n /** The id of the autocomplete input */\n id = input(`brn-autocomplete-input-${++BrnAutocompleteInput._id}`);\n disabled = this._autocomplete.disabledState;\n /** Whether the autocomplete panel is expanded */\n _isExpanded = this._autocomplete.isExpanded;\n constructor() {\n effect(() => {\n const value = this._autocomplete.value();\n const search = this._autocomplete.search();\n const valueLabel = stringifyAsLabel(value, this._autocomplete.itemToString());\n if (valueLabel === search) {\n this._el.nativeElement.value = valueLabel;\n }\n else if (search === '') {\n this._el.nativeElement.value = '';\n }\n });\n }\n onInput(event) {\n const value = event.target.value;\n this._autocomplete.updateSearch(value);\n }\n onKeyDown(event) {\n if (event.key === 'Enter') {\n // prevent form submission if inside a form\n event.preventDefault();\n this._autocomplete.selectActiveItem();\n }\n if (!this._isExpanded()) {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this._autocomplete.open();\n }\n if (event.key === 'Escape') {\n this._autocomplete.resetValue();\n }\n }\n this._autocomplete.keyManager.onKeydown(event);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteInput, isStandalone: true, selector: \"input[brnAutocompleteInput]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"type\": \"text\", \"role\": \"combobox\", \"autocomplete\": \"off\", \"autocorrect\": \"off\", \"autocapitalize\": \"none\", \"spellcheck\": \"false\", \"aria-autocomplete\": \"list\", \"aria-haspopup\": \"listbox\" }, listeners: { \"keydown\": \"onKeyDown($event)\", \"input\": \"onInput($event)\" }, properties: { \"id\": \"id()\", \"attr.aria-expanded\": \"_isExpanded()\", \"attr.disabled\": \"disabled() ? \\\"\\\" : null\" } }, exportAs: [\"brnAutocompleteInput\"], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInput, decorators: [{\n type: Directive,\n args: [{\n selector: 'input[brnAutocompleteInput]',\n exportAs: 'brnAutocompleteInput',\n host: {\n '[id]': 'id()',\n type: 'text',\n role: 'combobox',\n autocomplete: 'off',\n autocorrect: 'off',\n autocapitalize: 'none',\n spellcheck: 'false',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n '[attr.aria-expanded]': '_isExpanded()',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '(keydown)': 'onKeyDown($event)',\n '(input)': 'onInput($event)',\n },\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFxQnJFLE1BQU0sT0FBTyxvQkFBb0I7SUFDeEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDTixHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyx5QkFBeUIsRUFBSyxDQUFDO0lBRWhFLHVDQUF1QztJQUN2QixFQUFFLEdBQUcsS0FBSyxDQUFTLDBCQUEwQixFQUFFLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFM0UsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBRTVELGlEQUFpRDtJQUM5QixXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFFL0Q7UUFDQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBRTNDLE1BQU0sVUFBVSxHQUFHLGdCQUFnQixDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7WUFFOUUsSUFBSSxVQUFVLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzNCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxVQUFVLENBQUM7WUFDM0MsQ0FBQztpQkFBTSxJQUFJLE1BQU0sS0FBSyxFQUFFLEVBQUUsQ0FBQztnQkFDMUIsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsS0FBSyxHQUFHLEVBQUUsQ0FBQztZQUNuQyxDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRVMsT0FBTyxDQUFDLEtBQVk7UUFDN0IsTUFBTSxLQUFLLEdBQUksS0FBSyxDQUFDLE1BQTJCLENBQUMsS0FBSyxDQUFDO1FBRXZELElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFFUyxTQUFTLENBQUMsS0FBb0I7UUFDdkMsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1lBQzNCLDJDQUEyQztZQUMzQyxLQUFLLENBQUMsY0FBYyxFQUFFLENBQUM7WUFFdkIsSUFBSSxDQUFDLGFBQWEsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ3ZDLENBQUM7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDekIsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFdBQVcsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMxRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxDQUFDO1lBQzNCLENBQUM7WUFFRCxJQUFJLEtBQUssQ0FBQyxHQUFHLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQzVCLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7WUFDakMsQ0FBQztRQUNGLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDaEQsQ0FBQzswSEFyRFcsb0JBQW9COzhHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBbkJoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSw2QkFBNkI7b0JBQ3ZDLFFBQVEsRUFBRSxzQkFBc0I7b0JBQ2hDLElBQUksRUFBRTt3QkFDTCxNQUFNLEVBQUUsTUFBTTt3QkFDZCxJQUFJLEVBQUUsTUFBTTt3QkFDWixJQUFJLEVBQUUsVUFBVTt3QkFDaEIsWUFBWSxFQUFFLEtBQUs7d0JBQ25CLFdBQVcsRUFBRSxLQUFLO3dCQUNsQixjQUFjLEVBQUUsTUFBTTt3QkFDdEIsVUFBVSxFQUFFLE9BQU87d0JBQ25CLG1CQUFtQixFQUFFLE1BQU07d0JBQzNCLGVBQWUsRUFBRSxTQUFTO3dCQUMxQixzQkFBc0IsRUFBRSxlQUFlO3dCQUN2QyxpQkFBaUIsRUFBRSx3QkFBd0I7d0JBQzNDLFdBQVcsRUFBRSxtQkFBbUI7d0JBQ2hDLFNBQVMsRUFBRSxpQkFBaUI7cUJBQzVCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBlZmZlY3QsIEVsZW1lbnRSZWYsIGluamVjdCwgaW5wdXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IHN0cmluZ2lmeUFzTGFiZWwgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9jb3JlJztcbmltcG9ydCB7IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UgfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdpbnB1dFticm5BdXRvY29tcGxldGVJbnB1dF0nLFxuXHRleHBvcnRBczogJ2JybkF1dG9jb21wbGV0ZUlucHV0Jyxcblx0aG9zdDoge1xuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHRcdHR5cGU6ICd0ZXh0Jyxcblx0XHRyb2xlOiAnY29tYm9ib3gnLFxuXHRcdGF1dG9jb21wbGV0ZTogJ29mZicsXG5cdFx0YXV0b2NvcnJlY3Q6ICdvZmYnLFxuXHRcdGF1dG9jYXBpdGFsaXplOiAnbm9uZScsXG5cdFx0c3BlbGxjaGVjazogJ2ZhbHNlJyxcblx0XHQnYXJpYS1hdXRvY29tcGxldGUnOiAnbGlzdCcsXG5cdFx0J2FyaWEtaGFzcG9wdXAnOiAnbGlzdGJveCcsXG5cdFx0J1thdHRyLmFyaWEtZXhwYW5kZWRdJzogJ19pc0V4cGFuZGVkKCknLFxuXHRcdCdbYXR0ci5kaXNhYmxlZF0nOiAnZGlzYWJsZWQoKSA/IFwiXCIgOiBudWxsJyxcblx0XHQnKGtleWRvd24pJzogJ29uS2V5RG93bigkZXZlbnQpJyxcblx0XHQnKGlucHV0KSc6ICdvbklucHV0KCRldmVudCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVJbnB1dDxUPiB7XG5cdHByaXZhdGUgc3RhdGljIF9pZCA9IDA7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2VsID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9hdXRvY29tcGxldGUgPSBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlPFQ+KCk7XG5cblx0LyoqIFRoZSBpZCBvZiB0aGUgYXV0b2NvbXBsZXRlIGlucHV0ICovXG5cdHB1YmxpYyByZWFkb25seSBpZCA9IGlucHV0PHN0cmluZz4oYGJybi1hdXRvY29tcGxldGUtaW5wdXQtJHsrK0JybkF1dG9jb21wbGV0ZUlucHV0Ll9pZH1gKTtcblxuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWQgPSB0aGlzLl9hdXRvY29tcGxldGUuZGlzYWJsZWRTdGF0ZTtcblxuXHQvKiogV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIHBhbmVsIGlzIGV4cGFuZGVkICovXG5cdHByb3RlY3RlZCByZWFkb25seSBfaXNFeHBhbmRlZCA9IHRoaXMuX2F1dG9jb21wbGV0ZS5pc0V4cGFuZGVkO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGVmZmVjdCgoKSA9PiB7XG5cdFx0XHRjb25zdCB2YWx1ZSA9IHRoaXMuX2F1dG9jb21wbGV0ZS52YWx1ZSgpO1xuXHRcdFx0Y29uc3Qgc2VhcmNoID0gdGhpcy5fYXV0b2NvbXBsZXRlLnNlYXJjaCgpO1xuXG5cdFx0XHRjb25zdCB2YWx1ZUxhYmVsID0gc3RyaW5naWZ5QXNMYWJlbCh2YWx1ZSwgdGhpcy5fYXV0b2NvbXBsZXRlLml0ZW1Ub1N0cmluZygpKTtcblxuXHRcdFx0aWYgKHZhbHVlTGFiZWwgPT09IHNlYXJjaCkge1xuXHRcdFx0XHR0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gdmFsdWVMYWJlbDtcblx0XHRcdH0gZWxzZSBpZiAoc2VhcmNoID09PSAnJykge1xuXHRcdFx0XHR0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb25JbnB1dChldmVudDogRXZlbnQpIHtcblx0XHRjb25zdCB2YWx1ZSA9IChldmVudC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudCkudmFsdWU7XG5cblx0XHR0aGlzLl9hdXRvY29tcGxldGUudXBkYXRlU2VhcmNoKHZhbHVlKTtcblx0fVxuXG5cdHByb3RlY3RlZCBvbktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcblx0XHRpZiAoZXZlbnQua2V5ID09PSAnRW50ZXInKSB7XG5cdFx0XHQvLyBwcmV2ZW50IGZvcm0gc3VibWlzc2lvbiBpZiBpbnNpZGUgYSBmb3JtXG5cdFx0XHRldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuXG5cdFx0XHR0aGlzLl9hdXRvY29tcGxldGUuc2VsZWN0QWN0aXZlSXRlbSgpO1xuXHRcdH1cblxuXHRcdGlmICghdGhpcy5faXNFeHBhbmRlZCgpKSB7XG5cdFx0XHRpZiAoZXZlbnQua2V5ID09PSAnQXJyb3dEb3duJyB8fCBldmVudC5rZXkgPT09ICdBcnJvd1VwJykge1xuXHRcdFx0XHR0aGlzLl9hdXRvY29tcGxldGUub3BlbigpO1xuXHRcdFx0fVxuXG5cdFx0XHRpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuXHRcdFx0XHR0aGlzLl9hdXRvY29tcGxldGUucmVzZXRWYWx1ZSgpO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdHRoaXMuX2F1dG9jb21wbGV0ZS5rZXlNYW5hZ2VyLm9uS2V5ZG93bihldmVudCk7XG5cdH1cbn1cbiJdfQ==","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, PLATFORM_ID, signal } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { provideBrnAutocompleteItem } from './brn-autocomplete-item.token';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteItem {\n static _id = 0;\n _platform = inject(PLATFORM_ID);\n _elementRef = inject(ElementRef);\n /** Access the autocomplete component */\n _autocomplete = injectBrnAutocompleteBase();\n /** A unique id for the item */\n id = input(`brn-autocomplete-item-${++BrnAutocompleteItem._id}`);\n /** The value this item represents. */\n value = input.required();\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _disabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n /** Expose disabled as a value - used by the Highlightable interface */\n get disabled() {\n return this._disabled();\n }\n /** Whether the item is selected. */\n active = computed(() => this._autocomplete.isSelected(this.value()));\n _highlighted = signal(false);\n setActiveStyles() {\n this._highlighted.set(true);\n // ensure the item is in view\n if (isPlatformBrowser(this._platform)) {\n this._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n }\n }\n setInactiveStyles() {\n this._highlighted.set(false);\n }\n getLabel() {\n return stringifyAsLabel(this.value(), this._autocomplete.itemToString());\n }\n select() {\n if (this._disabled()) {\n return;\n }\n this._autocomplete.keyManager.setActiveItem(this);\n this._autocomplete.select(this.value());\n }\n activate() {\n if (this._disabled()) {\n return;\n }\n this._autocomplete.keyManager.setActiveItem(this);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteItem, isStandalone: true, selector: \"[brnAutocompleteItem]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: true, transformFunction: null }, _disabled: { classPropertyName: \"_disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"option\" }, listeners: { \"click\": \"select()\", \"mouseenter\": \"activate()\" }, properties: { \"id\": \"id()\", \"attr.data-highlighted\": \"_highlighted() ? \\\"\\\" : null\", \"attr.data-value\": \"value()\", \"attr.aria-selected\": \"active()\", \"attr.aria-disabled\": \"_disabled()\" } }, providers: [provideBrnAutocompleteItem(BrnAutocompleteItem)], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteItem, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteItem]',\n providers: [provideBrnAutocompleteItem(BrnAutocompleteItem)],\n host: {\n role: 'option',\n '[id]': 'id()',\n '[attr.data-highlighted]': '_highlighted() ? \"\" : null',\n '[attr.data-value]': 'value()',\n '[attr.aria-selected]': 'active()',\n '[attr.aria-disabled]': '_disabled()',\n '(click)': 'select()',\n '(mouseenter)': 'activate()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFnQnJFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFTixTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhDLFdBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBRTNFLHdDQUF3QztJQUN2QixhQUFhLEdBQUcseUJBQXlCLEVBQUssQ0FBQztJQUVoRSwrQkFBK0I7SUFDZixFQUFFLEdBQUcsS0FBSyxDQUFTLHlCQUF5QixFQUFFLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFekYsc0NBQXNDO0lBQ3RCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFLLENBQUM7SUFFNUMsZ0VBQWdFO0lBQ2hELFNBQVMsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUMvRCxLQUFLLEVBQUUsVUFBVTtRQUNqQixTQUFTLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUMsQ0FBQztJQUVILHVFQUF1RTtJQUN2RSxJQUFXLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG9DQUFvQztJQUNwQixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEUsWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVoRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsNkJBQTZCO1FBQzdCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNGLENBQUM7SUFFRCxpQkFBaUI7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVE7UUFDUCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVTLE1BQU07UUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQzswSEFoRVcsbUJBQW1COzhHQUFuQixtQkFBbUIsaXVCQVpwQixDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDLENBQUM7OzJGQVloRCxtQkFBbUI7a0JBZC9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLHFCQUFxQixDQUFDO29CQUM1RCxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsTUFBTSxFQUFFLE1BQU07d0JBQ2QseUJBQXlCLEVBQUUsNEJBQTRCO3dCQUN2RCxtQkFBbUIsRUFBRSxTQUFTO3dCQUM5QixzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxzQkFBc0IsRUFBRSxhQUFhO3dCQUNyQyxTQUFTLEVBQUUsVUFBVTt3QkFDckIsY0FBYyxFQUFFLFlBQVk7cUJBQzVCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgUExBVEZPUk1fSUQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RyaW5naWZ5QXNMYWJlbCB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUJybkF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkF1dG9jb21wbGV0ZUl0ZW1dJyxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJybkF1dG9jb21wbGV0ZUl0ZW0oQnJuQXV0b2NvbXBsZXRlSXRlbSldLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ29wdGlvbicsXG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdFx0J1thdHRyLmRhdGEtaGlnaGxpZ2h0ZWRdJzogJ19oaWdobGlnaHRlZCgpID8gXCJcIiA6IG51bGwnLFxuXHRcdCdbYXR0ci5kYXRhLXZhbHVlXSc6ICd2YWx1ZSgpJyxcblx0XHQnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYWN0aXZlKCknLFxuXHRcdCdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG5cdFx0JyhjbGljayknOiAnc2VsZWN0KCknLFxuXHRcdCcobW91c2VlbnRlciknOiAnYWN0aXZhdGUoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUl0ZW08VD4gaW1wbGVtZW50cyBIaWdobGlnaHRhYmxlIHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0LyoqIEFjY2VzcyB0aGUgYXV0b2NvbXBsZXRlIGNvbXBvbmVudCAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9hdXRvY29tcGxldGUgPSBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlPFQ+KCk7XG5cblx0LyoqIEEgdW5pcXVlIGlkIGZvciB0aGUgaXRlbSAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KGBicm4tYXV0b2NvbXBsZXRlLWl0ZW0tJHsrK0JybkF1dG9jb21wbGV0ZUl0ZW0uX2lkfWApO1xuXG5cdC8qKiBUaGUgdmFsdWUgdGhpcyBpdGVtIHJlcHJlc2VudHMuICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPFQ+KCk7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuXHRwdWJsaWMgcmVhZG9ubHkgX2Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuXHRcdGFsaWFzOiAnZGlzYWJsZWQnLFxuXHRcdHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcblx0fSk7XG5cblx0LyoqIEV4cG9zZSBkaXNhYmxlZCBhcyBhIHZhbHVlIC0gdXNlZCBieSB0aGUgSGlnaGxpZ2h0YWJsZSBpbnRlcmZhY2UgKi9cblx0cHVibGljIGdldCBkaXNhYmxlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZGlzYWJsZWQoKTtcblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fYXV0b2NvbXBsZXRlLmlzU2VsZWN0ZWQodGhpcy52YWx1ZSgpKSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9oaWdobGlnaHRlZCA9IHNpZ25hbChmYWxzZSk7XG5cblx0c2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2hpZ2hsaWdodGVkLnNldCh0cnVlKTtcblxuXHRcdC8vIGVuc3VyZSB0aGUgaXRlbSBpcyBpbiB2aWV3XG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BsYXRmb3JtKSkge1xuXHRcdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblx0XHR9XG5cdH1cblxuXHRzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcblx0XHR0aGlzLl9oaWdobGlnaHRlZC5zZXQoZmFsc2UpO1xuXHR9XG5cblx0Z2V0TGFiZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gc3RyaW5naWZ5QXNMYWJlbCh0aGlzLnZhbHVlKCksIHRoaXMuX2F1dG9jb21wbGV0ZS5pdGVtVG9TdHJpbmcoKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgc2VsZWN0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5fYXV0b2NvbXBsZXRlLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzKTtcblx0XHR0aGlzLl9hdXRvY29tcGxldGUuc2VsZWN0KHRoaXMudmFsdWUoKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWN0aXZhdGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLl9hdXRvY29tcGxldGUua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHRoaXMpO1xuXHR9XG59XG4iXX0=","import { Directive, input } from '@angular/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteList {\n static _id = 0;\n _autocomplete = injectBrnAutocompleteBase();\n /** Determine if the autocomplete has any visible items */\n _visibleItems = this._autocomplete.visibleItems;\n /** The id of the autocomplete list */\n id = input(`brn-autocomplete-list-${++BrnAutocompleteList._id}`);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteList, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteList, isStandalone: true, selector: \"[brnAutocompleteList]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"listbox\", \"tabIndex\": \"-1\", \"aria-orientation\": \"vertical\" }, properties: { \"id\": \"id()\", \"attr.data-empty\": \"!_visibleItems() ? \\\"\\\" : null\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteList, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteList]',\n host: {\n role: 'listbox',\n tabIndex: '-1',\n 'aria-orientation': 'vertical',\n '[id]': 'id()',\n '[attr.data-empty]': '!_visibleItems() ? \"\" : null',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBWXJFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFTixhQUFhLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUU3RCwwREFBMEQ7SUFDdkMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBRW5FLHNDQUFzQztJQUN0QixFQUFFLEdBQUcsS0FBSyxDQUFTLHlCQUF5QixFQUFFLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7MEhBVDdFLG1CQUFtQjs4R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQVYvQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsU0FBUzt3QkFDZixRQUFRLEVBQUUsSUFBSTt3QkFDZCxrQkFBa0IsRUFBRSxVQUFVO3dCQUM5QixNQUFNLEVBQUUsTUFBTTt3QkFDZCxtQkFBbUIsRUFBRSw4QkFBOEI7cUJBQ25EO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVMaXN0XScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnbGlzdGJveCcsXG5cdFx0dGFiSW5kZXg6ICctMScsXG5cdFx0J2FyaWEtb3JpZW50YXRpb24nOiAndmVydGljYWwnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHRcdCdbYXR0ci5kYXRhLWVtcHR5XSc6ICchX3Zpc2libGVJdGVtcygpID8gXCJcIiA6IG51bGwnLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVMaXN0IHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9hdXRvY29tcGxldGUgPSBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlKCk7XG5cblx0LyoqIERldGVybWluZSBpZiB0aGUgYXV0b2NvbXBsZXRlIGhhcyBhbnkgdmlzaWJsZSBpdGVtcyAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3Zpc2libGVJdGVtcyA9IHRoaXMuX2F1dG9jb21wbGV0ZS52aXNpYmxlSXRlbXM7XG5cblx0LyoqIFRoZSBpZCBvZiB0aGUgYXV0b2NvbXBsZXRlIGxpc3QgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWF1dG9jb21wbGV0ZS1saXN0LSR7KytCcm5BdXRvY29tcGxldGVMaXN0Ll9pZH1gKTtcbn1cbiJdfQ==","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { booleanAttribute, computed, contentChild, contentChildren, Directive, ElementRef, forwardRef, inject, Injector, input, linkedSignal, model, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnAutocompleteInputWrapper } from './brn-autocomplete-input-wrapper';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { injectBrnAutocompleteConfig, provideBrnAutocompleteBase, } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport const BRN_AUTOCOMPLETE_SEARCH_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BrnAutocompleteSearch),\n multi: true,\n};\nexport class BrnAutocompleteSearch {\n _injector = inject(Injector);\n _config = injectBrnAutocompleteConfig();\n /** Access the popover if present */\n _brnPopover = inject(BrnPopover, { optional: true });\n /** Whether the autocomplete is disabled */\n disabled = input(false, { transform: booleanAttribute });\n _disabled = linkedSignal(this.disabled);\n /** @internal The disabled state as a readonly signal */\n disabledState = this._disabled.asReadonly();\n /** A function to convert an item to a string for display. */\n itemToString = input(this._config.itemToString);\n /** The selected value of the autocomplete. */\n value = model(null);\n /** The current search query. */\n search = model('');\n _searchInputWrapper = contentChild(BrnAutocompleteInputWrapper, {\n read: ElementRef,\n });\n /** @internal The width of the search input wrapper */\n searchInputWrapperWidth = computed(() => {\n const inputElement = this._searchInputWrapper()?.nativeElement;\n return inputElement ? inputElement.offsetWidth : null;\n });\n /** @internal Access all the items within the autocomplete */\n items = contentChildren(BrnAutocompleteItemToken, {\n descendants: true,\n });\n /** Determine if the autocomplete has any visible items */\n visibleItems = computed(() => this.items().length > 0);\n /** @internal The key manager for managing active descendant */\n keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n /** @internal Whether the autocomplete is expanded */\n isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n _onChange;\n _onTouched;\n constructor() {\n this.keyManager\n .withVerticalOrientation()\n .withHomeAndEnd()\n .withWrap()\n .skipPredicate((item) => item.disabled);\n this._brnPopover?.closed.subscribe(() => {\n this.keyManager.setActiveItem(-1);\n });\n }\n updateSearch(value) {\n this.value.set(value);\n this.search.set(value);\n this._onChange?.(value);\n this.open();\n if (value === '') {\n this.resetValue();\n }\n }\n isSelected(itemValue) {\n return stringifyAsLabel(itemValue, this.itemToString()) === this.value();\n }\n select(itemValue) {\n const label = stringifyAsLabel(itemValue, this.itemToString());\n this.value.set(label);\n this._onChange?.(label);\n this.search.set(label);\n this.close();\n }\n /** Select the active item with Enter key. */\n selectActiveItem() {\n if (!this.isExpanded())\n return;\n const value = this.keyManager.activeItem?.value();\n if (value === undefined)\n return;\n this.select(value);\n }\n resetValue() {\n this.value.set(null);\n this.search.set('');\n this._onChange?.(null);\n }\n open() {\n if (this._disabled() || this.isExpanded())\n return;\n this._brnPopover?.open();\n }\n close() {\n if (this._disabled() || !this.isExpanded())\n return;\n this._brnPopover?.close();\n }\n toggle() {\n if (this._disabled())\n return;\n this.isExpanded() ? this.close() : this.open();\n }\n /** CONTROL VALUE ACCESSOR */\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this._disabled.set(isDisabled);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSearch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnAutocompleteSearch, isStandalone: true, selector: \"[brnAutocomplete]\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: \"itemToString\", publicName: \"itemToString\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: \"search\", publicName: \"search\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", search: \"searchChange\" }, providers: [provideBrnAutocompleteBase(BrnAutocompleteSearch), BRN_AUTOCOMPLETE_SEARCH_VALUE_ACCESSOR], queries: [{ propertyName: \"_searchInputWrapper\", first: true, predicate: BrnAutocompleteInputWrapper, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"items\", predicate: BrnAutocompleteItemToken, descendants: true, isSignal: true }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSearch, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocomplete]',\n providers: [provideBrnAutocompleteBase(BrnAutocompleteSearch), BRN_AUTOCOMPLETE_SEARCH_VALUE_ACCESSOR],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9ELE9BQU8sRUFDTixnQkFBZ0IsRUFDaEIsUUFBUSxFQUNSLFlBQVksRUFDWixlQUFlLEVBQ2YsU0FBUyxFQUNULFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssR0FDTCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFHTiwyQkFBMkIsRUFDM0IsMEJBQTBCLEdBQzFCLE1BQU0sMEJBQTBCLENBQUM7O0FBRWxDLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFNRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hCLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0IsT0FBTyxHQUFHLDJCQUEyQixFQUFLLENBQUM7SUFF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QUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFBRSxPQUFPO1FBRW5ELElBQUksQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELE1BQU07UUFDTCxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUU7WUFBRSxPQUFPO1FBRTdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDaEQsQ0FBQztJQUVELDZCQUE2QjtJQUM3QixVQUFVLENBQUMsS0FBb0I7UUFDOUIsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLEVBQTJCO1FBQzNDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxFQUFXO1FBQzVCLElBQUksQ0FBQyxVQUFVLEdBQUcsRUFBRSxDQUFDO0lBQ3RCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxVQUFtQjtRQUNuQyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUNoQyxDQUFDOzBIQTFJVyxxQkFBcUI7OEdBQXJCLHFCQUFxQix3b0JBRnRCLENBQUMsMEJBQTBCLENBQUMscUJBQXFCLENBQUMsRUFBRSxzQ0FBc0MsQ0FBQywyRUEyQmxELDJCQUEyQiwyQkFDeEUsVUFBVSx3REFVK0Msd0JBQXdCOzsyRkFwQzVFLHFCQUFxQjtrQkFKakMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsbUJBQW1CO29CQUM3QixTQUFTLEVBQUUsQ0FBQywwQkFBMEIsdUJBQXVCLEVBQUUsc0NBQXNDLENBQUM7aUJBQ3RHIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgdHlwZSB7IEJvb2xlYW5JbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9jb2VyY2lvbic7XG5pbXBvcnQge1xuXHRib29sZWFuQXR0cmlidXRlLFxuXHRjb21wdXRlZCxcblx0Y29udGVudENoaWxkLFxuXHRjb250ZW50Q2hpbGRyZW4sXG5cdERpcmVjdGl2ZSxcblx0RWxlbWVudFJlZixcblx0Zm9yd2FyZFJlZixcblx0aW5qZWN0LFxuXHRJbmplY3Rvcixcblx0aW5wdXQsXG5cdGxpbmtlZFNpZ25hbCxcblx0bW9kZWwsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29udHJvbFZhbHVlQWNjZXNzb3IsIE5HX1ZBTFVFX0FDQ0VTU09SIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgc3RyaW5naWZ5QXNMYWJlbCB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2NvcmUnO1xuaW1wb3J0IHsgQ2hhbmdlRm4sIFRvdWNoRm4gfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9mb3Jtcyc7XG5pbXBvcnQgeyBCcm5Qb3BvdmVyIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vcG9wb3Zlcic7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVJbnB1dFdyYXBwZXIgfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUtaW5wdXQtd3JhcHBlcic7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0nO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0udG9rZW4nO1xuaW1wb3J0IHtcblx0QXV0b2NvbXBsZXRlSXRlbVRvU3RyaW5nLFxuXHRCcm5BdXRvY29tcGxldGVCYXNlLFxuXHRpbmplY3RCcm5BdXRvY29tcGxldGVDb25maWcsXG5cdHByb3ZpZGVCcm5BdXRvY29tcGxldGVCYXNlLFxufSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUudG9rZW4nO1xuXG5leHBvcnQgY29uc3QgQlJOX0FVVE9DT01QTEVURV9TRUFSQ0hfVkFMVUVfQUNDRVNTT1IgPSB7XG5cdHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxuXHR1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBCcm5BdXRvY29tcGxldGVTZWFyY2gpLFxuXHRtdWx0aTogdHJ1ZSxcbn07XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVdJyxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJybkF1dG9jb21wbGV0ZUJhc2UoQnJuQXV0b2NvbXBsZXRlU2VhcmNoKSwgQlJOX0FVVE9DT01QTEVURV9TRUFSQ0hfVkFMVUVfQUNDRVNTT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVTZWFyY2g8VD4gaW1wbGVtZW50cyBCcm5BdXRvY29tcGxldGVCYXNlPFQ+LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9jb25maWcgPSBpbmplY3RCcm5BdXRvY29tcGxldGVDb25maWc8VD4oKTtcblxuXHQvKiogQWNjZXNzIHRoZSBwb3BvdmVyIGlmIHByZXNlbnQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfYnJuUG9wb3ZlciA9IGluamVjdChCcm5Qb3BvdmVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdC8qKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaXMgZGlzYWJsZWQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9kaXNhYmxlZCA9IGxpbmtlZFNpZ25hbCh0aGlzLmRpc2FibGVkKTtcblxuXHQvKiogQGludGVybmFsIFRoZSBkaXNhYmxlZCBzdGF0ZSBhcyBhIHJlYWRvbmx5IHNpZ25hbCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWRTdGF0ZSA9IHRoaXMuX2Rpc2FibGVkLmFzUmVhZG9ubHkoKTtcblxuXHQvKiogQSBmdW5jdGlvbiB0byBjb252ZXJ0IGFuIGl0ZW0gdG8gYSBzdHJpbmcgZm9yIGRpc3BsYXkuICovXG5cdHB1YmxpYyByZWFkb25seSBpdGVtVG9TdHJpbmcgPSBpbnB1dDxBdXRvY29tcGxldGVJdGVtVG9TdHJpbmc8VD4gfCB1bmRlZmluZWQ+KHRoaXMuX2NvbmZpZy5pdGVtVG9TdHJpbmcpO1xuXG5cdC8qKiBUaGUgc2VsZWN0ZWQgdmFsdWUgb2YgdGhlIGF1dG9jb21wbGV0ZS4gKi9cblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8c3RyaW5nIHwgbnVsbD4obnVsbCk7XG5cblx0LyoqIFRoZSBjdXJyZW50IHNlYXJjaCBxdWVyeS4gKi9cblx0cHVibGljIHJlYWRvbmx5IHNlYXJjaCA9IG1vZGVsPHN0cmluZz4oJycpO1xuXG5cdHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaElucHV0V3JhcHBlciA9IGNvbnRlbnRDaGlsZChCcm5BdXRvY29tcGxldGVJbnB1dFdyYXBwZXIsIHtcblx0XHRyZWFkOiBFbGVtZW50UmVmLFxuXHR9KTtcblxuXHQvKiogQGludGVybmFsIFRoZSB3aWR0aCBvZiB0aGUgc2VhcmNoIGlucHV0IHdyYXBwZXIgKi9cblx0cHVibGljIHJlYWRvbmx5IHNlYXJjaElucHV0V3JhcHBlcldpZHRoID0gY29tcHV0ZWQ8bnVtYmVyIHwgbnVsbD4oKCkgPT4ge1xuXHRcdGNvbnN0IGlucHV0RWxlbWVudCA9IHRoaXMuX3NlYXJjaElucHV0V3JhcHBlcigpPy5uYXRpdmVFbGVtZW50O1xuXHRcdHJldHVybiBpbnB1dEVsZW1lbnQgPyAoaW5wdXRFbGVtZW50Lm9mZnNldFdpZHRoIGFzIG51bWJlcikgOiBudWxsO1xuXHR9KTtcblxuXHQvKiogQGludGVybmFsIEFjY2VzcyBhbGwgdGhlIGl0ZW1zIHdpdGhpbiB0aGUgYXV0b2NvbXBsZXRlICovXG5cdHB1YmxpYyByZWFkb25seSBpdGVtcyA9IGNvbnRlbnRDaGlsZHJlbjxCcm5BdXRvY29tcGxldGVJdGVtPFQ+PihCcm5BdXRvY29tcGxldGVJdGVtVG9rZW4sIHtcblx0XHRkZXNjZW5kYW50czogdHJ1ZSxcblx0fSk7XG5cblx0LyoqIERldGVybWluZSBpZiB0aGUgYXV0b2NvbXBsZXRlIGhhcyBhbnkgdmlzaWJsZSBpdGVtcyAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgdmlzaWJsZUl0ZW1zID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5pdGVtcygpLmxlbmd0aCA+IDApO1xuXG5cdC8qKiBAaW50ZXJuYWwgVGhlIGtleSBtYW5hZ2VyIGZvciBtYW5hZ2luZyBhY3RpdmUgZGVzY2VuZGFudCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkga2V5TWFuYWdlciA9IG5ldyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcih0aGlzLml0ZW1zLCB0aGlzLl9pbmplY3Rvcik7XG5cblx0LyoqIEBpbnRlcm5hbCBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaXMgZXhwYW5kZWQgKi9cblx0cHVibGljIHJlYWRvbmx5IGlzRXhwYW5kZWQgPSBjb21wdXRlZCgoKSA9PiB0aGlzLl9icm5Qb3BvdmVyPy5zdGF0ZUNvbXB1dGVkKCkgPT09ICdvcGVuJyk7XG5cblx0cHJvdGVjdGVkIF9vbkNoYW5nZT86IENoYW5nZUZuPHN0cmluZyB8IG51bGw+O1xuXHRwcm90ZWN0ZWQgX29uVG91Y2hlZD86IFRvdWNoRm47XG5cblx0Y29uc3RydWN0b3IoKSB7XG5cdFx0dGhpcy5rZXlNYW5hZ2VyXG5cdFx0XHQud2l0aFZlcnRpY2FsT3JpZW50YXRpb24oKVxuXHRcdFx0LndpdGhIb21lQW5kRW5kKClcblx0XHRcdC53aXRoV3JhcCgpXG5cdFx0XHQuc2tpcFByZWRpY2F0ZSgoaXRlbSkgPT4gaXRlbS5kaXNhYmxlZCk7XG5cblx0XHR0aGlzLl9icm5Qb3BvdmVyPy5jbG9zZWQuc3Vic2NyaWJlKCgpID0+IHtcblx0XHRcdHRoaXMua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKC0xKTtcblx0XHR9KTtcblx0fVxuXG5cdHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHRcdHRoaXMuc2VhcmNoLnNldCh2YWx1ZSk7XG5cdFx0dGhpcy5fb25DaGFuZ2U/Lih2YWx1ZSk7XG5cdFx0dGhpcy5vcGVuKCk7XG5cblx0XHRpZiAodmFsdWUgPT09ICcnKSB7XG5cdFx0XHR0aGlzLnJlc2V0VmFsdWUoKTtcblx0XHR9XG5cdH1cblxuXHRpc1NlbGVjdGVkKGl0ZW1WYWx1ZTogVCk6IGJvb2xlYW4ge1xuXHRcdHJldHVybiBzdHJpbmdpZnlBc0xhYmVsKGl0ZW1WYWx1ZSwgdGhpcy5pdGVtVG9TdHJpbmcoKSkgPT09IHRoaXMudmFsdWUoKTtcblx0fVxuXG5cdHNlbGVjdChpdGVtVmFsdWU6IFQpIHtcblx0XHRjb25zdCBsYWJlbCA9IHN0cmluZ2lmeUFzTGFiZWwoaXRlbVZhbHVlLCB0aGlzLml0ZW1Ub1N0cmluZygpKTtcblxuXHRcdHRoaXMudmFsdWUuc2V0KGxhYmVsKTtcblx0XHR0aGlzLl9vbkNoYW5nZT8uKGxhYmVsKTtcblx0XHR0aGlzLnNlYXJjaC5zZXQobGFiZWwpO1xuXHRcdHRoaXMuY2xvc2UoKTtcblx0fVxuXG5cdC8qKiBTZWxlY3QgdGhlIGFjdGl2ZSBpdGVtIHdpdGggRW50ZXIga2V5LiAqL1xuXHRzZWxlY3RBY3RpdmVJdGVtKCkge1xuXHRcdGlmICghdGhpcy5pc0V4cGFuZGVkKCkpIHJldHVybjtcblxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LnZhbHVlKCk7XG5cblx0XHRpZiAodmFsdWUgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG5cdFx0dGhpcy5zZWxlY3QodmFsdWUpO1xuXHR9XG5cblx0cmVzZXRWYWx1ZSgpIHtcblx0XHR0aGlzLnZhbHVlLnNldChudWxsKTtcblx0XHR0aGlzLnNlYXJjaC5zZXQoJycpO1xuXHRcdHRoaXMuX29uQ2hhbmdlPy4obnVsbCk7XG5cdH1cblxuXHRvcGVuKCkge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpIHx8IHRoaXMuaXNFeHBhbmRlZCgpKSByZXR1cm47XG5cblx0XHR0aGlzLl9icm5Qb3BvdmVyPy5vcGVuKCk7XG5cdH1cblxuXHRjbG9zZSgpIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQoKSB8fCAhdGhpcy5pc0V4cGFuZGVkKCkpIHJldHVybjtcblxuXHRcdHRoaXMuX2JyblBvcG92ZXI/LmNsb3NlKCk7XG5cdH1cblxuXHR0b2dnbGUoKSB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkpIHJldHVybjtcblxuXHRcdHRoaXMuaXNFeHBhbmRlZCgpID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG5cdH1cblxuXHQvKiogQ09OVFJPTCBWQUxVRSBBQ0NFU1NPUiAqL1xuXHR3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogQ2hhbmdlRm48c3RyaW5nIHwgbnVsbD4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuX2Rpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcblx0fVxufVxuIl19","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteSeparator {\n orientation = input('horizontal');\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteSeparator, isStandalone: true, selector: \"[brnAutocompleteSeparator]\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"separator\" }, properties: { \"attr.aria-orientation\": \"orientation()\", \"attr.data-orientation\": \"orientation()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSeparator, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteSeparator]',\n host: {\n role: 'separator',\n '[attr.aria-orientation]': 'orientation()',\n '[attr.data-orientation]': 'orientation()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtc2VwYXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVqRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDOzBIQURqRSx3QkFBd0I7OEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLHlCQUF5QixFQUFFLGVBQWU7d0JBQzFDLHlCQUF5QixFQUFFLGVBQWU7cUJBQzFDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlU2VwYXJhdG9yXScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnc2VwYXJhdG9yJyxcblx0XHQnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24oKScsXG5cdFx0J1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVTZXBhcmF0b3Ige1xuXHRwdWJsaWMgcmVhZG9ubHkgb3JpZW50YXRpb24gPSBpbnB1dDwnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnPignaG9yaXpvbnRhbCcpO1xufVxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteStatus {\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteStatus, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteStatus, isStandalone: true, selector: \"[brnAutocompleteStatus]\", host: { attributes: { \"role\": \"status\", \"aria-live\": \"polite\", \"aria-atomic\": \"true\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteStatus, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteStatus]',\n host: {\n role: 'status',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTFDLE1BQU0sT0FBTyxxQkFBcUI7MEhBQXJCLHFCQUFxQjs4R0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsUUFBUTt3QkFDckIsYUFBYSxFQUFFLE1BQU07cUJBQ3JCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVTdGF0dXNdJyxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdzdGF0dXMnLFxuXHRcdCdhcmlhLWxpdmUnOiAncG9saXRlJyxcblx0XHQnYXJpYS1hdG9taWMnOiAndHJ1ZScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZVN0YXR1cyB7fVxuIl19","import { BrnAutocomplete } from './lib/brn-autocomplete';\nimport { BrnAutocompleteAnchor } from './lib/brn-autocomplete-anchor';\nimport { BrnAutocompleteClear } from './lib/brn-autocomplete-clear';\nimport { BrnAutocompleteContent } from './lib/brn-autocomplete-content';\nimport { BrnAutocompleteEmpty } from './lib/brn-autocomplete-empty';\nimport { BrnAutocompleteGroup } from './lib/brn-autocomplete-group';\nimport { BrnAutocompleteInput } from './lib/brn-autocomplete-input';\nimport { BrnAutocompleteInputWrapper } from './lib/brn-autocomplete-input-wrapper';\nimport { BrnAutocompleteItem } from './lib/brn-autocomplete-item';\nimport { BrnAutocompleteLabel } from './lib/brn-autocomplete-label';\nimport { BrnAutocompleteList } from './lib/brn-autocomplete-list';\nimport { BrnAutocompleteSearch } from './lib/brn-autocomplete-search';\nimport { BrnAutocompleteSeparator } from './lib/brn-autocomplete-separator';\nimport { BrnAutocompleteStatus } from './lib/brn-autocomplete-status';\nexport * from './lib/brn-autocomplete';\nexport * from './lib/brn-autocomplete-anchor';\nexport * from './lib/brn-autocomplete-clear';\nexport * from './lib/brn-autocomplete-content';\nexport * from './lib/brn-autocomplete-empty';\nexport * from './lib/brn-autocomplete-group';\nexport * from './lib/brn-autocomplete-input';\nexport * from './lib/brn-autocomplete-input-wrapper';\nexport * from './lib/brn-autocomplete-item';\nexport * from './lib/brn-autocomplete-item.token';\nexport * from './lib/brn-autocomplete-label';\nexport * from './lib/brn-autocomplete-list';\nexport * from './lib/brn-autocomplete-search';\nexport * from './lib/brn-autocomplete-separator';\nexport * from './lib/brn-autocomplete-status';\nexport * from './lib/brn-autocomplete.token';\nexport const BrnAutocompleteImports = [\n BrnAutocomplete,\n BrnAutocompleteAnchor,\n BrnAutocompleteClear,\n BrnAutocompleteContent,\n BrnAutocompleteEmpty,\n BrnAutocompleteGroup,\n BrnAutocompleteInput,\n BrnAutocompleteInputWrapper,\n BrnAutocompleteItem,\n BrnAutocompleteLabel,\n BrnAutocompleteList,\n BrnAutocompleteSearch,\n BrnAutocompleteSeparator,\n BrnAutocompleteStatus,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXRFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDckMsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm5BdXRvY29tcGxldGUgfSBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUFuY2hvciB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtYW5jaG9yJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUNsZWFyIH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1jbGVhcic7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVDb250ZW50IH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1jb250ZW50JztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUVtcHR5IH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1lbXB0eSc7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVHcm91cCB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtZ3JvdXAnO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSW5wdXQgfSBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWlucHV0JztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUlucHV0V3JhcHBlciB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtaW5wdXQtd3JhcHBlcic7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUxhYmVsIH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1sYWJlbCc7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVMaXN0IH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1saXN0JztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZVNlYXJjaCB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtc2VhcmNoJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZVNlcGFyYXRvciB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtc2VwYXJhdG9yJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZVN0YXR1cyB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtc3RhdHVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWFuY2hvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWNsZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWVtcHR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWlucHV0LXdyYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtaXRlbS50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWxhYmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLXNlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLXNlcGFyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJybkF1dG9jb21wbGV0ZUltcG9ydHMgPSBbXG5cdEJybkF1dG9jb21wbGV0ZSxcblx0QnJuQXV0b2NvbXBsZXRlQW5jaG9yLFxuXHRCcm5BdXRvY29tcGxldGVDbGVhcixcblx0QnJuQXV0b2NvbXBsZXRlQ29udGVudCxcblx0QnJuQXV0b2NvbXBsZXRlRW1wdHksXG5cdEJybkF1dG9jb21wbGV0ZUdyb3VwLFxuXHRCcm5BdXRvY29tcGxldGVJbnB1dCxcblx0QnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyLFxuXHRCcm5BdXRvY29tcGxldGVJdGVtLFxuXHRCcm5BdXRvY29tcGxldGVMYWJlbCxcblx0QnJuQXV0b2NvbXBsZXRlTGlzdCxcblx0QnJuQXV0b2NvbXBsZXRlU2VhcmNoLFxuXHRCcm5BdXRvY29tcGxldGVTZXBhcmF0b3IsXG5cdEJybkF1dG9jb21wbGV0ZVN0YXR1cyxcbl0gYXMgY29uc3Q7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1hdXRvY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvc3BhcnRhbi1uZy1icmFpbi1hdXRvY29tcGxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spartan-ng-brain-autocomplete.mjs","sources":["../tmp-esm2022/autocomplete/lib/brn-autocomplete-input-wrapper.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-item.token.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete.token.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-anchor.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-clear.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-content.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-empty.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-label.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-group.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-input.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-item.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-list.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-search.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-separator.js","../tmp-esm2022/autocomplete/lib/brn-autocomplete-status.js","../tmp-esm2022/autocomplete/index.js","../tmp-esm2022/autocomplete/spartan-ng-brain-autocomplete.js"],"sourcesContent":["import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteInputWrapper {\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInputWrapper, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteInputWrapper, isStandalone: true, selector: \"[brnAutocompleteInputWrapper]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInputWrapper, decorators: [{\n type: Directive,\n args: [{ selector: '[brnAutocompleteInputWrapper]' }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC13cmFwcGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWlucHV0LXdyYXBwZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFHMUMsTUFBTSxPQUFPLDJCQUEyQjswSEFBM0IsMkJBQTJCOzhHQUEzQiwyQkFBMkI7OzJGQUEzQiwyQkFBMkI7a0JBRHZDLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsK0JBQStCLEVBQUUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQERpcmVjdGl2ZSh7IHNlbGVjdG9yOiAnW2JybkF1dG9jb21wbGV0ZUlucHV0V3JhcHBlcl0nIH0pXG5leHBvcnQgY2xhc3MgQnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyIHt9XG4iXX0=","import { InjectionToken } from '@angular/core';\nexport const BrnAutocompleteItemToken = new InjectionToken('BrnAutocompleteItemToken');\nexport function provideBrnAutocompleteItem(autocomplete) {\n return { provide: BrnAutocompleteItemToken, useExisting: autocomplete };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pdGVtLnRva2VuLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0udG9rZW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUF5QixjQUFjLEVBQWEsTUFBTSxlQUFlLENBQUM7QUFHakYsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQStCLDBCQUEwQixDQUFDLENBQUM7QUFFckgsTUFBTSxVQUFVLDBCQUEwQixDQUFJLFlBQTBDO0lBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3pFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIEV4aXN0aW5nUHJvdmlkZXIsIEluamVjdGlvblRva2VuLCB0eXBlIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB0eXBlIHsgQnJuQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcblxuZXhwb3J0IGNvbnN0IEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxCcm5BdXRvY29tcGxldGVJdGVtPHVua25vd24+PignQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuJyk7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQnJuQXV0b2NvbXBsZXRlSXRlbTxUPihhdXRvY29tcGxldGU6IFR5cGU8QnJuQXV0b2NvbXBsZXRlSXRlbTxUPj4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcblx0cmV0dXJuIHsgcHJvdmlkZTogQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuLCB1c2VFeGlzdGluZzogYXV0b2NvbXBsZXRlIH07XG59XG4iXX0=","import { inject, InjectionToken, } from '@angular/core';\nexport const BrnAutocompleteBaseToken = new InjectionToken('BrnAutocompleteBaseToken');\nexport function provideBrnAutocompleteBase(autocomplete) {\n return { provide: BrnAutocompleteBaseToken, useExisting: autocomplete };\n}\nexport function injectBrnAutocompleteBase() {\n return inject(BrnAutocompleteBaseToken);\n}\nfunction getDefaultConfig() {\n return {\n isItemEqualToValue: (itemValue, selectedValue) => Object.is(itemValue, selectedValue),\n itemToString: undefined,\n autoHighlight: false,\n };\n}\nconst BrnAutocompleteConfigToken = new InjectionToken('BrnAutocompleteConfig');\nexport function provideBrnAutocompleteConfig(config) {\n return { provide: BrnAutocompleteConfigToken, useValue: { ...getDefaultConfig(), ...config } };\n}\nexport function injectBrnAutocompleteConfig() {\n const injectedConfig = inject(BrnAutocompleteConfigToken, { optional: true });\n return injectedConfig ? injectedConfig : getDefaultConfig();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS50b2tlbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS50b2tlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBRU4sTUFBTSxFQUNOLGNBQWMsR0FNZCxNQUFNLGVBQWUsQ0FBQztBQXVCdkIsTUFBTSxDQUFDLE1BQU0sd0JBQXdCLEdBQUcsSUFBSSxjQUFjLENBQStCLDBCQUEwQixDQUFDLENBQUM7QUFFckgsTUFBTSxVQUFVLDBCQUEwQixDQUFJLFlBQTBDO0lBQ3ZGLE9BQU8sRUFBRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsV0FBVyxFQUFFLFlBQVksRUFBRSxDQUFDO0FBQ3pFLENBQUM7QUFFRCxNQUFNLFVBQVUseUJBQXlCO0lBQ3hDLE9BQU8sTUFBTSxDQUFDLHdCQUF3QixDQUEyQixDQUFDO0FBQ25FLENBQUM7QUFZRCxTQUFTLGdCQUFnQjtJQUN4QixPQUFPO1FBQ04sa0JBQWtCLEVBQUUsQ0FBQyxTQUFZLEVBQUUsYUFBdUIsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxTQUFTLEVBQUUsYUFBYSxDQUFDO1FBQ2xHLFlBQVksRUFBRSxTQUFTO1FBQ3ZCLGFBQWEsRUFBRSxLQUFLO0tBQ3BCLENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSwwQkFBMEIsR0FBRyxJQUFJLGNBQWMsQ0FBaUMsdUJBQXVCLENBQUMsQ0FBQztBQUUvRyxNQUFNLFVBQVUsNEJBQTRCLENBQUksTUFBeUM7SUFDeEYsT0FBTyxFQUFFLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxRQUFRLEVBQUUsRUFBRSxHQUFHLGdCQUFnQixFQUFFLEVBQUUsR0FBRyxNQUFNLEVBQUUsRUFBRSxDQUFDO0FBQ2hHLENBQUM7QUFFRCxNQUFNLFVBQVUsMkJBQTJCO0lBQzFDLE1BQU0sY0FBYyxHQUFHLE1BQU0sQ0FBQywwQkFBMEIsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBQzlFLE9BQU8sY0FBYyxDQUFDLENBQUMsQ0FBRSxjQUEyQyxDQUFDLENBQUMsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO0FBQzNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHtcblx0dHlwZSBFeGlzdGluZ1Byb3ZpZGVyLFxuXHRpbmplY3QsXG5cdEluamVjdGlvblRva2VuLFxuXHR0eXBlIElucHV0U2lnbmFsLFxuXHR0eXBlIE1vZGVsU2lnbmFsLFxuXHR0eXBlIFNpZ25hbCxcblx0dHlwZSBUeXBlLFxuXHR0eXBlIFZhbHVlUHJvdmlkZXIsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBCcm5BdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJybkF1dG9jb21wbGV0ZUJhc2U8VD4ge1xuXHRpdGVtVG9TdHJpbmc6IElucHV0U2lnbmFsPEF1dG9jb21wbGV0ZUl0ZW1Ub1N0cmluZzxUPiB8IHVuZGVmaW5lZD47XG5cdHNlYXJjaDogTW9kZWxTaWduYWw8c3RyaW5nPjtcblx0ZGlzYWJsZWQ6IFNpZ25hbDxib29sZWFuPjtcblx0ZGlzYWJsZWRTdGF0ZTogU2lnbmFsPGJvb2xlYW4+O1xuXHRrZXlNYW5hZ2VyOiBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlcjxCcm5BdXRvY29tcGxldGVJdGVtPFQ+Pjtcblx0dmFsdWU6IE1vZGVsU2lnbmFsPFQgfCBudWxsPiB8IE1vZGVsU2lnbmFsPHN0cmluZyB8IG51bGw+O1xuXHR2aXNpYmxlSXRlbXM6IFNpZ25hbDxib29sZWFuPjtcblx0aXNFeHBhbmRlZDogU2lnbmFsPGJvb2xlYW4+O1xuXHRzZWFyY2hJbnB1dFdyYXBwZXJXaWR0aDogU2lnbmFsPG51bWJlciB8IG51bGw+O1xuXG5cdHVwZGF0ZVNlYXJjaDogKHZhbHVlOiBzdHJpbmcpID0+IHZvaWQ7XG5cdGlzU2VsZWN0ZWQ6IChpdGVtVmFsdWU6IFQpID0+IGJvb2xlYW47XG5cdHNlbGVjdDogKGl0ZW1WYWx1ZTogVCkgPT4gdm9pZDtcblx0b3BlbjogKCkgPT4gdm9pZDtcblx0cmVzZXRWYWx1ZTogKCkgPT4gdm9pZDtcblx0LyoqIFNlbGVjdCB0aGUgYWN0aXZlIGl0ZW0gd2l0aCBFbnRlciBrZXkuICovXG5cdHNlbGVjdEFjdGl2ZUl0ZW06ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBCcm5BdXRvY29tcGxldGVCYXNlVG9rZW4gPSBuZXcgSW5qZWN0aW9uVG9rZW48QnJuQXV0b2NvbXBsZXRlQmFzZTx1bmtub3duPj4oJ0JybkF1dG9jb21wbGV0ZUJhc2VUb2tlbicpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJybkF1dG9jb21wbGV0ZUJhc2U8VD4oYXV0b2NvbXBsZXRlOiBUeXBlPEJybkF1dG9jb21wbGV0ZUJhc2U8VD4+KTogRXhpc3RpbmdQcm92aWRlciB7XG5cdHJldHVybiB7IHByb3ZpZGU6IEJybkF1dG9jb21wbGV0ZUJhc2VUb2tlbiwgdXNlRXhpc3Rpbmc6IGF1dG9jb21wbGV0ZSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZTxUPigpOiBCcm5BdXRvY29tcGxldGVCYXNlPFQ+IHtcblx0cmV0dXJuIGluamVjdChCcm5BdXRvY29tcGxldGVCYXNlVG9rZW4pIGFzIEJybkF1dG9jb21wbGV0ZUJhc2U8VD47XG59XG5cbi8vIGNvbmZpZ1xuZXhwb3J0IHR5cGUgQXV0b2NvbXBsZXRlSXRlbUVxdWFsVG9WYWx1ZTxUPiA9IChpdGVtVmFsdWU6IFQsIHNlbGVjdGVkVmFsdWU6IFQgfCBudWxsKSA9PiBib29sZWFuO1xuZXhwb3J0IHR5cGUgQXV0b2NvbXBsZXRlSXRlbVRvU3RyaW5nPFQ+ID0gKGl0ZW1WYWx1ZTogVCkgPT4gc3RyaW5nO1xuXG5leHBvcnQgaW50ZXJmYWNlIEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPiB7XG5cdGlzSXRlbUVxdWFsVG9WYWx1ZTogQXV0b2NvbXBsZXRlSXRlbUVxdWFsVG9WYWx1ZTxUPjtcblx0aXRlbVRvU3RyaW5nPzogQXV0b2NvbXBsZXRlSXRlbVRvU3RyaW5nPFQ+O1xuXHRhdXRvSGlnaGxpZ2h0OiBib29sZWFuO1xufVxuXG5mdW5jdGlvbiBnZXREZWZhdWx0Q29uZmlnPFQ+KCk6IEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPiB7XG5cdHJldHVybiB7XG5cdFx0aXNJdGVtRXF1YWxUb1ZhbHVlOiAoaXRlbVZhbHVlOiBULCBzZWxlY3RlZFZhbHVlOiBUIHwgbnVsbCkgPT4gT2JqZWN0LmlzKGl0ZW1WYWx1ZSwgc2VsZWN0ZWRWYWx1ZSksXG5cdFx0aXRlbVRvU3RyaW5nOiB1bmRlZmluZWQsXG5cdFx0YXV0b0hpZ2hsaWdodDogZmFsc2UsXG5cdH07XG59XG5cbmNvbnN0IEJybkF1dG9jb21wbGV0ZUNvbmZpZ1Rva2VuID0gbmV3IEluamVjdGlvblRva2VuPEJybkF1dG9jb21wbGV0ZUNvbmZpZzx1bmtub3duPj4oJ0JybkF1dG9jb21wbGV0ZUNvbmZpZycpO1xuXG5leHBvcnQgZnVuY3Rpb24gcHJvdmlkZUJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPihjb25maWc6IFBhcnRpYWw8QnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+Pik6IFZhbHVlUHJvdmlkZXIge1xuXHRyZXR1cm4geyBwcm92aWRlOiBCcm5BdXRvY29tcGxldGVDb25maWdUb2tlbiwgdXNlVmFsdWU6IHsgLi4uZ2V0RGVmYXVsdENvbmZpZygpLCAuLi5jb25maWcgfSB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5qZWN0QnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+KCk6IEJybkF1dG9jb21wbGV0ZUNvbmZpZzxUPiB7XG5cdGNvbnN0IGluamVjdGVkQ29uZmlnID0gaW5qZWN0KEJybkF1dG9jb21wbGV0ZUNvbmZpZ1Rva2VuLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXHRyZXR1cm4gaW5qZWN0ZWRDb25maWcgPyAoaW5qZWN0ZWRDb25maWcgYXMgQnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+KSA6IGdldERlZmF1bHRDb25maWcoKTtcbn1cbiJdfQ==","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { afterNextRender, booleanAttribute, computed, contentChild, contentChildren, Directive, effect, ElementRef, forwardRef, inject, Injector, input, linkedSignal, model, untracked, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnAutocompleteInputWrapper } from './brn-autocomplete-input-wrapper';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { injectBrnAutocompleteConfig, provideBrnAutocompleteBase, } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport const BRN_AUTOCOMPLETE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BrnAutocomplete),\n multi: true,\n};\nexport class BrnAutocomplete {\n _injector = inject(Injector);\n _config = injectBrnAutocompleteConfig();\n /** Access the popover if present */\n _brnPopover = inject(BrnPopover, { optional: true });\n /** Whether the autocomplete is disabled */\n disabled = input(false, { transform: booleanAttribute });\n _disabled = linkedSignal(this.disabled);\n /** @internal The disabled state as a readonly signal */\n disabledState = this._disabled.asReadonly();\n /** A function to compare an item with the selected value. */\n isItemEqualToValue = input(this._config.isItemEqualToValue);\n /** A function to convert an item to a string for display. */\n itemToString = input(this._config.itemToString);\n /** Whether to auto-highlight the first matching item. */\n autoHighlight = input(this._config.autoHighlight, {\n transform: booleanAttribute,\n });\n /** The selected value of the autocomplete. */\n value = model(null);\n /** The current search query. */\n search = model('');\n _searchInputWrapper = contentChild(BrnAutocompleteInputWrapper, {\n read: ElementRef,\n });\n /** @internal The width of the search input wrapper */\n searchInputWrapperWidth = computed(() => {\n const inputElement = this._searchInputWrapper()?.nativeElement;\n return inputElement ? inputElement.offsetWidth : null;\n });\n /** @internal Access all the items within the autocomplete */\n items = contentChildren(BrnAutocompleteItemToken, {\n descendants: true,\n });\n /** Determine if the autocomplete has any visible items */\n visibleItems = computed(() => this.items().length > 0);\n /** @internal The key manager for managing active descendant */\n keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n /** @internal Whether the autocomplete is expanded */\n isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n _onChange;\n _onTouched;\n constructor() {\n this.keyManager\n .withVerticalOrientation()\n .withHomeAndEnd()\n .withWrap()\n .skipPredicate((item) => item.disabled);\n this._brnPopover?.closed.subscribe(() => {\n this.keyManager.setActiveItem(-1);\n });\n afterNextRender(() => {\n effect(() => {\n if (!this.autoHighlight() || !this.isExpanded() || !this.search())\n return;\n const hasVisibleItems = this.visibleItems();\n untracked(() => {\n if (hasVisibleItems) {\n this.keyManager.setFirstItemActive();\n }\n else {\n this.keyManager.setActiveItem(-1);\n }\n });\n }, { injector: this._injector });\n });\n }\n updateSearch(value) {\n this.search.set(value);\n this.open();\n if (value === '') {\n this.resetValue();\n }\n }\n isSelected(itemValue) {\n return this.isItemEqualToValue()(itemValue, this.value());\n }\n select(itemValue) {\n this.value.set(itemValue);\n this._onChange?.(itemValue);\n this.close();\n }\n /** Select the active item with Enter key. */\n selectActiveItem() {\n if (!this.isExpanded())\n return;\n const value = this.keyManager.activeItem?.value();\n if (value) {\n this.select(value);\n }\n else {\n this.close();\n }\n }\n resetValue() {\n this.value.set(null);\n this.search.set('');\n this._onChange?.(null);\n }\n open() {\n if (this._disabled() || this.isExpanded())\n return;\n this._brnPopover?.open();\n }\n close() {\n if (this._disabled() || !this.isExpanded())\n return;\n this._brnPopover?.close();\n }\n toggle() {\n if (this._disabled())\n return;\n this.isExpanded() ? this.close() : this.open();\n }\n /** CONTROL VALUE ACCESSOR */\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this._disabled.set(isDisabled);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocomplete, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnAutocomplete, isStandalone: true, selector: \"[brnAutocomplete]\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, isItemEqualToValue: { classPropertyName: \"isItemEqualToValue\", publicName: \"isItemEqualToValue\", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: \"itemToString\", publicName: \"itemToString\", isSignal: true, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: \"autoHighlight\", publicName: \"autoHighlight\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: \"search\", publicName: \"search\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", search: \"searchChange\" }, providers: [provideBrnAutocompleteBase(BrnAutocomplete), BRN_AUTOCOMPLETE_VALUE_ACCESSOR], queries: [{ propertyName: \"_searchInputWrapper\", first: true, predicate: BrnAutocompleteInputWrapper, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"items\", predicate: BrnAutocompleteItemToken, descendants: true, isSignal: true }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocomplete, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocomplete]',\n providers: [provideBrnAutocompleteBase(BrnAutocomplete), BRN_AUTOCOMPLETE_VALUE_ACCESSOR],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUUvRCxPQUFPLEVBQ04sZUFBZSxFQUNmLGdCQUFnQixFQUNoQixRQUFRLEVBQ1IsWUFBWSxFQUNaLGVBQWUsRUFDZixTQUFTLEVBQ1QsTUFBTSxFQUNOLFVBQVUsRUFDVixVQUFVLEVBQ1YsTUFBTSxFQUNOLFFBQVEsRUFDUixLQUFLLEVBQ0wsWUFBWSxFQUNaLEtBQUssRUFDTCxTQUFTLEdBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUF3QixpQkFBaUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXpFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUUvRSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUN6RSxPQUFPLEVBSU4sMkJBQTJCLEVBQzNCLDBCQUEwQixHQUMxQixNQUFNLDBCQUEwQixDQUFDOztBQUVsQyxNQUFNLENBQUMsTUFBTSwrQkFBK0IsR0FBRztJQUM5QyxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLFdBQVcsRUFBRSxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsZUFBZSxDQUFDO0lBQzlDLEtBQUssRUFBRSxJQUFJO0NBQ1gsQ0FBQztBQU1GLE1BQU0sT0FBTyxlQUFlO0lBQ1YsU0FBUyxHQUFHLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUU3QixPQUFPLEdBQUcsMkJBQTJCLEVBQUssQ0FBQztJQUU1RCxvQ0FBb0M7SUFDbkIsV0FBVyxHQUFHLE1BQU0sQ0FB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UUFDNUIsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7SUFDdEIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFVBQW1CO1FBQ25DLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7MEhBbEtXLGVBQWU7OEdBQWYsZUFBZSx1N0JBRmhCLENBQUMsMEJBQTBCLENBQUMsZUFBZSxDQUFDLEVBQUUsK0JBQStCLENBQUMsMkVBbUNyQywyQkFBMkIsMkJBQ3hFLFVBQVUsd0RBVStDLHdCQUF3Qjs7MkZBNUM1RSxlQUFlO2tCQUozQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSxtQkFBbUI7b0JBQzdCLFNBQVMsRUFBRSxDQUFDLDBCQUEwQixpQkFBaUIsRUFBRSwrQkFBK0IsQ0FBQztpQkFDekYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBY3RpdmVEZXNjZW5kYW50S2V5TWFuYWdlciB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9hMTF5JztcbmltcG9ydCB0eXBlIHsgQm9vbGVhbklucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG5cdGFmdGVyTmV4dFJlbmRlcixcblx0Ym9vbGVhbkF0dHJpYnV0ZSxcblx0Y29tcHV0ZWQsXG5cdGNvbnRlbnRDaGlsZCxcblx0Y29udGVudENoaWxkcmVuLFxuXHREaXJlY3RpdmUsXG5cdGVmZmVjdCxcblx0RWxlbWVudFJlZixcblx0Zm9yd2FyZFJlZixcblx0aW5qZWN0LFxuXHRJbmplY3Rvcixcblx0aW5wdXQsXG5cdGxpbmtlZFNpZ25hbCxcblx0bW9kZWwsXG5cdHVudHJhY2tlZCxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBDb250cm9sVmFsdWVBY2Nlc3NvciwgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBDaGFuZ2VGbiwgVG91Y2hGbiB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2Zvcm1zJztcbmltcG9ydCB7IEJyblBvcG92ZXIgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9wb3BvdmVyJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUlucHV0V3JhcHBlciB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC13cmFwcGVyJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUtaXRlbSc7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVJdGVtVG9rZW4gfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUtaXRlbS50b2tlbic7XG5pbXBvcnQge1xuXHRBdXRvY29tcGxldGVJdGVtRXF1YWxUb1ZhbHVlLFxuXHRBdXRvY29tcGxldGVJdGVtVG9TdHJpbmcsXG5cdEJybkF1dG9jb21wbGV0ZUJhc2UsXG5cdGluamVjdEJybkF1dG9jb21wbGV0ZUNvbmZpZyxcblx0cHJvdmlkZUJybkF1dG9jb21wbGV0ZUJhc2UsXG59IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS50b2tlbic7XG5cbmV4cG9ydCBjb25zdCBCUk5fQVVUT0NPTVBMRVRFX1ZBTFVFX0FDQ0VTU09SID0ge1xuXHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQnJuQXV0b2NvbXBsZXRlKSxcblx0bXVsdGk6IHRydWUsXG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlXScsXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVCcm5BdXRvY29tcGxldGVCYXNlKEJybkF1dG9jb21wbGV0ZSksIEJSTl9BVVRPQ09NUExFVEVfVkFMVUVfQUNDRVNTT1JdLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGU8VD4gaW1wbGVtZW50cyBCcm5BdXRvY29tcGxldGVCYXNlPFQ+LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2luamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9jb25maWcgPSBpbmplY3RCcm5BdXRvY29tcGxldGVDb25maWc8VD4oKTtcblxuXHQvKiogQWNjZXNzIHRoZSBwb3BvdmVyIGlmIHByZXNlbnQgKi9cblx0cHJpdmF0ZSByZWFkb25seSBfYnJuUG9wb3ZlciA9IGluamVjdChCcm5Qb3BvdmVyLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdC8qKiBXaGV0aGVyIHRoZSBhdXRvY29tcGxldGUgaXMgZGlzYWJsZWQgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9kaXNhYmxlZCA9IGxpbmtlZFNpZ25hbCh0aGlzLmRpc2FibGVkKTtcblxuXHQvKiogQGludGVybmFsIFRoZSBkaXNhYmxlZCBzdGF0ZSBhcyBhIHJlYWRvbmx5IHNpZ25hbCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgZGlzYWJsZWRTdGF0ZSA9IHRoaXMuX2Rpc2FibGVkLmFzUmVhZG9ubHkoKTtcblxuXHQvKiogQSBmdW5jdGlvbiB0byBjb21wYXJlIGFuIGl0ZW0gd2l0aCB0aGUgc2VsZWN0ZWQgdmFsdWUuICovXG5cdHB1YmxpYyByZWFkb25seSBpc0l0ZW1FcXVhbFRvVmFsdWUgPSBpbnB1dDxBdXRvY29tcGxldGVJdGVtRXF1YWxUb1ZhbHVlPFQ+Pih0aGlzLl9jb25maWcuaXNJdGVtRXF1YWxUb1ZhbHVlKTtcblxuXHQvKiogQSBmdW5jdGlvbiB0byBjb252ZXJ0IGFuIGl0ZW0gdG8gYSBzdHJpbmcgZm9yIGRpc3BsYXkuICovXG5cdHB1YmxpYyByZWFkb25seSBpdGVtVG9TdHJpbmcgPSBpbnB1dDxBdXRvY29tcGxldGVJdGVtVG9TdHJpbmc8VD4gfCB1bmRlZmluZWQ+KHRoaXMuX2NvbmZpZy5pdGVtVG9TdHJpbmcpO1xuXG5cdC8qKiBXaGV0aGVyIHRvIGF1dG8taGlnaGxpZ2h0IHRoZSBmaXJzdCBtYXRjaGluZyBpdGVtLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYXV0b0hpZ2hsaWdodCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4odGhpcy5fY29uZmlnLmF1dG9IaWdobGlnaHQsIHtcblx0XHR0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUsXG5cdH0pO1xuXG5cdC8qKiBUaGUgc2VsZWN0ZWQgdmFsdWUgb2YgdGhlIGF1dG9jb21wbGV0ZS4gKi9cblx0cHVibGljIHJlYWRvbmx5IHZhbHVlID0gbW9kZWw8VCB8IG51bGw+KG51bGwpO1xuXG5cdC8qKiBUaGUgY3VycmVudCBzZWFyY2ggcXVlcnkuICovXG5cdHB1YmxpYyByZWFkb25seSBzZWFyY2ggPSBtb2RlbDxzdHJpbmc+KCcnKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hJbnB1dFdyYXBwZXIgPSBjb250ZW50Q2hpbGQoQnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyLCB7XG5cdFx0cmVhZDogRWxlbWVudFJlZixcblx0fSk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUgd2lkdGggb2YgdGhlIHNlYXJjaCBpbnB1dCB3cmFwcGVyICovXG5cdHB1YmxpYyByZWFkb25seSBzZWFyY2hJbnB1dFdyYXBwZXJXaWR0aCA9IGNvbXB1dGVkPG51bWJlciB8IG51bGw+KCgpID0+IHtcblx0XHRjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9zZWFyY2hJbnB1dFdyYXBwZXIoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRyZXR1cm4gaW5wdXRFbGVtZW50ID8gKGlucHV0RWxlbWVudC5vZmZzZXRXaWR0aCBhcyBudW1iZXIpIDogbnVsbDtcblx0fSk7XG5cblx0LyoqIEBpbnRlcm5hbCBBY2Nlc3MgYWxsIHRoZSBpdGVtcyB3aXRoaW4gdGhlIGF1dG9jb21wbGV0ZSAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW48QnJuQXV0b2NvbXBsZXRlSXRlbTxUPj4oQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuLCB7XG5cdFx0ZGVzY2VuZGFudHM6IHRydWUsXG5cdH0pO1xuXG5cdC8qKiBEZXRlcm1pbmUgaWYgdGhlIGF1dG9jb21wbGV0ZSBoYXMgYW55IHZpc2libGUgaXRlbXMgKi9cblx0cHVibGljIHJlYWRvbmx5IHZpc2libGVJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbXMoKS5sZW5ndGggPiAwKTtcblxuXHQvKiogQGludGVybmFsIFRoZSBrZXkgbWFuYWdlciBmb3IgbWFuYWdpbmcgYWN0aXZlIGRlc2NlbmRhbnQgKi9cblx0cHVibGljIHJlYWRvbmx5IGtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIodGhpcy5pdGVtcywgdGhpcy5faW5qZWN0b3IpO1xuXG5cdC8qKiBAaW50ZXJuYWwgV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlzIGV4cGFuZGVkICovXG5cdHB1YmxpYyByZWFkb25seSBpc0V4cGFuZGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fYnJuUG9wb3Zlcj8uc3RhdGVDb21wdXRlZCgpID09PSAnb3BlbicpO1xuXG5cdHByb3RlY3RlZCBfb25DaGFuZ2U/OiBDaGFuZ2VGbjxUIHwgbnVsbD47XG5cdHByb3RlY3RlZCBfb25Ub3VjaGVkPzogVG91Y2hGbjtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHR0aGlzLmtleU1hbmFnZXJcblx0XHRcdC53aXRoVmVydGljYWxPcmllbnRhdGlvbigpXG5cdFx0XHQud2l0aEhvbWVBbmRFbmQoKVxuXHRcdFx0LndpdGhXcmFwKClcblx0XHRcdC5za2lwUHJlZGljYXRlKChpdGVtKSA9PiBpdGVtLmRpc2FibGVkKTtcblxuXHRcdHRoaXMuX2JyblBvcG92ZXI/LmNsb3NlZC5zdWJzY3JpYmUoKCkgPT4ge1xuXHRcdFx0dGhpcy5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuXHRcdH0pO1xuXG5cdFx0YWZ0ZXJOZXh0UmVuZGVyKCgpID0+IHtcblx0XHRcdGVmZmVjdChcblx0XHRcdFx0KCkgPT4ge1xuXHRcdFx0XHRcdGlmICghdGhpcy5hdXRvSGlnaGxpZ2h0KCkgfHwgIXRoaXMuaXNFeHBhbmRlZCgpIHx8ICF0aGlzLnNlYXJjaCgpKSByZXR1cm47XG5cblx0XHRcdFx0XHRjb25zdCBoYXNWaXNpYmxlSXRlbXMgPSB0aGlzLnZpc2libGVJdGVtcygpO1xuXG5cdFx0XHRcdFx0dW50cmFja2VkKCgpID0+IHtcblx0XHRcdFx0XHRcdGlmIChoYXNWaXNpYmxlSXRlbXMpIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5rZXlNYW5hZ2VyLnNldEZpcnN0SXRlbUFjdGl2ZSgpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0dGhpcy5rZXlNYW5hZ2VyLnNldEFjdGl2ZUl0ZW0oLTEpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9LFxuXHRcdFx0XHR7IGluamVjdG9yOiB0aGlzLl9pbmplY3RvciB9LFxuXHRcdFx0KTtcblx0XHR9KTtcblx0fVxuXG5cdHVwZGF0ZVNlYXJjaCh2YWx1ZTogc3RyaW5nKSB7XG5cdFx0dGhpcy5zZWFyY2guc2V0KHZhbHVlKTtcblx0XHR0aGlzLm9wZW4oKTtcblxuXHRcdGlmICh2YWx1ZSA9PT0gJycpIHtcblx0XHRcdHRoaXMucmVzZXRWYWx1ZSgpO1xuXHRcdH1cblx0fVxuXG5cdGlzU2VsZWN0ZWQoaXRlbVZhbHVlOiBUKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuaXNJdGVtRXF1YWxUb1ZhbHVlKCkoaXRlbVZhbHVlLCB0aGlzLnZhbHVlKCkpO1xuXHR9XG5cblx0c2VsZWN0KGl0ZW1WYWx1ZTogVCkge1xuXHRcdHRoaXMudmFsdWUuc2V0KGl0ZW1WYWx1ZSk7XG5cdFx0dGhpcy5fb25DaGFuZ2U/LihpdGVtVmFsdWUpO1xuXHRcdHRoaXMuY2xvc2UoKTtcblx0fVxuXG5cdC8qKiBTZWxlY3QgdGhlIGFjdGl2ZSBpdGVtIHdpdGggRW50ZXIga2V5LiAqL1xuXHRzZWxlY3RBY3RpdmVJdGVtKCkge1xuXHRcdGlmICghdGhpcy5pc0V4cGFuZGVkKCkpIHJldHVybjtcblxuXHRcdGNvbnN0IHZhbHVlID0gdGhpcy5rZXlNYW5hZ2VyLmFjdGl2ZUl0ZW0/LnZhbHVlKCk7XG5cblx0XHRpZiAodmFsdWUpIHtcblx0XHRcdHRoaXMuc2VsZWN0KHZhbHVlKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jbG9zZSgpO1xuXHRcdH1cblx0fVxuXG5cdHJlc2V0VmFsdWUoKSB7XG5cdFx0dGhpcy52YWx1ZS5zZXQobnVsbCk7XG5cdFx0dGhpcy5zZWFyY2guc2V0KCcnKTtcblx0XHR0aGlzLl9vbkNoYW5nZT8uKG51bGwpO1xuXHR9XG5cblx0b3BlbigpIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQoKSB8fCB0aGlzLmlzRXhwYW5kZWQoKSkgcmV0dXJuO1xuXG5cdFx0dGhpcy5fYnJuUG9wb3Zlcj8ub3BlbigpO1xuXHR9XG5cblx0Y2xvc2UoKSB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkgfHwgIXRoaXMuaXNFeHBhbmRlZCgpKSByZXR1cm47XG5cblx0XHR0aGlzLl9icm5Qb3BvdmVyPy5jbG9zZSgpO1xuXHR9XG5cblx0dG9nZ2xlKCkge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpKSByZXR1cm47XG5cblx0XHR0aGlzLmlzRXhwYW5kZWQoKSA/IHRoaXMuY2xvc2UoKSA6IHRoaXMub3BlbigpO1xuXHR9XG5cblx0LyoqIENPTlRST0wgVkFMVUUgQUNDRVNTT1IgKi9cblx0d3JpdGVWYWx1ZSh2YWx1ZTogVCB8IG51bGwpOiB2b2lkIHtcblx0XHR0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG5cdH1cblxuXHRyZWdpc3Rlck9uQ2hhbmdlKGZuOiBDaGFuZ2VGbjxUIHwgbnVsbD4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuX2Rpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcblx0fVxufVxuIl19","import { Directive, ElementRef, inject } from '@angular/core';\nimport { BrnDialog } from '@spartan-ng/brain/dialog';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteAnchor {\n _host = inject(ElementRef, { host: true });\n _brnDialog = inject(BrnDialog, { optional: true });\n constructor() {\n if (!this._brnDialog)\n return;\n this._brnDialog.mutableAttachTo.set(this._host.nativeElement);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteAnchor, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteAnchor, isStandalone: true, selector: \"[brnAutocompleteAnchor]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteAnchor, decorators: [{\n type: Directive,\n args: [{ selector: '[brnAutocompleteAnchor]' }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1hbmNob3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtYW5jaG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBR3JELE1BQU0sT0FBTyxxQkFBcUI7SUFDaEIsS0FBSyxHQUFHLE1BQU0sQ0FBQyxVQUFVLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQztJQUMzQyxVQUFVLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO0lBRXBFO1FBQ0MsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQUUsT0FBTztRQUU3QixJQUFJLENBQUMsVUFBVSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUMvRCxDQUFDOzBIQVJXLHFCQUFxQjs4R0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQURqQyxTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLHlCQUF5QixFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBFbGVtZW50UmVmLCBpbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkRpYWxvZyB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2RpYWxvZyc7XG5cbkBEaXJlY3RpdmUoeyBzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVBbmNob3JdJyB9KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUFuY2hvciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2hvc3QgPSBpbmplY3QoRWxlbWVudFJlZiwgeyBob3N0OiB0cnVlIH0pO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9icm5EaWFsb2cgPSBpbmplY3QoQnJuRGlhbG9nLCB7IG9wdGlvbmFsOiB0cnVlIH0pO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdGlmICghdGhpcy5fYnJuRGlhbG9nKSByZXR1cm47XG5cblx0XHR0aGlzLl9icm5EaWFsb2cubXV0YWJsZUF0dGFjaFRvLnNldCh0aGlzLl9ob3N0Lm5hdGl2ZUVsZW1lbnQpO1xuXHR9XG59XG4iXX0=","import { computed, Directive, effect, inject, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteClear {\n _autocomplete = injectBrnAutocompleteBase();\n _renderer = inject(Renderer2);\n _templateRef = inject(TemplateRef);\n _viewContainerRef = inject(ViewContainerRef);\n /** Determine if the combobox has a value */\n _hasValue = computed(() => this._autocomplete.value() !== null);\n constructor() {\n effect(() => {\n this._viewContainerRef.clear();\n if (this._hasValue()) {\n const view = this._viewContainerRef.createEmbeddedView(this._templateRef);\n view.rootNodes.forEach((node) => {\n this._renderer.listen(node, 'click', (e) => {\n e.preventDefault();\n this.clear();\n });\n });\n }\n });\n }\n clear() {\n this._autocomplete.resetValue();\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteClear, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteClear, isStandalone: true, selector: \"[brnAutocompleteClear]\", ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteClear, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteClear]',\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1jbGVhci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1jbGVhci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDOUcsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBS3JFLE1BQU0sT0FBTyxvQkFBb0I7SUFDZixhQUFhLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUM1QyxTQUFTLEdBQUcsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBQzlCLFlBQVksR0FBRyxNQUFNLENBQW9CLFdBQVcsQ0FBQyxDQUFDO0lBQ3RELGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBRTlELDRDQUE0QztJQUMzQixTQUFTLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEtBQUssSUFBSSxDQUFDLENBQUM7SUFFakY7UUFDQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssRUFBRSxDQUFDO1lBQy9CLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7Z0JBQ3RCLE1BQU0sSUFBSSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7Z0JBQzFFLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQy9CLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRTt3QkFDMUMsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFDO3dCQUNuQixJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7b0JBQ2QsQ0FBQyxDQUFDLENBQUM7Z0JBQ0osQ0FBQyxDQUFDLENBQUM7WUFDSixDQUFDO1FBQ0YsQ0FBQyxDQUFDLENBQUM7SUFDSixDQUFDO0lBRUQsS0FBSztRQUNKLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxFQUFFLENBQUM7SUFDakMsQ0FBQzswSEExQlcsb0JBQW9COzhHQUFwQixvQkFBb0I7OzJGQUFwQixvQkFBb0I7a0JBSGhDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHdCQUF3QjtpQkFDbEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb21wdXRlZCwgRGlyZWN0aXZlLCBlZmZlY3QsIGluamVjdCwgUmVuZGVyZXIyLCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVDbGVhcl0nLFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVDbGVhciB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2F1dG9jb21wbGV0ZSA9IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UoKTtcblx0cHJpdmF0ZSByZWFkb25seSBfcmVuZGVyZXIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblx0cHJpdmF0ZSByZWFkb25seSBfdGVtcGxhdGVSZWYgPSBpbmplY3Q8VGVtcGxhdGVSZWY8dm9pZD4+KFRlbXBsYXRlUmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfdmlld0NvbnRhaW5lclJlZiA9IGluamVjdChWaWV3Q29udGFpbmVyUmVmKTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZSBjb21ib2JveCBoYXMgYSB2YWx1ZSAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9oYXNWYWx1ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuX2F1dG9jb21wbGV0ZS52YWx1ZSgpICE9PSBudWxsKTtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0dGhpcy5fdmlld0NvbnRhaW5lclJlZi5jbGVhcigpO1xuXHRcdFx0aWYgKHRoaXMuX2hhc1ZhbHVlKCkpIHtcblx0XHRcdFx0Y29uc3QgdmlldyA9IHRoaXMuX3ZpZXdDb250YWluZXJSZWYuY3JlYXRlRW1iZWRkZWRWaWV3KHRoaXMuX3RlbXBsYXRlUmVmKTtcblx0XHRcdFx0dmlldy5yb290Tm9kZXMuZm9yRWFjaCgobm9kZSkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuX3JlbmRlcmVyLmxpc3Rlbihub2RlLCAnY2xpY2snLCAoZSkgPT4ge1xuXHRcdFx0XHRcdFx0ZS5wcmV2ZW50RGVmYXVsdCgpO1xuXHRcdFx0XHRcdFx0dGhpcy5jbGVhcigpO1xuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9KTtcblx0XHRcdH1cblx0XHR9KTtcblx0fVxuXG5cdGNsZWFyKCkge1xuXHRcdHRoaXMuX2F1dG9jb21wbGV0ZS5yZXNldFZhbHVlKCk7XG5cdH1cbn1cbiJdfQ==","import { Directive } from '@angular/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteContent {\n _autocomplete = injectBrnAutocompleteBase();\n /** Determine if the autocomplete has any visible items */\n _visibleItems = this._autocomplete.visibleItems;\n _autocompleteWidth = this._autocomplete.searchInputWrapperWidth;\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteContent, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteContent, isStandalone: true, selector: \"[brnAutocompleteContent]\", host: { properties: { \"attr.data-empty\": \"!_visibleItems() ? \\\"\\\" : null\", \"style.--brn-autocomplete-width.px\": \"_autocompleteWidth()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteContent, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteContent]',\n host: {\n '[attr.data-empty]': '!_visibleItems() ? \"\" : null',\n '[style.--brn-autocomplete-width.px]': '_autocompleteWidth()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1jb250ZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWNvbnRlbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFTckUsTUFBTSxPQUFPLHNCQUFzQjtJQUNqQixhQUFhLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUU3RCwwREFBMEQ7SUFDdkMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBRWhELGtCQUFrQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsdUJBQXVCLENBQUM7MEhBTnZFLHNCQUFzQjs4R0FBdEIsc0JBQXNCOzsyRkFBdEIsc0JBQXNCO2tCQVBsQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSwwQkFBMEI7b0JBQ3BDLElBQUksRUFBRTt3QkFDTCxtQkFBbUIsRUFBRSw4QkFBOEI7d0JBQ25ELHFDQUFxQyxFQUFFLHNCQUFzQjtxQkFDN0Q7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UgfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUudG9rZW4nO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlQ29udGVudF0nLFxuXHRob3N0OiB7XG5cdFx0J1thdHRyLmRhdGEtZW1wdHldJzogJyFfdmlzaWJsZUl0ZW1zKCkgPyBcIlwiIDogbnVsbCcsXG5cdFx0J1tzdHlsZS4tLWJybi1hdXRvY29tcGxldGUtd2lkdGgucHhdJzogJ19hdXRvY29tcGxldGVXaWR0aCgpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQXV0b2NvbXBsZXRlQ29udGVudCB7XG5cdHByaXZhdGUgcmVhZG9ubHkgX2F1dG9jb21wbGV0ZSA9IGluamVjdEJybkF1dG9jb21wbGV0ZUJhc2UoKTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZSBhdXRvY29tcGxldGUgaGFzIGFueSB2aXNpYmxlIGl0ZW1zICovXG5cdHByb3RlY3RlZCByZWFkb25seSBfdmlzaWJsZUl0ZW1zID0gdGhpcy5fYXV0b2NvbXBsZXRlLnZpc2libGVJdGVtcztcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2F1dG9jb21wbGV0ZVdpZHRoID0gdGhpcy5fYXV0b2NvbXBsZXRlLnNlYXJjaElucHV0V3JhcHBlcldpZHRoO1xufVxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteEmpty {\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteEmpty, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteEmpty, isStandalone: true, selector: \"[brnAutocompleteEmpty]\", host: { attributes: { \"role\": \"status\", \"aria-live\": \"polite\", \"aria-atomic\": \"true\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteEmpty, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteEmpty]',\n host: {\n role: 'status',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1lbXB0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1lbXB0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVUxQyxNQUFNLE9BQU8sb0JBQW9COzBIQUFwQixvQkFBb0I7OEdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFSaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsV0FBVyxFQUFFLFFBQVE7d0JBQ3JCLGFBQWEsRUFBRSxNQUFNO3FCQUNyQjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlRW1wdHldJyxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdzdGF0dXMnLFxuXHRcdCdhcmlhLWxpdmUnOiAncG9saXRlJyxcblx0XHQnYXJpYS1hdG9taWMnOiAndHJ1ZScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUVtcHR5IHt9XG4iXX0=","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteLabel {\n static _id = 0;\n /** The id of the autocomplete label */\n id = input(`brn-autocomplete-label-${++BrnAutocompleteLabel._id}`);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteLabel, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteLabel, isStandalone: true, selector: \"[brnAutocompleteLabel]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { \"id\": \"id()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteLabel, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteLabel]',\n host: {\n '[id]': 'id()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1sYWJlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1sYWJlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQzs7QUFRakQsTUFBTSxPQUFPLG9CQUFvQjtJQUN4QixNQUFNLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQztJQUV2Qix1Q0FBdUM7SUFDdkIsRUFBRSxHQUFHLEtBQUssQ0FBUywwQkFBMEIsRUFBRSxvQkFBb0IsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDOzBIQUovRSxvQkFBb0I7OEdBQXBCLG9CQUFvQjs7MkZBQXBCLG9CQUFvQjtrQkFOaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsd0JBQXdCO29CQUNsQyxJQUFJLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLE1BQU07cUJBQ2Q7aUJBQ0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEaXJlY3RpdmUsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVMYWJlbF0nLFxuXHRob3N0OiB7XG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUxhYmVsIHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHQvKiogVGhlIGlkIG9mIHRoZSBhdXRvY29tcGxldGUgbGFiZWwgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWF1dG9jb21wbGV0ZS1sYWJlbC0keysrQnJuQXV0b2NvbXBsZXRlTGFiZWwuX2lkfWApO1xufVxuIl19","import { computed, contentChild, contentChildren, Directive } from '@angular/core';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { BrnAutocompleteLabel } from './brn-autocomplete-label';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteGroup {\n /** Get the items in the group */\n _items = contentChildren(BrnAutocompleteItemToken, {\n descendants: true,\n });\n /** Determine if there are any visible items in the group */\n _visible = computed(() => this._items().length > 0);\n /** Get the label associated with the group */\n _label = contentChild(BrnAutocompleteLabel);\n _labelledBy = computed(() => {\n const label = this._label();\n return label ? label.id() : null;\n });\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteGroup, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnAutocompleteGroup, isStandalone: true, selector: \"[brnAutocompleteGroup]\", host: { attributes: { \"role\": \"group\" }, properties: { \"attr.data-hidden\": \"!_visible() ? \\\"\\\" : null\", \"attr.aria-labelledby\": \"_labelledBy()\" } }, queries: [{ propertyName: \"_items\", predicate: BrnAutocompleteItemToken, descendants: true, isSignal: true }, { propertyName: \"_label\", first: true, predicate: BrnAutocompleteLabel, descendants: true, isSignal: true }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteGroup, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteGroup]',\n host: {\n role: 'group',\n '[attr.data-hidden]': '!_visible() ? \"\" : null',\n '[attr.aria-labelledby]': '_labelledBy()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1ncm91cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1ncm91cC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ25GLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDBCQUEwQixDQUFDOztBQVVoRSxNQUFNLE9BQU8sb0JBQW9CO0lBQ2hDLGlDQUFpQztJQUNoQixNQUFNLEdBQUcsZUFBZSxDQUFDLHdCQUF3QixFQUFFO1FBQ25FLFdBQVcsRUFBRSxJQUFJO0tBQ2pCLENBQUMsQ0FBQztJQUVILDREQUE0RDtJQUN6QyxRQUFRLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFFdkUsOENBQThDO0lBQzdCLE1BQU0sR0FBRyxZQUFZLENBQUMsb0JBQW9CLENBQUMsQ0FBQztJQUUxQyxXQUFXLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRTtRQUM5QyxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDNUIsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ2xDLENBQUMsQ0FBQyxDQUFDOzBIQWZTLG9CQUFvQjs4R0FBcEIsb0JBQW9CLDhQQUVVLHdCQUF3Qix5RkFRM0Isb0JBQW9COzsyRkFWL0Msb0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx3QkFBd0I7b0JBQ2xDLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsT0FBTzt3QkFDYixvQkFBb0IsRUFBRSx5QkFBeUI7d0JBQy9DLHdCQUF3QixFQUFFLGVBQWU7cUJBQ3pDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIGNvbnRlbnRDaGlsZCwgY29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtLnRva2VuJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUxhYmVsIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWxhYmVsJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkF1dG9jb21wbGV0ZUdyb3VwXScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnZ3JvdXAnLFxuXHRcdCdbYXR0ci5kYXRhLWhpZGRlbl0nOiAnIV92aXNpYmxlKCkgPyBcIlwiIDogbnVsbCcsXG5cdFx0J1thdHRyLmFyaWEtbGFiZWxsZWRieV0nOiAnX2xhYmVsbGVkQnkoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUdyb3VwIHtcblx0LyoqIEdldCB0aGUgaXRlbXMgaW4gdGhlIGdyb3VwICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2l0ZW1zID0gY29udGVudENoaWxkcmVuKEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiwge1xuXHRcdGRlc2NlbmRhbnRzOiB0cnVlLFxuXHR9KTtcblxuXHQvKiogRGV0ZXJtaW5lIGlmIHRoZXJlIGFyZSBhbnkgdmlzaWJsZSBpdGVtcyBpbiB0aGUgZ3JvdXAgKi9cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF92aXNpYmxlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5faXRlbXMoKS5sZW5ndGggPiAwKTtcblxuXHQvKiogR2V0IHRoZSBsYWJlbCBhc3NvY2lhdGVkIHdpdGggdGhlIGdyb3VwICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2xhYmVsID0gY29udGVudENoaWxkKEJybkF1dG9jb21wbGV0ZUxhYmVsKTtcblxuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2xhYmVsbGVkQnkgPSBjb21wdXRlZCgoKSA9PiB7XG5cdFx0Y29uc3QgbGFiZWwgPSB0aGlzLl9sYWJlbCgpO1xuXHRcdHJldHVybiBsYWJlbCA/IGxhYmVsLmlkKCkgOiBudWxsO1xuXHR9KTtcbn1cbiJdfQ==","import { Directive, effect, ElementRef, inject, input } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteInput {\n static _id = 0;\n _el = inject(ElementRef);\n _autocomplete = injectBrnAutocompleteBase();\n /** The id of the autocomplete input */\n id = input(`brn-autocomplete-input-${++BrnAutocompleteInput._id}`);\n disabled = this._autocomplete.disabledState;\n /** Whether the autocomplete panel is expanded */\n _isExpanded = this._autocomplete.isExpanded;\n constructor() {\n effect(() => {\n const value = this._autocomplete.value();\n const valueLabel = stringifyAsLabel(value, this._autocomplete.itemToString());\n this._el.nativeElement.value = valueLabel ?? '';\n });\n effect(() => {\n const search = this._autocomplete.search();\n if (this._el.nativeElement.value !== search) {\n this._el.nativeElement.value = search;\n }\n });\n }\n onInput(event) {\n const value = event.target.value;\n this._autocomplete.updateSearch(value);\n }\n onKeyDown(event) {\n if (event.key === 'Enter') {\n // prevent form submission if inside a form\n event.preventDefault();\n this._autocomplete.selectActiveItem();\n }\n if (!this._isExpanded()) {\n if (event.key === 'ArrowDown' || event.key === 'ArrowUp') {\n this._autocomplete.open();\n }\n if (event.key === 'Escape') {\n this._autocomplete.resetValue();\n }\n }\n this._autocomplete.keyManager.onKeydown(event);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInput, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteInput, isStandalone: true, selector: \"input[brnAutocompleteInput]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"type\": \"text\", \"role\": \"combobox\", \"autocomplete\": \"off\", \"autocorrect\": \"off\", \"autocapitalize\": \"none\", \"spellcheck\": \"false\", \"aria-autocomplete\": \"list\", \"aria-haspopup\": \"listbox\" }, listeners: { \"keydown\": \"onKeyDown($event)\", \"input\": \"onInput($event)\" }, properties: { \"id\": \"id()\", \"attr.aria-expanded\": \"_isExpanded()\", \"attr.disabled\": \"disabled() ? \\\"\\\" : null\" } }, exportAs: [\"brnAutocompleteInput\"], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteInput, decorators: [{\n type: Directive,\n args: [{\n selector: 'input[brnAutocompleteInput]',\n exportAs: 'brnAutocompleteInput',\n host: {\n '[id]': 'id()',\n type: 'text',\n role: 'combobox',\n autocomplete: 'off',\n autocorrect: 'off',\n autocapitalize: 'none',\n spellcheck: 'false',\n 'aria-autocomplete': 'list',\n 'aria-haspopup': 'listbox',\n '[attr.aria-expanded]': '_isExpanded()',\n '[attr.disabled]': 'disabled() ? \"\" : null',\n '(keydown)': 'onKeyDown($event)',\n '(input)': 'onInput($event)',\n },\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvYnJhaW4vYXV0b2NvbXBsZXRlL3NyYy9saWIvYnJuLWF1dG9jb21wbGV0ZS1pbnB1dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM3RSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFxQnJFLE1BQU0sT0FBTyxvQkFBb0I7SUFDeEIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFDTixHQUFHLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pCLGFBQWEsR0FBRyx5QkFBeUIsRUFBSyxDQUFDO0lBRWhFLHVDQUF1QztJQUN2QixFQUFFLEdBQUcsS0FBSyxDQUFTLDBCQUEwQixFQUFFLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFM0UsUUFBUSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxDQUFDO0lBRTVELGlEQUFpRDtJQUM5QixXQUFXLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUM7SUFFL0Q7UUFDQyxNQUFNLENBQUMsR0FBRyxFQUFFO1lBQ1gsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUN6QyxNQUFNLFVBQVUsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFDO1lBQzlFLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxVQUFVLElBQUksRUFBRSxDQUFDO1FBQ2pELENBQUMsQ0FBQyxDQUFDO1FBRUgsTUFBTSxDQUFDLEdBQUcsRUFBRTtZQUNYLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDM0MsSUFBSSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEtBQUssTUFBTSxFQUFFLENBQUM7Z0JBQzdDLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUM7WUFDdkMsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDO0lBQ0osQ0FBQztJQUVTLE9BQU8sQ0FBQyxLQUFZO1FBQzdCLE1BQU0sS0FBSyxHQUFJLEtBQUssQ0FBQyxNQUEyQixDQUFDLEtBQUssQ0FBQztRQUV2RCxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRVMsU0FBUyxDQUFDLEtBQW9CO1FBQ3ZDLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxPQUFPLEVBQUUsQ0FBQztZQUMzQiwyQ0FBMkM7WUFDM0MsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDO1lBRXZCLElBQUksQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN2QyxDQUFDO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1lBQ3pCLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxXQUFXLElBQUksS0FBSyxDQUFDLEdBQUcsS0FBSyxTQUFTLEVBQUUsQ0FBQztnQkFDMUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMzQixDQUFDO1lBRUQsSUFBSSxLQUFLLENBQUMsR0FBRyxLQUFLLFFBQVEsRUFBRSxDQUFDO2dCQUM1QixJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ2pDLENBQUM7UUFDRixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2hELENBQUM7MEhBckRXLG9CQUFvQjs4R0FBcEIsb0JBQW9COzsyRkFBcEIsb0JBQW9CO2tCQW5CaEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNkJBQTZCO29CQUN2QyxRQUFRLEVBQUUsc0JBQXNCO29CQUNoQyxJQUFJLEVBQUU7d0JBQ0wsTUFBTSxFQUFFLE1BQU07d0JBQ2QsSUFBSSxFQUFFLE1BQU07d0JBQ1osSUFBSSxFQUFFLFVBQVU7d0JBQ2hCLFlBQVksRUFBRSxLQUFLO3dCQUNuQixXQUFXLEVBQUUsS0FBSzt3QkFDbEIsY0FBYyxFQUFFLE1BQU07d0JBQ3RCLFVBQVUsRUFBRSxPQUFPO3dCQUNuQixtQkFBbUIsRUFBRSxNQUFNO3dCQUMzQixlQUFlLEVBQUUsU0FBUzt3QkFDMUIsc0JBQXNCLEVBQUUsZUFBZTt3QkFDdkMsaUJBQWlCLEVBQUUsd0JBQXdCO3dCQUMzQyxXQUFXLEVBQUUsbUJBQW1CO3dCQUNoQyxTQUFTLEVBQUUsaUJBQWlCO3FCQUM1QjtpQkFDRCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdGl2ZSwgZWZmZWN0LCBFbGVtZW50UmVmLCBpbmplY3QsIGlucHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBzdHJpbmdpZnlBc0xhYmVsIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vY29yZSc7XG5pbXBvcnQgeyBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnaW5wdXRbYnJuQXV0b2NvbXBsZXRlSW5wdXRdJyxcblx0ZXhwb3J0QXM6ICdicm5BdXRvY29tcGxldGVJbnB1dCcsXG5cdGhvc3Q6IHtcblx0XHQnW2lkXSc6ICdpZCgpJyxcblx0XHR0eXBlOiAndGV4dCcsXG5cdFx0cm9sZTogJ2NvbWJvYm94Jyxcblx0XHRhdXRvY29tcGxldGU6ICdvZmYnLFxuXHRcdGF1dG9jb3JyZWN0OiAnb2ZmJyxcblx0XHRhdXRvY2FwaXRhbGl6ZTogJ25vbmUnLFxuXHRcdHNwZWxsY2hlY2s6ICdmYWxzZScsXG5cdFx0J2FyaWEtYXV0b2NvbXBsZXRlJzogJ2xpc3QnLFxuXHRcdCdhcmlhLWhhc3BvcHVwJzogJ2xpc3Rib3gnLFxuXHRcdCdbYXR0ci5hcmlhLWV4cGFuZGVkXSc6ICdfaXNFeHBhbmRlZCgpJyxcblx0XHQnW2F0dHIuZGlzYWJsZWRdJzogJ2Rpc2FibGVkKCkgPyBcIlwiIDogbnVsbCcsXG5cdFx0JyhrZXlkb3duKSc6ICdvbktleURvd24oJGV2ZW50KScsXG5cdFx0JyhpbnB1dCknOiAnb25JbnB1dCgkZXZlbnQpJyxcblx0fSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQXV0b2NvbXBsZXRlSW5wdXQ8VD4ge1xuXHRwcml2YXRlIHN0YXRpYyBfaWQgPSAwO1xuXHRwcml2YXRlIHJlYWRvbmx5IF9lbCA9IGluamVjdChFbGVtZW50UmVmKTtcblx0cHJpdmF0ZSByZWFkb25seSBfYXV0b2NvbXBsZXRlID0gaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZTxUPigpO1xuXG5cdC8qKiBUaGUgaWQgb2YgdGhlIGF1dG9jb21wbGV0ZSBpbnB1dCAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KGBicm4tYXV0b2NvbXBsZXRlLWlucHV0LSR7KytCcm5BdXRvY29tcGxldGVJbnB1dC5faWR9YCk7XG5cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkID0gdGhpcy5fYXV0b2NvbXBsZXRlLmRpc2FibGVkU3RhdGU7XG5cblx0LyoqIFdoZXRoZXIgdGhlIGF1dG9jb21wbGV0ZSBwYW5lbCBpcyBleHBhbmRlZCAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX2lzRXhwYW5kZWQgPSB0aGlzLl9hdXRvY29tcGxldGUuaXNFeHBhbmRlZDtcblxuXHRjb25zdHJ1Y3RvcigpIHtcblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3QgdmFsdWUgPSB0aGlzLl9hdXRvY29tcGxldGUudmFsdWUoKTtcblx0XHRcdGNvbnN0IHZhbHVlTGFiZWwgPSBzdHJpbmdpZnlBc0xhYmVsKHZhbHVlLCB0aGlzLl9hdXRvY29tcGxldGUuaXRlbVRvU3RyaW5nKCkpO1xuXHRcdFx0dGhpcy5fZWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHZhbHVlTGFiZWwgPz8gJyc7XG5cdFx0fSk7XG5cblx0XHRlZmZlY3QoKCkgPT4ge1xuXHRcdFx0Y29uc3Qgc2VhcmNoID0gdGhpcy5fYXV0b2NvbXBsZXRlLnNlYXJjaCgpO1xuXHRcdFx0aWYgKHRoaXMuX2VsLm5hdGl2ZUVsZW1lbnQudmFsdWUgIT09IHNlYXJjaCkge1xuXHRcdFx0XHR0aGlzLl9lbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gc2VhcmNoO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHR9XG5cblx0cHJvdGVjdGVkIG9uSW5wdXQoZXZlbnQ6IEV2ZW50KSB7XG5cdFx0Y29uc3QgdmFsdWUgPSAoZXZlbnQudGFyZ2V0IGFzIEhUTUxJbnB1dEVsZW1lbnQpLnZhbHVlO1xuXG5cdFx0dGhpcy5fYXV0b2NvbXBsZXRlLnVwZGF0ZVNlYXJjaCh2YWx1ZSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgb25LZXlEb3duKGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG5cdFx0aWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuXHRcdFx0Ly8gcHJldmVudCBmb3JtIHN1Ym1pc3Npb24gaWYgaW5zaWRlIGEgZm9ybVxuXHRcdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuXHRcdFx0dGhpcy5fYXV0b2NvbXBsZXRlLnNlbGVjdEFjdGl2ZUl0ZW0oKTtcblx0XHR9XG5cblx0XHRpZiAoIXRoaXMuX2lzRXhwYW5kZWQoKSkge1xuXHRcdFx0aWYgKGV2ZW50LmtleSA9PT0gJ0Fycm93RG93bicgfHwgZXZlbnQua2V5ID09PSAnQXJyb3dVcCcpIHtcblx0XHRcdFx0dGhpcy5fYXV0b2NvbXBsZXRlLm9wZW4oKTtcblx0XHRcdH1cblxuXHRcdFx0aWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcblx0XHRcdFx0dGhpcy5fYXV0b2NvbXBsZXRlLnJlc2V0VmFsdWUoKTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHR0aGlzLl9hdXRvY29tcGxldGUua2V5TWFuYWdlci5vbktleWRvd24oZXZlbnQpO1xuXHR9XG59XG4iXX0=","import { isPlatformBrowser } from '@angular/common';\nimport { booleanAttribute, computed, Directive, ElementRef, inject, input, PLATFORM_ID, signal } from '@angular/core';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { provideBrnAutocompleteItem } from './brn-autocomplete-item.token';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteItem {\n static _id = 0;\n _platform = inject(PLATFORM_ID);\n _elementRef = inject(ElementRef);\n /** Access the autocomplete component */\n _autocomplete = injectBrnAutocompleteBase();\n /** A unique id for the item */\n id = input(`brn-autocomplete-item-${++BrnAutocompleteItem._id}`);\n /** The value this item represents. */\n value = input.required();\n // eslint-disable-next-line @typescript-eslint/naming-convention\n _disabled = input(false, {\n alias: 'disabled',\n transform: booleanAttribute,\n });\n /** Expose disabled as a value - used by the Highlightable interface */\n get disabled() {\n return this._disabled();\n }\n /** Whether the item is selected. */\n active = computed(() => this._autocomplete.isSelected(this.value()));\n _highlighted = signal(false);\n setActiveStyles() {\n this._highlighted.set(true);\n // ensure the item is in view\n if (isPlatformBrowser(this._platform)) {\n this._elementRef.nativeElement.scrollIntoView({ block: 'nearest' });\n }\n }\n setInactiveStyles() {\n this._highlighted.set(false);\n }\n getLabel() {\n return stringifyAsLabel(this.value(), this._autocomplete.itemToString());\n }\n select() {\n if (this._disabled()) {\n return;\n }\n this._autocomplete.keyManager.setActiveItem(this);\n this._autocomplete.select(this.value());\n }\n activate() {\n if (this._disabled()) {\n return;\n }\n this._autocomplete.keyManager.setActiveItem(this);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteItem, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteItem, isStandalone: true, selector: \"[brnAutocompleteItem]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: true, transformFunction: null }, _disabled: { classPropertyName: \"_disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"option\" }, listeners: { \"click\": \"select()\", \"mouseenter\": \"activate()\" }, properties: { \"id\": \"id()\", \"attr.data-highlighted\": \"_highlighted() ? \\\"\\\" : null\", \"attr.data-value\": \"value()\", \"attr.aria-selected\": \"active()\", \"attr.aria-disabled\": \"_disabled()\" } }, providers: [provideBrnAutocompleteItem(BrnAutocompleteItem)], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteItem, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteItem]',\n providers: [provideBrnAutocompleteItem(BrnAutocompleteItem)],\n host: {\n role: 'option',\n '[id]': 'id()',\n '[attr.data-highlighted]': '_highlighted() ? \"\" : null',\n '[attr.data-value]': 'value()',\n '[attr.aria-selected]': 'active()',\n '[attr.aria-disabled]': '_disabled()',\n '(click)': 'select()',\n '(mouseenter)': 'activate()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGlCQUFpQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0SCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsMEJBQTBCLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQzs7QUFnQnJFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFTixTQUFTLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRWhDLFdBQVcsR0FBRyxNQUFNLENBQTBCLFVBQVUsQ0FBQyxDQUFDO0lBRTNFLHdDQUF3QztJQUN2QixhQUFhLEdBQUcseUJBQXlCLEVBQUssQ0FBQztJQUVoRSwrQkFBK0I7SUFDZixFQUFFLEdBQUcsS0FBSyxDQUFTLHlCQUF5QixFQUFFLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7SUFFekYsc0NBQXNDO0lBQ3RCLEtBQUssR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFLLENBQUM7SUFFNUMsZ0VBQWdFO0lBQ2hELFNBQVMsR0FBRyxLQUFLLENBQXdCLEtBQUssRUFBRTtRQUMvRCxLQUFLLEVBQUUsVUFBVTtRQUNqQixTQUFTLEVBQUUsZ0JBQWdCO0tBQzNCLENBQUMsQ0FBQztJQUVILHVFQUF1RTtJQUN2RSxJQUFXLFFBQVE7UUFDbEIsT0FBTyxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7SUFDekIsQ0FBQztJQUVELG9DQUFvQztJQUNwQixNQUFNLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFFbEUsWUFBWSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVoRCxlQUFlO1FBQ2QsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFFNUIsNkJBQTZCO1FBQzdCLElBQUksaUJBQWlCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDdkMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsY0FBYyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNGLENBQUM7SUFFRCxpQkFBaUI7UUFDaEIsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFFBQVE7UUFDUCxPQUFPLGdCQUFnQixDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsRUFBRSxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7SUFDMUUsQ0FBQztJQUVTLE1BQU07UUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsRUFBRSxDQUFDO1lBQ3RCLE9BQU87UUFDUixDQUFDO1FBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xELElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDO0lBQ3pDLENBQUM7SUFFUyxRQUFRO1FBQ2pCLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUM7WUFDdEIsT0FBTztRQUNSLENBQUM7UUFFRCxJQUFJLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDbkQsQ0FBQzswSEFoRVcsbUJBQW1COzhHQUFuQixtQkFBbUIsaXVCQVpwQixDQUFDLDBCQUEwQixDQUFDLG1CQUFtQixDQUFDLENBQUM7OzJGQVloRCxtQkFBbUI7a0JBZC9CLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLHVCQUF1QjtvQkFDakMsU0FBUyxFQUFFLENBQUMsMEJBQTBCLHFCQUFxQixDQUFDO29CQUM1RCxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFFBQVE7d0JBQ2QsTUFBTSxFQUFFLE1BQU07d0JBQ2QseUJBQXlCLEVBQUUsNEJBQTRCO3dCQUN2RCxtQkFBbUIsRUFBRSxTQUFTO3dCQUM5QixzQkFBc0IsRUFBRSxVQUFVO3dCQUNsQyxzQkFBc0IsRUFBRSxhQUFhO3dCQUNyQyxTQUFTLEVBQUUsVUFBVTt3QkFDckIsY0FBYyxFQUFFLFlBQVk7cUJBQzVCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBIaWdobGlnaHRhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgaXNQbGF0Zm9ybUJyb3dzZXIgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgYm9vbGVhbkF0dHJpYnV0ZSwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgRWxlbWVudFJlZiwgaW5qZWN0LCBpbnB1dCwgUExBVEZPUk1fSUQsIHNpZ25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgc3RyaW5naWZ5QXNMYWJlbCB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL2NvcmUnO1xuaW1wb3J0IHsgcHJvdmlkZUJybkF1dG9jb21wbGV0ZUl0ZW0gfSBmcm9tICcuL2Jybi1hdXRvY29tcGxldGUtaXRlbS50b2tlbic7XG5pbXBvcnQgeyBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuQERpcmVjdGl2ZSh7XG5cdHNlbGVjdG9yOiAnW2JybkF1dG9jb21wbGV0ZUl0ZW1dJyxcblx0cHJvdmlkZXJzOiBbcHJvdmlkZUJybkF1dG9jb21wbGV0ZUl0ZW0oQnJuQXV0b2NvbXBsZXRlSXRlbSldLFxuXHRob3N0OiB7XG5cdFx0cm9sZTogJ29wdGlvbicsXG5cdFx0J1tpZF0nOiAnaWQoKScsXG5cdFx0J1thdHRyLmRhdGEtaGlnaGxpZ2h0ZWRdJzogJ19oaWdobGlnaHRlZCgpID8gXCJcIiA6IG51bGwnLFxuXHRcdCdbYXR0ci5kYXRhLXZhbHVlXSc6ICd2YWx1ZSgpJyxcblx0XHQnW2F0dHIuYXJpYS1zZWxlY3RlZF0nOiAnYWN0aXZlKCknLFxuXHRcdCdbYXR0ci5hcmlhLWRpc2FibGVkXSc6ICdfZGlzYWJsZWQoKScsXG5cdFx0JyhjbGljayknOiAnc2VsZWN0KCknLFxuXHRcdCcobW91c2VlbnRlciknOiAnYWN0aXZhdGUoKScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZUl0ZW08VD4gaW1wbGVtZW50cyBIaWdobGlnaHRhYmxlIHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9wbGF0Zm9ybSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfZWxlbWVudFJlZiA9IGluamVjdDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oRWxlbWVudFJlZik7XG5cblx0LyoqIEFjY2VzcyB0aGUgYXV0b2NvbXBsZXRlIGNvbXBvbmVudCAqL1xuXHRwcml2YXRlIHJlYWRvbmx5IF9hdXRvY29tcGxldGUgPSBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlPFQ+KCk7XG5cblx0LyoqIEEgdW5pcXVlIGlkIGZvciB0aGUgaXRlbSAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaWQgPSBpbnB1dDxzdHJpbmc+KGBicm4tYXV0b2NvbXBsZXRlLWl0ZW0tJHsrK0JybkF1dG9jb21wbGV0ZUl0ZW0uX2lkfWApO1xuXG5cdC8qKiBUaGUgdmFsdWUgdGhpcyBpdGVtIHJlcHJlc2VudHMuICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IGlucHV0LnJlcXVpcmVkPFQ+KCk7XG5cblx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uYW1pbmctY29udmVudGlvblxuXHRwdWJsaWMgcmVhZG9ubHkgX2Rpc2FibGVkID0gaW5wdXQ8Ym9vbGVhbiwgQm9vbGVhbklucHV0PihmYWxzZSwge1xuXHRcdGFsaWFzOiAnZGlzYWJsZWQnLFxuXHRcdHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSxcblx0fSk7XG5cblx0LyoqIEV4cG9zZSBkaXNhYmxlZCBhcyBhIHZhbHVlIC0gdXNlZCBieSB0aGUgSGlnaGxpZ2h0YWJsZSBpbnRlcmZhY2UgKi9cblx0cHVibGljIGdldCBkaXNhYmxlZCgpIHtcblx0XHRyZXR1cm4gdGhpcy5fZGlzYWJsZWQoKTtcblx0fVxuXG5cdC8qKiBXaGV0aGVyIHRoZSBpdGVtIGlzIHNlbGVjdGVkLiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgYWN0aXZlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fYXV0b2NvbXBsZXRlLmlzU2VsZWN0ZWQodGhpcy52YWx1ZSgpKSk7XG5cblx0cHJvdGVjdGVkIHJlYWRvbmx5IF9oaWdobGlnaHRlZCA9IHNpZ25hbChmYWxzZSk7XG5cblx0c2V0QWN0aXZlU3R5bGVzKCk6IHZvaWQge1xuXHRcdHRoaXMuX2hpZ2hsaWdodGVkLnNldCh0cnVlKTtcblxuXHRcdC8vIGVuc3VyZSB0aGUgaXRlbSBpcyBpbiB2aWV3XG5cdFx0aWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMuX3BsYXRmb3JtKSkge1xuXHRcdFx0dGhpcy5fZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcblx0XHR9XG5cdH1cblxuXHRzZXRJbmFjdGl2ZVN0eWxlcygpOiB2b2lkIHtcblx0XHR0aGlzLl9oaWdobGlnaHRlZC5zZXQoZmFsc2UpO1xuXHR9XG5cblx0Z2V0TGFiZWwoKTogc3RyaW5nIHtcblx0XHRyZXR1cm4gc3RyaW5naWZ5QXNMYWJlbCh0aGlzLnZhbHVlKCksIHRoaXMuX2F1dG9jb21wbGV0ZS5pdGVtVG9TdHJpbmcoKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgc2VsZWN0KCk6IHZvaWQge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpKSB7XG5cdFx0XHRyZXR1cm47XG5cdFx0fVxuXG5cdFx0dGhpcy5fYXV0b2NvbXBsZXRlLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSh0aGlzKTtcblx0XHR0aGlzLl9hdXRvY29tcGxldGUuc2VsZWN0KHRoaXMudmFsdWUoKSk7XG5cdH1cblxuXHRwcm90ZWN0ZWQgYWN0aXZhdGUoKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkpIHtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cblx0XHR0aGlzLl9hdXRvY29tcGxldGUua2V5TWFuYWdlci5zZXRBY3RpdmVJdGVtKHRoaXMpO1xuXHR9XG59XG4iXX0=","import { Directive, input } from '@angular/core';\nimport { injectBrnAutocompleteBase } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteList {\n static _id = 0;\n _autocomplete = injectBrnAutocompleteBase();\n /** Determine if the autocomplete has any visible items */\n _visibleItems = this._autocomplete.visibleItems;\n /** The id of the autocomplete list */\n id = input(`brn-autocomplete-list-${++BrnAutocompleteList._id}`);\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteList, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteList, isStandalone: true, selector: \"[brnAutocompleteList]\", inputs: { id: { classPropertyName: \"id\", publicName: \"id\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"listbox\", \"tabIndex\": \"-1\", \"aria-orientation\": \"vertical\" }, properties: { \"id\": \"id()\", \"attr.data-empty\": \"!_visibleItems() ? \\\"\\\" : null\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteList, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteList]',\n host: {\n role: 'listbox',\n tabIndex: '-1',\n 'aria-orientation': 'vertical',\n '[id]': 'id()',\n '[attr.data-empty]': '!_visibleItems() ? \"\" : null',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1saXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vbGlicy9icmFpbi9hdXRvY29tcGxldGUvc3JjL2xpYi9icm4tYXV0b2NvbXBsZXRlLWxpc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDakQsT0FBTyxFQUFFLHlCQUF5QixFQUFFLE1BQU0sMEJBQTBCLENBQUM7O0FBWXJFLE1BQU0sT0FBTyxtQkFBbUI7SUFDdkIsTUFBTSxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFTixhQUFhLEdBQUcseUJBQXlCLEVBQUUsQ0FBQztJQUU3RCwwREFBMEQ7SUFDdkMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDO0lBRW5FLHNDQUFzQztJQUN0QixFQUFFLEdBQUcsS0FBSyxDQUFTLHlCQUF5QixFQUFFLG1CQUFtQixDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7MEhBVDdFLG1CQUFtQjs4R0FBbkIsbUJBQW1COzsyRkFBbkIsbUJBQW1CO2tCQVYvQixTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx1QkFBdUI7b0JBQ2pDLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsU0FBUzt3QkFDZixRQUFRLEVBQUUsSUFBSTt3QkFDZCxrQkFBa0IsRUFBRSxVQUFVO3dCQUM5QixNQUFNLEVBQUUsTUFBTTt3QkFDZCxtQkFBbUIsRUFBRSw4QkFBOEI7cUJBQ25EO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgaW5qZWN0QnJuQXV0b2NvbXBsZXRlQmFzZSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS50b2tlbic7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVMaXN0XScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnbGlzdGJveCcsXG5cdFx0dGFiSW5kZXg6ICctMScsXG5cdFx0J2FyaWEtb3JpZW50YXRpb24nOiAndmVydGljYWwnLFxuXHRcdCdbaWRdJzogJ2lkKCknLFxuXHRcdCdbYXR0ci5kYXRhLWVtcHR5XSc6ICchX3Zpc2libGVJdGVtcygpID8gXCJcIiA6IG51bGwnLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVMaXN0IHtcblx0cHJpdmF0ZSBzdGF0aWMgX2lkID0gMDtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9hdXRvY29tcGxldGUgPSBpbmplY3RCcm5BdXRvY29tcGxldGVCYXNlKCk7XG5cblx0LyoqIERldGVybWluZSBpZiB0aGUgYXV0b2NvbXBsZXRlIGhhcyBhbnkgdmlzaWJsZSBpdGVtcyAqL1xuXHRwcm90ZWN0ZWQgcmVhZG9ubHkgX3Zpc2libGVJdGVtcyA9IHRoaXMuX2F1dG9jb21wbGV0ZS52aXNpYmxlSXRlbXM7XG5cblx0LyoqIFRoZSBpZCBvZiB0aGUgYXV0b2NvbXBsZXRlIGxpc3QgKi9cblx0cHVibGljIHJlYWRvbmx5IGlkID0gaW5wdXQ8c3RyaW5nPihgYnJuLWF1dG9jb21wbGV0ZS1saXN0LSR7KytCcm5BdXRvY29tcGxldGVMaXN0Ll9pZH1gKTtcbn1cbiJdfQ==","import { ActiveDescendantKeyManager } from '@angular/cdk/a11y';\nimport { afterNextRender, booleanAttribute, computed, contentChild, contentChildren, Directive, effect, ElementRef, forwardRef, inject, Injector, input, linkedSignal, model, untracked, } from '@angular/core';\nimport { NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { stringifyAsLabel } from '@spartan-ng/brain/core';\nimport { BrnPopover } from '@spartan-ng/brain/popover';\nimport { BrnAutocompleteInputWrapper } from './brn-autocomplete-input-wrapper';\nimport { BrnAutocompleteItemToken } from './brn-autocomplete-item.token';\nimport { injectBrnAutocompleteConfig, provideBrnAutocompleteBase, } from './brn-autocomplete.token';\nimport * as i0 from \"@angular/core\";\nexport const BRN_AUTOCOMPLETE_SEARCH_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => BrnAutocompleteSearch),\n multi: true,\n};\nexport class BrnAutocompleteSearch {\n _injector = inject(Injector);\n _config = injectBrnAutocompleteConfig();\n /** Access the popover if present */\n _brnPopover = inject(BrnPopover, { optional: true });\n /** Whether the autocomplete is disabled */\n disabled = input(false, { transform: booleanAttribute });\n _disabled = linkedSignal(this.disabled);\n /** @internal The disabled state as a readonly signal */\n disabledState = this._disabled.asReadonly();\n /** A function to convert an item to a string for display. */\n itemToString = input(this._config.itemToString);\n /** Whether to auto-highlight the first matching item. */\n autoHighlight = input(this._config.autoHighlight, {\n transform: booleanAttribute,\n });\n /** The selected value of the autocomplete. */\n value = model(null);\n /** The current search query. */\n search = model('');\n _searchInputWrapper = contentChild(BrnAutocompleteInputWrapper, {\n read: ElementRef,\n });\n /** @internal The width of the search input wrapper */\n searchInputWrapperWidth = computed(() => {\n const inputElement = this._searchInputWrapper()?.nativeElement;\n return inputElement ? inputElement.offsetWidth : null;\n });\n /** @internal Access all the items within the autocomplete */\n items = contentChildren(BrnAutocompleteItemToken, {\n descendants: true,\n });\n /** Determine if the autocomplete has any visible items */\n visibleItems = computed(() => this.items().length > 0);\n /** @internal The key manager for managing active descendant */\n keyManager = new ActiveDescendantKeyManager(this.items, this._injector);\n /** @internal Whether the autocomplete is expanded */\n isExpanded = computed(() => this._brnPopover?.stateComputed() === 'open');\n _onChange;\n _onTouched;\n constructor() {\n this.keyManager\n .withVerticalOrientation()\n .withHomeAndEnd()\n .withWrap()\n .skipPredicate((item) => item.disabled);\n this._brnPopover?.closed.subscribe(() => {\n this.keyManager.setActiveItem(-1);\n });\n afterNextRender(() => {\n effect(() => {\n if (!this.autoHighlight() || !this.isExpanded() || !this.search())\n return;\n const hasVisibleItems = this.visibleItems();\n untracked(() => {\n if (hasVisibleItems) {\n this.keyManager.setFirstItemActive();\n }\n else {\n this.keyManager.setActiveItem(-1);\n }\n });\n }, { injector: this._injector });\n });\n }\n updateSearch(value) {\n this.value.set(value);\n this.search.set(value);\n this._onChange?.(value);\n this.open();\n if (value === '') {\n this.resetValue();\n }\n }\n isSelected(itemValue) {\n return stringifyAsLabel(itemValue, this.itemToString()) === this.value();\n }\n select(itemValue) {\n const label = stringifyAsLabel(itemValue, this.itemToString());\n this.value.set(label);\n this._onChange?.(label);\n this.search.set(label);\n this.close();\n }\n /** Select the active item with Enter key. */\n selectActiveItem() {\n if (!this.isExpanded())\n return;\n const value = this.keyManager.activeItem?.value();\n if (value) {\n this.select(value);\n }\n else {\n this.close();\n }\n }\n resetValue() {\n this.value.set(null);\n this.search.set('');\n this._onChange?.(null);\n }\n open() {\n if (this._disabled() || this.isExpanded())\n return;\n this._brnPopover?.open();\n }\n close() {\n if (this._disabled() || !this.isExpanded())\n return;\n this._brnPopover?.close();\n }\n toggle() {\n if (this._disabled())\n return;\n this.isExpanded() ? this.close() : this.open();\n }\n /** CONTROL VALUE ACCESSOR */\n writeValue(value) {\n this.value.set(value);\n }\n registerOnChange(fn) {\n this._onChange = fn;\n }\n registerOnTouched(fn) {\n this._onTouched = fn;\n }\n setDisabledState(isDisabled) {\n this._disabled.set(isDisabled);\n }\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSearch, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.2.0\", version: \"20.0.7\", type: BrnAutocompleteSearch, isStandalone: true, selector: \"[brnAutocomplete]\", inputs: { disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: true, isRequired: false, transformFunction: null }, itemToString: { classPropertyName: \"itemToString\", publicName: \"itemToString\", isSignal: true, isRequired: false, transformFunction: null }, autoHighlight: { classPropertyName: \"autoHighlight\", publicName: \"autoHighlight\", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: \"value\", publicName: \"value\", isSignal: true, isRequired: false, transformFunction: null }, search: { classPropertyName: \"search\", publicName: \"search\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { value: \"valueChange\", search: \"searchChange\" }, providers: [provideBrnAutocompleteBase(BrnAutocompleteSearch), BRN_AUTOCOMPLETE_SEARCH_VALUE_ACCESSOR], queries: [{ propertyName: \"_searchInputWrapper\", first: true, predicate: BrnAutocompleteInputWrapper, descendants: true, read: ElementRef, isSignal: true }, { propertyName: \"items\", predicate: BrnAutocompleteItemToken, descendants: true, isSignal: true }], ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSearch, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocomplete]',\n providers: [provideBrnAutocompleteBase(BrnAutocompleteSearch), BRN_AUTOCOMPLETE_SEARCH_VALUE_ACCESSOR],\n }]\n }], ctorParameters: () => [] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1zZWFyY2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtc2VhcmNoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwwQkFBMEIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRS9ELE9BQU8sRUFDTixlQUFlLEVBQ2YsZ0JBQWdCLEVBQ2hCLFFBQVEsRUFDUixZQUFZLEVBQ1osZUFBZSxFQUNmLFNBQVMsRUFDVCxNQUFNLEVBQ04sVUFBVSxFQUNWLFVBQVUsRUFDVixNQUFNLEVBQ04sUUFBUSxFQUNSLEtBQUssRUFDTCxZQUFZLEVBQ1osS0FBSyxFQUNMLFNBQVMsR0FDVCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFMUQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBRS9FLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3pFLE9BQU8sRUFHTiwyQkFBMkIsRUFDM0IsMEJBQTBCLEdBQzFCLE1BQU0sMEJBQTBCLENBQUM7O0FBRWxDLE1BQU0sQ0FBQyxNQUFNLHNDQUFzQyxHQUFHO0lBQ3JELE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxxQkFBcUIsQ0FBQztJQUNwRCxLQUFLLEVBQUUsSUFBSTtDQUNYLENBQUM7QUFNRixNQUFNLE9BQU8scUJBQXFCO0lBQ2hCLFNBQVMsR0FBRyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFN0Is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QUFDLElBQUksRUFBRSxDQUFDO0lBQ2hELENBQUM7SUFFRCw2QkFBNkI7SUFDN0IsVUFBVSxDQUFDLEtBQW9CO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ3ZCLENBQUM7SUFFRCxnQkFBZ0IsQ0FBQyxFQUEyQjtRQUMzQyxJQUFJLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCLENBQUMsRUFBVztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBbUI7UUFDbkMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDaEMsQ0FBQzswSEFwS1cscUJBQXFCOzhHQUFyQixxQkFBcUIsd3hCQUZ0QixDQUFDLDBCQUEwQixDQUFDLHFCQUFxQixDQUFDLEVBQUUsc0NBQXNDLENBQUMsMkVBZ0NsRCwyQkFBMkIsMkJBQ3hFLFVBQVUsd0RBVStDLHdCQUF3Qjs7MkZBekM1RSxxQkFBcUI7a0JBSmpDLFNBQVM7bUJBQUM7b0JBQ1YsUUFBUSxFQUFFLG1CQUFtQjtvQkFDN0IsU0FBUyxFQUFFLENBQUMsMEJBQTBCLHVCQUF1QixFQUFFLHNDQUFzQyxDQUFDO2lCQUN0RyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFjdGl2ZURlc2NlbmRhbnRLZXlNYW5hZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHR5cGUgeyBCb29sZWFuSW5wdXQgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcblx0YWZ0ZXJOZXh0UmVuZGVyLFxuXHRib29sZWFuQXR0cmlidXRlLFxuXHRjb21wdXRlZCxcblx0Y29udGVudENoaWxkLFxuXHRjb250ZW50Q2hpbGRyZW4sXG5cdERpcmVjdGl2ZSxcblx0ZWZmZWN0LFxuXHRFbGVtZW50UmVmLFxuXHRmb3J3YXJkUmVmLFxuXHRpbmplY3QsXG5cdEluamVjdG9yLFxuXHRpbnB1dCxcblx0bGlua2VkU2lnbmFsLFxuXHRtb2RlbCxcblx0dW50cmFja2VkLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBOR19WQUxVRV9BQ0NFU1NPUiB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IHN0cmluZ2lmeUFzTGFiZWwgfSBmcm9tICdAc3BhcnRhbi1uZy9icmFpbi9jb3JlJztcbmltcG9ydCB7IENoYW5nZUZuLCBUb3VjaEZuIH0gZnJvbSAnQHNwYXJ0YW4tbmcvYnJhaW4vZm9ybXMnO1xuaW1wb3J0IHsgQnJuUG9wb3ZlciB9IGZyb20gJ0BzcGFydGFuLW5nL2JyYWluL3BvcG92ZXInO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyIH0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLWlucHV0LXdyYXBwZXInO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSXRlbSB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUl0ZW1Ub2tlbiB9IGZyb20gJy4vYnJuLWF1dG9jb21wbGV0ZS1pdGVtLnRva2VuJztcbmltcG9ydCB7XG5cdEF1dG9jb21wbGV0ZUl0ZW1Ub1N0cmluZyxcblx0QnJuQXV0b2NvbXBsZXRlQmFzZSxcblx0aW5qZWN0QnJuQXV0b2NvbXBsZXRlQ29uZmlnLFxuXHRwcm92aWRlQnJuQXV0b2NvbXBsZXRlQmFzZSxcbn0gZnJvbSAnLi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJSTl9BVVRPQ09NUExFVEVfU0VBUkNIX1ZBTFVFX0FDQ0VTU09SID0ge1xuXHRwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcblx0dXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gQnJuQXV0b2NvbXBsZXRlU2VhcmNoKSxcblx0bXVsdGk6IHRydWUsXG59O1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlXScsXG5cdHByb3ZpZGVyczogW3Byb3ZpZGVCcm5BdXRvY29tcGxldGVCYXNlKEJybkF1dG9jb21wbGV0ZVNlYXJjaCksIEJSTl9BVVRPQ09NUExFVEVfU0VBUkNIX1ZBTFVFX0FDQ0VTU09SXSxcbn0pXG5leHBvcnQgY2xhc3MgQnJuQXV0b2NvbXBsZXRlU2VhcmNoPFQ+IGltcGxlbWVudHMgQnJuQXV0b2NvbXBsZXRlQmFzZTxUPiwgQ29udHJvbFZhbHVlQWNjZXNzb3Ige1xuXHRwcml2YXRlIHJlYWRvbmx5IF9pbmplY3RvciA9IGluamVjdChJbmplY3Rvcik7XG5cblx0cHJpdmF0ZSByZWFkb25seSBfY29uZmlnID0gaW5qZWN0QnJuQXV0b2NvbXBsZXRlQ29uZmlnPFQ+KCk7XG5cblx0LyoqIEFjY2VzcyB0aGUgcG9wb3ZlciBpZiBwcmVzZW50ICovXG5cdHByaXZhdGUgcmVhZG9ubHkgX2JyblBvcG92ZXIgPSBpbmplY3QoQnJuUG9wb3ZlciwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcblxuXHQvKiogV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlzIGRpc2FibGVkICovXG5cdHB1YmxpYyByZWFkb25seSBkaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIEJvb2xlYW5JbnB1dD4oZmFsc2UsIHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pO1xuXG5cdHByb3RlY3RlZCByZWFkb25seSBfZGlzYWJsZWQgPSBsaW5rZWRTaWduYWwodGhpcy5kaXNhYmxlZCk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUgZGlzYWJsZWQgc3RhdGUgYXMgYSByZWFkb25seSBzaWduYWwgKi9cblx0cHVibGljIHJlYWRvbmx5IGRpc2FibGVkU3RhdGUgPSB0aGlzLl9kaXNhYmxlZC5hc1JlYWRvbmx5KCk7XG5cblx0LyoqIEEgZnVuY3Rpb24gdG8gY29udmVydCBhbiBpdGVtIHRvIGEgc3RyaW5nIGZvciBkaXNwbGF5LiAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaXRlbVRvU3RyaW5nID0gaW5wdXQ8QXV0b2NvbXBsZXRlSXRlbVRvU3RyaW5nPFQ+IHwgdW5kZWZpbmVkPih0aGlzLl9jb25maWcuaXRlbVRvU3RyaW5nKTtcblxuXHQvKiogV2hldGhlciB0byBhdXRvLWhpZ2hsaWdodCB0aGUgZmlyc3QgbWF0Y2hpbmcgaXRlbS4gKi9cblx0cHVibGljIHJlYWRvbmx5IGF1dG9IaWdobGlnaHQgPSBpbnB1dDxib29sZWFuLCBCb29sZWFuSW5wdXQ+KHRoaXMuX2NvbmZpZy5hdXRvSGlnaGxpZ2h0LCB7XG5cdFx0dHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlLFxuXHR9KTtcblxuXHQvKiogVGhlIHNlbGVjdGVkIHZhbHVlIG9mIHRoZSBhdXRvY29tcGxldGUuICovXG5cdHB1YmxpYyByZWFkb25seSB2YWx1ZSA9IG1vZGVsPHN0cmluZyB8IG51bGw+KG51bGwpO1xuXG5cdC8qKiBUaGUgY3VycmVudCBzZWFyY2ggcXVlcnkuICovXG5cdHB1YmxpYyByZWFkb25seSBzZWFyY2ggPSBtb2RlbDxzdHJpbmc+KCcnKTtcblxuXHRwcml2YXRlIHJlYWRvbmx5IF9zZWFyY2hJbnB1dFdyYXBwZXIgPSBjb250ZW50Q2hpbGQoQnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyLCB7XG5cdFx0cmVhZDogRWxlbWVudFJlZixcblx0fSk7XG5cblx0LyoqIEBpbnRlcm5hbCBUaGUgd2lkdGggb2YgdGhlIHNlYXJjaCBpbnB1dCB3cmFwcGVyICovXG5cdHB1YmxpYyByZWFkb25seSBzZWFyY2hJbnB1dFdyYXBwZXJXaWR0aCA9IGNvbXB1dGVkPG51bWJlciB8IG51bGw+KCgpID0+IHtcblx0XHRjb25zdCBpbnB1dEVsZW1lbnQgPSB0aGlzLl9zZWFyY2hJbnB1dFdyYXBwZXIoKT8ubmF0aXZlRWxlbWVudDtcblx0XHRyZXR1cm4gaW5wdXRFbGVtZW50ID8gKGlucHV0RWxlbWVudC5vZmZzZXRXaWR0aCBhcyBudW1iZXIpIDogbnVsbDtcblx0fSk7XG5cblx0LyoqIEBpbnRlcm5hbCBBY2Nlc3MgYWxsIHRoZSBpdGVtcyB3aXRoaW4gdGhlIGF1dG9jb21wbGV0ZSAqL1xuXHRwdWJsaWMgcmVhZG9ubHkgaXRlbXMgPSBjb250ZW50Q2hpbGRyZW48QnJuQXV0b2NvbXBsZXRlSXRlbTxUPj4oQnJuQXV0b2NvbXBsZXRlSXRlbVRva2VuLCB7XG5cdFx0ZGVzY2VuZGFudHM6IHRydWUsXG5cdH0pO1xuXG5cdC8qKiBEZXRlcm1pbmUgaWYgdGhlIGF1dG9jb21wbGV0ZSBoYXMgYW55IHZpc2libGUgaXRlbXMgKi9cblx0cHVibGljIHJlYWRvbmx5IHZpc2libGVJdGVtcyA9IGNvbXB1dGVkKCgpID0+IHRoaXMuaXRlbXMoKS5sZW5ndGggPiAwKTtcblxuXHQvKiogQGludGVybmFsIFRoZSBrZXkgbWFuYWdlciBmb3IgbWFuYWdpbmcgYWN0aXZlIGRlc2NlbmRhbnQgKi9cblx0cHVibGljIHJlYWRvbmx5IGtleU1hbmFnZXIgPSBuZXcgQWN0aXZlRGVzY2VuZGFudEtleU1hbmFnZXIodGhpcy5pdGVtcywgdGhpcy5faW5qZWN0b3IpO1xuXG5cdC8qKiBAaW50ZXJuYWwgV2hldGhlciB0aGUgYXV0b2NvbXBsZXRlIGlzIGV4cGFuZGVkICovXG5cdHB1YmxpYyByZWFkb25seSBpc0V4cGFuZGVkID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5fYnJuUG9wb3Zlcj8uc3RhdGVDb21wdXRlZCgpID09PSAnb3BlbicpO1xuXG5cdHByb3RlY3RlZCBfb25DaGFuZ2U/OiBDaGFuZ2VGbjxzdHJpbmcgfCBudWxsPjtcblx0cHJvdGVjdGVkIF9vblRvdWNoZWQ/OiBUb3VjaEZuO1xuXG5cdGNvbnN0cnVjdG9yKCkge1xuXHRcdHRoaXMua2V5TWFuYWdlclxuXHRcdFx0LndpdGhWZXJ0aWNhbE9yaWVudGF0aW9uKClcblx0XHRcdC53aXRoSG9tZUFuZEVuZCgpXG5cdFx0XHQud2l0aFdyYXAoKVxuXHRcdFx0LnNraXBQcmVkaWNhdGUoKGl0ZW0pID0+IGl0ZW0uZGlzYWJsZWQpO1xuXG5cdFx0dGhpcy5fYnJuUG9wb3Zlcj8uY2xvc2VkLnN1YnNjcmliZSgoKSA9PiB7XG5cdFx0XHR0aGlzLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG5cdFx0fSk7XG5cblx0XHRhZnRlck5leHRSZW5kZXIoKCkgPT4ge1xuXHRcdFx0ZWZmZWN0KFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0aWYgKCF0aGlzLmF1dG9IaWdobGlnaHQoKSB8fCAhdGhpcy5pc0V4cGFuZGVkKCkgfHwgIXRoaXMuc2VhcmNoKCkpIHJldHVybjtcblxuXHRcdFx0XHRcdGNvbnN0IGhhc1Zpc2libGVJdGVtcyA9IHRoaXMudmlzaWJsZUl0ZW1zKCk7XG5cblx0XHRcdFx0XHR1bnRyYWNrZWQoKCkgPT4ge1xuXHRcdFx0XHRcdFx0aWYgKGhhc1Zpc2libGVJdGVtcykge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmtleU1hbmFnZXIuc2V0Rmlyc3RJdGVtQWN0aXZlKCk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHR0aGlzLmtleU1hbmFnZXIuc2V0QWN0aXZlSXRlbSgtMSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0sXG5cdFx0XHRcdHsgaW5qZWN0b3I6IHRoaXMuX2luamVjdG9yIH0sXG5cdFx0XHQpO1xuXHRcdH0pO1xuXHR9XG5cblx0dXBkYXRlU2VhcmNoKHZhbHVlOiBzdHJpbmcpIHtcblx0XHR0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XG5cdFx0dGhpcy5zZWFyY2guc2V0KHZhbHVlKTtcblx0XHR0aGlzLl9vbkNoYW5nZT8uKHZhbHVlKTtcblx0XHR0aGlzLm9wZW4oKTtcblxuXHRcdGlmICh2YWx1ZSA9PT0gJycpIHtcblx0XHRcdHRoaXMucmVzZXRWYWx1ZSgpO1xuXHRcdH1cblx0fVxuXG5cdGlzU2VsZWN0ZWQoaXRlbVZhbHVlOiBUKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHN0cmluZ2lmeUFzTGFiZWwoaXRlbVZhbHVlLCB0aGlzLml0ZW1Ub1N0cmluZygpKSA9PT0gdGhpcy52YWx1ZSgpO1xuXHR9XG5cblx0c2VsZWN0KGl0ZW1WYWx1ZTogVCkge1xuXHRcdGNvbnN0IGxhYmVsID0gc3RyaW5naWZ5QXNMYWJlbChpdGVtVmFsdWUsIHRoaXMuaXRlbVRvU3RyaW5nKCkpO1xuXG5cdFx0dGhpcy52YWx1ZS5zZXQobGFiZWwpO1xuXHRcdHRoaXMuX29uQ2hhbmdlPy4obGFiZWwpO1xuXHRcdHRoaXMuc2VhcmNoLnNldChsYWJlbCk7XG5cdFx0dGhpcy5jbG9zZSgpO1xuXHR9XG5cblx0LyoqIFNlbGVjdCB0aGUgYWN0aXZlIGl0ZW0gd2l0aCBFbnRlciBrZXkuICovXG5cdHNlbGVjdEFjdGl2ZUl0ZW0oKSB7XG5cdFx0aWYgKCF0aGlzLmlzRXhwYW5kZWQoKSkgcmV0dXJuO1xuXG5cdFx0Y29uc3QgdmFsdWUgPSB0aGlzLmtleU1hbmFnZXIuYWN0aXZlSXRlbT8udmFsdWUoKTtcblxuXHRcdGlmICh2YWx1ZSkge1xuXHRcdFx0dGhpcy5zZWxlY3QodmFsdWUpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHR0aGlzLmNsb3NlKCk7XG5cdFx0fVxuXHR9XG5cblx0cmVzZXRWYWx1ZSgpIHtcblx0XHR0aGlzLnZhbHVlLnNldChudWxsKTtcblx0XHR0aGlzLnNlYXJjaC5zZXQoJycpO1xuXHRcdHRoaXMuX29uQ2hhbmdlPy4obnVsbCk7XG5cdH1cblxuXHRvcGVuKCkge1xuXHRcdGlmICh0aGlzLl9kaXNhYmxlZCgpIHx8IHRoaXMuaXNFeHBhbmRlZCgpKSByZXR1cm47XG5cblx0XHR0aGlzLl9icm5Qb3BvdmVyPy5vcGVuKCk7XG5cdH1cblxuXHRjbG9zZSgpIHtcblx0XHRpZiAodGhpcy5fZGlzYWJsZWQoKSB8fCAhdGhpcy5pc0V4cGFuZGVkKCkpIHJldHVybjtcblxuXHRcdHRoaXMuX2JyblBvcG92ZXI/LmNsb3NlKCk7XG5cdH1cblxuXHR0b2dnbGUoKSB7XG5cdFx0aWYgKHRoaXMuX2Rpc2FibGVkKCkpIHJldHVybjtcblxuXHRcdHRoaXMuaXNFeHBhbmRlZCgpID8gdGhpcy5jbG9zZSgpIDogdGhpcy5vcGVuKCk7XG5cdH1cblxuXHQvKiogQ09OVFJPTCBWQUxVRSBBQ0NFU1NPUiAqL1xuXHR3cml0ZVZhbHVlKHZhbHVlOiBzdHJpbmcgfCBudWxsKTogdm9pZCB7XG5cdFx0dGhpcy52YWx1ZS5zZXQodmFsdWUpO1xuXHR9XG5cblx0cmVnaXN0ZXJPbkNoYW5nZShmbjogQ2hhbmdlRm48c3RyaW5nIHwgbnVsbD4pOiB2b2lkIHtcblx0XHR0aGlzLl9vbkNoYW5nZSA9IGZuO1xuXHR9XG5cblx0cmVnaXN0ZXJPblRvdWNoZWQoZm46IFRvdWNoRm4pOiB2b2lkIHtcblx0XHR0aGlzLl9vblRvdWNoZWQgPSBmbjtcblx0fVxuXG5cdHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbikge1xuXHRcdHRoaXMuX2Rpc2FibGVkLnNldChpc0Rpc2FibGVkKTtcblx0fVxufVxuIl19","import { Directive, input } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteSeparator {\n orientation = input('horizontal');\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSeparator, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"17.1.0\", version: \"20.0.7\", type: BrnAutocompleteSeparator, isStandalone: true, selector: \"[brnAutocompleteSeparator]\", inputs: { orientation: { classPropertyName: \"orientation\", publicName: \"orientation\", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { \"role\": \"separator\" }, properties: { \"attr.aria-orientation\": \"orientation()\", \"attr.data-orientation\": \"orientation()\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteSeparator, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteSeparator]',\n host: {\n role: 'separator',\n '[attr.aria-orientation]': 'orientation()',\n '[attr.data-orientation]': 'orientation()',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1zZXBhcmF0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtc2VwYXJhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDOztBQVVqRCxNQUFNLE9BQU8sd0JBQXdCO0lBQ3BCLFdBQVcsR0FBRyxLQUFLLENBQTRCLFlBQVksQ0FBQyxDQUFDOzBIQURqRSx3QkFBd0I7OEdBQXhCLHdCQUF3Qjs7MkZBQXhCLHdCQUF3QjtrQkFScEMsU0FBUzttQkFBQztvQkFDVixRQUFRLEVBQUUsNEJBQTRCO29CQUN0QyxJQUFJLEVBQUU7d0JBQ0wsSUFBSSxFQUFFLFdBQVc7d0JBQ2pCLHlCQUF5QixFQUFFLGVBQWU7d0JBQzFDLHlCQUF5QixFQUFFLGVBQWU7cUJBQzFDO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlLCBpbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5ARGlyZWN0aXZlKHtcblx0c2VsZWN0b3I6ICdbYnJuQXV0b2NvbXBsZXRlU2VwYXJhdG9yXScsXG5cdGhvc3Q6IHtcblx0XHRyb2xlOiAnc2VwYXJhdG9yJyxcblx0XHQnW2F0dHIuYXJpYS1vcmllbnRhdGlvbl0nOiAnb3JpZW50YXRpb24oKScsXG5cdFx0J1thdHRyLmRhdGEtb3JpZW50YXRpb25dJzogJ29yaWVudGF0aW9uKCknLFxuXHR9LFxufSlcbmV4cG9ydCBjbGFzcyBCcm5BdXRvY29tcGxldGVTZXBhcmF0b3Ige1xuXHRwdWJsaWMgcmVhZG9ubHkgb3JpZW50YXRpb24gPSBpbnB1dDwnaG9yaXpvbnRhbCcgfCAndmVydGljYWwnPignaG9yaXpvbnRhbCcpO1xufVxuIl19","import { Directive } from '@angular/core';\nimport * as i0 from \"@angular/core\";\nexport class BrnAutocompleteStatus {\n /** @nocollapse */ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteStatus, deps: [], target: i0.ɵɵFactoryTarget.Directive });\n /** @nocollapse */ static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: \"14.0.0\", version: \"20.0.7\", type: BrnAutocompleteStatus, isStandalone: true, selector: \"[brnAutocompleteStatus]\", host: { attributes: { \"role\": \"status\", \"aria-live\": \"polite\", \"aria-atomic\": \"true\" } }, ngImport: i0 });\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.0.7\", ngImport: i0, type: BrnAutocompleteStatus, decorators: [{\n type: Directive,\n args: [{\n selector: '[brnAutocompleteStatus]',\n host: {\n role: 'status',\n 'aria-live': 'polite',\n 'aria-atomic': 'true',\n },\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnJuLWF1dG9jb21wbGV0ZS1zdGF0dXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvbGliL2Jybi1hdXRvY29tcGxldGUtc3RhdHVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBVTFDLE1BQU0sT0FBTyxxQkFBcUI7MEhBQXJCLHFCQUFxQjs4R0FBckIscUJBQXFCOzsyRkFBckIscUJBQXFCO2tCQVJqQyxTQUFTO21CQUFDO29CQUNWLFFBQVEsRUFBRSx5QkFBeUI7b0JBQ25DLElBQUksRUFBRTt3QkFDTCxJQUFJLEVBQUUsUUFBUTt3QkFDZCxXQUFXLEVBQUUsUUFBUTt3QkFDckIsYUFBYSxFQUFFLE1BQU07cUJBQ3JCO2lCQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGlyZWN0aXZlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbkBEaXJlY3RpdmUoe1xuXHRzZWxlY3RvcjogJ1ticm5BdXRvY29tcGxldGVTdGF0dXNdJyxcblx0aG9zdDoge1xuXHRcdHJvbGU6ICdzdGF0dXMnLFxuXHRcdCdhcmlhLWxpdmUnOiAncG9saXRlJyxcblx0XHQnYXJpYS1hdG9taWMnOiAndHJ1ZScsXG5cdH0sXG59KVxuZXhwb3J0IGNsYXNzIEJybkF1dG9jb21wbGV0ZVN0YXR1cyB7fVxuIl19","import { BrnAutocomplete } from './lib/brn-autocomplete';\nimport { BrnAutocompleteAnchor } from './lib/brn-autocomplete-anchor';\nimport { BrnAutocompleteClear } from './lib/brn-autocomplete-clear';\nimport { BrnAutocompleteContent } from './lib/brn-autocomplete-content';\nimport { BrnAutocompleteEmpty } from './lib/brn-autocomplete-empty';\nimport { BrnAutocompleteGroup } from './lib/brn-autocomplete-group';\nimport { BrnAutocompleteInput } from './lib/brn-autocomplete-input';\nimport { BrnAutocompleteInputWrapper } from './lib/brn-autocomplete-input-wrapper';\nimport { BrnAutocompleteItem } from './lib/brn-autocomplete-item';\nimport { BrnAutocompleteLabel } from './lib/brn-autocomplete-label';\nimport { BrnAutocompleteList } from './lib/brn-autocomplete-list';\nimport { BrnAutocompleteSearch } from './lib/brn-autocomplete-search';\nimport { BrnAutocompleteSeparator } from './lib/brn-autocomplete-separator';\nimport { BrnAutocompleteStatus } from './lib/brn-autocomplete-status';\nexport * from './lib/brn-autocomplete';\nexport * from './lib/brn-autocomplete-anchor';\nexport * from './lib/brn-autocomplete-clear';\nexport * from './lib/brn-autocomplete-content';\nexport * from './lib/brn-autocomplete-empty';\nexport * from './lib/brn-autocomplete-group';\nexport * from './lib/brn-autocomplete-input';\nexport * from './lib/brn-autocomplete-input-wrapper';\nexport * from './lib/brn-autocomplete-item';\nexport * from './lib/brn-autocomplete-item.token';\nexport * from './lib/brn-autocomplete-label';\nexport * from './lib/brn-autocomplete-list';\nexport * from './lib/brn-autocomplete-search';\nexport * from './lib/brn-autocomplete-separator';\nexport * from './lib/brn-autocomplete-status';\nexport * from './lib/brn-autocomplete.token';\nexport const BrnAutocompleteImports = [\n BrnAutocomplete,\n BrnAutocompleteAnchor,\n BrnAutocompleteClear,\n BrnAutocompleteContent,\n BrnAutocompleteEmpty,\n BrnAutocompleteGroup,\n BrnAutocompleteInput,\n BrnAutocompleteInputWrapper,\n BrnAutocompleteItem,\n BrnAutocompleteLabel,\n BrnAutocompleteList,\n BrnAutocompleteSearch,\n BrnAutocompleteSeparator,\n BrnAutocompleteStatus,\n];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3pELE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSwyQkFBMkIsRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBQ25GLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLDhCQUE4QixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLGtDQUFrQyxDQUFDO0FBQzVFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRXRFLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDhCQUE4QixDQUFDO0FBQzdDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyxzQ0FBc0MsQ0FBQztBQUNyRCxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsbUNBQW1DLENBQUM7QUFDbEQsY0FBYyw4QkFBOEIsQ0FBQztBQUM3QyxjQUFjLDZCQUE2QixDQUFDO0FBQzVDLGNBQWMsK0JBQStCLENBQUM7QUFDOUMsY0FBYyxrQ0FBa0MsQ0FBQztBQUNqRCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsOEJBQThCLENBQUM7QUFFN0MsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUc7SUFDckMsZUFBZTtJQUNmLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLG9CQUFvQjtJQUNwQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLDJCQUEyQjtJQUMzQixtQkFBbUI7SUFDbkIsb0JBQW9CO0lBQ3BCLG1CQUFtQjtJQUNuQixxQkFBcUI7SUFDckIsd0JBQXdCO0lBQ3hCLHFCQUFxQjtDQUNaLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCcm5BdXRvY29tcGxldGUgfSBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUFuY2hvciB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtYW5jaG9yJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUNsZWFyIH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1jbGVhcic7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVDb250ZW50IH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1jb250ZW50JztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUVtcHR5IH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1lbXB0eSc7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVHcm91cCB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtZ3JvdXAnO1xuaW1wb3J0IHsgQnJuQXV0b2NvbXBsZXRlSW5wdXQgfSBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWlucHV0JztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUlucHV0V3JhcHBlciB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtaW5wdXQtd3JhcHBlcic7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVJdGVtIH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZUxhYmVsIH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1sYWJlbCc7XG5pbXBvcnQgeyBCcm5BdXRvY29tcGxldGVMaXN0IH0gZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1saXN0JztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZVNlYXJjaCB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtc2VhcmNoJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZVNlcGFyYXRvciB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtc2VwYXJhdG9yJztcbmltcG9ydCB7IEJybkF1dG9jb21wbGV0ZVN0YXR1cyB9IGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtc3RhdHVzJztcblxuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWFuY2hvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWNsZWFyJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtY29udGVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWVtcHR5JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtZ3JvdXAnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1pbnB1dCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWlucHV0LXdyYXBwZXInO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYnJuLWF1dG9jb21wbGV0ZS1pdGVtJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtaXRlbS50b2tlbic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLWxhYmVsJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL2Jybi1hdXRvY29tcGxldGUtbGlzdCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLXNlYXJjaCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLXNlcGFyYXRvcic7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLXN0YXR1cyc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9icm4tYXV0b2NvbXBsZXRlLnRva2VuJztcblxuZXhwb3J0IGNvbnN0IEJybkF1dG9jb21wbGV0ZUltcG9ydHMgPSBbXG5cdEJybkF1dG9jb21wbGV0ZSxcblx0QnJuQXV0b2NvbXBsZXRlQW5jaG9yLFxuXHRCcm5BdXRvY29tcGxldGVDbGVhcixcblx0QnJuQXV0b2NvbXBsZXRlQ29udGVudCxcblx0QnJuQXV0b2NvbXBsZXRlRW1wdHksXG5cdEJybkF1dG9jb21wbGV0ZUdyb3VwLFxuXHRCcm5BdXRvY29tcGxldGVJbnB1dCxcblx0QnJuQXV0b2NvbXBsZXRlSW5wdXRXcmFwcGVyLFxuXHRCcm5BdXRvY29tcGxldGVJdGVtLFxuXHRCcm5BdXRvY29tcGxldGVMYWJlbCxcblx0QnJuQXV0b2NvbXBsZXRlTGlzdCxcblx0QnJuQXV0b2NvbXBsZXRlU2VhcmNoLFxuXHRCcm5BdXRvY29tcGxldGVTZXBhcmF0b3IsXG5cdEJybkF1dG9jb21wbGV0ZVN0YXR1cyxcbl0gYXMgY29uc3Q7XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BhcnRhbi1uZy1icmFpbi1hdXRvY29tcGxldGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2JyYWluL2F1dG9jb21wbGV0ZS9zcmMvc3BhcnRhbi1uZy1icmFpbi1hdXRvY29tcGxldGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}