@recursyve/ngx-material-components 18.0.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @license
3
+ * Copyright Google LLC All Rights Reserved.
4
+ *
5
+ * Use of this source code is governed by an MIT-style license that can be
6
+ * found in the LICENSE file at https://angular.dev/license
7
+ */
8
+ // primary entry-point which is empty as of version 9. All components should
9
+ // be imported through their individual entry-points. This file is needed to
10
+ // satisfy the "ng_package" bazel rule which also requires a primary entry-point.
11
+ // Workaround for: https://github.com/microsoft/rushstack/issues/2806.
12
+ // This is a private export that can be removed at any time.
13
+ export const ɵɵtsModuleIndicatorApiExtractorWorkaround = true;
14
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbWF0ZXJpYWwtY29tcG9uZW50cy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFFSCw0RUFBNEU7QUFDNUUsNEVBQTRFO0FBQzVFLGlGQUFpRjtBQUVqRixzRUFBc0U7QUFDdEUsNERBQTREO0FBQzVELE1BQU0sQ0FBQyxNQUFNLHlDQUF5QyxHQUFHLElBQUksQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGxpY2Vuc2VcbiAqIENvcHlyaWdodCBHb29nbGUgTExDIEFsbCBSaWdodHMgUmVzZXJ2ZWQuXG4gKlxuICogVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYW4gTUlULXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmVcbiAqIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUgYXQgaHR0cHM6Ly9hbmd1bGFyLmRldi9saWNlbnNlXG4gKi9cblxuLy8gcHJpbWFyeSBlbnRyeS1wb2ludCB3aGljaCBpcyBlbXB0eSBhcyBvZiB2ZXJzaW9uIDkuIEFsbCBjb21wb25lbnRzIHNob3VsZFxuLy8gYmUgaW1wb3J0ZWQgdGhyb3VnaCB0aGVpciBpbmRpdmlkdWFsIGVudHJ5LXBvaW50cy4gVGhpcyBmaWxlIGlzIG5lZWRlZCB0b1xuLy8gc2F0aXNmeSB0aGUgXCJuZ19wYWNrYWdlXCIgYmF6ZWwgcnVsZSB3aGljaCBhbHNvIHJlcXVpcmVzIGEgcHJpbWFyeSBlbnRyeS1wb2ludC5cblxuLy8gV29ya2Fyb3VuZCBmb3I6IGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvcnVzaHN0YWNrL2lzc3Vlcy8yODA2LlxuLy8gVGhpcyBpcyBhIHByaXZhdGUgZXhwb3J0IHRoYXQgY2FuIGJlIHJlbW92ZWQgYXQgYW55IHRpbWUuXG5leHBvcnQgY29uc3QgybXJtXRzTW9kdWxlSW5kaWNhdG9yQXBpRXh0cmFjdG9yV29ya2Fyb3VuZCA9IHRydWU7XG4iXX0=
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzeXZlLW5neC1tYXRlcmlhbC1jb21wb25lbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL21hdGVyaWFsLWNvbXBvbmVudHMvcmVjdXJzeXZlLW5neC1tYXRlcmlhbC1jb21wb25lbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19
@@ -0,0 +1,112 @@
1
+ import { CdkConnectedOverlay, CdkOverlayOrigin } from "@angular/cdk/overlay";
2
+ import { ChangeDetectionStrategy, Component, computed, effect, inject, input, viewChild, ViewEncapsulation } from "@angular/core";
3
+ import { ReactiveFormsModule } from "@angular/forms";
4
+ import { MatIconButton } from "@angular/material/button";
5
+ import { MatOption } from "@angular/material/core";
6
+ import { MatFormField, MatFormFieldControl } from "@angular/material/form-field";
7
+ import { MatInput } from "@angular/material/input";
8
+ import { matSelectAnimations } from "@angular/material/select";
9
+ import { NiceTypeaheadBase } from "./typeahead-base";
10
+ import { NiceTypeaheadService } from "./providers";
11
+ import * as i0 from "@angular/core";
12
+ import * as i1 from "@angular/forms";
13
+ export class NiceAsyncTypeahead extends NiceTypeaheadBase {
14
+ resource = input.required();
15
+ filteredValues = computed(() => this.service.items());
16
+ optionsContainer = viewChild("optionsContainer");
17
+ service = inject(NiceTypeaheadService);
18
+ _compareWith = (o1, o2) => {
19
+ if (!(typeof o1 === "object" && o1 && typeof o2 === "object" && o2)) {
20
+ return o1 === o2;
21
+ }
22
+ if (!("id" in o1) || !("id" in o2)) {
23
+ return o1 === o2;
24
+ }
25
+ return o1.id === o2.id;
26
+ };
27
+ /**
28
+ * Infinite scroll internal state
29
+ */
30
+ scrollThresholdPercent = 0.99;
31
+ lastScrollHeight = 0;
32
+ constructor() {
33
+ super();
34
+ effect(() => this.service.search(this._searchValue()), {
35
+ allowSignalWrites: true
36
+ });
37
+ effect(() => {
38
+ const container = this.optionsContainer();
39
+ if (!container) {
40
+ return;
41
+ }
42
+ container.nativeElement.addEventListener("scroll", this.onScroll.bind(this));
43
+ });
44
+ }
45
+ ngOnInit() {
46
+ super.ngOnInit();
47
+ this.service.init(this.resource());
48
+ }
49
+ onFocusChanged(isFocused) {
50
+ super.onFocusChanged(isFocused);
51
+ if (isFocused) {
52
+ this._searchControl.patchValue("");
53
+ }
54
+ }
55
+ formatLabel(item) {
56
+ return this.service.formatLabel(item);
57
+ }
58
+ removeActiveValue() {
59
+ super.removeActiveValue();
60
+ this.service.setActive(null);
61
+ }
62
+ onScroll(event) {
63
+ const target = event.target;
64
+ const threshold = (this.scrollThresholdPercent * 100 * target.scrollHeight) / 100;
65
+ const current = target.scrollTop + target.clientHeight;
66
+ if (this.lastScrollHeight > target.scrollHeight) {
67
+ this.lastScrollHeight = 0;
68
+ }
69
+ if (current > threshold && this.lastScrollHeight < target.scrollHeight) {
70
+ this.service.loadMore();
71
+ this.lastScrollHeight = target.scrollHeight;
72
+ }
73
+ }
74
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeahead, deps: [], target: i0.ɵɵFactoryTarget.Component });
75
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.13", type: NiceAsyncTypeahead, isStandalone: true, selector: "nice-async-typeahead", inputs: { resource: { classPropertyName: "resource", publicName: "resource", isSignal: true, isRequired: true, transformFunction: null } }, host: { attributes: { "role": "combobox", "aria-haspopup": "listbox" }, listeners: { "keydown": "_handleKeydown($event)", "focus": "onFocusChanged(true)", "blur": "onFocusChanged(false)" }, properties: { "attr.id": "id", "attr.aria-controls": "panelOpen ? id + \"-panel\" : null", "attr.aria-expanded": "panelOpen", "attr.aria-required": "required.toString()", "attr.aria-disabled": "disabled.toString()", "attr.aria-invalid": "errorState", "class.nice-typeahead-disabled": "disabled", "class.nice-typeahead-invalid": "errorState", "class.nice-typeahead-required": "required", "class.nice-typeahead-empty": "empty" }, classAttribute: "nice-typeahead" }, providers: [
76
+ { provide: MatFormFieldControl, useExisting: NiceAsyncTypeahead },
77
+ NiceTypeaheadService
78
+ ], viewQueries: [{ propertyName: "optionsContainer", first: true, predicate: ["optionsContainer"], descendants: true, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n class=\"nice-typeahead\"\n cdk-overlay-origin\n>\n <div class=\"nice-typeahead-value\">\n @if (_empty()) {\n <span class=\"nice-typeahead-placeholder mat-mdc-select-min-line\">{{ _placeholder() }}</span>\n } @else {\n <span class=\"nice-typeahead-value-text\">\n <span class=\"mat-mdc-select-min-line\">\n @if (_value(); as activeValue) {\n {{ formatLabel(activeValue) }}\n }\n </span>\n </span>\n }\n </div>\n\n <div class=\"nice-typeahead-suffix\">\n @if (_empty()) {\n <div class=\"mat-mdc-select-arrow\">\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\"></path>\n </svg>\n </div>\n } @else {\n <button class=\"nice-typeahead-remove\" mat-icon-button (click)=\"$event.stopPropagation(); removeActiveValue()\">\n <svg viewBox=\"0 -960 960 960\">\n <path d=\"m291-240-51-51 189-189-189-189 51-51 189 189 189-189 51 51-189 189 189 189-51 51-189-189-189 189Z\"/>\n </svg>\n </button>\n }\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n (attach)=\"_onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"nice-typeahead-panel nice-typeahead--open\"\n [attr.id]=\"id + '-panel'\"\n [@transformPanel]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\"\n (scrollend)=\"_handleScrollEnd()\"\n >\n <div class=\"nice-typeahead-search-input\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input\n #input\n class=\"nice-typeahead__input\"\n matInput\n [formControl]=\"_searchControl\"\n >\n </mat-form-field>\n </div>\n\n <div #optionsContainer class=\"nice-typeahead-options\" role=\"presentation\">\n @for (item of filteredValues(); track item) {\n <mat-option [value]=\"item\">\n {{ formatLabel(item) }}\n </mat-option>\n } @empty {\n <mat-option disabled>\n <span class=\"nice-typeahead__no-items\">No items found</span>\n </mat-option>\n }\n </div>\n </div>\n</ng-template>\n", styles: ["nice-typeahead,nice-async-typeahead{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-app-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-app-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-app-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-app-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-app-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-app-body-large-tracking))}nice-typeahead .nice-typeahead,nice-async-typeahead .nice-typeahead{width:100%;display:inline-flex;align-items:center;justify-content:space-between;cursor:pointer;position:relative;box-sizing:border-box}nice-typeahead .nice-typeahead-suffix,nice-async-typeahead .nice-typeahead-suffix{height:24px;flex-shrink:0;display:inline-flex;align-items:center;--mdc-icon-button-state-layer-size: 24px}nice-typeahead .nice-typeahead-suffix .nice-typeahead-remove,nice-async-typeahead .nice-typeahead-suffix .nice-typeahead-remove{margin-right:-6px}nice-typeahead .nice-typeahead-value,nice-async-typeahead .nice-typeahead-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nice-typeahead .nice-typeahead-value-text,nice-async-typeahead .nice-typeahead-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nice-typeahead .mat-mdc-select-min-line:empty:before,nice-async-typeahead .mat-mdc-select-min-line:empty:before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}nice-typeahead .nice-typeahead__input,nice-async-typeahead .nice-typeahead__input{border:none;outline:none;box-shadow:none;background:none;padding:0;margin:0;color:inherit}.mat-mdc-form-field-type-nice-typeahead:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-nice-typeahead.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}div.nice-typeahead-panel{width:100%;outline:0;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color, var(--mat-app-surface-container))}div.nice-typeahead-panel .nice-typeahead-search-input{padding-left:8px;padding-right:8px;padding-bottom:8px}div.nice-typeahead-panel .nice-typeahead-search-input .mat-mdc-form-field-infix{width:100%}div.nice-typeahead-panel .nice-typeahead-options{overflow:auto;max-height:384px}div.nice-typeahead-panel{box-shadow:var(--mat-select-container-elevation-shadow)}\n"], dependencies: [{ kind: "directive", type: CdkOverlayOrigin, selector: "[cdk-overlay-origin], [overlay-origin], [cdkOverlayOrigin]", exportAs: ["cdkOverlayOrigin"] }, { kind: "directive", type: CdkConnectedOverlay, selector: "[cdk-connected-overlay], [connected-overlay], [cdkConnectedOverlay]", inputs: ["cdkConnectedOverlayOrigin", "cdkConnectedOverlayPositions", "cdkConnectedOverlayPositionStrategy", "cdkConnectedOverlayOffsetX", "cdkConnectedOverlayOffsetY", "cdkConnectedOverlayWidth", "cdkConnectedOverlayHeight", "cdkConnectedOverlayMinWidth", "cdkConnectedOverlayMinHeight", "cdkConnectedOverlayBackdropClass", "cdkConnectedOverlayPanelClass", "cdkConnectedOverlayViewportMargin", "cdkConnectedOverlayScrollStrategy", "cdkConnectedOverlayOpen", "cdkConnectedOverlayDisableClose", "cdkConnectedOverlayTransformOriginOn", "cdkConnectedOverlayHasBackdrop", "cdkConnectedOverlayLockPosition", "cdkConnectedOverlayFlexibleDimensions", "cdkConnectedOverlayGrowAfterOpen", "cdkConnectedOverlayPush", "cdkConnectedOverlayDisposeOnNavigation"], outputs: ["backdropClick", "positionChange", "attach", "detach", "overlayKeydown", "overlayOutsideClick"], exportAs: ["cdkConnectedOverlay"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "component", type: MatOption, selector: "mat-option", inputs: ["value", "id", "disabled"], outputs: ["onSelectionChange"], exportAs: ["matOption"] }, { kind: "component", type: MatFormField, selector: "mat-form-field", inputs: ["hideRequiredMarker", "color", "floatLabel", "appearance", "subscriptSizing", "hintLabel"], exportAs: ["matFormField"] }, { kind: "directive", type: MatInput, selector: "input[matInput], textarea[matInput], select[matNativeControl], input[matNativeControl], textarea[matNativeControl]", inputs: ["disabled", "id", "placeholder", "name", "required", "type", "errorStateMatcher", "aria-describedby", "value", "readonly"], exportAs: ["matInput"] }, { kind: "component", type: MatIconButton, selector: "button[mat-icon-button]", exportAs: ["matButton"] }], animations: [matSelectAnimations.transformPanel], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
79
+ }
80
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceAsyncTypeahead, decorators: [{
81
+ type: Component,
82
+ args: [{ selector: "nice-async-typeahead", standalone: true, imports: [
83
+ CdkOverlayOrigin,
84
+ CdkConnectedOverlay,
85
+ ReactiveFormsModule,
86
+ MatOption,
87
+ MatFormField,
88
+ MatInput,
89
+ MatIconButton
90
+ ], changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, animations: [matSelectAnimations.transformPanel], providers: [
91
+ { provide: MatFormFieldControl, useExisting: NiceAsyncTypeahead },
92
+ NiceTypeaheadService
93
+ ], host: {
94
+ "role": "combobox",
95
+ "aria-haspopup": "listbox",
96
+ "class": "nice-typeahead",
97
+ "[attr.id]": "id",
98
+ "[attr.aria-controls]": "panelOpen ? id + \"-panel\" : null",
99
+ "[attr.aria-expanded]": "panelOpen",
100
+ "[attr.aria-required]": "required.toString()",
101
+ "[attr.aria-disabled]": "disabled.toString()",
102
+ "[attr.aria-invalid]": "errorState",
103
+ "[class.nice-typeahead-disabled]": "disabled",
104
+ "[class.nice-typeahead-invalid]": "errorState",
105
+ "[class.nice-typeahead-required]": "required",
106
+ "[class.nice-typeahead-empty]": "empty",
107
+ "(keydown)": "_handleKeydown($event)",
108
+ "(focus)": "onFocusChanged(true)",
109
+ "(blur)": "onFocusChanged(false)"
110
+ }, template: "<div\n #fallbackOverlayOrigin=\"cdkOverlayOrigin\"\n class=\"nice-typeahead\"\n cdk-overlay-origin\n>\n <div class=\"nice-typeahead-value\">\n @if (_empty()) {\n <span class=\"nice-typeahead-placeholder mat-mdc-select-min-line\">{{ _placeholder() }}</span>\n } @else {\n <span class=\"nice-typeahead-value-text\">\n <span class=\"mat-mdc-select-min-line\">\n @if (_value(); as activeValue) {\n {{ formatLabel(activeValue) }}\n }\n </span>\n </span>\n }\n </div>\n\n <div class=\"nice-typeahead-suffix\">\n @if (_empty()) {\n <div class=\"mat-mdc-select-arrow\">\n <svg viewBox=\"0 0 24 24\" width=\"24px\" height=\"24px\" focusable=\"false\" aria-hidden=\"true\">\n <path d=\"M7 10l5 5 5-5z\"></path>\n </svg>\n </div>\n } @else {\n <button class=\"nice-typeahead-remove\" mat-icon-button (click)=\"$event.stopPropagation(); removeActiveValue()\">\n <svg viewBox=\"0 -960 960 960\">\n <path d=\"m291-240-51-51 189-189-189-189 51-51 189 189 189-189 51 51-189 189 189 189-51 51-189-189-189 189Z\"/>\n </svg>\n </button>\n }\n </div>\n</div>\n\n<ng-template\n cdk-connected-overlay\n cdkConnectedOverlayLockPosition\n cdkConnectedOverlayHasBackdrop\n cdkConnectedOverlayBackdropClass=\"cdk-overlay-transparent-backdrop\"\n [cdkConnectedOverlayOpen]=\"panelOpen\"\n [cdkConnectedOverlayWidth]=\"_overlayWidth\"\n [cdkConnectedOverlayOrigin]=\"_preferredOverlayOrigin || fallbackOverlayOrigin\"\n (attach)=\"_onAttached()\"\n (backdropClick)=\"close()\"\n (detach)=\"close()\"\n>\n <div\n #panel\n role=\"listbox\"\n tabindex=\"-1\"\n class=\"nice-typeahead-panel nice-typeahead--open\"\n [attr.id]=\"id + '-panel'\"\n [@transformPanel]=\"'showing'\"\n (@transformPanel.done)=\"_panelDoneAnimatingStream.next($event.toState)\"\n (keydown)=\"_handleKeydown($event)\"\n (scrollend)=\"_handleScrollEnd()\"\n >\n <div class=\"nice-typeahead-search-input\">\n <mat-form-field appearance=\"outline\" subscriptSizing=\"dynamic\">\n <input\n #input\n class=\"nice-typeahead__input\"\n matInput\n [formControl]=\"_searchControl\"\n >\n </mat-form-field>\n </div>\n\n <div #optionsContainer class=\"nice-typeahead-options\" role=\"presentation\">\n @for (item of filteredValues(); track item) {\n <mat-option [value]=\"item\">\n {{ formatLabel(item) }}\n </mat-option>\n } @empty {\n <mat-option disabled>\n <span class=\"nice-typeahead__no-items\">No items found</span>\n </mat-option>\n }\n </div>\n </div>\n</ng-template>\n", styles: ["nice-typeahead,nice-async-typeahead{display:inline-block;width:100%;outline:none;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;color:var(--mat-select-enabled-trigger-text-color, var(--mat-app-on-surface));font-family:var(--mat-select-trigger-text-font, var(--mat-app-body-large-font));line-height:var(--mat-select-trigger-text-line-height, var(--mat-app-body-large-line-height));font-size:var(--mat-select-trigger-text-size, var(--mat-app-body-large-size));font-weight:var(--mat-select-trigger-text-weight, var(--mat-app-body-large-weight));letter-spacing:var(--mat-select-trigger-text-tracking, var(--mat-app-body-large-tracking))}nice-typeahead .nice-typeahead,nice-async-typeahead .nice-typeahead{width:100%;display:inline-flex;align-items:center;justify-content:space-between;cursor:pointer;position:relative;box-sizing:border-box}nice-typeahead .nice-typeahead-suffix,nice-async-typeahead .nice-typeahead-suffix{height:24px;flex-shrink:0;display:inline-flex;align-items:center;--mdc-icon-button-state-layer-size: 24px}nice-typeahead .nice-typeahead-suffix .nice-typeahead-remove,nice-async-typeahead .nice-typeahead-suffix .nice-typeahead-remove{margin-right:-6px}nice-typeahead .nice-typeahead-value,nice-async-typeahead .nice-typeahead-value{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nice-typeahead .nice-typeahead-value-text,nice-async-typeahead .nice-typeahead-value-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}nice-typeahead .mat-mdc-select-min-line:empty:before,nice-async-typeahead .mat-mdc-select-min-line:empty:before{content:\" \";white-space:pre;width:1px;display:inline-block;visibility:hidden}nice-typeahead .nice-typeahead__input,nice-async-typeahead .nice-typeahead__input{border:none;outline:none;box-shadow:none;background:none;padding:0;margin:0;color:inherit}.mat-mdc-form-field-type-nice-typeahead:not(.mat-form-field-disabled) .mat-mdc-text-field-wrapper{cursor:pointer}.mat-mdc-form-field-type-nice-typeahead.mat-form-field-appearance-outline .mdc-notched-outline__notch{max-width:calc(100% - 60px)}div.nice-typeahead-panel{width:100%;outline:0;padding:8px 0;border-radius:4px;box-sizing:border-box;position:static;background-color:var(--mat-select-panel-background-color, var(--mat-app-surface-container))}div.nice-typeahead-panel .nice-typeahead-search-input{padding-left:8px;padding-right:8px;padding-bottom:8px}div.nice-typeahead-panel .nice-typeahead-search-input .mat-mdc-form-field-infix{width:100%}div.nice-typeahead-panel .nice-typeahead-options{overflow:auto;max-height:384px}div.nice-typeahead-panel{box-shadow:var(--mat-select-container-elevation-shadow)}\n"] }]
111
+ }], ctorParameters: () => [] });
112
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWNvbXBvbmVudHMvdHlwZWFoZWFkL2FzeW5jLXR5cGVhaGVhZC50cyIsIi4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC1jb21wb25lbnRzL3R5cGVhaGVhZC90eXBlYWhlYWQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUM3RSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxRQUFRLEVBQ1IsTUFBTSxFQUNOLE1BQU0sRUFDTixLQUFLLEVBQ0csU0FBUyxFQUNqQixpQkFBaUIsRUFDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQ3pELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNuRCxPQUFPLEVBQUUsWUFBWSxFQUFFLG1CQUFtQixFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDakYsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQ25ELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQy9ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3JELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGFBQWEsQ0FBQzs7O0FBMENuRCxNQUFNLE9BQU8sa0JBQXNCLFNBQVEsaUJBQW9CO0lBQzNDLFFBQVEsR0FBRyxLQUFLLENBQUMsUUFBUSxFQUFVLENBQUM7SUFFcEMsY0FBYyxHQUFHLFFBQVEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEtB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N0MscUJBQXFCLEVBQUUsWUFBWTt3QkFDbkMsaUNBQWlDLEVBQUUsVUFBVTt3QkFDN0MsZ0NBQWdDLEVBQUUsWUFBWTt3QkFDOUMsaUNBQWlDLEVBQUUsVUFBVTt3QkFDN0MsOEJBQThCLEVBQUUsT0FBTzt3QkFDdkMsV0FBVyxFQUFFLHdCQUF3Qjt3QkFDckMsU0FBUyxFQUFFLHNCQUFzQjt3QkFDakMsUUFBUSxFQUFFLHVCQUF1QjtxQkFDcEMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDZGtDb25uZWN0ZWRPdmVybGF5LCBDZGtPdmVybGF5T3JpZ2luIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9vdmVybGF5XCI7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBjb21wdXRlZCxcbiAgICBlZmZlY3QsIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIGlucHV0LFxuICAgIE9uSW5pdCwgdmlld0NoaWxkLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Zvcm1zXCI7XG5pbXBvcnQgeyBNYXRJY29uQnV0dG9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2J1dHRvblwiO1xuaW1wb3J0IHsgTWF0T3B0aW9uIH0gZnJvbSBcIkBhbmd1bGFyL21hdGVyaWFsL2NvcmVcIjtcbmltcG9ydCB7IE1hdEZvcm1GaWVsZCwgTWF0Rm9ybUZpZWxkQ29udHJvbCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9mb3JtLWZpZWxkXCI7XG5pbXBvcnQgeyBNYXRJbnB1dCB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9pbnB1dFwiO1xuaW1wb3J0IHsgbWF0U2VsZWN0QW5pbWF0aW9ucyB9IGZyb20gXCJAYW5ndWxhci9tYXRlcmlhbC9zZWxlY3RcIjtcbmltcG9ydCB7IE5pY2VUeXBlYWhlYWRCYXNlIH0gZnJvbSBcIi4vdHlwZWFoZWFkLWJhc2VcIjtcbmltcG9ydCB7IE5pY2VUeXBlYWhlYWRTZXJ2aWNlIH0gZnJvbSBcIi4vcHJvdmlkZXJzXCI7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiBcIm5pY2UtYXN5bmMtdHlwZWFoZWFkXCIsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbXG4gICAgICAgIENka092ZXJsYXlPcmlnaW4sXG4gICAgICAgIENka0Nvbm5lY3RlZE92ZXJsYXksXG4gICAgICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgICAgIE1hdE9wdGlvbixcbiAgICAgICAgTWF0Rm9ybUZpZWxkLFxuICAgICAgICBNYXRJbnB1dCxcbiAgICAgICAgTWF0SWNvbkJ1dHRvblxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6IFwiLi90eXBlYWhlYWQuaHRtbFwiLFxuICAgIHN0eWxlVXJsOiBcIi4vdHlwZWFoZWFkLnNjc3NcIixcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGFuaW1hdGlvbnM6IFttYXRTZWxlY3RBbmltYXRpb25zLnRyYW5zZm9ybVBhbmVsXSxcbiAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgeyBwcm92aWRlOiBNYXRGb3JtRmllbGRDb250cm9sLCB1c2VFeGlzdGluZzogTmljZUFzeW5jVHlwZWFoZWFkIH0sXG4gICAgICAgIE5pY2VUeXBlYWhlYWRTZXJ2aWNlXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgIFwicm9sZVwiOiBcImNvbWJvYm94XCIsXG4gICAgICAgIFwiYXJpYS1oYXNwb3B1cFwiOiBcImxpc3Rib3hcIixcbiAgICAgICAgXCJjbGFzc1wiOiBcIm5pY2UtdHlwZWFoZWFkXCIsXG4gICAgICAgIFwiW2F0dHIuaWRdXCI6IFwiaWRcIixcbiAgICAgICAgXCJbYXR0ci5hcmlhLWNvbnRyb2xzXVwiOiBcInBhbmVsT3BlbiA/IGlkICsgXFxcIi1wYW5lbFxcXCIgOiBudWxsXCIsXG4gICAgICAgIFwiW2F0dHIuYXJpYS1leHBhbmRlZF1cIjogXCJwYW5lbE9wZW5cIixcbiAgICAgICAgXCJbYXR0ci5hcmlhLXJlcXVpcmVkXVwiOiBcInJlcXVpcmVkLnRvU3RyaW5nKClcIixcbiAgICAgICAgXCJbYXR0ci5hcmlhLWRpc2FibGVkXVwiOiBcImRpc2FibGVkLnRvU3RyaW5nKClcIixcbiAgICAgICAgXCJbYXR0ci5hcmlhLWludmFsaWRdXCI6IFwiZXJyb3JTdGF0ZVwiLFxuICAgICAgICBcIltjbGFzcy5uaWNlLXR5cGVhaGVhZC1kaXNhYmxlZF1cIjogXCJkaXNhYmxlZFwiLFxuICAgICAgICBcIltjbGFzcy5uaWNlLXR5cGVhaGVhZC1pbnZhbGlkXVwiOiBcImVycm9yU3RhdGVcIixcbiAgICAgICAgXCJbY2xhc3MubmljZS10eXBlYWhlYWQtcmVxdWlyZWRdXCI6IFwicmVxdWlyZWRcIixcbiAgICAgICAgXCJbY2xhc3MubmljZS10eXBlYWhlYWQtZW1wdHldXCI6IFwiZW1wdHlcIixcbiAgICAgICAgXCIoa2V5ZG93bilcIjogXCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCIsXG4gICAgICAgIFwiKGZvY3VzKVwiOiBcIm9uRm9jdXNDaGFuZ2VkKHRydWUpXCIsXG4gICAgICAgIFwiKGJsdXIpXCI6IFwib25Gb2N1c0NoYW5nZWQoZmFsc2UpXCJcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE5pY2VBc3luY1R5cGVhaGVhZDxUPiBleHRlbmRzIE5pY2VUeXBlYWhlYWRCYXNlPFQ+IGltcGxlbWVudHMgT25Jbml0IHtcbiAgICBwdWJsaWMgcmVhZG9ubHkgcmVzb3VyY2UgPSBpbnB1dC5yZXF1aXJlZDxzdHJpbmc+KCk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgZmlsdGVyZWRWYWx1ZXMgPSBjb21wdXRlZCgoKSA9PiB0aGlzLnNlcnZpY2UuaXRlbXMoKSk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgb3B0aW9uc0NvbnRhaW5lciA9IHZpZXdDaGlsZDxFbGVtZW50UmVmPEhUTUxFbGVtZW50Pj4oXCJvcHRpb25zQ29udGFpbmVyXCIpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBzZXJ2aWNlID0gaW5qZWN0KE5pY2VUeXBlYWhlYWRTZXJ2aWNlKTtcblxuICAgIHByb3RlY3RlZCBvdmVycmlkZSBfY29tcGFyZVdpdGggPSAobzE6IFQsIG8yOiBUKSA9PiB7XG4gICAgICAgIGlmICghKHR5cGVvZiBvMSA9PT0gXCJvYmplY3RcIiAmJiBvMSAmJiB0eXBlb2YgbzIgPT09IFwib2JqZWN0XCIgJiYgbzIpKSB7XG4gICAgICAgICAgICByZXR1cm4gbzEgPT09IG8yO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCEoXCJpZFwiIGluIG8xKSB8fCAhKFwiaWRcIiBpbiBvMikpIHtcbiAgICAgICAgICAgIHJldHVybiBvMSA9PT0gbzI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gbzEuaWQgPT09IG8yLmlkO1xuICAgIH07XG5cbiAgICAvKipcbiAgICAgKiBJbmZpbml0ZSBzY3JvbGwgaW50ZXJuYWwgc3RhdGVcbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHNjcm9sbFRocmVzaG9sZFBlcmNlbnQgPSAwLjk5O1xuICAgIHByaXZhdGUgbGFzdFNjcm9sbEhlaWdodCA9IDA7XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcblxuICAgICAgICBlZmZlY3QoKCkgPT4gdGhpcy5zZXJ2aWNlLnNlYXJjaCh0aGlzLl9zZWFyY2hWYWx1ZSgpKSwge1xuICAgICAgICAgICAgYWxsb3dTaWduYWxXcml0ZXM6IHRydWVcbiAgICAgICAgfSk7XG5cbiAgICAgICAgZWZmZWN0KCgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvbnRhaW5lciA9IHRoaXMub3B0aW9uc0NvbnRhaW5lcigpO1xuICAgICAgICAgICAgaWYgKCFjb250YWluZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnRhaW5lci5uYXRpdmVFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoXCJzY3JvbGxcIiwgdGhpcy5vblNjcm9sbC5iaW5kKHRoaXMpKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG5nT25Jbml0KCk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uSW5pdCgpO1xuXG4gICAgICAgIHRoaXMuc2VydmljZS5pbml0KHRoaXMucmVzb3VyY2UoKSk7XG4gICAgfVxuXG4gICAgcHVibGljIG92ZXJyaWRlIG9uRm9jdXNDaGFuZ2VkKGlzRm9jdXNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICBzdXBlci5vbkZvY3VzQ2hhbmdlZChpc0ZvY3VzZWQpO1xuXG4gICAgICAgIGlmIChpc0ZvY3VzZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NlYXJjaENvbnRyb2wucGF0Y2hWYWx1ZShcIlwiKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBvdmVycmlkZSBmb3JtYXRMYWJlbChpdGVtOiBUKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2VydmljZS5mb3JtYXRMYWJlbChpdGVtKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgb3ZlcnJpZGUgcmVtb3ZlQWN0aXZlVmFsdWUoKSB7XG4gICAgICAgIHN1cGVyLnJlbW92ZUFjdGl2ZVZhbHVlKCk7XG5cbiAgICAgICAgdGhpcy5zZXJ2aWNlLnNldEFjdGl2ZShudWxsKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25TY3JvbGwoZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGhyZXNob2xkID0gKHRoaXMuc2Nyb2xsVGhyZXNob2xkUGVyY2VudCAqIDEwMCAqIHRhcmdldC5zY3JvbGxIZWlnaHQpIC8gMTAwO1xuICAgICAgICBjb25zdCBjdXJyZW50ID0gdGFyZ2V0LnNjcm9sbFRvcCArIHRhcmdldC5jbGllbnRIZWlnaHQ7XG5cbiAgICAgICAgaWYgKHRoaXMubGFzdFNjcm9sbEhlaWdodCA+IHRhcmdldC5zY3JvbGxIZWlnaHQpIHtcbiAgICAgICAgICAgIHRoaXMubGFzdFNjcm9sbEhlaWdodCA9IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoY3VycmVudCA+IHRocmVzaG9sZCAmJiB0aGlzLmxhc3RTY3JvbGxIZWlnaHQgPCB0YXJnZXQuc2Nyb2xsSGVpZ2h0KSB7XG4gICAgICAgICAgICB0aGlzLnNlcnZpY2UubG9hZE1vcmUoKTtcbiAgICAgICAgICAgIHRoaXMubGFzdFNjcm9sbEhlaWdodCA9IHRhcmdldC5zY3JvbGxIZWlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCI8ZGl2XG4gICAgI2ZhbGxiYWNrT3ZlcmxheU9yaWdpbj1cImNka092ZXJsYXlPcmlnaW5cIlxuICAgIGNsYXNzPVwibmljZS10eXBlYWhlYWRcIlxuICAgIGNkay1vdmVybGF5LW9yaWdpblxuPlxuICAgIDxkaXYgY2xhc3M9XCJuaWNlLXR5cGVhaGVhZC12YWx1ZVwiPlxuICAgICAgICBAaWYgKF9lbXB0eSgpKSB7XG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm5pY2UtdHlwZWFoZWFkLXBsYWNlaG9sZGVyIG1hdC1tZGMtc2VsZWN0LW1pbi1saW5lXCI+e3sgX3BsYWNlaG9sZGVyKCkgfX08L3NwYW4+XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJuaWNlLXR5cGVhaGVhZC12YWx1ZS10ZXh0XCI+XG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtYXQtbWRjLXNlbGVjdC1taW4tbGluZVwiPlxuICAgICAgICAgICAgICAgICAgICBAaWYgKF92YWx1ZSgpOyBhcyBhY3RpdmVWYWx1ZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0TGFiZWwoYWN0aXZlVmFsdWUpIH19XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cblxuICAgIDxkaXYgY2xhc3M9XCJuaWNlLXR5cGVhaGVhZC1zdWZmaXhcIj5cbiAgICAgICAgQGlmIChfZW1wdHkoKSkge1xuICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1hdC1tZGMtc2VsZWN0LWFycm93XCI+XG4gICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgd2lkdGg9XCIyNHB4XCIgaGVpZ2h0PVwiMjRweFwiIGZvY3VzYWJsZT1cImZhbHNlXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNyAxMGw1IDUgNS01elwiPjwvcGF0aD5cbiAgICAgICAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJuaWNlLXR5cGVhaGVhZC1yZW1vdmVcIiBtYXQtaWNvbi1idXR0b24gKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKTsgcmVtb3ZlQWN0aXZlVmFsdWUoKVwiPlxuICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgLTk2MCA5NjAgOTYwXCI+XG4gICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJtMjkxLTI0MC01MS01MSAxODktMTg5LTE4OS0xODkgNTEtNTEgMTg5IDE4OSAxODktMTg5IDUxIDUxLTE4OSAxODkgMTg5IDE4OS01MSA1MS0xODktMTg5LTE4OSAxODlaXCIvPlxuICAgICAgICAgICAgICAgIDwvc3ZnPlxuICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIH1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgICBjZGstY29ubmVjdGVkLW92ZXJsYXlcbiAgICBjZGtDb25uZWN0ZWRPdmVybGF5TG9ja1Bvc2l0aW9uXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheUhhc0JhY2tkcm9wXG4gICAgY2RrQ29ubmVjdGVkT3ZlcmxheUJhY2tkcm9wQ2xhc3M9XCJjZGstb3ZlcmxheS10cmFuc3BhcmVudC1iYWNrZHJvcFwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlPcGVuXT1cInBhbmVsT3BlblwiXG4gICAgW2Nka0Nvbm5lY3RlZE92ZXJsYXlXaWR0aF09XCJfb3ZlcmxheVdpZHRoXCJcbiAgICBbY2RrQ29ubmVjdGVkT3ZlcmxheU9yaWdpbl09XCJfcHJlZmVycmVkT3ZlcmxheU9yaWdpbiB8fCBmYWxsYmFja092ZXJsYXlPcmlnaW5cIlxuICAgIChhdHRhY2gpPVwiX29uQXR0YWNoZWQoKVwiXG4gICAgKGJhY2tkcm9wQ2xpY2spPVwiY2xvc2UoKVwiXG4gICAgKGRldGFjaCk9XCJjbG9zZSgpXCJcbj5cbiAgICA8ZGl2XG4gICAgICAgICNwYW5lbFxuICAgICAgICByb2xlPVwibGlzdGJveFwiXG4gICAgICAgIHRhYmluZGV4PVwiLTFcIlxuICAgICAgICBjbGFzcz1cIm5pY2UtdHlwZWFoZWFkLXBhbmVsIG5pY2UtdHlwZWFoZWFkLS1vcGVuXCJcbiAgICAgICAgW2F0dHIuaWRdPVwiaWQgKyAnLXBhbmVsJ1wiXG4gICAgICAgIFtAdHJhbnNmb3JtUGFuZWxdPVwiJ3Nob3dpbmcnXCJcbiAgICAgICAgKEB0cmFuc2Zvcm1QYW5lbC5kb25lKT1cIl9wYW5lbERvbmVBbmltYXRpbmdTdHJlYW0ubmV4dCgkZXZlbnQudG9TdGF0ZSlcIlxuICAgICAgICAoa2V5ZG93bik9XCJfaGFuZGxlS2V5ZG93bigkZXZlbnQpXCJcbiAgICAgICAgKHNjcm9sbGVuZCk9XCJfaGFuZGxlU2Nyb2xsRW5kKClcIlxuICAgID5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm5pY2UtdHlwZWFoZWFkLXNlYXJjaC1pbnB1dFwiPlxuICAgICAgICAgICAgPG1hdC1mb3JtLWZpZWxkIGFwcGVhcmFuY2U9XCJvdXRsaW5lXCIgc3Vic2NyaXB0U2l6aW5nPVwiZHluYW1pY1wiPlxuICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICAjaW5wdXRcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuaWNlLXR5cGVhaGVhZF9faW5wdXRcIlxuICAgICAgICAgICAgICAgICAgICBtYXRJbnB1dFxuICAgICAgICAgICAgICAgICAgICBbZm9ybUNvbnRyb2xdPVwiX3NlYXJjaENvbnRyb2xcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgIDwvbWF0LWZvcm0tZmllbGQ+XG4gICAgICAgIDwvZGl2PlxuXG4gICAgICAgIDxkaXYgI29wdGlvbnNDb250YWluZXIgY2xhc3M9XCJuaWNlLXR5cGVhaGVhZC1vcHRpb25zXCIgcm9sZT1cInByZXNlbnRhdGlvblwiPlxuICAgICAgICAgICAgQGZvciAoaXRlbSBvZiBmaWx0ZXJlZFZhbHVlcygpOyB0cmFjayBpdGVtKSB7XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gW3ZhbHVlXT1cIml0ZW1cIj5cbiAgICAgICAgICAgICAgICAgICAge3sgZm9ybWF0TGFiZWwoaXRlbSkgfX1cbiAgICAgICAgICAgICAgICA8L21hdC1vcHRpb24+XG4gICAgICAgICAgICB9IEBlbXB0eSB7XG4gICAgICAgICAgICAgICAgPG1hdC1vcHRpb24gZGlzYWJsZWQ+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibmljZS10eXBlYWhlYWRfX25vLWl0ZW1zXCI+Tm8gaXRlbXMgZm91bmQ8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9tYXQtb3B0aW9uPlxuICAgICAgICAgICAgfVxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
@@ -0,0 +1,3 @@
1
+ import { InjectionToken } from "@angular/core";
2
+ export const NICE_ASYNC_TYPEAHEAD_RESOURCES_PROVIDER = new InjectionToken("nice_async_typeahead_provider");
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWNvbXBvbmVudHMvdHlwZWFoZWFkL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9DLE1BQU0sQ0FBQyxNQUFNLHVDQUF1QyxHQUFHLElBQUksY0FBYyxDQUFDLCtCQUErQixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3Rpb25Ub2tlbiB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbmV4cG9ydCBjb25zdCBOSUNFX0FTWU5DX1RZUEVBSEVBRF9SRVNPVVJDRVNfUFJPVklERVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oXCJuaWNlX2FzeW5jX3R5cGVhaGVhZF9wcm92aWRlclwiKTtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ export * from "./providers";
2
+ export * from "./provider";
3
+ export * from "./async-typeahead";
4
+ export * from "./typeahead";
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtY29tcG9uZW50cy90eXBlYWhlYWQvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxhQUFhLENBQUM7QUFDNUIsY0FBYyxZQUFZLENBQUM7QUFFM0IsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGFBQWEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL3Byb3ZpZGVyc1wiO1xuZXhwb3J0ICogZnJvbSBcIi4vcHJvdmlkZXJcIjtcblxuZXhwb3J0ICogZnJvbSBcIi4vYXN5bmMtdHlwZWFoZWFkXCI7XG5leHBvcnQgKiBmcm9tIFwiLi90eXBlYWhlYWRcIjtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ import { NICE_ASYNC_TYPEAHEAD_RESOURCES_PROVIDER } from "./constants";
2
+ export function provideAsyncTypeaheadResources(providers) {
3
+ return providers.map((provider) => ({
4
+ provide: NICE_ASYNC_TYPEAHEAD_RESOURCES_PROVIDER,
5
+ useClass: provider,
6
+ multi: true
7
+ }));
8
+ }
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvdmlkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtY29tcG9uZW50cy90eXBlYWhlYWQvcHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBR3RFLE1BQU0sVUFBVSw4QkFBOEIsQ0FDMUMsU0FBdUU7SUFFdkUsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsUUFBUSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSx1Q0FBdUM7UUFDaEQsUUFBUSxFQUFFLFFBQVE7UUFDbEIsS0FBSyxFQUFFLElBQUk7S0FDZCxDQUFDLENBQUMsQ0FBQztBQUNSLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgVHlwZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBOSUNFX0FTWU5DX1RZUEVBSEVBRF9SRVNPVVJDRVNfUFJPVklERVIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IE5pY2VBc3luY1R5cGVhaGVhZFJlc291cmNlUHJvdmlkZXIgfSBmcm9tIFwiLi9wcm92aWRlcnMvYXN5bmMtdHlwZWFoZWFkLnByb3ZpZGVyXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBwcm92aWRlQXN5bmNUeXBlYWhlYWRSZXNvdXJjZXMoXG4gICAgcHJvdmlkZXJzOiBUeXBlPE5pY2VBc3luY1R5cGVhaGVhZFJlc291cmNlUHJvdmlkZXI8dW5rbm93biwgdW5rbm93bj4+W11cbik6IFByb3ZpZGVyW10ge1xuICAgIHJldHVybiBwcm92aWRlcnMubWFwKChwcm92aWRlcikgPT4gKHtcbiAgICAgICAgcHJvdmlkZTogTklDRV9BU1lOQ19UWVBFQUhFQURfUkVTT1VSQ0VTX1BST1ZJREVSLFxuICAgICAgICB1c2VDbGFzczogcHJvdmlkZXIsXG4gICAgICAgIG11bHRpOiB0cnVlXG4gICAgfSkpO1xufVxuIl19
@@ -0,0 +1,3 @@
1
+ export class NiceAsyncTypeaheadResourceProvider {
2
+ }
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLnByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vc3JjL21hdGVyaWFsLWNvbXBvbmVudHMvdHlwZWFoZWFkL3Byb3ZpZGVycy9hc3luYy10eXBlYWhlYWQucHJvdmlkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxPQUFnQixrQ0FBa0M7Q0FZdkQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSBcInJ4anNcIjtcblxuZXhwb3J0IHR5cGUgTmljZUFzeW5jVHlwZWFoZWFkU2VhcmNoUmVzdWx0PFQ+ID0ge1xuICAgIGl0ZW1zOiBUW107XG4gICAgbmV4dFBhZ2U6IG51bWJlciB8IG51bGw7XG59XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBOaWNlQXN5bmNUeXBlYWhlYWRSZXNvdXJjZVByb3ZpZGVyPFQsIElEID0gbnVtYmVyLCBPcHRpb25zID0gb2JqZWN0PiB7XG4gICAgcHVibGljIGFic3RyYWN0IHJlc291cmNlOiBzdHJpbmc7XG5cbiAgICBwdWJsaWMgYWJzdHJhY3Qgc2VhcmNoKFxuICAgICAgICBzZWFyY2hRdWVyeTogc3RyaW5nLFxuICAgICAgICBwYWdlOiBudW1iZXIsXG4gICAgICAgIG9wdGlvbnM/OiBPcHRpb25zXG4gICAgKTogT2JzZXJ2YWJsZTxOaWNlQXN5bmNUeXBlYWhlYWRTZWFyY2hSZXN1bHQ8VD4+O1xuXG4gICAgcHVibGljIGFic3RyYWN0IGdldEJ5SWQoaWQ6IElELCBvcHRpb25zPzogT3B0aW9ucyk6IE9ic2VydmFibGU8VD47XG5cbiAgICBwdWJsaWMgYWJzdHJhY3QgZm9ybWF0KGl0ZW06IFQpOiBzdHJpbmc7XG59XG4iXX0=
@@ -0,0 +1,129 @@
1
+ import { computed, DestroyRef, inject, Injectable, signal } from "@angular/core";
2
+ import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
3
+ import { catchError, defer, EMPTY, finalize, map, Subject, switchMap } from "rxjs";
4
+ import { NICE_ASYNC_TYPEAHEAD_RESOURCES_PROVIDER } from "../constants";
5
+ import * as i0 from "@angular/core";
6
+ export class NiceTypeaheadService {
7
+ resources = inject(NICE_ASYNC_TYPEAHEAD_RESOURCES_PROVIDER, { optional: true }) ?? [];
8
+ destroyRef = inject(DestroyRef);
9
+ fetchResources$ = new Subject();
10
+ fetchActive$ = new Subject();
11
+ resourceProvider = null;
12
+ _items = signal([]);
13
+ _active = signal(null);
14
+ _searchOptions = signal(null);
15
+ _request = signal(null);
16
+ _nextRequest = signal(null);
17
+ _loading = signal(true);
18
+ items = this._items.asReadonly();
19
+ active = this._active.asReadonly();
20
+ loading = this._loading.asReadonly();
21
+ isLastPage = computed(() => !this._nextRequest());
22
+ init(resource) {
23
+ this.fetchResources$.pipe(takeUntilDestroyed(this.destroyRef)).pipe(switchMap((request) => this.fetchResources(request))).subscribe();
24
+ this.fetchActive$.pipe(takeUntilDestroyed(this.destroyRef)).pipe(switchMap((request) => this.fetchActive(request))).subscribe();
25
+ const provider = this.resources.find((resources) => resources.resource === resource);
26
+ if (provider) {
27
+ this.resourceProvider = provider;
28
+ }
29
+ }
30
+ setSearchOptions(options) {
31
+ this._searchOptions.set(options);
32
+ }
33
+ setActive(active) {
34
+ this._active.set(active);
35
+ }
36
+ setActiveFromId(id) {
37
+ this.fetchActive$.next({ id });
38
+ }
39
+ reloadActive() {
40
+ const active = this._active();
41
+ if (!active || !("id" in active)) {
42
+ return;
43
+ }
44
+ if (!(typeof active.id === "number" || typeof active.id === "string")) {
45
+ return;
46
+ }
47
+ this.setActiveFromId(active.id);
48
+ }
49
+ setItems(items) {
50
+ this._items.set(items);
51
+ }
52
+ search(searchQuery) {
53
+ this.fetchResources$.next({
54
+ searchQuery,
55
+ page: 0
56
+ });
57
+ }
58
+ loadMore() {
59
+ const nextRequest = this._nextRequest();
60
+ if (!nextRequest || this._loading()) {
61
+ return;
62
+ }
63
+ this.fetchResources$.next(nextRequest);
64
+ }
65
+ fetchActive(request) {
66
+ return defer(() => {
67
+ if (!this.resourceProvider) {
68
+ return EMPTY;
69
+ }
70
+ this._loading.set(true);
71
+ const localItem = this._items().find((item) => "id" in item && item.id === request.id);
72
+ if (localItem) {
73
+ this._loading.set(false);
74
+ this._items.set([localItem]);
75
+ this._active.set(localItem);
76
+ return EMPTY;
77
+ }
78
+ return this.resourceProvider.getById(request.id);
79
+ }).pipe(map((item) => {
80
+ this._items.set([item]);
81
+ this._active.set(item);
82
+ }), catchError(() => EMPTY), finalize(() => {
83
+ this._loading.set(false);
84
+ }));
85
+ }
86
+ fetchResources(request) {
87
+ return defer(() => {
88
+ if (!this.resourceProvider) {
89
+ return EMPTY;
90
+ }
91
+ this._loading.set(true);
92
+ this._request.set(request);
93
+ return this.resourceProvider.search(request.searchQuery ?? "", request.page, this._searchOptions() ?? {});
94
+ }).pipe(map((result) => {
95
+ if (request.page === 0) {
96
+ this._items.set(result.items);
97
+ }
98
+ else {
99
+ this._items.set([
100
+ ...this._items(),
101
+ ...result.items
102
+ ]);
103
+ }
104
+ if (result.nextPage) {
105
+ this._nextRequest.set({
106
+ ...request,
107
+ page: result.nextPage
108
+ });
109
+ }
110
+ else {
111
+ this._nextRequest.set(null);
112
+ }
113
+ }), catchError(() => EMPTY), finalize(() => {
114
+ this._loading.set(false);
115
+ }));
116
+ }
117
+ formatLabel(item) {
118
+ if (!this.resourceProvider) {
119
+ return "";
120
+ }
121
+ return this.resourceProvider.format(item);
122
+ }
123
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceTypeaheadService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
124
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceTypeaheadService });
125
+ }
126
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: NiceTypeaheadService, decorators: [{
127
+ type: Injectable
128
+ }] });
129
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXN5bmMtdHlwZWFoZWFkLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtY29tcG9uZW50cy90eXBlYWhlYWQvcHJvdmlkZXJzL2FzeW5jLXR5cGVhaGVhZC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pGLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsR0FBRyxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0YsT0FBTyxFQUFFLHVDQUF1QyxFQUFFLE1BQU0sY0FBYyxDQUFDOztBQWF2RSxNQUFNLE9BQU8sb0JBQW9CO0lBQ1osU0FBUyxHQUFHLE1BQU0sQ0FDL0IsdUNBQXVDLEVBQUUsRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLENBQzlELElBQUksRUFBRSxDQUFDO0lBQ1MsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQyxlQUFlLEdBQUcsSUFBSSxPQUFPLEVBQTBCLENBQUM7SUFDeEQsWUFBWSxHQUFHLElBQUksT0FBTyxFQUFzQixDQUFDO0lBQzFELGdCQUFnQixHQUFrRSxJQUFJLENBQUM7SUFFOUUsTUFBTSxHQUFHLE1BQU0sQ0FBTSxFQUFFLENBQUMsQ0FBQztJQUN6QixPQUFPLEdBQUcsTUFBTSxDQUFXLElBQUksQ0FBQyxDQUFDO0lBQ2pDLGNBQWMsR0FBRyxNQUFNLENBQWdCLElBQUksQ0FBQyxDQUFDO0lBQzdDLFFBQVEsR0FBRyxNQUFNLENBQWdDLElBQUksQ0FBQyxDQUFDO0lBQ3ZELFlBQVksR0FBRyxNQUFNLENBQWdD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QUMsQ0FBQztZQUNQLENBQUM7aUJBQU0sQ0FBQztnQkFDSixJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNoQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxFQUN2QixRQUFRLENBQUMsR0FBRyxFQUFFO1lBQ1YsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDN0IsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFTSxXQUFXLENBQUMsSUFBTztRQUN0QixJQUFJLENBQUMsSUFBSSxDQUFDLGdCQUFnQixFQUFFLENBQUM7WUFDekIsT0FBTyxFQUFFLENBQUM7UUFDZCxDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlDLENBQUM7d0dBekpRLG9CQUFvQjs0R0FBcEIsb0JBQW9COzs0RkFBcEIsb0JBQW9CO2tCQURoQyxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29tcHV0ZWQsIERlc3Ryb3lSZWYsIGluamVjdCwgSW5qZWN0YWJsZSwgc2lnbmFsIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IHRha2VVbnRpbERlc3Ryb3llZCB9IGZyb20gXCJAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcFwiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgZGVmZXIsIEVNUFRZLCBmaW5hbGl6ZSwgbWFwLCBPYnNlcnZhYmxlLCBTdWJqZWN0LCBzd2l0Y2hNYXAgfSBmcm9tIFwicnhqc1wiO1xuaW1wb3J0IHsgTklDRV9BU1lOQ19UWVBFQUhFQURfUkVTT1VSQ0VTX1BST1ZJREVSIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgTmljZUFzeW5jVHlwZWFoZWFkUmVzb3VyY2VQcm92aWRlciB9IGZyb20gXCIuL2FzeW5jLXR5cGVhaGVhZC5wcm92aWRlclwiO1xuXG5leHBvcnQgdHlwZSBBc3luY1R5cGVhaGVhZFJlcXVlc3RzID0ge1xuICAgIHBhZ2U6IG51bWJlcjtcbiAgICBzZWFyY2hRdWVyeT86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEZldGNoQWN0aXZlUmVxdWVzdCA9IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nO1xufTtcblxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIE5pY2VUeXBlYWhlYWRTZXJ2aWNlPFQgZXh0ZW5kcyBvYmplY3Q+IHtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlc291cmNlcyA9IGluamVjdDxOaWNlQXN5bmNUeXBlYWhlYWRSZXNvdXJjZVByb3ZpZGVyPHVua25vd24+W10+KFxuICAgICAgICBOSUNFX0FTWU5DX1RZUEVBSEVBRF9SRVNPVVJDRVNfUFJPVklERVIsIHsgb3B0aW9uYWw6IHRydWUgfVxuICAgICkgPz8gW107XG4gICAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95UmVmID0gaW5qZWN0KERlc3Ryb3lSZWYpO1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBmZXRjaFJlc291cmNlcyQgPSBuZXcgU3ViamVjdDxBc3luY1R5cGVhaGVhZFJlcXVlc3RzPigpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZmV0Y2hBY3RpdmUkID0gbmV3IFN1YmplY3Q8RmV0Y2hBY3RpdmVSZXF1ZXN0PigpO1xuICAgIHByaXZhdGUgcmVzb3VyY2VQcm92aWRlcjogTmljZUFzeW5jVHlwZWFoZWFkUmVzb3VyY2VQcm92aWRlcjxULCBzdHJpbmcgfCBudW1iZXI+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBwcml2YXRlIHJlYWRvbmx5IF9pdGVtcyA9IHNpZ25hbDxUW10+KFtdKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9hY3RpdmUgPSBzaWduYWw8VCB8IG51bGw+KG51bGwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX3NlYXJjaE9wdGlvbnMgPSBzaWduYWw8b2JqZWN0IHwgbnVsbD4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfcmVxdWVzdCA9IHNpZ25hbDxBc3luY1R5cGVhaGVhZFJlcXVlc3RzIHwgbnVsbD4obnVsbCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBfbmV4dFJlcXVlc3QgPSBzaWduYWw8QXN5bmNUeXBlYWhlYWRSZXF1ZXN0cyB8IG51bGw+KG51bGwpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2xvYWRpbmcgPSBzaWduYWwodHJ1ZSk7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgaXRlbXMgPSB0aGlzLl9pdGVtcy5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZSA9IHRoaXMuX2FjdGl2ZS5hc1JlYWRvbmx5KCk7XG4gICAgcHVibGljIHJlYWRvbmx5IGxvYWRpbmcgPSB0aGlzLl9sb2FkaW5nLmFzUmVhZG9ubHkoKTtcbiAgICBwdWJsaWMgcmVhZG9ubHkgaXNMYXN0UGFnZSA9IGNvbXB1dGVkKCgpID0+ICF0aGlzLl9uZXh0UmVxdWVzdCgpKTtcblxuICAgIHB1YmxpYyBpbml0KHJlc291cmNlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mZXRjaFJlc291cmNlcyQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocmVxdWVzdCkgPT4gdGhpcy5mZXRjaFJlc291cmNlcyhyZXF1ZXN0KSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcbiAgICAgICAgdGhpcy5mZXRjaEFjdGl2ZSQucGlwZSh0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKSkucGlwZShcbiAgICAgICAgICAgIHN3aXRjaE1hcCgocmVxdWVzdCkgPT4gdGhpcy5mZXRjaEFjdGl2ZShyZXF1ZXN0KSlcbiAgICAgICAgKS5zdWJzY3JpYmUoKTtcblxuICAgICAgICBjb25zdCBwcm92aWRlciA9IHRoaXMucmVzb3VyY2VzLmZpbmQoKHJlc291cmNlcykgPT4gcmVzb3VyY2VzLnJlc291cmNlID09PSByZXNvdXJjZSk7XG4gICAgICAgIGlmIChwcm92aWRlcikge1xuICAgICAgICAgICAgdGhpcy5yZXNvdXJjZVByb3ZpZGVyID0gcHJvdmlkZXIgYXMgTmljZUFzeW5jVHlwZWFoZWFkUmVzb3VyY2VQcm92aWRlcjxUPjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHB1YmxpYyBzZXRTZWFyY2hPcHRpb25zKG9wdGlvbnM6IG9iamVjdCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2VhcmNoT3B0aW9ucy5zZXQob3B0aW9ucyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNldEFjdGl2ZShhY3RpdmU6IFQgfCBudWxsKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2FjdGl2ZS5zZXQoYWN0aXZlKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgc2V0QWN0aXZlRnJvbUlkKGlkOiBudW1iZXIgfCBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mZXRjaEFjdGl2ZSQubmV4dCh7IGlkIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyByZWxvYWRBY3RpdmUoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGFjdGl2ZSA9IHRoaXMuX2FjdGl2ZSgpO1xuICAgICAgICBpZiAoIWFjdGl2ZSB8fCAhKFwiaWRcIiBpbiBhY3RpdmUpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoISh0eXBlb2YgYWN0aXZlLmlkID09PSBcIm51bWJlclwiIHx8IHR5cGVvZiBhY3RpdmUuaWQgPT09IFwic3RyaW5nXCIpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLnNldEFjdGl2ZUZyb21JZChhY3RpdmUuaWQpO1xuICAgIH1cblxuICAgIHB1YmxpYyBzZXRJdGVtcyhpdGVtczogVFtdKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX2l0ZW1zLnNldChpdGVtcyk7XG4gICAgfVxuXG4gICAgcHVibGljIHNlYXJjaChzZWFyY2hRdWVyeTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIHRoaXMuZmV0Y2hSZXNvdXJjZXMkLm5leHQoe1xuICAgICAgICAgICAgc2VhcmNoUXVlcnksXG4gICAgICAgICAgICBwYWdlOiAwXG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBsb2FkTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgbmV4dFJlcXVlc3QgPSB0aGlzLl9uZXh0UmVxdWVzdCgpO1xuICAgICAgICBpZiAoIW5leHRSZXF1ZXN0IHx8IHRoaXMuX2xvYWRpbmcoKSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5mZXRjaFJlc291cmNlcyQubmV4dChuZXh0UmVxdWVzdCk7XG4gICAgfVxuXG4gICAgcHVibGljIGZldGNoQWN0aXZlKHJlcXVlc3Q6IEZldGNoQWN0aXZlUmVxdWVzdCk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gZGVmZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlc291cmNlUHJvdmlkZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KHRydWUpO1xuXG4gICAgICAgICAgICBjb25zdCBsb2NhbEl0ZW0gPSB0aGlzLl9pdGVtcygpLmZpbmQoKGl0ZW0pID0+IFwiaWRcIiBpbiBpdGVtICYmIGl0ZW0uaWQgPT09IHJlcXVlc3QuaWQpO1xuICAgICAgICAgICAgaWYgKGxvY2FsSXRlbSkge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl9pdGVtcy5zZXQoW2xvY2FsSXRlbV0pO1xuICAgICAgICAgICAgICAgIHRoaXMuX2FjdGl2ZS5zZXQobG9jYWxJdGVtKTtcbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc291cmNlUHJvdmlkZXIuZ2V0QnlJZChyZXF1ZXN0LmlkKVxuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChpdGVtKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5faXRlbXMuc2V0KFtpdGVtXSk7XG4gICAgICAgICAgICAgICAgdGhpcy5fYWN0aXZlLnNldChpdGVtKTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgY2F0Y2hFcnJvcigoKSA9PiBFTVBUWSksXG4gICAgICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5fbG9hZGluZy5zZXQoZmFsc2UpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZmV0Y2hSZXNvdXJjZXMocmVxdWVzdDogQXN5bmNUeXBlYWhlYWRSZXF1ZXN0cyk6IE9ic2VydmFibGU8dm9pZD4ge1xuICAgICAgICByZXR1cm4gZGVmZXIoKCkgPT4ge1xuICAgICAgICAgICAgaWYgKCF0aGlzLnJlc291cmNlUHJvdmlkZXIpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gRU1QVFk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KHRydWUpO1xuICAgICAgICAgICAgdGhpcy5fcmVxdWVzdC5zZXQocmVxdWVzdCk7XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJlc291cmNlUHJvdmlkZXIuc2VhcmNoKHJlcXVlc3Quc2VhcmNoUXVlcnkgPz8gXCJcIiwgcmVxdWVzdC5wYWdlLCB0aGlzLl9zZWFyY2hPcHRpb25zKCkgPz8ge30pO1xuICAgICAgICB9KS5waXBlKFxuICAgICAgICAgICAgbWFwKChyZXN1bHQpID0+IHtcbiAgICAgICAgICAgICAgICBpZiAocmVxdWVzdC5wYWdlID09PSAwKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX2l0ZW1zLnNldChyZXN1bHQuaXRlbXMgYXMgVFtdKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLl9pdGVtcy5zZXQoW1xuICAgICAgICAgICAgICAgICAgICAgICAgLi4udGhpcy5faXRlbXMoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIC4uLihyZXN1bHQuaXRlbXMgYXMgVFtdKVxuICAgICAgICAgICAgICAgICAgICBdKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpZiAocmVzdWx0Lm5leHRQYWdlKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25leHRSZXF1ZXN0LnNldCh7XG4gICAgICAgICAgICAgICAgICAgICAgICAuLi5yZXF1ZXN0LFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFnZTogcmVzdWx0Lm5leHRQYWdlXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuX25leHRSZXF1ZXN0LnNldChudWxsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIGNhdGNoRXJyb3IoKCkgPT4gRU1QVFkpLFxuICAgICAgICAgICAgZmluYWxpemUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuX2xvYWRpbmcuc2V0KGZhbHNlKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgcHVibGljIGZvcm1hdExhYmVsKGl0ZW06IFQpOiBzdHJpbmcge1xuICAgICAgICBpZiAoIXRoaXMucmVzb3VyY2VQcm92aWRlcikge1xuICAgICAgICAgICAgcmV0dXJuIFwiXCI7XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yZXNvdXJjZVByb3ZpZGVyLmZvcm1hdChpdGVtKTtcbiAgICB9XG59XG4iXX0=
@@ -0,0 +1,3 @@
1
+ export * from "./async-typeahead.provider";
2
+ export * from "./async-typeahead.service";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9zcmMvbWF0ZXJpYWwtY29tcG9uZW50cy90eXBlYWhlYWQvcHJvdmlkZXJzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYywyQkFBMkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL2FzeW5jLXR5cGVhaGVhZC5wcm92aWRlclwiO1xuZXhwb3J0ICogZnJvbSBcIi4vYXN5bmMtdHlwZWFoZWFkLnNlcnZpY2VcIjtcbiJdfQ==
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ export * from './index';
5
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVjdXJzeXZlLW5neC1tYXRlcmlhbC1jb21wb25lbnRzLXR5cGVhaGVhZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9tYXRlcmlhbC1jb21wb25lbnRzL3R5cGVhaGVhZC9yZWN1cnN5dmUtbmd4LW1hdGVyaWFsLWNvbXBvbmVudHMtdHlwZWFoZWFkLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxTQUFTLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vaW5kZXgnO1xuIl19