@open-rlb/ng-bootstrap 3.3.7 → 3.3.9
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.
|
@@ -3,7 +3,7 @@ import { input, booleanAttribute, output, viewChild, ChangeDetectionStrategy, Co
|
|
|
3
3
|
import * as i2$1 from '@angular/router';
|
|
4
4
|
import { RouterLink, RouterLinkActive, RouterModule } from '@angular/router';
|
|
5
5
|
import { Collapse, Carousel, Dropdown, Modal, Toast, Offcanvas, ScrollSpy, Popover, Tooltip } from 'bootstrap';
|
|
6
|
-
import { NgTemplateOutlet, TitleCasePipe, NgClass, formatDate,
|
|
6
|
+
import { NgTemplateOutlet, TitleCasePipe, NgClass, formatDate, JsonPipe, CommonModule } from '@angular/common';
|
|
7
7
|
import { Subject, of, map, shareReplay, take, filter, switchMap, Subscription, debounceTime, distinctUntilChanged, Observable, lastValueFrom, takeUntil } from 'rxjs';
|
|
8
8
|
import * as i2 from '@angular/cdk/layout';
|
|
9
9
|
import * as i1 from '@angular/forms';
|
|
@@ -4068,6 +4068,7 @@ class ChatItemComponent {
|
|
|
4068
4068
|
this.replayId = input(undefined, { ...(ngDevMode ? { debugName: "replayId" } : /* istanbul ignore next */ {}), alias: 'replay-id' });
|
|
4069
4069
|
this.position = input('left', { ...(ngDevMode ? { debugName: "position" } : /* istanbul ignore next */ {}), alias: 'position' });
|
|
4070
4070
|
this.reaction = input(undefined, { ...(ngDevMode ? { debugName: "reaction" } : /* istanbul ignore next */ {}), alias: 'reaction' });
|
|
4071
|
+
this.hideReactionPicker = input(false, { ...(ngDevMode ? { debugName: "hideReactionPicker" } : /* istanbul ignore next */ {}), alias: 'hide-reaction-picker', transform: booleanAttribute });
|
|
4071
4072
|
this.reply = output();
|
|
4072
4073
|
this.reactionClick = output({ alias: 'reaction-click' });
|
|
4073
4074
|
this.canReply = input(false, { ...(ngDevMode ? { debugName: "canReply" } : /* istanbul ignore next */ {}), alias: 'can-reply', transform: booleanAttribute });
|
|
@@ -4079,7 +4080,7 @@ class ChatItemComponent {
|
|
|
4079
4080
|
this.reply.emit(this.replayId());
|
|
4080
4081
|
}
|
|
4081
4082
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.2.12", ngImport: i0, type: ChatItemComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
4082
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ChatItemComponent, isStandalone: true, selector: "rlb-chat-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, dateTime: { classPropertyName: "dateTime", publicName: "date-time", isSignal: true, isRequired: false, transformFunction: null }, replayText: { classPropertyName: "replayText", publicName: "replay-text", isSignal: true, isRequired: false, transformFunction: null }, replaySubject: { classPropertyName: "replaySubject", publicName: "replay-subject", isSignal: true, isRequired: false, transformFunction: null }, replayId: { classPropertyName: "replayId", publicName: "replay-id", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, reaction: { classPropertyName: "reaction", publicName: "reaction", isSignal: true, isRequired: false, transformFunction: null }, canReply: { classPropertyName: "canReply", publicName: "can-reply", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { reply: "reply", reactionClick: "reaction-click", reactionSelector: "reaction-selector" }, host: { properties: { "class.ms-auto": "position() === \"right\"" } }, ngImport: i0, template: `
|
|
4083
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "21.2.12", type: ChatItemComponent, isStandalone: true, selector: "rlb-chat-item", inputs: { id: { classPropertyName: "id", publicName: "id", isSignal: true, isRequired: false, transformFunction: null }, avatar: { classPropertyName: "avatar", publicName: "avatar", isSignal: true, isRequired: false, transformFunction: null }, text: { classPropertyName: "text", publicName: "text", isSignal: true, isRequired: false, transformFunction: null }, dateTime: { classPropertyName: "dateTime", publicName: "date-time", isSignal: true, isRequired: false, transformFunction: null }, replayText: { classPropertyName: "replayText", publicName: "replay-text", isSignal: true, isRequired: false, transformFunction: null }, replaySubject: { classPropertyName: "replaySubject", publicName: "replay-subject", isSignal: true, isRequired: false, transformFunction: null }, replayId: { classPropertyName: "replayId", publicName: "replay-id", isSignal: true, isRequired: false, transformFunction: null }, position: { classPropertyName: "position", publicName: "position", isSignal: true, isRequired: false, transformFunction: null }, reaction: { classPropertyName: "reaction", publicName: "reaction", isSignal: true, isRequired: false, transformFunction: null }, hideReactionPicker: { classPropertyName: "hideReactionPicker", publicName: "hide-reaction-picker", isSignal: true, isRequired: false, transformFunction: null }, canReply: { classPropertyName: "canReply", publicName: "can-reply", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { reply: "reply", reactionClick: "reaction-click", reactionSelector: "reaction-selector" }, host: { properties: { "class.ms-auto": "position() === \"right\"" } }, ngImport: i0, template: `
|
|
4083
4084
|
<div
|
|
4084
4085
|
[id]="id()"
|
|
4085
4086
|
class="chat-bubble-item"
|
|
@@ -4118,11 +4119,11 @@ class ChatItemComponent {
|
|
|
4118
4119
|
direction="up"
|
|
4119
4120
|
class="reaction"
|
|
4120
4121
|
>
|
|
4121
|
-
@if (!reaction()) {
|
|
4122
|
+
@if (!reaction() && !hideReactionPicker()) {
|
|
4122
4123
|
<a
|
|
4123
4124
|
rlb-button
|
|
4124
4125
|
rlb-dropdown
|
|
4125
|
-
|
|
4126
|
+
[auto-close]="'manual'"
|
|
4126
4127
|
class="reaction add p-1"
|
|
4127
4128
|
[class.right]="position() === 'right'"
|
|
4128
4129
|
[class.left]="position() === 'left'"
|
|
@@ -4208,11 +4209,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
4208
4209
|
direction="up"
|
|
4209
4210
|
class="reaction"
|
|
4210
4211
|
>
|
|
4211
|
-
@if (!reaction()) {
|
|
4212
|
+
@if (!reaction() && !hideReactionPicker()) {
|
|
4212
4213
|
<a
|
|
4213
4214
|
rlb-button
|
|
4214
4215
|
rlb-dropdown
|
|
4215
|
-
|
|
4216
|
+
[auto-close]="'manual'"
|
|
4216
4217
|
class="reaction add p-1"
|
|
4217
4218
|
[class.right]="position() === 'right'"
|
|
4218
4219
|
[class.left]="position() === 'left'"
|
|
@@ -4256,16 +4257,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
4256
4257
|
`,
|
|
4257
4258
|
host: { '[class.ms-auto]': 'position() === "right"' },
|
|
4258
4259
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
4259
|
-
imports: [
|
|
4260
|
-
DropdownComponent,
|
|
4261
|
-
ButtonComponent,
|
|
4262
|
-
DropdownDirective,
|
|
4263
|
-
DropdownContainerComponent,
|
|
4264
|
-
DataTableActionComponent,
|
|
4265
|
-
DatePipe,
|
|
4266
|
-
],
|
|
4260
|
+
imports: [DropdownComponent, ButtonComponent, DropdownDirective, DropdownContainerComponent],
|
|
4267
4261
|
}]
|
|
4268
|
-
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], avatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatar", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], dateTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "date-time", required: false }] }], replayText: [{ type: i0.Input, args: [{ isSignal: true, alias: "replay-text", required: false }] }], replaySubject: [{ type: i0.Input, args: [{ isSignal: true, alias: "replay-subject", required: false }] }], replayId: [{ type: i0.Input, args: [{ isSignal: true, alias: "replay-id", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], reaction: [{ type: i0.Input, args: [{ isSignal: true, alias: "reaction", required: false }] }], reply: [{ type: i0.Output, args: ["reply"] }], reactionClick: [{ type: i0.Output, args: ["reaction-click"] }], canReply: [{ type: i0.Input, args: [{ isSignal: true, alias: "can-reply", required: false }] }], reactionSelector: [{ type: i0.Output, args: ["reaction-selector"] }] } });
|
|
4262
|
+
}], propDecorators: { id: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], avatar: [{ type: i0.Input, args: [{ isSignal: true, alias: "avatar", required: false }] }], text: [{ type: i0.Input, args: [{ isSignal: true, alias: "text", required: false }] }], dateTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "date-time", required: false }] }], replayText: [{ type: i0.Input, args: [{ isSignal: true, alias: "replay-text", required: false }] }], replaySubject: [{ type: i0.Input, args: [{ isSignal: true, alias: "replay-subject", required: false }] }], replayId: [{ type: i0.Input, args: [{ isSignal: true, alias: "replay-id", required: false }] }], position: [{ type: i0.Input, args: [{ isSignal: true, alias: "position", required: false }] }], reaction: [{ type: i0.Input, args: [{ isSignal: true, alias: "reaction", required: false }] }], hideReactionPicker: [{ type: i0.Input, args: [{ isSignal: true, alias: "hide-reaction-picker", required: false }] }], reply: [{ type: i0.Output, args: ["reply"] }], reactionClick: [{ type: i0.Output, args: ["reaction-click"] }], canReply: [{ type: i0.Input, args: [{ isSignal: true, alias: "can-reply", required: false }] }], reactionSelector: [{ type: i0.Output, args: ["reaction-selector"] }] } });
|
|
4269
4263
|
|
|
4270
4264
|
class ListComponent {
|
|
4271
4265
|
constructor() {
|
|
@@ -6225,7 +6219,14 @@ class AbstractAutocompleteComponent extends AbstractComponent {
|
|
|
6225
6219
|
const dropdown = this.dropdownEl();
|
|
6226
6220
|
if (!dropdown)
|
|
6227
6221
|
return;
|
|
6228
|
-
|
|
6222
|
+
const rect = this.el?.nativeElement.getBoundingClientRect();
|
|
6223
|
+
if (rect) {
|
|
6224
|
+
this.renderer.setStyle(dropdown.nativeElement, 'position', 'fixed');
|
|
6225
|
+
this.renderer.setStyle(dropdown.nativeElement, 'top', `${rect.bottom}px`);
|
|
6226
|
+
this.renderer.setStyle(dropdown.nativeElement, 'left', `${rect.left}px`);
|
|
6227
|
+
this.renderer.setStyle(dropdown.nativeElement, 'width', `${rect.width}px`);
|
|
6228
|
+
this.renderer.setStyle(dropdown.nativeElement, 'z-index', '1050');
|
|
6229
|
+
}
|
|
6229
6230
|
this.renderer.setStyle(dropdown.nativeElement, 'display', 'block');
|
|
6230
6231
|
this.isOpen = true;
|
|
6231
6232
|
}
|
|
@@ -6354,6 +6355,9 @@ class AutocompleteCountryDialCodeComponent extends AbstractComponent {
|
|
|
6354
6355
|
constructor() {
|
|
6355
6356
|
super();
|
|
6356
6357
|
this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
6358
|
+
this.dropdownTop = signal(0, ...(ngDevMode ? [{ debugName: "dropdownTop" }] : /* istanbul ignore next */ []));
|
|
6359
|
+
this.dropdownLeft = signal(0, ...(ngDevMode ? [{ debugName: "dropdownLeft" }] : /* istanbul ignore next */ []));
|
|
6360
|
+
this.dropdownWidth = signal(0, ...(ngDevMode ? [{ debugName: "dropdownWidth" }] : /* istanbul ignore next */ []));
|
|
6357
6361
|
this.suggestions = signal([], ...(ngDevMode ? [{ debugName: "suggestions" }] : /* istanbul ignore next */ []));
|
|
6358
6362
|
this.hasSuggestions = computed(() => this.suggestions().length > 0, ...(ngDevMode ? [{ debugName: "hasSuggestions" }] : /* istanbul ignore next */ []));
|
|
6359
6363
|
this.disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
@@ -7646,6 +7650,12 @@ class AutocompleteCountryDialCodeComponent extends AbstractComponent {
|
|
|
7646
7650
|
this.closeDropdown();
|
|
7647
7651
|
}
|
|
7648
7652
|
openDropdown() {
|
|
7653
|
+
const rect = this.el()?.nativeElement.getBoundingClientRect();
|
|
7654
|
+
if (rect) {
|
|
7655
|
+
this.dropdownTop.set(rect.bottom);
|
|
7656
|
+
this.dropdownLeft.set(rect.left);
|
|
7657
|
+
this.dropdownWidth.set(rect.width);
|
|
7658
|
+
}
|
|
7649
7659
|
this.isOpen.set(true);
|
|
7650
7660
|
}
|
|
7651
7661
|
closeDropdown() {
|
|
@@ -7690,10 +7700,13 @@ class AutocompleteCountryDialCodeComponent extends AbstractComponent {
|
|
|
7690
7700
|
@if (isOpen()) {
|
|
7691
7701
|
<div
|
|
7692
7702
|
#autocomplete
|
|
7693
|
-
class="dropdown-menu show
|
|
7703
|
+
class="dropdown-menu show overflow-y-auto shadow"
|
|
7694
7704
|
[style.max-height.px]="maxHeight()"
|
|
7695
7705
|
[style.max-width.px]="menuMaxWidth()"
|
|
7696
|
-
style="
|
|
7706
|
+
[style.top.px]="dropdownTop()"
|
|
7707
|
+
[style.left.px]="dropdownLeft()"
|
|
7708
|
+
[style.width.px]="dropdownWidth()"
|
|
7709
|
+
style="z-index: 1050; position: fixed;"
|
|
7697
7710
|
>
|
|
7698
7711
|
@if (!hasSuggestions()) {
|
|
7699
7712
|
<a class="dropdown-item disabled text-center italic">No suggestions</a>
|
|
@@ -7768,10 +7781,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
7768
7781
|
@if (isOpen()) {
|
|
7769
7782
|
<div
|
|
7770
7783
|
#autocomplete
|
|
7771
|
-
class="dropdown-menu show
|
|
7784
|
+
class="dropdown-menu show overflow-y-auto shadow"
|
|
7772
7785
|
[style.max-height.px]="maxHeight()"
|
|
7773
7786
|
[style.max-width.px]="menuMaxWidth()"
|
|
7774
|
-
style="
|
|
7787
|
+
[style.top.px]="dropdownTop()"
|
|
7788
|
+
[style.left.px]="dropdownLeft()"
|
|
7789
|
+
[style.width.px]="dropdownWidth()"
|
|
7790
|
+
style="z-index: 1050; position: fixed;"
|
|
7775
7791
|
>
|
|
7776
7792
|
@if (!hasSuggestions()) {
|
|
7777
7793
|
<a class="dropdown-item disabled text-center italic">No suggestions</a>
|
|
@@ -7815,12 +7831,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
7815
7831
|
'[attr.id]': 'null',
|
|
7816
7832
|
},
|
|
7817
7833
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
7818
|
-
imports: [
|
|
7819
|
-
NgClass,
|
|
7820
|
-
InputValidationComponent,
|
|
7821
|
-
ProgressComponent,
|
|
7822
|
-
DataTableActionComponent,
|
|
7823
|
-
],
|
|
7834
|
+
imports: [NgClass, InputValidationComponent, ProgressComponent],
|
|
7824
7835
|
}]
|
|
7825
7836
|
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "max-height", required: false }] }], menuMaxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu-max-width", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], userDefinedId: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], enableFlagIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-flag-icons", required: false }] }], enableValidation: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-validation", required: false }] }], el: [{ type: i0.ViewChild, args: ['field', { isSignal: true }] }], dropdown: [{ type: i0.ViewChild, args: ['autocomplete', { isSignal: true }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
|
|
7826
7837
|
|
|
@@ -7828,6 +7839,9 @@ class AutocompleteCountryComponent extends AbstractComponent {
|
|
|
7828
7839
|
constructor() {
|
|
7829
7840
|
super();
|
|
7830
7841
|
this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
7842
|
+
this.dropdownTop = signal(0, ...(ngDevMode ? [{ debugName: "dropdownTop" }] : /* istanbul ignore next */ []));
|
|
7843
|
+
this.dropdownLeft = signal(0, ...(ngDevMode ? [{ debugName: "dropdownLeft" }] : /* istanbul ignore next */ []));
|
|
7844
|
+
this.dropdownWidth = signal(0, ...(ngDevMode ? [{ debugName: "dropdownWidth" }] : /* istanbul ignore next */ []));
|
|
7831
7845
|
this.suggestions = signal([], ...(ngDevMode ? [{ debugName: "suggestions" }] : /* istanbul ignore next */ []));
|
|
7832
7846
|
this.hasSuggestions = computed(() => this.suggestions().length > 0, ...(ngDevMode ? [{ debugName: "hasSuggestions" }] : /* istanbul ignore next */ []));
|
|
7833
7847
|
this.disabled = model(false, ...(ngDevMode ? [{ debugName: "disabled" }] : /* istanbul ignore next */ []));
|
|
@@ -8105,6 +8119,12 @@ class AutocompleteCountryComponent extends AbstractComponent {
|
|
|
8105
8119
|
this.closeDropdown();
|
|
8106
8120
|
}
|
|
8107
8121
|
openDropdown() {
|
|
8122
|
+
const rect = this.el()?.nativeElement.getBoundingClientRect();
|
|
8123
|
+
if (rect) {
|
|
8124
|
+
this.dropdownTop.set(rect.bottom);
|
|
8125
|
+
this.dropdownLeft.set(rect.left);
|
|
8126
|
+
this.dropdownWidth.set(rect.width);
|
|
8127
|
+
}
|
|
8108
8128
|
this.isOpen.set(true);
|
|
8109
8129
|
}
|
|
8110
8130
|
closeDropdown() {
|
|
@@ -8149,10 +8169,13 @@ class AutocompleteCountryComponent extends AbstractComponent {
|
|
|
8149
8169
|
@if (isOpen()) {
|
|
8150
8170
|
<div
|
|
8151
8171
|
#autocomplete
|
|
8152
|
-
class="dropdown-menu show
|
|
8172
|
+
class="dropdown-menu show overflow-y-auto"
|
|
8153
8173
|
[style.max-height.px]="maxHeight()"
|
|
8154
8174
|
[style.max-width.px]="menuMaxWidth()"
|
|
8155
|
-
style="
|
|
8175
|
+
[style.top.px]="dropdownTop()"
|
|
8176
|
+
[style.left.px]="dropdownLeft()"
|
|
8177
|
+
[style.width.px]="dropdownWidth()"
|
|
8178
|
+
style="z-index: 1050; position: fixed;"
|
|
8156
8179
|
>
|
|
8157
8180
|
@if (!hasSuggestions()) {
|
|
8158
8181
|
<a class="dropdown-item disabled text-center">No suggestions</a>
|
|
@@ -8216,10 +8239,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
8216
8239
|
@if (isOpen()) {
|
|
8217
8240
|
<div
|
|
8218
8241
|
#autocomplete
|
|
8219
|
-
class="dropdown-menu show
|
|
8242
|
+
class="dropdown-menu show overflow-y-auto"
|
|
8220
8243
|
[style.max-height.px]="maxHeight()"
|
|
8221
8244
|
[style.max-width.px]="menuMaxWidth()"
|
|
8222
|
-
style="
|
|
8245
|
+
[style.top.px]="dropdownTop()"
|
|
8246
|
+
[style.left.px]="dropdownLeft()"
|
|
8247
|
+
[style.width.px]="dropdownWidth()"
|
|
8248
|
+
style="z-index: 1050; position: fixed;"
|
|
8223
8249
|
>
|
|
8224
8250
|
@if (!hasSuggestions()) {
|
|
8225
8251
|
<a class="dropdown-item disabled text-center">No suggestions</a>
|
|
@@ -8253,11 +8279,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
8253
8279
|
'[attr.id]': 'null',
|
|
8254
8280
|
},
|
|
8255
8281
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8256
|
-
imports: [
|
|
8257
|
-
NgClass,
|
|
8258
|
-
InputValidationComponent,
|
|
8259
|
-
DataTableActionComponent,
|
|
8260
|
-
],
|
|
8282
|
+
imports: [NgClass, InputValidationComponent],
|
|
8261
8283
|
}]
|
|
8262
8284
|
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "max-height", required: false }] }], menuMaxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu-max-width", required: false }] }], userDefinedId: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], enableFlagIcons: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-flag-icons", required: false }] }], enableValidation: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-validation", required: false }] }], el: [{ type: i0.ViewChild, args: ['field', { isSignal: true }] }], dropdown: [{ type: i0.ViewChild, args: ['autocomplete', { isSignal: true }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
|
|
8263
8285
|
|
|
@@ -8501,6 +8523,9 @@ class AutocompleteComponent extends AbstractComponent {
|
|
|
8501
8523
|
this.acLoading = signal(false, ...(ngDevMode ? [{ debugName: "acLoading" }] : /* istanbul ignore next */ []));
|
|
8502
8524
|
// State
|
|
8503
8525
|
this.isOpen = signal(false, ...(ngDevMode ? [{ debugName: "isOpen" }] : /* istanbul ignore next */ []));
|
|
8526
|
+
this.dropdownTop = signal(0, ...(ngDevMode ? [{ debugName: "dropdownTop" }] : /* istanbul ignore next */ []));
|
|
8527
|
+
this.dropdownLeft = signal(0, ...(ngDevMode ? [{ debugName: "dropdownLeft" }] : /* istanbul ignore next */ []));
|
|
8528
|
+
this.dropdownWidth = signal(0, ...(ngDevMode ? [{ debugName: "dropdownWidth" }] : /* istanbul ignore next */ []));
|
|
8504
8529
|
this.suggestions = signal([], ...(ngDevMode ? [{ debugName: "suggestions" }] : /* istanbul ignore next */ []));
|
|
8505
8530
|
this.hasSuggestions = computed(() => this.suggestions().length > 0, ...(ngDevMode ? [{ debugName: "hasSuggestions" }] : /* istanbul ignore next */ []));
|
|
8506
8531
|
// Inputs
|
|
@@ -8629,6 +8654,12 @@ class AutocompleteComponent extends AbstractComponent {
|
|
|
8629
8654
|
openDropdown() {
|
|
8630
8655
|
if (this.isOpen())
|
|
8631
8656
|
return;
|
|
8657
|
+
const rect = this.el()?.nativeElement.getBoundingClientRect();
|
|
8658
|
+
if (rect) {
|
|
8659
|
+
this.dropdownTop.set(rect.bottom);
|
|
8660
|
+
this.dropdownLeft.set(rect.left);
|
|
8661
|
+
this.dropdownWidth.set(rect.width);
|
|
8662
|
+
}
|
|
8632
8663
|
this.isOpen.set(true);
|
|
8633
8664
|
}
|
|
8634
8665
|
closeDropdown() {
|
|
@@ -8670,10 +8701,13 @@ class AutocompleteComponent extends AbstractComponent {
|
|
|
8670
8701
|
@if (isOpen()) {
|
|
8671
8702
|
<div
|
|
8672
8703
|
#autocomplete
|
|
8673
|
-
class="dropdown-menu show
|
|
8704
|
+
class="dropdown-menu show overflow-y-auto"
|
|
8674
8705
|
[style.max-height.px]="maxHeight()"
|
|
8675
8706
|
[style.max-width.px]="menuMaxWidth()"
|
|
8676
|
-
style="
|
|
8707
|
+
[style.top.px]="dropdownTop()"
|
|
8708
|
+
[style.left.px]="dropdownLeft()"
|
|
8709
|
+
[style.width.px]="dropdownWidth()"
|
|
8710
|
+
style="z-index: 1050; position: fixed;"
|
|
8677
8711
|
>
|
|
8678
8712
|
@if (acLoading()) {
|
|
8679
8713
|
<div class="dropdown-item disabled text-center">Loading...</div>
|
|
@@ -8738,10 +8772,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
8738
8772
|
@if (isOpen()) {
|
|
8739
8773
|
<div
|
|
8740
8774
|
#autocomplete
|
|
8741
|
-
class="dropdown-menu show
|
|
8775
|
+
class="dropdown-menu show overflow-y-auto"
|
|
8742
8776
|
[style.max-height.px]="maxHeight()"
|
|
8743
8777
|
[style.max-width.px]="menuMaxWidth()"
|
|
8744
|
-
style="
|
|
8778
|
+
[style.top.px]="dropdownTop()"
|
|
8779
|
+
[style.left.px]="dropdownLeft()"
|
|
8780
|
+
[style.width.px]="dropdownWidth()"
|
|
8781
|
+
style="z-index: 1050; position: fixed;"
|
|
8745
8782
|
>
|
|
8746
8783
|
@if (acLoading()) {
|
|
8747
8784
|
<div class="dropdown-item disabled text-center">Loading...</div>
|
|
@@ -8770,17 +8807,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.2.12", ngImpo
|
|
|
8770
8807
|
<ng-content select="[after]"></ng-content>
|
|
8771
8808
|
`,
|
|
8772
8809
|
host: {
|
|
8773
|
-
// Modern Angular 21 syntax for global listeners
|
|
8774
8810
|
'(document:pointerdown)': 'onDocumentPointerDown($event)',
|
|
8775
8811
|
'(document:keydown.escape)': 'onEscape($event)',
|
|
8776
8812
|
'[attr.id]': 'null',
|
|
8777
8813
|
},
|
|
8778
8814
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
8779
|
-
imports: [
|
|
8780
|
-
NgClass,
|
|
8781
|
-
InputValidationComponent,
|
|
8782
|
-
DataTableActionComponent,
|
|
8783
|
-
],
|
|
8815
|
+
imports: [NgClass, InputValidationComponent],
|
|
8784
8816
|
}]
|
|
8785
8817
|
}], ctorParameters: () => [], propDecorators: { disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }, { type: i0.Output, args: ["disabledChange"] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], loading: [{ type: i0.Input, args: [{ isSignal: true, alias: "loading", required: false }] }], maxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "max-height", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], autocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "autocomplete", required: false }] }], type: [{ type: i0.Input, args: [{ isSignal: true, alias: "type", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], charsToSearch: [{ type: i0.Input, args: [{ isSignal: true, alias: "chars-to-search", required: false }] }], menuMaxWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "menu-max-width", required: false }] }], userDefinedId: [{ type: i0.Input, args: [{ isSignal: true, alias: "id", required: false }] }], enableValidation: [{ type: i0.Input, args: [{ isSignal: true, alias: "enable-validation", required: false }] }], inputAutocomplete: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputAutocomplete", required: false }] }], el: [{ type: i0.ViewChild, args: ['field', { isSignal: true }] }], dropdown: [{ type: i0.ViewChild, args: ['autocomplete', { isSignal: true }] }], selected: [{ type: i0.Output, args: ["selected"] }] } });
|
|
8786
8818
|
|