import * as _angular_core from '@angular/core'; import { TemplateRef, ElementRef, OnChanges, QueryList, SimpleChanges, InjectionToken, OnDestroy } from '@angular/core'; import * as rxjs from 'rxjs'; import { Subscription } from 'rxjs'; import * as _ng_nest_ui_core from '@ng-nest/ui/core'; import { XBoolean, XTemplate, XNumber, XSize, XData, XParentIdentityProperty, XStyle } from '@ng-nest/ui/core'; import { CdkDragDrop, CdkDropList, CdkDrag } from '@angular/cdk/drag-drop'; import { Highlightable, ActiveDescendantKeyManager } from '@angular/cdk/a11y'; import { XI18nList } from '@ng-nest/ui/i18n'; import { CdkVirtualScrollViewport } from '@angular/cdk/scrolling'; /** * List * @selector x-list * @decorator component */ declare const XListPrefix = "x-list"; declare const XListProperty_base: new () => { config: _ng_nest_ui_core.XListConfig | undefined; cdr: _angular_core.ChangeDetectorRef; invalid: _angular_core.Signal; invalidPattern: _angular_core.Signal; requiredIsEmpty: _angular_core.Signal; invalidMessage: _angular_core.Signal; value: _angular_core.WritableSignal; valueObservable: rxjs.Observable; validatorSignal: _angular_core.WritableSignal; disabledSignal: _angular_core.WritableSignal; requiredSignal: _angular_core.WritableSignal; patternSignal: _angular_core.WritableSignal; messageSignal: _angular_core.WritableSignal; requiredComputed: _angular_core.Signal; disabledComputed: _angular_core.Signal; validatorComputed: _angular_core.Signal; patternComputed: _angular_core.Signal; messageComputed: _angular_core.Signal; invalidInputValidator: _angular_core.WritableSignal; onChange: (value: any) => void; onTouched: () => void; writeValue(value: any): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: () => void): void; setDisabledState(disabled: boolean): void; formControlValidator(): void; readonly validator: _angular_core.InputSignalWithTransform; readonly label: _angular_core.InputSignal; readonly labelWidth: _angular_core.InputSignalWithTransform; readonly labelAlign: _angular_core.InputSignal<_ng_nest_ui_core.XAlign>; readonly justify: _angular_core.InputSignal<_ng_nest_ui_core.XJustify>; readonly align: _angular_core.InputSignal<_ng_nest_ui_core.XAlign>; readonly direction: _angular_core.InputSignal<_ng_nest_ui_core.XDirection>; readonly size: _angular_core.InputSignal; readonly placeholder: _angular_core.InputSignal; readonly disabled: _angular_core.InputSignalWithTransform; readonly required: _angular_core.InputSignalWithTransform; readonly readonly: _angular_core.InputSignalWithTransform; readonly valueTpl: _angular_core.InputSignal | undefined>; readonly valueTplContext: _angular_core.InputSignal; readonly before: _angular_core.InputSignal; readonly after: _angular_core.InputSignal; readonly pattern: _angular_core.InputSignal; readonly message: _angular_core.InputSignal; readonly active: _angular_core.ModelSignal; readonly pointer: _angular_core.InputSignalWithTransform; readonly inputValidator: _angular_core.InputSignal<((value: any) => boolean) | undefined>; }; /** * List Property */ declare class XListProperty extends XListProperty_base { /** * @zh_CN 列表数据 * @en_US List data */ readonly data: _angular_core.InputSignal>; /** * @zh_CN 多选个数,设置为0,不限制选择个数 * @en_US Multiple choice */ readonly multiple: _angular_core.InputSignalWithTransform; /** * @zh_CN 多选添加全选功能,适用于 multiple=0 * @en_US Multi choice to add full selection function */ readonly selectAll: _angular_core.InputSignalWithTransform; /** * @zh_CN 全选的文字 * @en_US Selected all text * @default '全选' */ readonly selectAllText: _angular_core.InputSignal; /** * @zh_CN 选中 * @en_US Selected */ readonly checked: _angular_core.InputSignalWithTransform; /** * @zh_CN 拖动 * @en_US Drag */ readonly drag: _angular_core.InputSignalWithTransform; /** * @zh_CN 当开启多选的时候,ngModel 的值为对象数组 * @en_US When multiple selection is enabled, the value of ngmodel is an array of objects */ readonly objectArray: _angular_core.InputSignalWithTransform; /** * @zh_CN 节点模板 * @en_US Node template */ readonly nodeTpl: _angular_core.InputSignal | undefined>; /** * @zh_CN 节点样式 * @en_US Node style */ readonly nodeStyle: _angular_core.InputSignal; /** * @zh_CN 分组模板 * @en_US Group template */ readonly groupTpl: _angular_core.InputSignal | undefined>; /** * @zh_CN 列表头部 * @en_US List header */ readonly header: _angular_core.InputSignal; /** * @zh_CN 列表底部 * @en_US List footer */ readonly footer: _angular_core.InputSignal; /** * @zh_CN 滚动区域元素 * @en_US Rolling area element */ readonly scrollElement: _angular_core.InputSignal; /** * @zh_CN 是否使用键盘控制 * @en_US Whether to use keyboard control */ readonly isKeyboardControlled: _angular_core.InputSignalWithTransform; /** * @zh_CN 加载更多 * @en_US load more */ readonly loadMore: _angular_core.InputSignalWithTransform; /** * @zh_CN 加载更多的文字 * @en_US Load more text * @default '加载更多' */ readonly loadMoreText: _angular_core.InputSignal; /** * @zh_CN 正在加载中的文字 * @en_US Loading * @default '正在加载中' */ readonly loadingMoreText: _angular_core.InputSignal; /** * @zh_CN 开启虚拟滚动,不支持节点拖动功能 * @en_US Turn on virtual scrolling */ readonly virtualScroll: _angular_core.InputSignalWithTransform; /** * @zh_CN 虚拟滚动高度, 实际会去掉头尾、全选、更多的高度 * @en_US The virtual rolling height will actually remove the head and end, the full selection, more height */ readonly scrollHeight: _angular_core.InputSignalWithTransform; /** * @zh_CN 虚拟滚动高度自适应指定元素 * @en_US virtual rolling height follows the specified object */ readonly heightAdaption: _angular_core.InputSignal | undefined>; /** * @zh_CN 超出可视窗口缓冲区的最小值,对应 cdk scroll 中的参数 * @en_US Exceed the minimum value of the visible window buffer, corresponding to the parameters in cdk scroll */ readonly minBufferPx: _angular_core.InputSignalWithTransform; /** * @zh_CN 渲染新数据缓冲区的像素,对应 cdk scroll 中的参数 * @en_US Render the pixels of the new data buffer, corresponding to the parameters in cdk scroll */ readonly maxBufferPx: _angular_core.InputSignalWithTransform; /** * @zh_CN 关键字高亮 * @en_US Keyword highlighting */ readonly keywordText: _angular_core.InputSignal; /** * @zh_CN 匹配关键字区分大小写 * @en_US Case-sensitive */ readonly caseSensitive: _angular_core.InputSignalWithTransform; /** * @zh_CN 在弹框中选择时的样式,根据尺寸来决定 * @en_US The style selected in the pop-up box is determined by size */ readonly inPortal: _angular_core.InputSignalWithTransform; /** * @zh_CN Full event * @en_US 全选事件 */ readonly onSelectAll: _angular_core.OutputEmitterRef; /** * @zh_CN 节点 mouseenter 事件 * @en_US Node mouseenter event */ readonly nodeMouseenter: _angular_core.OutputEmitterRef; /** * @zh_CN 节点 mouseleave 事件 * @en_US Node mouseleave event */ readonly nodeMouseleave: _angular_core.OutputEmitterRef; /** * @zh_CN 节点点击事件 * @en_US Node click event */ readonly nodeClick: _angular_core.OutputEmitterRef; /** * @zh_CN 拖动结束事件 * @en_US Drag the end */ readonly dropListDropped: _angular_core.OutputEmitterRef; /** * @zh_CN Tab out 事件 * @en_US Tab Out event */ readonly keyManagerTabOut: _angular_core.OutputEmitterRef; /** * @zh_CN Tab out 事件 * @en_US Tab Out event */ readonly keyManagerChange: _angular_core.OutputEmitterRef; /** * @zh_CN 尺寸 * @en_US Size */ readonly size: _angular_core.InputSignal; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN List 数据对象 * @en_US List data object */ interface XListNode extends XParentIdentityProperty { /** * @zh_CN 图标 * @en_US Iicon */ icon?: string; /** * @zh_CN 分割线 * @en_US Split line */ divided?: boolean; /** * @zh_CN 事件 * @en_US Event */ event?: Event; /** * @zh_CN 悬停 * @en_US Hover */ hover?: boolean; /** * @zh_CN 节点样式 * @en_US Node style */ style?: XStyle; /** * @zh_CN 打开弹框 * @en_US open portal */ openPortal?: boolean; /** * @zh_CN 激活 * @en_US Active */ active?: boolean; /** * @zh_CN 检查更新 * @en_US Check for updates */ change?: Function; /** * @zh_CN 分组名称 * @en_US Group name */ group?: boolean; /** * @zh_CN 是否是分组节点 * @en_US Group node */ groupable?: boolean; /** * @zh_CN 对应的节点组件 * @en_US List option component */ component?: XListOptionHandle; } /** * @zh_CN 对应的节点组件 * @en_US List option component */ type XListOptionHandle = { setActiveStyles(): void; setInactiveStyles(): void; getLabel(): string; getElementRef(): ElementRef; }; /** * List Option * @selector x-list-option * @decorator component */ declare const XListOptionPrefix = "x-list-option"; /** * List Option Property */ declare class XListOptionProperty { /** * @zh_CN 节点参数 * @en_US Node param */ readonly node: _angular_core.InputSignal; /** * @zh_CN 选中 * @en_US Selected */ readonly checked: _angular_core.InputSignalWithTransform; /** * @zh_CN 节点模板 * @en_US Node template */ readonly nodeTpl: _angular_core.InputSignal | undefined>; /** * @zh_CN 节点样式 * @en_US Node style */ readonly nodeStyle: _angular_core.InputSignal; /** * @zh_CN 分组模板 * @en_US Group template */ readonly groupTpl: _angular_core.InputSignal | undefined>; /** * @zh_CN 选中 * @en_US selected */ readonly selected: _angular_core.InputSignalWithTransform; /** * @zh_CN 分组节点 * @en_US Group node */ readonly groupable: _angular_core.InputSignalWithTransform; /** * @zh_CN 禁用 * @en_US forbidden */ readonly forbidden: _angular_core.InputSignalWithTransform; /** * @zh_CN 激活 * @en_US active */ readonly active: _angular_core.ModelSignal; /** * @zh_CN 打开弹框 * @en_US open portal */ readonly openPortal: _angular_core.InputSignalWithTransform; /** * @zh_CN 自定义数据对象样式 * @en_US Customize data object styles */ readonly optionClass: _angular_core.InputSignal<((node: XListNode) => { [className: string]: boolean; }) | undefined>; /** * @zh_CN 图标 * @en_US icon */ readonly icon: _angular_core.InputSignal; /** * @zh_CN 分割线 * @en_US Split line */ readonly divided: _angular_core.InputSignalWithTransform; /** * @zh_CN 标签 * @en_US label */ readonly label: _angular_core.InputSignal; /** * @zh_CN 叶子节点 * @en_US leaf */ readonly leaf: _angular_core.InputSignalWithTransform; /** * @zh_CN 尺寸 * @en_US Size */ readonly size: _angular_core.InputSignal; /** * @zh_CN 关键字高亮 * @en_US Keyword highlighting */ readonly keywordText: _angular_core.InputSignal; /** * @zh_CN 匹配关键字区分大小写 * @en_US Case-sensitive */ readonly caseSensitive: _angular_core.InputSignalWithTransform; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN 拖动相关的数据 * @en_US Drag related data */ type XListDragDrop = { /** * @zh_CN 节点数据集合 * @en_US Node data collection */ data: XListNode[]; /** * @zh_CN 当前拖动节点 * @en_US The current drag nodes */ current: XListNode; /** * @zh_CN 当前拖动节点的索引 * @en_US The current drag index of the node */ currentIndex: number; /** * @zh_CN 当前拖动节点事件 * @en_US The current drag nodes event */ event: CdkDragDrop; }; declare class XListOptionComponent extends XListOptionProperty implements Highlightable, XListOptionHandle { role: string; elementRef: ElementRef; classMap: _angular_core.Signal<{}>; disabled: boolean; nodeStyleComputed: _angular_core.Signal<{ [x: string]: any; }>; constructor(); ngOnDestroy(): void; setActiveStyles(): void; setInactiveStyles(): void; getLabel(): string; getElementRef(): ElementRef; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XListComponent extends XListProperty implements OnChanges { private unSubject; private i18n; private listDropGroup; nodes: _angular_core.WritableSignal; selectedNodes: _angular_core.WritableSignal; headerRef: _angular_core.Signal | undefined>; footerRef: _angular_core.Signal | undefined>; selectAllRef: _angular_core.Signal | undefined>; loadMoreRef: _angular_core.Signal | undefined>; virtualBody: _angular_core.Signal; dropList: _angular_core.Signal | undefined>; options: QueryList; keyManager: ActiveDescendantKeyManager; isSelectAll: _angular_core.WritableSignal; locale: _angular_core.Signal; loadMoreIndex: _angular_core.WritableSignal; icon: _angular_core.WritableSignal; iconSpin: _angular_core.WritableSignal; scrollHeightSignal: _angular_core.WritableSignal; classMap: _angular_core.Signal<{ [x: string]: boolean; "x-list-group": boolean; }>; sizeChange: Subscription | null; activeNode: _angular_core.WritableSignal; private resizeObserver; role: string; tabindex: number; keydown($event: KeyboardEvent): void; groupable: _angular_core.Signal; itemSizeMap: { [key: string]: number; }; itemSize: _angular_core.Signal; isEmpty: _angular_core.Signal; getSelectAllText: _angular_core.Signal; getLoadMoreText: _angular_core.Signal; getLoadingMoreText: _angular_core.Signal; getVirtualScrollHeight(): number; writeValue(value: any): void; constructor(); ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; setHeightAdaption(): void; minBufferPxSignal: _angular_core.Signal; maxBufferPxSignal: _angular_core.Signal; ngOnDestroy(): void; private setVirtualScrollHeight; private setData; private initKeyManager; private setGroup; setScorllTop(_num: number): void; setSelected(): void; setKeyManager(): void; onNodeClick(event: Event, node: XListNode): void; onMouseenter(event: Event, node: XListNode): void; onMouseleave(event: Event, node: XListNode): void; dropCdk(event: CdkDragDrop): void; predicate(_drag: CdkDrag, _drop: CdkDropList): boolean; onSelectAllNodes(): void; onLoadMore(): void; trackByNode(_index: number, item: XListNode): any; setUnActive(num: number): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare const X_LIST_DROP_GROUP: InjectionToken; declare class XListDropGroup implements OnDestroy { readonly dropLists: Set>; disabled: _angular_core.InputSignalWithTransform; setConnectedTo(): void; ngOnDestroy(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵdir: _angular_core.ɵɵDirectiveDeclaration; } declare class XListModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { XListComponent, XListDropGroup, XListModule, XListOptionComponent, XListOptionPrefix, XListOptionProperty, XListPrefix, XListProperty, X_LIST_DROP_GROUP }; export type { XListDragDrop, XListNode, XListOptionHandle };