ngx-bootstrap 21.2.0 → 21.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs +89 -33
- package/collapse/fesm2022/ngx-bootstrap-collapse.mjs.map +1 -1
- package/collapse/types/ngx-bootstrap-collapse.d.ts +8 -7
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs +35 -16
- package/component-loader/fesm2022/ngx-bootstrap-component-loader.mjs.map +1 -1
- package/component-loader/types/ngx-bootstrap-component-loader.d.ts +6 -6
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs +59 -31
- package/datepicker/fesm2022/ngx-bootstrap-datepicker.mjs.map +1 -1
- package/datepicker/types/ngx-bootstrap-datepicker.d.ts +6 -2
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs +34 -21
- package/dropdown/fesm2022/ngx-bootstrap-dropdown.mjs.map +1 -1
- package/dropdown/types/ngx-bootstrap-dropdown.d.ts +4 -5
- package/package.json +1 -2
- package/schematics/ng-add/index.js +5 -13
- package/schematics/ng-add/index.js.map +1 -1
- package/schematics/utils/current_dependency_versions.json +1 -1
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs +52 -43
- package/typeahead/fesm2022/ngx-bootstrap-typeahead.mjs.map +1 -1
- package/typeahead/types/ngx-bootstrap-typeahead.d.ts +3 -1
- package/utils/fesm2022/ngx-bootstrap-utils.mjs +89 -1
- package/utils/fesm2022/ngx-bootstrap-utils.mjs.map +1 -1
- package/utils/types/ngx-bootstrap-utils.d.ts +42 -2
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { output, HostListener, ViewChildren, ViewChild, Component, Injectable, input, EventEmitter, Directive, NgModule } from '@angular/core';
|
|
3
|
-
import { Utils } from 'ngx-bootstrap/utils';
|
|
3
|
+
import { Utils, animateExpand } from 'ngx-bootstrap/utils';
|
|
4
4
|
import * as i1 from 'ngx-bootstrap/positioning';
|
|
5
5
|
import { PositioningService } from 'ngx-bootstrap/positioning';
|
|
6
6
|
import { Subscription, isObservable, EMPTY, from } from 'rxjs';
|
|
7
|
-
import { trigger, state, style, transition, animate } from '@angular/animations';
|
|
8
7
|
import { NgTemplateOutlet, CommonModule } from '@angular/common';
|
|
9
8
|
import * as i3 from '@angular/forms';
|
|
10
9
|
import * as i1$1 from 'ngx-bootstrap/component-loader';
|
|
@@ -937,20 +936,8 @@ function getValueFromObject(object, option) {
|
|
|
937
936
|
return object.toString();
|
|
938
937
|
}
|
|
939
938
|
|
|
940
|
-
const
|
|
941
|
-
const
|
|
942
|
-
state('animated-down', style({ height: '*', overflow: 'hidden' })),
|
|
943
|
-
transition('* => animated-down', [
|
|
944
|
-
style({ height: 0, overflow: 'hidden' }),
|
|
945
|
-
animate(TYPEAHEAD_ANIMATION_TIMING)
|
|
946
|
-
]),
|
|
947
|
-
state('animated-up', style({ height: '*', overflow: 'hidden' })),
|
|
948
|
-
transition('* => animated-up', [
|
|
949
|
-
style({ height: '*', overflow: 'hidden' }),
|
|
950
|
-
animate(TYPEAHEAD_ANIMATION_TIMING)
|
|
951
|
-
]),
|
|
952
|
-
transition('* => unanimated', animate('0s'))
|
|
953
|
-
]);
|
|
939
|
+
const TYPEAHEAD_ANIMATION_DURATION_MS = 220;
|
|
940
|
+
const TYPEAHEAD_ANIMATION_TIMING = `${TYPEAHEAD_ANIMATION_DURATION_MS}ms cubic-bezier(0, 0, 0.2, 1)`;
|
|
954
941
|
|
|
955
942
|
class TypeaheadContainerComponent {
|
|
956
943
|
get typeaheadTemplateMethods() {
|
|
@@ -968,18 +955,26 @@ class TypeaheadContainerComponent {
|
|
|
968
955
|
// eslint-disable-next-line @angular-eslint/no-output-rename
|
|
969
956
|
this.activeChangeEvent = output({ alias: 'activeChange' });
|
|
970
957
|
this.isFocused = false;
|
|
958
|
+
this._animationPlayed = false;
|
|
971
959
|
this.positionServiceSubscription = new Subscription();
|
|
972
960
|
this.height = 0;
|
|
973
961
|
this.popupId = '';
|
|
974
962
|
this._matches = [];
|
|
963
|
+
// Start hidden before the first paint; position-service event will reveal or animate it.
|
|
964
|
+
// Using max-height (not height) avoids conflict with the [style.height] host binding.
|
|
965
|
+
this.renderer.setStyle(this.element.nativeElement, 'max-height', '0');
|
|
966
|
+
this.renderer.setStyle(this.element.nativeElement, 'overflow', 'hidden');
|
|
975
967
|
this.positionServiceSubscription.add(this.positionService.event$?.subscribe(() => {
|
|
976
|
-
if (this.
|
|
977
|
-
this.
|
|
978
|
-
this.
|
|
979
|
-
|
|
968
|
+
if (!this._animationPlayed) {
|
|
969
|
+
this._animationPlayed = true;
|
|
970
|
+
if (this.isAnimated) {
|
|
971
|
+
this._animateExpand(this.element.nativeElement);
|
|
972
|
+
}
|
|
973
|
+
else {
|
|
974
|
+
this.renderer.removeStyle(this.element.nativeElement, 'max-height');
|
|
975
|
+
this.renderer.removeStyle(this.element.nativeElement, 'overflow');
|
|
976
|
+
}
|
|
980
977
|
}
|
|
981
|
-
this.animationState = 'unanimated';
|
|
982
|
-
this.changeDetectorRef.detectChanges();
|
|
983
978
|
}));
|
|
984
979
|
}
|
|
985
980
|
get active() {
|
|
@@ -1006,12 +1001,12 @@ class TypeaheadContainerComponent {
|
|
|
1006
1001
|
}
|
|
1007
1002
|
if (this.typeaheadIsFirstItemActive && this._matches.length > 0) {
|
|
1008
1003
|
this.setActive(this._matches[0]);
|
|
1009
|
-
if (this.
|
|
1004
|
+
if (this.active?.isHeader()) {
|
|
1010
1005
|
this.nextActiveMatch();
|
|
1011
1006
|
}
|
|
1012
1007
|
}
|
|
1013
|
-
if (this.
|
|
1014
|
-
const concurrency = this._matches.find(match => match.value === this.
|
|
1008
|
+
if (this.active && !this.typeaheadIsFirstItemActive) {
|
|
1009
|
+
const concurrency = this._matches.find(match => match.value === this.active?.value);
|
|
1015
1010
|
if (concurrency) {
|
|
1016
1011
|
this.selectActive(concurrency);
|
|
1017
1012
|
this.changeDetectorRef.markForCheck();
|
|
@@ -1050,27 +1045,28 @@ class TypeaheadContainerComponent {
|
|
|
1050
1045
|
return !!this.parent?.selectItemOnBlur;
|
|
1051
1046
|
}
|
|
1052
1047
|
selectActiveMatch(isActiveItemChanged) {
|
|
1053
|
-
if (this.
|
|
1054
|
-
this.selectMatch(this.
|
|
1048
|
+
if (this.active && this.parent?.typeaheadSelectFirstItem()) {
|
|
1049
|
+
this.selectMatch(this.active);
|
|
1055
1050
|
}
|
|
1056
1051
|
if (!this.parent?.typeaheadSelectFirstItem() && isActiveItemChanged) {
|
|
1057
|
-
this.selectMatch(this.
|
|
1052
|
+
this.selectMatch(this.active);
|
|
1058
1053
|
}
|
|
1059
1054
|
}
|
|
1060
1055
|
activeChanged() {
|
|
1061
|
-
if (!this.
|
|
1056
|
+
if (!this.active) {
|
|
1057
|
+
this.activeChangeEvent.emit('');
|
|
1062
1058
|
return;
|
|
1063
1059
|
}
|
|
1064
|
-
const index = this.matches.indexOf(this.
|
|
1060
|
+
const index = this.matches.indexOf(this.active);
|
|
1065
1061
|
this.activeChangeEvent.emit(`${this.popupId}-${index}`);
|
|
1066
1062
|
}
|
|
1067
1063
|
prevActiveMatch() {
|
|
1068
|
-
if (!this.
|
|
1064
|
+
if (!this.active) {
|
|
1069
1065
|
return;
|
|
1070
1066
|
}
|
|
1071
|
-
const index = this.matches.indexOf(this.
|
|
1067
|
+
const index = this.matches.indexOf(this.active);
|
|
1072
1068
|
this.setActive(this.matches[index - 1 < 0 ? this.matches.length - 1 : index - 1]);
|
|
1073
|
-
if (this.
|
|
1069
|
+
if (this.active.isHeader()) {
|
|
1074
1070
|
this.prevActiveMatch();
|
|
1075
1071
|
}
|
|
1076
1072
|
if (this.typeaheadScrollable) {
|
|
@@ -1078,9 +1074,9 @@ class TypeaheadContainerComponent {
|
|
|
1078
1074
|
}
|
|
1079
1075
|
}
|
|
1080
1076
|
nextActiveMatch() {
|
|
1081
|
-
const index = this.
|
|
1077
|
+
const index = this.active ? this.matches.indexOf(this.active) : -1;
|
|
1082
1078
|
this.setActive(this.matches[index + 1 > this.matches.length - 1 ? 0 : index + 1]);
|
|
1083
|
-
if (this.
|
|
1079
|
+
if (this.active?.isHeader()) {
|
|
1084
1080
|
this.nextActiveMatch();
|
|
1085
1081
|
}
|
|
1086
1082
|
if (this.typeaheadScrollable) {
|
|
@@ -1195,13 +1191,24 @@ class TypeaheadContainerComponent {
|
|
|
1195
1191
|
}
|
|
1196
1192
|
}
|
|
1197
1193
|
}
|
|
1194
|
+
_animateExpand(el) {
|
|
1195
|
+
// el is already at max-height: 0; overflow: hidden (set in constructor).
|
|
1196
|
+
// Animating max-height avoids conflict with the [style.height] host binding.
|
|
1197
|
+
this._cancelExpandAnimation?.();
|
|
1198
|
+
this._cancelExpandAnimation = animateExpand(this.renderer, el, {
|
|
1199
|
+
property: 'max-height',
|
|
1200
|
+
timing: TYPEAHEAD_ANIMATION_TIMING,
|
|
1201
|
+
durationMs: TYPEAHEAD_ANIMATION_DURATION_MS
|
|
1202
|
+
});
|
|
1203
|
+
}
|
|
1198
1204
|
ngOnDestroy() {
|
|
1205
|
+
this._cancelExpandAnimation?.();
|
|
1199
1206
|
this.positionServiceSubscription.unsubscribe();
|
|
1200
1207
|
}
|
|
1201
1208
|
setActive(value) {
|
|
1202
|
-
this.
|
|
1209
|
+
this.active = value;
|
|
1203
1210
|
let preview;
|
|
1204
|
-
if (!(this.
|
|
1211
|
+
if (!(this.active == null || this.active.isHeader())) {
|
|
1205
1212
|
preview = value;
|
|
1206
1213
|
}
|
|
1207
1214
|
this.parent?.typeaheadOnPreview.emit(preview);
|
|
@@ -1230,7 +1237,7 @@ class TypeaheadContainerComponent {
|
|
|
1230
1237
|
this.ulElement.nativeElement.scrollTop = 0;
|
|
1231
1238
|
}
|
|
1232
1239
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TypeaheadContainerComponent, deps: [{ token: i1.PositioningService }, { token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
1233
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TypeaheadContainerComponent, isStandalone: true, selector: "typeahead-container", outputs: { activeChangeEvent: "activeChange" }, host: { listeners: { "mouseleave": "focusLost()", "blur": "focusLost()" }, properties: { "style.height": "needScrollbar ? guiHeight: 'auto'", "style.visibility": "'inherit'", "class.dropup": "dropup", "attr.role": "'listbox'" }, styleAttribute: "position: absolute;display: block;", classAttribute: "dropdown open bottom dropdown-menu" }, providers: [PositioningService], viewQueries: [{ propertyName: "ulElement", first: true, predicate: ["ulElement"], descendants: true }, { propertyName: "liElements", predicate: ["liElements"], descendants: true }], ngImport: i0, template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || bs4Template\"\n [ngTemplateOutletContext]=\"{\n matches: matches,\n itemTemplate: itemTemplate || bsItemTemplate,\n query: query,\n $implicit: typeaheadTemplateMethods\n }\">\n</ng-template>\n\n<!-- default options item template -->\n<ng-template #bsItemTemplate let-match=\"match\" let-query=\"query\">\n <span [innerHtml]=\"highlight(match, query)\"></span>\n</ng-template>\n\n<!-- Bootstrap 4 options list template -->\n<ng-template #bs4Template>\n @for (match of matches; track match; let i = $index) {\n @if (match.isHeader()) {\n <h6 class=\"dropdown-header\">{{ match }}</h6>\n }\n @if (!match.isHeader()) {\n <button #liElements\n [id]=\"popupId + '-' + i\"\n role=\"option\"\n
|
|
1240
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.0", type: TypeaheadContainerComponent, isStandalone: true, selector: "typeahead-container", outputs: { activeChangeEvent: "activeChange" }, host: { listeners: { "mouseleave": "focusLost()", "blur": "focusLost()" }, properties: { "style.height": "needScrollbar ? guiHeight: 'auto'", "style.visibility": "'inherit'", "class.dropup": "dropup", "attr.role": "'listbox'" }, styleAttribute: "position: absolute;display: block;", classAttribute: "dropdown open bottom dropdown-menu" }, providers: [PositioningService], viewQueries: [{ propertyName: "ulElement", first: true, predicate: ["ulElement"], descendants: true }, { propertyName: "liElements", predicate: ["liElements"], descendants: true }], ngImport: i0, template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || bs4Template\"\n [ngTemplateOutletContext]=\"{\n matches: matches,\n itemTemplate: itemTemplate || bsItemTemplate,\n query: query,\n $implicit: typeaheadTemplateMethods\n }\">\n</ng-template>\n\n<!-- default options item template -->\n<ng-template #bsItemTemplate let-match=\"match\" let-query=\"query\">\n <span [innerHtml]=\"highlight(match, query)\"></span>\n</ng-template>\n\n<!-- Bootstrap 4 options list template -->\n<ng-template #bs4Template>\n @for (match of matches; track match; let i = $index) {\n @if (match.isHeader()) {\n <h6 class=\"dropdown-header\">{{ match }}</h6>\n }\n @if (!match.isHeader()) {\n <button #liElements\n [id]=\"popupId + '-' + i\"\n role=\"option\"\n class=\"dropdown-item\"\n (click)=\"selectMatch(match, $event)\"\n (mouseenter)=\"selectActive(match)\"\n [class.active]=\"isActive(match)\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate || bsItemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-template>\n </button>\n }\n }\n</ng-template>\n", styles: [":host.dropdown{z-index:1000}:host.dropdown-menu,.dropdown-menu{overflow-y:auto;height:100px}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] }); }
|
|
1234
1241
|
}
|
|
1235
1242
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TypeaheadContainerComponent, decorators: [{
|
|
1236
1243
|
type: Component,
|
|
@@ -1241,7 +1248,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
1241
1248
|
'[class.dropup]': 'dropup',
|
|
1242
1249
|
style: 'position: absolute;display: block;',
|
|
1243
1250
|
'[attr.role]': `'listbox'`
|
|
1244
|
-
},
|
|
1251
|
+
}, standalone: true, imports: [NgTemplateOutlet], providers: [PositioningService], template: "<!-- inject options list template -->\n<ng-template [ngTemplateOutlet]=\"optionsListTemplate || bs4Template\"\n [ngTemplateOutletContext]=\"{\n matches: matches,\n itemTemplate: itemTemplate || bsItemTemplate,\n query: query,\n $implicit: typeaheadTemplateMethods\n }\">\n</ng-template>\n\n<!-- default options item template -->\n<ng-template #bsItemTemplate let-match=\"match\" let-query=\"query\">\n <span [innerHtml]=\"highlight(match, query)\"></span>\n</ng-template>\n\n<!-- Bootstrap 4 options list template -->\n<ng-template #bs4Template>\n @for (match of matches; track match; let i = $index) {\n @if (match.isHeader()) {\n <h6 class=\"dropdown-header\">{{ match }}</h6>\n }\n @if (!match.isHeader()) {\n <button #liElements\n [id]=\"popupId + '-' + i\"\n role=\"option\"\n class=\"dropdown-item\"\n (click)=\"selectMatch(match, $event)\"\n (mouseenter)=\"selectActive(match)\"\n [class.active]=\"isActive(match)\">\n <ng-template [ngTemplateOutlet]=\"itemTemplate || bsItemTemplate\"\n [ngTemplateOutletContext]=\"{item: match.item, index: i, match: match, query: query}\">\n </ng-template>\n </button>\n }\n }\n</ng-template>\n", styles: [":host.dropdown{z-index:1000}:host.dropdown-menu,.dropdown-menu{overflow-y:auto;height:100px}\n"] }]
|
|
1245
1252
|
}], ctorParameters: () => [{ type: i1.PositioningService }, { type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }], propDecorators: { activeChangeEvent: [{ type: i0.Output, args: ["activeChange"] }], ulElement: [{
|
|
1246
1253
|
type: ViewChild,
|
|
1247
1254
|
args: ['ulElement', { static: false }]
|
|
@@ -1596,7 +1603,7 @@ class TypeaheadDirective {
|
|
|
1596
1603
|
this._container.matches = this._matches;
|
|
1597
1604
|
this.element.nativeElement.focus();
|
|
1598
1605
|
this._container.activeChangeEvent.subscribe((activeId) => {
|
|
1599
|
-
this.activeDescendant = activeId;
|
|
1606
|
+
this.activeDescendant = activeId || undefined;
|
|
1600
1607
|
this.changeDetection.markForCheck();
|
|
1601
1608
|
});
|
|
1602
1609
|
this.isOpen = true;
|
|
@@ -1607,6 +1614,7 @@ class TypeaheadDirective {
|
|
|
1607
1614
|
this._outsideClickListener();
|
|
1608
1615
|
this._container = void 0;
|
|
1609
1616
|
this.isOpen = false;
|
|
1617
|
+
this.activeDescendant = void 0;
|
|
1610
1618
|
this.changeDetection.markForCheck();
|
|
1611
1619
|
}
|
|
1612
1620
|
this.typeaheadOnPreview.emit(undefined);
|
|
@@ -1807,7 +1815,7 @@ class TypeaheadDirective {
|
|
|
1807
1815
|
return false;
|
|
1808
1816
|
}
|
|
1809
1817
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TypeaheadDirective, deps: [{ token: i1$1.ComponentLoaderFactory }, { token: TypeaheadConfig }, { token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i3.NgControl }, { token: i0.Renderer2 }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1810
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: TypeaheadDirective, isStandalone: true, selector: "[typeahead]", inputs: { typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMinLength: { classPropertyName: "typeaheadMinLength", publicName: "typeaheadMinLength", isSignal: true, isRequired: false, transformFunction: null }, adaptivePosition: { classPropertyName: "adaptivePosition", publicName: "adaptivePosition", isSignal: true, isRequired: false, transformFunction: null }, isAnimated: { classPropertyName: "isAnimated", publicName: "isAnimated", isSignal: true, isRequired: false, transformFunction: null }, typeaheadWaitMs: { classPropertyName: "typeaheadWaitMs", publicName: "typeaheadWaitMs", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionsLimit: { classPropertyName: "typeaheadOptionsLimit", publicName: "typeaheadOptionsLimit", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionField: { classPropertyName: "typeaheadOptionField", publicName: "typeaheadOptionField", isSignal: true, isRequired: false, transformFunction: null }, typeaheadGroupField: { classPropertyName: "typeaheadGroupField", publicName: "typeaheadGroupField", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOrderBy: { classPropertyName: "typeaheadOrderBy", publicName: "typeaheadOrderBy", isSignal: true, isRequired: false, transformFunction: null }, typeaheadAsync: { classPropertyName: "typeaheadAsync", publicName: "typeaheadAsync", isSignal: true, isRequired: false, transformFunction: null }, typeaheadLatinize: { classPropertyName: "typeaheadLatinize", publicName: "typeaheadLatinize", isSignal: true, isRequired: false, transformFunction: null }, typeaheadSingleWords: { classPropertyName: "typeaheadSingleWords", publicName: "typeaheadSingleWords", isSignal: true, isRequired: false, transformFunction: null }, typeaheadWordDelimiters: { classPropertyName: "typeaheadWordDelimiters", publicName: "typeaheadWordDelimiters", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMultipleSearch: { classPropertyName: "typeaheadMultipleSearch", publicName: "typeaheadMultipleSearch", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMultipleSearchDelimiters: { classPropertyName: "typeaheadMultipleSearchDelimiters", publicName: "typeaheadMultipleSearchDelimiters", isSignal: true, isRequired: false, transformFunction: null }, typeaheadPhraseDelimiters: { classPropertyName: "typeaheadPhraseDelimiters", publicName: "typeaheadPhraseDelimiters", isSignal: true, isRequired: false, transformFunction: null }, typeaheadItemTemplate: { classPropertyName: "typeaheadItemTemplate", publicName: "typeaheadItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, optionsListTemplate: { classPropertyName: "optionsListTemplate", publicName: "optionsListTemplate", isSignal: true, isRequired: false, transformFunction: null }, typeaheadScrollable: { classPropertyName: "typeaheadScrollable", publicName: "typeaheadScrollable", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionsInScrollableView: { classPropertyName: "typeaheadOptionsInScrollableView", publicName: "typeaheadOptionsInScrollableView", isSignal: true, isRequired: false, transformFunction: null }, typeaheadHideResultsOnBlur: { classPropertyName: "typeaheadHideResultsOnBlur", publicName: "typeaheadHideResultsOnBlur", isSignal: true, isRequired: false, transformFunction: null }, typeaheadSelectFirstItem: { classPropertyName: "typeaheadSelectFirstItem", publicName: "typeaheadSelectFirstItem", isSignal: true, isRequired: false, transformFunction: null }, typeaheadIsFirstItemActive: { classPropertyName: "typeaheadIsFirstItemActive", publicName: "typeaheadIsFirstItemActive", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: false, transformFunction: null }, dropup: { classPropertyName: "dropup", publicName: "dropup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeaheadLoading: "typeaheadLoading", typeaheadNoResults: "typeaheadNoResults", typeaheadOnSelect: "typeaheadOnSelect", typeaheadOnPreview: "typeaheadOnPreview", typeaheadOnBlur: "typeaheadOnBlur" }, host: { listeners: { "input": "onInput($event)", "keyup": "onChange($event)", "click": "onFocus()", "focus": "onFocus()", "blur": "onBlur()", "keydown": "onKeydown($event)" }, properties: { "attr.aria-activedescendant": "activeDescendant", "attr.aria-
|
|
1818
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "21.2.0", type: TypeaheadDirective, isStandalone: true, selector: "[typeahead]", inputs: { typeahead: { classPropertyName: "typeahead", publicName: "typeahead", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMinLength: { classPropertyName: "typeaheadMinLength", publicName: "typeaheadMinLength", isSignal: true, isRequired: false, transformFunction: null }, adaptivePosition: { classPropertyName: "adaptivePosition", publicName: "adaptivePosition", isSignal: true, isRequired: false, transformFunction: null }, isAnimated: { classPropertyName: "isAnimated", publicName: "isAnimated", isSignal: true, isRequired: false, transformFunction: null }, typeaheadWaitMs: { classPropertyName: "typeaheadWaitMs", publicName: "typeaheadWaitMs", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionsLimit: { classPropertyName: "typeaheadOptionsLimit", publicName: "typeaheadOptionsLimit", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionField: { classPropertyName: "typeaheadOptionField", publicName: "typeaheadOptionField", isSignal: true, isRequired: false, transformFunction: null }, typeaheadGroupField: { classPropertyName: "typeaheadGroupField", publicName: "typeaheadGroupField", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOrderBy: { classPropertyName: "typeaheadOrderBy", publicName: "typeaheadOrderBy", isSignal: true, isRequired: false, transformFunction: null }, typeaheadAsync: { classPropertyName: "typeaheadAsync", publicName: "typeaheadAsync", isSignal: true, isRequired: false, transformFunction: null }, typeaheadLatinize: { classPropertyName: "typeaheadLatinize", publicName: "typeaheadLatinize", isSignal: true, isRequired: false, transformFunction: null }, typeaheadSingleWords: { classPropertyName: "typeaheadSingleWords", publicName: "typeaheadSingleWords", isSignal: true, isRequired: false, transformFunction: null }, typeaheadWordDelimiters: { classPropertyName: "typeaheadWordDelimiters", publicName: "typeaheadWordDelimiters", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMultipleSearch: { classPropertyName: "typeaheadMultipleSearch", publicName: "typeaheadMultipleSearch", isSignal: true, isRequired: false, transformFunction: null }, typeaheadMultipleSearchDelimiters: { classPropertyName: "typeaheadMultipleSearchDelimiters", publicName: "typeaheadMultipleSearchDelimiters", isSignal: true, isRequired: false, transformFunction: null }, typeaheadPhraseDelimiters: { classPropertyName: "typeaheadPhraseDelimiters", publicName: "typeaheadPhraseDelimiters", isSignal: true, isRequired: false, transformFunction: null }, typeaheadItemTemplate: { classPropertyName: "typeaheadItemTemplate", publicName: "typeaheadItemTemplate", isSignal: true, isRequired: false, transformFunction: null }, optionsListTemplate: { classPropertyName: "optionsListTemplate", publicName: "optionsListTemplate", isSignal: true, isRequired: false, transformFunction: null }, typeaheadScrollable: { classPropertyName: "typeaheadScrollable", publicName: "typeaheadScrollable", isSignal: true, isRequired: false, transformFunction: null }, typeaheadOptionsInScrollableView: { classPropertyName: "typeaheadOptionsInScrollableView", publicName: "typeaheadOptionsInScrollableView", isSignal: true, isRequired: false, transformFunction: null }, typeaheadHideResultsOnBlur: { classPropertyName: "typeaheadHideResultsOnBlur", publicName: "typeaheadHideResultsOnBlur", isSignal: true, isRequired: false, transformFunction: null }, typeaheadSelectFirstItem: { classPropertyName: "typeaheadSelectFirstItem", publicName: "typeaheadSelectFirstItem", isSignal: true, isRequired: false, transformFunction: null }, typeaheadIsFirstItemActive: { classPropertyName: "typeaheadIsFirstItemActive", publicName: "typeaheadIsFirstItemActive", isSignal: true, isRequired: false, transformFunction: null }, container: { classPropertyName: "container", publicName: "container", isSignal: true, isRequired: false, transformFunction: null }, dropup: { classPropertyName: "dropup", publicName: "dropup", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { typeaheadLoading: "typeaheadLoading", typeaheadNoResults: "typeaheadNoResults", typeaheadOnSelect: "typeaheadOnSelect", typeaheadOnPreview: "typeaheadOnPreview", typeaheadOnBlur: "typeaheadOnBlur" }, host: { listeners: { "input": "onInput($event)", "keyup": "onChange($event)", "click": "onFocus()", "focus": "onFocus()", "blur": "onBlur()", "keydown": "onKeydown($event)" }, properties: { "attr.aria-activedescendant": "activeDescendant", "attr.aria-controls": "isOpen ? popupId : null", "attr.aria-expanded": "isOpen", "attr.aria-autocomplete": "list", "attr.role": "'combobox'" } }, providers: [ComponentLoaderFactory, PositioningService], exportAs: ["bs-typeahead"], ngImport: i0 }); }
|
|
1811
1819
|
}
|
|
1812
1820
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImport: i0, type: TypeaheadDirective, decorators: [{
|
|
1813
1821
|
type: Directive,
|
|
@@ -1816,9 +1824,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.0", ngImpor
|
|
|
1816
1824
|
exportAs: 'bs-typeahead',
|
|
1817
1825
|
host: {
|
|
1818
1826
|
'[attr.aria-activedescendant]': 'activeDescendant',
|
|
1819
|
-
'[attr.aria-
|
|
1827
|
+
'[attr.aria-controls]': 'isOpen ? popupId : null',
|
|
1820
1828
|
'[attr.aria-expanded]': 'isOpen',
|
|
1821
|
-
'[attr.aria-autocomplete]': 'list'
|
|
1829
|
+
'[attr.aria-autocomplete]': 'list',
|
|
1830
|
+
'[attr.role]': `'combobox'`
|
|
1822
1831
|
},
|
|
1823
1832
|
standalone: true,
|
|
1824
1833
|
providers: [ComponentLoaderFactory, PositioningService]
|