@ng-nest/ui 20.3.1 → 20.3.2
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/auto-complete/index.d.ts +44 -6
- package/contextmenu/index.d.ts +1 -1
- package/core/index.d.ts +1 -0
- package/fesm2022/ng-nest-ui-auto-complete.mjs +64 -16
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +2 -2
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/package.json +89 -89
package/auto-complete/index.d.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { TemplateRef, OnInit, OnChanges, ComponentRef, SimpleChanges } from '@an
|
|
|
5
5
|
import * as rxjs from 'rxjs';
|
|
6
6
|
import { Subject, BehaviorSubject } from 'rxjs';
|
|
7
7
|
import * as _ng_nest_ui_core from '@ng-nest/ui/core';
|
|
8
|
-
import { XBoolean, XTemplate, XNumber, XAlign, XJustify, XDirection, XSize, XData, XParentIdentityProperty, XVariant, XPlacement, XFloatLabel, XPositionTopBottom } from '@ng-nest/ui/core';
|
|
8
|
+
import { XBoolean, XTemplate, XNumber, XAlign, XJustify, XDirection, XSize, XData, XParentIdentityProperty, XVariant, XPlacement, XPositionLeftRight, XFloatLabel, XPositionTopBottom } from '@ng-nest/ui/core';
|
|
9
9
|
import { XFormOption } from '@ng-nest/ui/base-form';
|
|
10
10
|
import { XInputComponent } from '@ng-nest/ui/input';
|
|
11
11
|
import { XListComponent } from '@ng-nest/ui/list';
|
|
@@ -106,6 +106,16 @@ declare class XAutoCompleteProperty extends XAutoCompleteProperty_base {
|
|
|
106
106
|
readonly inputStyle: _angular_core.InputSignal<{
|
|
107
107
|
[style: string]: any;
|
|
108
108
|
} | undefined>;
|
|
109
|
+
/**
|
|
110
|
+
* @zh_CN 图标
|
|
111
|
+
* @en_US Icon
|
|
112
|
+
*/
|
|
113
|
+
readonly icon: _angular_core.ModelSignal<string | undefined>;
|
|
114
|
+
/**
|
|
115
|
+
* @zh_CN 图标布局方式
|
|
116
|
+
* @en_US Icon layout
|
|
117
|
+
*/
|
|
118
|
+
readonly iconLayout: _angular_core.InputSignal<XPositionLeftRight>;
|
|
109
119
|
/**
|
|
110
120
|
* @zh_CN 下拉框的最大高度
|
|
111
121
|
* @en_US The biggest height of the drop-down box
|
|
@@ -126,6 +136,11 @@ declare class XAutoCompleteProperty extends XAutoCompleteProperty_base {
|
|
|
126
136
|
* @en_US The style class name of the drop-down box
|
|
127
137
|
*/
|
|
128
138
|
readonly portalClass: _angular_core.InputSignal<string | string[]>;
|
|
139
|
+
/**
|
|
140
|
+
* @zh_CN 自定义下拉框中的内容
|
|
141
|
+
* @en_US Custom content in the drop-down box
|
|
142
|
+
*/
|
|
143
|
+
readonly portalTemp: _angular_core.InputSignal<TemplateRef<any> | undefined>;
|
|
129
144
|
/**
|
|
130
145
|
* @zh_CN 匹配区分大小写
|
|
131
146
|
* @en_US Case-sensitive
|
|
@@ -251,8 +266,13 @@ declare class XAutoCompleteProperty extends XAutoCompleteProperty_base {
|
|
|
251
266
|
* @en_US Node click event
|
|
252
267
|
*/
|
|
253
268
|
readonly nodeEmit: _angular_core.OutputEmitterRef<XAutoCompleteNode>;
|
|
269
|
+
/**
|
|
270
|
+
* @zh_CN 输入值变化事件
|
|
271
|
+
* @en_US Input value change event
|
|
272
|
+
*/
|
|
273
|
+
readonly searchChange: _angular_core.OutputEmitterRef<any>;
|
|
254
274
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XAutoCompleteProperty, never>;
|
|
255
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XAutoCompleteProperty, "x-auto-complete-property", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "nodeTpl": { "alias": "nodeTpl"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "inputStyle": { "alias": "inputStyle"; "required": false; "isSignal": true; }; "portalMaxHeight": { "alias": "portalMaxHeight"; "required": false; "isSignal": true; }; "portalHeight": { "alias": "portalHeight"; "required": false; "isSignal": true; }; "portalWidth": { "alias": "portalWidth"; "required": false; "isSignal": true; }; "portalClass": { "alias": "portalClass"; "required": false; "isSignal": true; }; "caseSensitive": { "alias": "caseSensitive"; "required": false; "isSignal": true; }; "onlySelect": { "alias": "onlySelect"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatFixed": { "alias": "floatFixed"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "pointer": { "alias": "pointer"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelWidth": { "alias": "labelWidth"; "required": false; "isSignal": true; }; "labelAlign": { "alias": "labelAlign"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "valueTpl": { "alias": "valueTpl"; "required": false; "isSignal": true; }; "valueTplContext": { "alias": "valueTplContext"; "required": false; "isSignal": true; }; "before": { "alias": "before"; "required": false; "isSignal": true; }; "after": { "alias": "after"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "inputValidator": { "alias": "inputValidator"; "required": false; "isSignal": true; }; }, { "active": "activeChange"; "nodeEmit": "nodeEmit"; }, never, never, true, never>;
|
|
275
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XAutoCompleteProperty, "x-auto-complete-property", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "debounceTime": { "alias": "debounceTime"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "nodeTpl": { "alias": "nodeTpl"; "required": false; "isSignal": true; }; "bordered": { "alias": "bordered"; "required": false; "isSignal": true; }; "inputStyle": { "alias": "inputStyle"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconLayout": { "alias": "iconLayout"; "required": false; "isSignal": true; }; "portalMaxHeight": { "alias": "portalMaxHeight"; "required": false; "isSignal": true; }; "portalHeight": { "alias": "portalHeight"; "required": false; "isSignal": true; }; "portalWidth": { "alias": "portalWidth"; "required": false; "isSignal": true; }; "portalClass": { "alias": "portalClass"; "required": false; "isSignal": true; }; "portalTemp": { "alias": "portalTemp"; "required": false; "isSignal": true; }; "caseSensitive": { "alias": "caseSensitive"; "required": false; "isSignal": true; }; "onlySelect": { "alias": "onlySelect"; "required": false; "isSignal": true; }; "floatLabel": { "alias": "floatLabel"; "required": false; "isSignal": true; }; "floatFixed": { "alias": "floatFixed"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "pointer": { "alias": "pointer"; "required": false; "isSignal": true; }; "label": { "alias": "label"; "required": false; "isSignal": true; }; "labelWidth": { "alias": "labelWidth"; "required": false; "isSignal": true; }; "labelAlign": { "alias": "labelAlign"; "required": false; "isSignal": true; }; "justify": { "alias": "justify"; "required": false; "isSignal": true; }; "align": { "alias": "align"; "required": false; "isSignal": true; }; "direction": { "alias": "direction"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "valueTpl": { "alias": "valueTpl"; "required": false; "isSignal": true; }; "valueTplContext": { "alias": "valueTplContext"; "required": false; "isSignal": true; }; "before": { "alias": "before"; "required": false; "isSignal": true; }; "after": { "alias": "after"; "required": false; "isSignal": true; }; "pattern": { "alias": "pattern"; "required": false; "isSignal": true; }; "message": { "alias": "message"; "required": false; "isSignal": true; }; "active": { "alias": "active"; "required": false; "isSignal": true; }; "inputValidator": { "alias": "inputValidator"; "required": false; "isSignal": true; }; }, { "icon": "iconChange"; "active": "activeChange"; "nodeEmit": "nodeEmit"; "searchChange": "searchChange"; }, never, never, true, never>;
|
|
256
276
|
}
|
|
257
277
|
/**
|
|
258
278
|
* AutoComplete Option
|
|
@@ -414,6 +434,13 @@ interface XAutoCompleteOption extends XFormOption {
|
|
|
414
434
|
*/
|
|
415
435
|
nodeEmit?: (node: XAutoCompleteNode) => void;
|
|
416
436
|
}
|
|
437
|
+
/**
|
|
438
|
+
* @zh_CN 图标布局方式,指在输入框中的位置
|
|
439
|
+
* @en_US Icon layout, refers to the position in the input box
|
|
440
|
+
* @value "left" 靠左
|
|
441
|
+
* @value "right" 靠右
|
|
442
|
+
*/
|
|
443
|
+
type XAutoCompleteIconLayoutType = XPositionLeftRight;
|
|
417
444
|
/**
|
|
418
445
|
* @zh_CN 浮动标签类型
|
|
419
446
|
* @en_US Float label type
|
|
@@ -442,7 +469,7 @@ declare class XAutoCompletePortalComponent implements OnInit {
|
|
|
442
469
|
animateLeave: string;
|
|
443
470
|
done(): void;
|
|
444
471
|
start(): void;
|
|
445
|
-
list: _angular_core.Signal<XListComponent>;
|
|
472
|
+
list: _angular_core.Signal<XListComponent | undefined>;
|
|
446
473
|
data: _angular_core.InputSignal<XAutoCompleteNode[] | undefined>;
|
|
447
474
|
value: _angular_core.InputSignal<any>;
|
|
448
475
|
placement: _angular_core.InputSignal<XPositionTopBottom | undefined>;
|
|
@@ -459,6 +486,14 @@ declare class XAutoCompletePortalComponent implements OnInit {
|
|
|
459
486
|
keydownSubject: Subject<KeyboardEvent>;
|
|
460
487
|
active: _angular_core.WritableSignal<number>;
|
|
461
488
|
destroy: _angular_core.WritableSignal<boolean>;
|
|
489
|
+
portalTemp: _angular_core.InputSignal<TemplateRef<any> | undefined>;
|
|
490
|
+
portalTempContext: _angular_core.Signal<{
|
|
491
|
+
$implicit: XAutoCompleteNode[] | undefined;
|
|
492
|
+
$data: XAutoCompleteNode[] | undefined;
|
|
493
|
+
$value: any;
|
|
494
|
+
$close: () => void;
|
|
495
|
+
$nodeClick: (node: XAutoCompleteNode) => void;
|
|
496
|
+
}>;
|
|
462
497
|
private unSubject;
|
|
463
498
|
private destroyRef;
|
|
464
499
|
ngOnInit(): void;
|
|
@@ -468,14 +503,13 @@ declare class XAutoCompletePortalComponent implements OnInit {
|
|
|
468
503
|
onActive(num: number): void;
|
|
469
504
|
onTabOut(): void;
|
|
470
505
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XAutoCompletePortalComponent, never>;
|
|
471
|
-
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XAutoCompletePortalComponent, "x-auto-complete-portal", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "nodeTpl": { "alias": "nodeTpl"; "required": false; "isSignal": true; }; "inputCom": { "alias": "inputCom"; "required": false; "isSignal": true; }; "keywordText": { "alias": "keywordText"; "required": false; "isSignal": true; }; "caseSensitive": { "alias": "caseSensitive"; "required": false; "isSignal": true; }; "portalMaxHeight": { "alias": "portalMaxHeight"; "required": false; "isSignal": true; }; "portalHeight": { "alias": "portalHeight"; "required": false; "isSignal": true; }; "portalWidth": { "alias": "portalWidth"; "required": false; "isSignal": true; }; }, { "keywordText": "keywordTextChange"; "animating": "animating"; "nodeClick": "nodeClick"; }, never, never, true, never>;
|
|
506
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XAutoCompletePortalComponent, "x-auto-complete-portal", never, { "data": { "alias": "data"; "required": false; "isSignal": true; }; "value": { "alias": "value"; "required": false; "isSignal": true; }; "placement": { "alias": "placement"; "required": false; "isSignal": true; }; "nodeTpl": { "alias": "nodeTpl"; "required": false; "isSignal": true; }; "inputCom": { "alias": "inputCom"; "required": false; "isSignal": true; }; "keywordText": { "alias": "keywordText"; "required": false; "isSignal": true; }; "caseSensitive": { "alias": "caseSensitive"; "required": false; "isSignal": true; }; "portalMaxHeight": { "alias": "portalMaxHeight"; "required": false; "isSignal": true; }; "portalHeight": { "alias": "portalHeight"; "required": false; "isSignal": true; }; "portalWidth": { "alias": "portalWidth"; "required": false; "isSignal": true; }; "portalTemp": { "alias": "portalTemp"; "required": false; "isSignal": true; }; }, { "keywordText": "keywordTextChange"; "animating": "animating"; "nodeClick": "nodeClick"; }, never, never, true, never>;
|
|
472
507
|
}
|
|
473
508
|
|
|
474
509
|
declare class XAutoCompleteComponent extends XAutoCompleteProperty implements OnInit, OnChanges {
|
|
475
510
|
inputCom: _angular_core.Signal<XInputComponent>;
|
|
476
511
|
nodes: _angular_core.WritableSignal<XAutoCompleteNode[]>;
|
|
477
512
|
searchNodes: _angular_core.WritableSignal<XAutoCompleteNode[]>;
|
|
478
|
-
icon: _angular_core.WritableSignal<string>;
|
|
479
513
|
iconSpin: _angular_core.WritableSignal<boolean>;
|
|
480
514
|
animating: _angular_core.WritableSignal<boolean>;
|
|
481
515
|
valueTplContextSignal: _angular_core.WritableSignal<{
|
|
@@ -483,6 +517,8 @@ declare class XAutoCompleteComponent extends XAutoCompleteProperty implements On
|
|
|
483
517
|
$isValue: boolean;
|
|
484
518
|
}>;
|
|
485
519
|
valueTplContextComputed: _angular_core.Signal<unknown>;
|
|
520
|
+
widthComputed: _angular_core.Signal<boolean>;
|
|
521
|
+
get hostWidth(): any;
|
|
486
522
|
inputChange: BehaviorSubject<any>;
|
|
487
523
|
closeSubject: Subject<void>;
|
|
488
524
|
keydownSubject: Subject<KeyboardEvent>;
|
|
@@ -514,6 +550,8 @@ declare class XAutoCompleteComponent extends XAutoCompleteProperty implements On
|
|
|
514
550
|
setSearchNodes(value: string | number): void;
|
|
515
551
|
modelChange(value: string | number): void;
|
|
516
552
|
onKeydown($event: KeyboardEvent): void;
|
|
553
|
+
portalClose(): void;
|
|
554
|
+
portalNodeClick(node: XAutoCompleteNode): void;
|
|
517
555
|
onInput(_event: Event): void;
|
|
518
556
|
static ɵfac: _angular_core.ɵɵFactoryDeclaration<XAutoCompleteComponent, never>;
|
|
519
557
|
static ɵcmp: _angular_core.ɵɵComponentDeclaration<XAutoCompleteComponent, "x-auto-complete", never, {}, {}, never, never, true, never>;
|
|
@@ -526,4 +564,4 @@ declare class XAutoCompleteModule {
|
|
|
526
564
|
}
|
|
527
565
|
|
|
528
566
|
export { XAutoCompleteComponent, XAutoCompleteModule, XAutoCompletePortalComponent, XAutoCompletePortalPrefix, XAutoCompletePrefix, XAutoCompleteProperty };
|
|
529
|
-
export type { XAutoCompleteFloatLabel, XAutoCompleteNode, XAutoCompleteOption, XAutoCompleteVariant };
|
|
567
|
+
export type { XAutoCompleteFloatLabel, XAutoCompleteIconLayoutType, XAutoCompleteNode, XAutoCompleteOption, XAutoCompleteVariant };
|
package/contextmenu/index.d.ts
CHANGED
|
@@ -24,7 +24,7 @@ declare class XContextmenuProperty extends XContextmenuProperty_base {
|
|
|
24
24
|
* @zh_CN 触发目标元素
|
|
25
25
|
* @en_US Trigger target element
|
|
26
26
|
*/
|
|
27
|
-
readonly target: _angular_core.InputSignal<ElementRef<any> |
|
|
27
|
+
readonly target: _angular_core.InputSignal<HTMLElement | ElementRef<any> | undefined>;
|
|
28
28
|
/**
|
|
29
29
|
* @zh_CN 节点数据
|
|
30
30
|
* @en_US Node data
|
package/core/index.d.ts
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { Subject, BehaviorSubject, fromEvent } from 'rxjs';
|
|
2
2
|
import * as i0 from '@angular/core';
|
|
3
|
-
import { input, model, output, Component, viewChild, signal, inject, DestroyRef, HostListener, HostBinding, ChangeDetectionStrategy, ViewEncapsulation,
|
|
3
|
+
import { input, model, output, Component, viewChild, signal, computed, inject, DestroyRef, HostListener, HostBinding, ChangeDetectionStrategy, ViewEncapsulation, ViewContainerRef, ElementRef, effect, NgModule } from '@angular/core';
|
|
4
4
|
import { XToNumber, XToBoolean, XToCssPixelValue, XIsChange, XIsObservable, XIsFunction, XSetData, XParents, XIsEmpty } from '@ng-nest/ui/core';
|
|
5
5
|
import { XFormControlFunction, XValueAccessor } from '@ng-nest/ui/base-form';
|
|
6
6
|
import { XPortalService, XPortalConnectedPosition } from '@ng-nest/ui/portal';
|
|
7
7
|
import { XInputComponent } from '@ng-nest/ui/input';
|
|
8
8
|
import { takeUntil, filter, debounceTime, distinctUntilChanged } from 'rxjs/operators';
|
|
9
9
|
import { XListComponent } from '@ng-nest/ui/list';
|
|
10
|
+
import { NgTemplateOutlet } from '@angular/common';
|
|
10
11
|
import { Overlay } from '@angular/cdk/overlay';
|
|
11
12
|
import { DOWN_ARROW, UP_ARROW, ENTER, MAC_ENTER, ESCAPE } from '@angular/cdk/keycodes';
|
|
12
13
|
import * as i1 from '@angular/forms';
|
|
@@ -61,6 +62,16 @@ class XAutoCompleteProperty extends XFormControlFunction(X_AUTOCOMPLETE_CONFIG_N
|
|
|
61
62
|
* @en_US Input Style
|
|
62
63
|
*/
|
|
63
64
|
this.inputStyle = input(...(ngDevMode ? [undefined, { debugName: "inputStyle" }] : []));
|
|
65
|
+
/**
|
|
66
|
+
* @zh_CN 图标
|
|
67
|
+
* @en_US Icon
|
|
68
|
+
*/
|
|
69
|
+
this.icon = model(...(ngDevMode ? [undefined, { debugName: "icon" }] : []));
|
|
70
|
+
/**
|
|
71
|
+
* @zh_CN 图标布局方式
|
|
72
|
+
* @en_US Icon layout
|
|
73
|
+
*/
|
|
74
|
+
this.iconLayout = input(this.config?.iconLayout ?? 'right', ...(ngDevMode ? [{ debugName: "iconLayout" }] : []));
|
|
64
75
|
/**
|
|
65
76
|
* @zh_CN 下拉框的最大高度
|
|
66
77
|
* @en_US The biggest height of the drop-down box
|
|
@@ -85,6 +96,11 @@ class XAutoCompleteProperty extends XFormControlFunction(X_AUTOCOMPLETE_CONFIG_N
|
|
|
85
96
|
* @en_US The style class name of the drop-down box
|
|
86
97
|
*/
|
|
87
98
|
this.portalClass = input('', ...(ngDevMode ? [{ debugName: "portalClass" }] : []));
|
|
99
|
+
/**
|
|
100
|
+
* @zh_CN 自定义下拉框中的内容
|
|
101
|
+
* @en_US Custom content in the drop-down box
|
|
102
|
+
*/
|
|
103
|
+
this.portalTemp = input(...(ngDevMode ? [undefined, { debugName: "portalTemp" }] : []));
|
|
88
104
|
/**
|
|
89
105
|
* @zh_CN 匹配区分大小写
|
|
90
106
|
* @en_US Case-sensitive
|
|
@@ -210,14 +226,19 @@ class XAutoCompleteProperty extends XFormControlFunction(X_AUTOCOMPLETE_CONFIG_N
|
|
|
210
226
|
* @en_US Node click event
|
|
211
227
|
*/
|
|
212
228
|
this.nodeEmit = output();
|
|
229
|
+
/**
|
|
230
|
+
* @zh_CN 输入值变化事件
|
|
231
|
+
* @en_US Input value change event
|
|
232
|
+
*/
|
|
233
|
+
this.searchChange = output();
|
|
213
234
|
}
|
|
214
235
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompleteProperty, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
215
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.5", type: XAutoCompleteProperty, isStandalone: true, selector: "x-auto-complete-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalHeight: { classPropertyName: "portalHeight", publicName: "portalHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, portalClass: { classPropertyName: "portalClass", publicName: "portalClass", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, onlySelect: { classPropertyName: "onlySelect", publicName: "onlySelect", isSignal: true, isRequired: false, transformFunction: null }, floatLabel: { classPropertyName: "floatLabel", publicName: "floatLabel", isSignal: true, isRequired: false, transformFunction: null }, floatFixed: { classPropertyName: "floatFixed", publicName: "floatFixed", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { active: "activeChange", nodeEmit: "nodeEmit" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
236
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.1.0", version: "20.3.5", type: XAutoCompleteProperty, isStandalone: true, selector: "x-auto-complete-property", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, variant: { classPropertyName: "variant", publicName: "variant", isSignal: true, isRequired: false, transformFunction: null }, debounceTime: { classPropertyName: "debounceTime", publicName: "debounceTime", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, bordered: { classPropertyName: "bordered", publicName: "bordered", isSignal: true, isRequired: false, transformFunction: null }, inputStyle: { classPropertyName: "inputStyle", publicName: "inputStyle", isSignal: true, isRequired: false, transformFunction: null }, icon: { classPropertyName: "icon", publicName: "icon", isSignal: true, isRequired: false, transformFunction: null }, iconLayout: { classPropertyName: "iconLayout", publicName: "iconLayout", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalHeight: { classPropertyName: "portalHeight", publicName: "portalHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, portalClass: { classPropertyName: "portalClass", publicName: "portalClass", isSignal: true, isRequired: false, transformFunction: null }, portalTemp: { classPropertyName: "portalTemp", publicName: "portalTemp", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, onlySelect: { classPropertyName: "onlySelect", publicName: "onlySelect", isSignal: true, isRequired: false, transformFunction: null }, floatLabel: { classPropertyName: "floatLabel", publicName: "floatLabel", isSignal: true, isRequired: false, transformFunction: null }, floatFixed: { classPropertyName: "floatFixed", publicName: "floatFixed", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, pointer: { classPropertyName: "pointer", publicName: "pointer", isSignal: true, isRequired: false, transformFunction: null }, label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null }, labelWidth: { classPropertyName: "labelWidth", publicName: "labelWidth", isSignal: true, isRequired: false, transformFunction: null }, labelAlign: { classPropertyName: "labelAlign", publicName: "labelAlign", isSignal: true, isRequired: false, transformFunction: null }, justify: { classPropertyName: "justify", publicName: "justify", isSignal: true, isRequired: false, transformFunction: null }, align: { classPropertyName: "align", publicName: "align", isSignal: true, isRequired: false, transformFunction: null }, direction: { classPropertyName: "direction", publicName: "direction", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: true, isRequired: false, transformFunction: null }, readonly: { classPropertyName: "readonly", publicName: "readonly", isSignal: true, isRequired: false, transformFunction: null }, valueTpl: { classPropertyName: "valueTpl", publicName: "valueTpl", isSignal: true, isRequired: false, transformFunction: null }, valueTplContext: { classPropertyName: "valueTplContext", publicName: "valueTplContext", isSignal: true, isRequired: false, transformFunction: null }, before: { classPropertyName: "before", publicName: "before", isSignal: true, isRequired: false, transformFunction: null }, after: { classPropertyName: "after", publicName: "after", isSignal: true, isRequired: false, transformFunction: null }, pattern: { classPropertyName: "pattern", publicName: "pattern", isSignal: true, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: true, isRequired: false, transformFunction: null }, active: { classPropertyName: "active", publicName: "active", isSignal: true, isRequired: false, transformFunction: null }, inputValidator: { classPropertyName: "inputValidator", publicName: "inputValidator", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { icon: "iconChange", active: "activeChange", nodeEmit: "nodeEmit", searchChange: "searchChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true }); }
|
|
216
237
|
}
|
|
217
238
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompleteProperty, decorators: [{
|
|
218
239
|
type: Component,
|
|
219
240
|
args: [{ selector: `${XAutoCompletePrefix}-property`, template: '' }]
|
|
220
|
-
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "debounceTime", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], nodeTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTpl", required: false }] }], bordered: [{ type: i0.Input, args: [{ isSignal: true, alias: "bordered", required: false }] }], inputStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyle", required: false }] }], portalMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMaxHeight", required: false }] }], portalHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalHeight", required: false }] }], portalWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalWidth", required: false }] }], portalClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalClass", required: false }] }], caseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "caseSensitive", required: false }] }], onlySelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlySelect", required: false }] }], floatLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatLabel", required: false }] }], floatFixed: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatFixed", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], pointer: [{ type: i0.Input, args: [{ isSignal: true, alias: "pointer", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelWidth", required: false }] }], labelAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelAlign", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], valueTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTpl", required: false }] }], valueTplContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTplContext", required: false }] }], before: [{ type: i0.Input, args: [{ isSignal: true, alias: "before", required: false }] }], after: [{ type: i0.Input, args: [{ isSignal: true, alias: "after", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], inputValidator: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputValidator", required: false }] }], nodeEmit: [{ type: i0.Output, args: ["nodeEmit"] }] } });
|
|
241
|
+
}], propDecorators: { data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], variant: [{ type: i0.Input, args: [{ isSignal: true, alias: "variant", required: false }] }], debounceTime: [{ type: i0.Input, args: [{ isSignal: true, alias: "debounceTime", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], nodeTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTpl", required: false }] }], bordered: [{ type: i0.Input, args: [{ isSignal: true, alias: "bordered", required: false }] }], inputStyle: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputStyle", required: false }] }], icon: [{ type: i0.Input, args: [{ isSignal: true, alias: "icon", required: false }] }, { type: i0.Output, args: ["iconChange"] }], iconLayout: [{ type: i0.Input, args: [{ isSignal: true, alias: "iconLayout", required: false }] }], portalMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMaxHeight", required: false }] }], portalHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalHeight", required: false }] }], portalWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalWidth", required: false }] }], portalClass: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalClass", required: false }] }], portalTemp: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalTemp", required: false }] }], caseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "caseSensitive", required: false }] }], onlySelect: [{ type: i0.Input, args: [{ isSignal: true, alias: "onlySelect", required: false }] }], floatLabel: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatLabel", required: false }] }], floatFixed: [{ type: i0.Input, args: [{ isSignal: true, alias: "floatFixed", required: false }] }], size: [{ type: i0.Input, args: [{ isSignal: true, alias: "size", required: false }] }], pointer: [{ type: i0.Input, args: [{ isSignal: true, alias: "pointer", required: false }] }], label: [{ type: i0.Input, args: [{ isSignal: true, alias: "label", required: false }] }], labelWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelWidth", required: false }] }], labelAlign: [{ type: i0.Input, args: [{ isSignal: true, alias: "labelAlign", required: false }] }], justify: [{ type: i0.Input, args: [{ isSignal: true, alias: "justify", required: false }] }], align: [{ type: i0.Input, args: [{ isSignal: true, alias: "align", required: false }] }], direction: [{ type: i0.Input, args: [{ isSignal: true, alias: "direction", required: false }] }], placeholder: [{ type: i0.Input, args: [{ isSignal: true, alias: "placeholder", required: false }] }], disabled: [{ type: i0.Input, args: [{ isSignal: true, alias: "disabled", required: false }] }], required: [{ type: i0.Input, args: [{ isSignal: true, alias: "required", required: false }] }], readonly: [{ type: i0.Input, args: [{ isSignal: true, alias: "readonly", required: false }] }], valueTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTpl", required: false }] }], valueTplContext: [{ type: i0.Input, args: [{ isSignal: true, alias: "valueTplContext", required: false }] }], before: [{ type: i0.Input, args: [{ isSignal: true, alias: "before", required: false }] }], after: [{ type: i0.Input, args: [{ isSignal: true, alias: "after", required: false }] }], pattern: [{ type: i0.Input, args: [{ isSignal: true, alias: "pattern", required: false }] }], message: [{ type: i0.Input, args: [{ isSignal: true, alias: "message", required: false }] }], active: [{ type: i0.Input, args: [{ isSignal: true, alias: "active", required: false }] }, { type: i0.Output, args: ["activeChange"] }], inputValidator: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputValidator", required: false }] }], nodeEmit: [{ type: i0.Output, args: ["nodeEmit"] }], searchChange: [{ type: i0.Output, args: ["searchChange"] }] } });
|
|
221
242
|
/**
|
|
222
243
|
* AutoComplete Portal
|
|
223
244
|
* @selector x-auto-complete-portal
|
|
@@ -229,7 +250,7 @@ class XAutoCompletePortalComponent {
|
|
|
229
250
|
constructor() {
|
|
230
251
|
this.animateEnter = 'x-connect-enter';
|
|
231
252
|
this.animateLeave = 'x-connect-leave';
|
|
232
|
-
this.list = viewChild
|
|
253
|
+
this.list = viewChild('list', ...(ngDevMode ? [{ debugName: "list", read: XListComponent }] : [{ read: XListComponent }]));
|
|
233
254
|
this.data = input(...(ngDevMode ? [undefined, { debugName: "data" }] : []));
|
|
234
255
|
this.value = input(...(ngDevMode ? [undefined, { debugName: "value" }] : []));
|
|
235
256
|
this.placement = input(...(ngDevMode ? [undefined, { debugName: "placement" }] : []));
|
|
@@ -244,6 +265,14 @@ class XAutoCompletePortalComponent {
|
|
|
244
265
|
this.nodeClick = output();
|
|
245
266
|
this.active = signal(-1, ...(ngDevMode ? [{ debugName: "active" }] : []));
|
|
246
267
|
this.destroy = signal(false, ...(ngDevMode ? [{ debugName: "destroy" }] : []));
|
|
268
|
+
this.portalTemp = input(...(ngDevMode ? [undefined, { debugName: "portalTemp" }] : []));
|
|
269
|
+
this.portalTempContext = computed(() => ({
|
|
270
|
+
$implicit: this.data(),
|
|
271
|
+
$data: this.data(),
|
|
272
|
+
$value: this.value(),
|
|
273
|
+
$close: () => this.closeSubject.next(),
|
|
274
|
+
$nodeClick: (node) => this.onNodeClick(node)
|
|
275
|
+
}), ...(ngDevMode ? [{ debugName: "portalTempContext" }] : []));
|
|
247
276
|
this.unSubject = new Subject();
|
|
248
277
|
this.destroyRef = inject(DestroyRef);
|
|
249
278
|
}
|
|
@@ -259,10 +288,10 @@ class XAutoCompletePortalComponent {
|
|
|
259
288
|
}
|
|
260
289
|
ngOnInit() {
|
|
261
290
|
this.closeSubject.pipe(takeUntil(this.unSubject)).subscribe(() => {
|
|
262
|
-
this.list()
|
|
291
|
+
this.list()?.setUnActive(this.active());
|
|
263
292
|
});
|
|
264
293
|
this.keydownSubject.pipe(takeUntil(this.unSubject)).subscribe((x) => {
|
|
265
|
-
this.list()
|
|
294
|
+
this.list()?.keydown(x);
|
|
266
295
|
});
|
|
267
296
|
this.destroyRef.onDestroy(() => {
|
|
268
297
|
this.destroy.set(true);
|
|
@@ -271,7 +300,7 @@ class XAutoCompletePortalComponent {
|
|
|
271
300
|
});
|
|
272
301
|
}
|
|
273
302
|
ngAfterViewInit() {
|
|
274
|
-
this.list()
|
|
303
|
+
this.list()?.keyManager.setFirstItemActive();
|
|
275
304
|
}
|
|
276
305
|
stopPropagation(event) {
|
|
277
306
|
event.stopPropagation();
|
|
@@ -287,11 +316,11 @@ class XAutoCompletePortalComponent {
|
|
|
287
316
|
this.closeSubject.next();
|
|
288
317
|
}
|
|
289
318
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompletePortalComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
290
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.
|
|
319
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.3.5", type: XAutoCompletePortalComponent, isStandalone: true, selector: "x-auto-complete-portal", inputs: { data: { classPropertyName: "data", publicName: "data", isSignal: true, isRequired: false, transformFunction: null }, value: { classPropertyName: "value", publicName: "value", isSignal: true, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: true, isRequired: false, transformFunction: null }, nodeTpl: { classPropertyName: "nodeTpl", publicName: "nodeTpl", isSignal: true, isRequired: false, transformFunction: null }, inputCom: { classPropertyName: "inputCom", publicName: "inputCom", isSignal: true, isRequired: false, transformFunction: null }, keywordText: { classPropertyName: "keywordText", publicName: "keywordText", isSignal: true, isRequired: false, transformFunction: null }, caseSensitive: { classPropertyName: "caseSensitive", publicName: "caseSensitive", isSignal: true, isRequired: false, transformFunction: null }, portalMaxHeight: { classPropertyName: "portalMaxHeight", publicName: "portalMaxHeight", isSignal: true, isRequired: false, transformFunction: null }, portalHeight: { classPropertyName: "portalHeight", publicName: "portalHeight", isSignal: true, isRequired: false, transformFunction: null }, portalWidth: { classPropertyName: "portalWidth", publicName: "portalWidth", isSignal: true, isRequired: false, transformFunction: null }, portalTemp: { classPropertyName: "portalTemp", publicName: "portalTemp", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { keywordText: "keywordTextChange", animating: "animating", nodeClick: "nodeClick" }, host: { listeners: { "animationend": "done()", "animationstart": "start()" }, properties: { "animate.enter": "this.animateEnter", "animate.leave": "this.animateLeave" } }, viewQueries: [{ propertyName: "list", first: true, predicate: ["list"], descendants: true, read: XListComponent, isSignal: true }], ngImport: i0, template: "<div\r\n #autoCompletePortal\r\n class=\"x-auto-complete-portal\"\r\n tabindex=\"-1\"\r\n (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalHeight() ? portalHeight() : portalMaxHeight()\"\r\n [style.height]=\"portalHeight()\"\r\n>\r\n @if (portalTemp(); as portalTpl) {\r\n <ng-template [ngTemplateOutlet]=\"portalTpl\" [ngTemplateOutletContext]=\"portalTempContext()\"></ng-template>\r\n } @else {\r\n <x-list\r\n #list\r\n [data]=\"data()!\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [scrollElement]=\"autoCompletePortal\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n [inPortal]=\"true\"\r\n ></x-list>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-auto-complete-portal{width:100%}.x-auto-complete-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-auto-complete-portal:focus{outline:none}\n"], dependencies: [{ kind: "component", type: XListComponent, selector: "x-list" }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
291
320
|
}
|
|
292
321
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompletePortalComponent, decorators: [{
|
|
293
322
|
type: Component,
|
|
294
|
-
args: [{ selector: `${XAutoCompletePortalPrefix}`, imports: [XListComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n #autoCompletePortal\r\n class=\"x-auto-complete-portal\"\r\n tabindex=\"-1\"\r\n (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalHeight() ? portalHeight() : portalMaxHeight()\"\r\n [style.height]=\"portalHeight()\"\r\n>\r\n <x-list\r\n
|
|
323
|
+
args: [{ selector: `${XAutoCompletePortalPrefix}`, imports: [XListComponent, NgTemplateOutlet], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n #autoCompletePortal\r\n class=\"x-auto-complete-portal\"\r\n tabindex=\"-1\"\r\n (click)=\"inputCom()?.inputFocus('focus'); stopPropagation($event)\"\r\n [style.maxHeight]=\"portalHeight() ? portalHeight() : portalMaxHeight()\"\r\n [style.height]=\"portalHeight()\"\r\n>\r\n @if (portalTemp(); as portalTpl) {\r\n <ng-template [ngTemplateOutlet]=\"portalTpl\" [ngTemplateOutletContext]=\"portalTempContext()\"></ng-template>\r\n } @else {\r\n <x-list\r\n #list\r\n [data]=\"data()!\"\r\n (nodeClick)=\"onNodeClick($event)\"\r\n (keyManagerChange)=\"onActive($event)\"\r\n (keyManagerTabOut)=\"onTabOut()\"\r\n [nodeTpl]=\"nodeTpl()\"\r\n [scrollElement]=\"autoCompletePortal\"\r\n [keywordText]=\"keywordText()\"\r\n [caseSensitive]=\"caseSensitive()\"\r\n [inPortal]=\"true\"\r\n ></x-list>\r\n }\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-auto-complete-portal{width:100%}.x-auto-complete-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-auto-complete-portal:focus{outline:none}\n"] }]
|
|
295
324
|
}], propDecorators: { animateEnter: [{
|
|
296
325
|
type: HostBinding,
|
|
297
326
|
args: ['animate.enter']
|
|
@@ -304,21 +333,27 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImpor
|
|
|
304
333
|
}], start: [{
|
|
305
334
|
type: HostListener,
|
|
306
335
|
args: ['animationstart']
|
|
307
|
-
}], list: [{ type: i0.ViewChild, args: ['list', { ...{ read: XListComponent }, isSignal: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], nodeTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTpl", required: false }] }], inputCom: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputCom", required: false }] }], keywordText: [{ type: i0.Input, args: [{ isSignal: true, alias: "keywordText", required: false }] }, { type: i0.Output, args: ["keywordTextChange"] }], caseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "caseSensitive", required: false }] }], portalMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMaxHeight", required: false }] }], portalHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalHeight", required: false }] }], portalWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalWidth", required: false }] }], animating: [{ type: i0.Output, args: ["animating"] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }] } });
|
|
336
|
+
}], list: [{ type: i0.ViewChild, args: ['list', { ...{ read: XListComponent }, isSignal: true }] }], data: [{ type: i0.Input, args: [{ isSignal: true, alias: "data", required: false }] }], value: [{ type: i0.Input, args: [{ isSignal: true, alias: "value", required: false }] }], placement: [{ type: i0.Input, args: [{ isSignal: true, alias: "placement", required: false }] }], nodeTpl: [{ type: i0.Input, args: [{ isSignal: true, alias: "nodeTpl", required: false }] }], inputCom: [{ type: i0.Input, args: [{ isSignal: true, alias: "inputCom", required: false }] }], keywordText: [{ type: i0.Input, args: [{ isSignal: true, alias: "keywordText", required: false }] }, { type: i0.Output, args: ["keywordTextChange"] }], caseSensitive: [{ type: i0.Input, args: [{ isSignal: true, alias: "caseSensitive", required: false }] }], portalMaxHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalMaxHeight", required: false }] }], portalHeight: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalHeight", required: false }] }], portalWidth: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalWidth", required: false }] }], animating: [{ type: i0.Output, args: ["animating"] }], nodeClick: [{ type: i0.Output, args: ["nodeClick"] }], portalTemp: [{ type: i0.Input, args: [{ isSignal: true, alias: "portalTemp", required: false }] }] } });
|
|
308
337
|
|
|
309
338
|
class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
339
|
+
get hostWidth() {
|
|
340
|
+
return this.widthComputed() ? this.inputStyle()?.['width'] : null;
|
|
341
|
+
}
|
|
310
342
|
constructor() {
|
|
311
343
|
super();
|
|
312
344
|
this.inputCom = viewChild.required('inputCom', { read: XInputComponent });
|
|
313
345
|
this.nodes = signal([], ...(ngDevMode ? [{ debugName: "nodes" }] : []));
|
|
314
346
|
this.searchNodes = signal([], ...(ngDevMode ? [{ debugName: "searchNodes" }] : []));
|
|
315
|
-
this.icon = signal('', ...(ngDevMode ? [{ debugName: "icon" }] : []));
|
|
316
347
|
this.iconSpin = signal(false, ...(ngDevMode ? [{ debugName: "iconSpin" }] : []));
|
|
317
348
|
this.animating = signal(false, ...(ngDevMode ? [{ debugName: "animating" }] : []));
|
|
318
349
|
this.valueTplContextSignal = signal({ $node: null, $isValue: true }, ...(ngDevMode ? [{ debugName: "valueTplContextSignal" }] : []));
|
|
319
350
|
this.valueTplContextComputed = computed(() => {
|
|
320
351
|
return this.valueTplContext() ? this.valueTplContext() : this.valueTplContextSignal();
|
|
321
352
|
}, ...(ngDevMode ? [{ debugName: "valueTplContextComputed" }] : []));
|
|
353
|
+
this.widthComputed = computed(() => {
|
|
354
|
+
const inputStyle = this.inputStyle() || {};
|
|
355
|
+
return !!inputStyle?.['width'];
|
|
356
|
+
}, ...(ngDevMode ? [{ debugName: "widthComputed" }] : []));
|
|
322
357
|
this.inputChange = new BehaviorSubject(null);
|
|
323
358
|
this.closeSubject = new Subject();
|
|
324
359
|
this.keydownSubject = new Subject();
|
|
@@ -341,6 +376,7 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
|
341
376
|
effect(() => this.portalComponent()?.setInput('caseSensitive', this.caseSensitive()));
|
|
342
377
|
effect(() => this.portalComponent()?.setInput('inputCom', this.inputCom()));
|
|
343
378
|
effect(() => this.portalComponent()?.setInput('keywordText', this.inputChanged()));
|
|
379
|
+
effect(() => this.portalComponent()?.setInput('portalTemp', this.portalTemp()));
|
|
344
380
|
}
|
|
345
381
|
ngOnInit() {
|
|
346
382
|
this.setSubject();
|
|
@@ -431,10 +467,11 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
|
431
467
|
return;
|
|
432
468
|
this.active.set(true);
|
|
433
469
|
if ((XIsObservable(this.data()) && this.nodes.length === 0) || XIsFunction(this.data())) {
|
|
470
|
+
const beforeIcon = this.icon() || '';
|
|
434
471
|
this.icon.set('fto-loader');
|
|
435
472
|
this.iconSpin.set(true);
|
|
436
473
|
XSetData(this.data(), this.unSubject, true, this.value()).subscribe((x) => {
|
|
437
|
-
this.icon.set(
|
|
474
|
+
this.icon.set(beforeIcon);
|
|
438
475
|
this.iconSpin.set(false);
|
|
439
476
|
this.nodes.set(x);
|
|
440
477
|
this.createPortal();
|
|
@@ -551,10 +588,11 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
|
551
588
|
this.closeSubject.next();
|
|
552
589
|
}
|
|
553
590
|
else {
|
|
591
|
+
const beforeIcon = this.icon() || '';
|
|
554
592
|
this.icon.set('fto-loader');
|
|
555
593
|
this.iconSpin.set(true);
|
|
556
594
|
XSetData(this.data(), this.unSubject, true, value).subscribe((x) => {
|
|
557
|
-
this.icon.set(
|
|
595
|
+
this.icon.set(beforeIcon);
|
|
558
596
|
this.iconSpin.set(false);
|
|
559
597
|
this.nodes.set(x);
|
|
560
598
|
this.searchNodes.set(this.nodes());
|
|
@@ -586,19 +624,29 @@ class XAutoCompleteComponent extends XAutoCompleteProperty {
|
|
|
586
624
|
onKeydown($event) {
|
|
587
625
|
this.keydownSubject.next($event);
|
|
588
626
|
}
|
|
627
|
+
portalClose() {
|
|
628
|
+
this.closeSubject.next();
|
|
629
|
+
}
|
|
630
|
+
portalNodeClick(node) {
|
|
631
|
+
this.onNodeClick(node);
|
|
632
|
+
}
|
|
589
633
|
onInput(_event) {
|
|
590
634
|
this.formControlValidator();
|
|
591
635
|
setTimeout(() => {
|
|
636
|
+
this.searchChange.emit(this.value());
|
|
592
637
|
this.inputChange.next(this.value());
|
|
593
638
|
});
|
|
594
639
|
}
|
|
595
640
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompleteComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
596
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.5", type: XAutoCompleteComponent, isStandalone: true, selector: "x-auto-complete", providers: [XValueAccessor(XAutoCompleteComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, read: XInputComponent, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #autoComplete class=\"x-auto-complete\">\r\n <div class=\"x-auto-complete-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"false\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContextComputed()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [inputStyle]=\"inputStyle()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [variant]=\"variant()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n [(active)]=\"active\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xClick)=\"showPortal()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-auto-complete{display:inline-block;width:12rem}.x-auto-complete{margin:0;padding:0}.x-auto-complete{width:100%}.x-auto-complete x-input{width:100%}.x-auto-complete-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-auto-complete-portal:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
641
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.2.0", version: "20.3.5", type: XAutoCompleteComponent, isStandalone: true, selector: "x-auto-complete", host: { properties: { "style.width": "this.hostWidth" } }, providers: [XValueAccessor(XAutoCompleteComponent)], viewQueries: [{ propertyName: "inputCom", first: true, predicate: ["inputCom"], descendants: true, read: XInputComponent, isSignal: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #autoComplete class=\"x-auto-complete\">\r\n <div class=\"x-auto-complete-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [iconLayout]=\"iconLayout()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"false\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContextComputed()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [inputStyle]=\"inputStyle()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [variant]=\"variant()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n [(active)]=\"active\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xClick)=\"showPortal()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-auto-complete{display:inline-block;width:12rem}.x-auto-complete{margin:0;padding:0}.x-auto-complete{width:100%}.x-auto-complete x-input{width:100%}.x-auto-complete-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-auto-complete-portal:focus{outline:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XInputComponent, selector: "x-input" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
597
642
|
}
|
|
598
643
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompleteComponent, decorators: [{
|
|
599
644
|
type: Component,
|
|
600
|
-
args: [{ selector: `${XAutoCompletePrefix}`, imports: [FormsModule, ReactiveFormsModule, XInputComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XAutoCompleteComponent)], template: "<div #autoComplete class=\"x-auto-complete\">\r\n <div class=\"x-auto-complete-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"false\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContextComputed()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [inputStyle]=\"inputStyle()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [variant]=\"variant()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n [(active)]=\"active\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xClick)=\"showPortal()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-auto-complete{display:inline-block;width:12rem}.x-auto-complete{margin:0;padding:0}.x-auto-complete{width:100%}.x-auto-complete x-input{width:100%}.x-auto-complete-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-auto-complete-portal:focus{outline:none}\n"] }]
|
|
601
|
-
}], ctorParameters: () => [], propDecorators: { inputCom: [{ type: i0.ViewChild, args: ['inputCom', { ...{ read: XInputComponent }, isSignal: true }] }]
|
|
645
|
+
args: [{ selector: `${XAutoCompletePrefix}`, imports: [FormsModule, ReactiveFormsModule, XInputComponent], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XAutoCompleteComponent)], template: "<div #autoComplete class=\"x-auto-complete\">\r\n <div class=\"x-auto-complete-row\">\r\n <x-input\r\n #inputCom\r\n type=\"text\"\r\n [label]=\"label()\"\r\n [labelWidth]=\"labelWidth()\"\r\n [labelAlign]=\"labelAlign()\"\r\n [justify]=\"justify()\"\r\n [align]=\"align()\"\r\n [direction]=\"direction()\"\r\n [disabled]=\"disabledComputed()\"\r\n [required]=\"requiredComputed()\"\r\n [validator]=\"validatorComputed()\"\r\n [inputValidator]=\"inputValidator()\"\r\n [icon]=\"icon()\"\r\n [iconSpin]=\"iconSpin()\"\r\n [iconLayout]=\"iconLayout()\"\r\n [placeholder]=\"placeholder()\"\r\n [readonly]=\"readonly()\"\r\n [clearable]=\"false\"\r\n [(ngModel)]=\"value\"\r\n [valueTpl]=\"valueTpl()\"\r\n [valueTplContext]=\"valueTplContextComputed()\"\r\n [size]=\"size()\"\r\n [bordered]=\"bordered()\"\r\n [inputStyle]=\"inputStyle()\"\r\n [before]=\"before()\"\r\n [after]=\"after()\"\r\n [pattern]=\"patternComputed()\"\r\n [message]=\"messageComputed()\"\r\n [pointer]=\"pointer()\"\r\n [variant]=\"variant()\"\r\n [floatLabel]=\"floatLabel()\"\r\n [floatFixed]=\"floatFixed()\"\r\n [(active)]=\"active\"\r\n (xInput)=\"onInput($event)\"\r\n (xKeydown)=\"onKeydown($event)\"\r\n (xClick)=\"showPortal()\"\r\n ></x-input>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-auto-complete{display:inline-block;width:12rem}.x-auto-complete{margin:0;padding:0}.x-auto-complete{width:100%}.x-auto-complete x-input{width:100%}.x-auto-complete-portal{color:var(--x-text);width:100%;border-radius:var(--x-border-small-radius);box-shadow:var(--x-box-shadow);position:relative;display:flex;background-color:var(--x-background-100);overflow:hidden auto;max-height:calc(calc(var(--x-font-size) + .875rem) * 6 + var(--x-border-width) * 7)}.x-auto-complete-portal:focus{outline:none}\n"] }]
|
|
646
|
+
}], ctorParameters: () => [], propDecorators: { inputCom: [{ type: i0.ViewChild, args: ['inputCom', { ...{ read: XInputComponent }, isSignal: true }] }], hostWidth: [{
|
|
647
|
+
type: HostBinding,
|
|
648
|
+
args: ['style.width']
|
|
649
|
+
}] } });
|
|
602
650
|
|
|
603
651
|
class XAutoCompleteModule {
|
|
604
652
|
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.5", ngImport: i0, type: XAutoCompleteModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|