import * as _angular_core from '@angular/core'; import { TemplateRef, ElementRef } from '@angular/core'; import * as rxjs from 'rxjs'; import * as _ng_nest_ui_core from '@ng-nest/ui/core'; import { XBoolean, XTemplate, XNumber, XAlign, XJustify, XDirection } from '@ng-nest/ui/core'; import { XFormOption } from '@ng-nest/ui/base-form'; /** * Rate * @selector x-rate * @decorator component */ declare const XRatePrefix = "x-rate"; declare const XRateProperty_base: new () => { config: _ng_nest_ui_core.XRateConfig | 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; readonly justify: _angular_core.InputSignal; readonly align: _angular_core.InputSignal; readonly direction: _angular_core.InputSignal; readonly size: _angular_core.InputSignal<_ng_nest_ui_core.XSize>; 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>; }; /** * Rate Property */ declare class XRateProperty extends XRateProperty_base { /** * @zh_CN 评分个数 * @en_US Number of ratings */ readonly count: _angular_core.InputSignalWithTransform; /** * @zh_CN 半星模式 * @en_US Number of ratings */ readonly half: _angular_core.InputSignalWithTransform; /** * @zh_CN 颜色 * @en_US Color */ readonly color: _angular_core.InputSignal; /** * @zh_CN 自定义模板 * @en_US Custom template */ readonly customTemp: _angular_core.InputSignal | undefined>; /** * @zh_CN 标签 * @en_US Label */ readonly label: _angular_core.InputSignal; /** * @zh_CN 标签宽度 * @en_US Label width */ readonly labelWidth: _angular_core.InputSignalWithTransform; /** * @zh_CN 标签文字对齐方式 * @en_US Label text alignment method */ readonly labelAlign: _angular_core.InputSignal; /** * @zh_CN flex 布局下的子元素水平排列方式 * @en_US The level of sub-element level arrangement under flex layout */ readonly justify: _angular_core.InputSignal; /** * @zh_CN flex 布局下的子元素垂直排列方式 * @en_US sub-element vertical arrangement method under flex layout */ readonly align: _angular_core.InputSignal; /** * @zh_CN flex 布局下的子元素排列方向 * @en_US The direction of the sub-element arrangement under flex layout */ readonly direction: _angular_core.InputSignal; /** * @zh_CN 禁用 * @en_US Disabled */ readonly disabled: _angular_core.InputSignalWithTransform; /** * @zh_CN 必填 * @en_US Required */ readonly required: _angular_core.InputSignalWithTransform; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } /** * @zh_CN 颜色类型 * @en_US Color type */ type XRateColor = string | { [color: string]: (rate: number) => boolean; }; /** * Rate Option */ interface XRateOption extends XFormOption { /** * @zh_CN 评分个数 * @en_US Number of ratings */ count?: number; /** * @zh_CN 半星模式 * @en_US Number of ratings */ half?: boolean; /** * @zh_CN 颜色 * @en_US Color */ color?: XRateColor; /** * @zh_CN 自定义模板 * @en_US Custom template */ customTemp?: TemplateRef; /** * @zh_CN 标签 * @en_US Label */ label?: string; /** * @zh_CN 标签宽度 * @en_US Label width */ labelWidth?: string; /** * @zh_CN 标签文字对齐方式 * @en_US Label text alignment method */ labelAlign?: XAlign; /** * @zh_CN flex 布局下的子元素水平排列方式 * @en_US The level of sub-element level arrangement under flex layout */ justify?: XJustify; /** * @zh_CN flex 布局下的子元素垂直排列方式 * @en_US sub-element vertical arrangement method under flex layout */ align?: XAlign; /** * @zh_CN flex 布局下的子元素排列方向 * @en_US The direction of the sub-element arrangement under flex layout */ direction?: XDirection; /** * @zh_CN 禁用 * @en_US Disabled */ disabled?: boolean; /** * @zh_CN 必填 * @en_US Required */ required?: boolean; } declare class XRateComponent extends XRateProperty { rate: _angular_core.Signal>; rates: _angular_core.Signal; hoverActivated: _angular_core.WritableSignal; hoverHalfActivated: _angular_core.WritableSignal; getColor: _angular_core.Signal; classMap: _angular_core.Signal<{ [x: string]: boolean; }>; labelMapSignal: _angular_core.Signal<{ [x: string]: boolean; }>; requiredIsEmpty: _angular_core.Signal; writeValue(value: any): void; rateHover(rate: number, _event: MouseEvent): void; leaveRates(): void; rateClick(rate: number, _event: MouseEvent): void; rateHalfHover(rate: number, _event: MouseEvent): void; rateHalfClick(rate: number, _event: MouseEvent): void; formControlChanges(): void; static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵcmp: _angular_core.ɵɵComponentDeclaration; } declare class XRateModule { static ɵfac: _angular_core.ɵɵFactoryDeclaration; static ɵmod: _angular_core.ɵɵNgModuleDeclaration; static ɵinj: _angular_core.ɵɵInjectorDeclaration; } export { XRateComponent, XRateModule, XRatePrefix, XRateProperty }; export type { XRateColor, XRateOption };