import { FocusMonitor } from '@angular/cdk/a11y'; import { AfterContentInit, AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, OnInit, QueryList } from '@angular/core'; import { ControlValueAccessor } from '@angular/forms'; import { MixinElementRefBase, ThemePalette, ThemeSize } from '@ngx-simple/core/common-behaviors'; import { OnChangeType, OnTouchedType, SafeAny } from '@ngx-simple/core/types'; export declare class SimButtonToggleChange { /** 发出事件的 SatButtonToggle */ source: SimButtonToggleComponent; /** 分配给 SatButtonToggle 的值 */ value: T; constructor( /** 发出事件的 SatButtonToggle */ source: SimButtonToggleComponent, /** 分配给 SatButtonToggle 的值 */ value: T); } export declare type SimButtonToggleAppearance = 'standard' | 'outline'; export interface SimButtonToggleDefaultOptions { appearance?: SimButtonToggleAppearance; } /** * 注入令牌,可用于配置应用程序中所有切换按钮的默认选项。 */ export declare const SIM_BUTTON_TOGGLE_DEFAULT_OPTIONS: InjectionToken; export declare class SimButtonToggleGroupDirective implements ControlValueAccessor, OnInit, AfterContentInit { private _changeDetector; /** 切换组是否多选模式 */ multiple: boolean; /** 切换组是否垂直显示 */ vertical: boolean; /** 切换组 html name */ get name(): string; set name(value: string); private _name; /** 切换组是否禁用 */ get disabled(): boolean; set disabled(value: boolean); private _disabled; /** 切换组传递给切换按钮外观 */ get appearance(): SimButtonToggleAppearance; set appearance(value: SimButtonToggleAppearance); private _appearance; /** 切换组传递给切换按钮颜色 */ get color(): ThemePalette; set color(value: ThemePalette); private _color; /** 切换组传递给切换按钮尺寸 */ get size(): ThemeSize; set size(value: ThemeSize); private _size; /** 切换组的值 */ get value(): T | T[]; set value(newValue: T | T[]); /** 切换组的值发生更改发出 */ readonly valueChange: EventEmitter; /** 切换按钮状态发生更改发出 */ readonly change: EventEmitter>; /** 获取sim-button-toggle */ _buttonToggles: QueryList>; /** 获取所有选中状态的切换按钮 */ get selected(): SimButtonToggleComponent | SimButtonToggleComponent[]; private _selectionModel; /** 初始化之前的原始值 */ private _rawValue; _controlValueAccessorChangeFn: OnChangeType; _onTouched: OnTouchedType; constructor(_changeDetector: ChangeDetectorRef, defaultOptions?: SimButtonToggleDefaultOptions); ngOnInit(): void; ngAfterContentInit(): void; writeValue(value: any): void; registerOnChange(fn: (value: any) => void): void; registerOnTouched(fn: any): void; setDisabledState(isDisabled: boolean): void; /** 检查切换按钮是否选中状态 */ _isSelected(toggle: SimButtonToggleComponent): boolean; /** 确定是否在init中检查按钮切换 */ _isPrechecked(toggle: SimButtonToggleComponent): boolean; /** 同步切换按钮状态 */ _syncButtonToggle(toggle: SimButtonToggleComponent, select: boolean, isUserInput?: boolean, deferEvents?: boolean): void; _emitChangeEvent(): void; /** 将分组的值与模型同步,并发出变更事件 */ private _updateModelValue; /** 基于值更新组中切换项的选择状态 */ private _setSelectionByValue; /** 清除选定的切换项 */ private _clearSelection; /** 如果有对应于该值的切换,则选择该值。 */ private _selectValue; } declare const _SimButtonToggleMixinBase: import("../../../dist/libs/core/common-behaviors/constructor").Constructor & import("../../../dist/libs/core/common-behaviors/constructor").Constructor & typeof MixinElementRefBase; export declare class SimButtonToggleComponent extends _SimButtonToggleMixinBase implements OnInit, AfterViewInit, OnDestroy { private _changeDetectorRef; private _focusMonitor; appearance: SimButtonToggleAppearance; /** * 按钮主题 */ color: ThemePalette; /** * 按钮尺寸 */ size: ThemeSize; /** 切换按钮的惟一ID */ id: string; /** 切换按钮 html name */ name: string; /** 切换按钮的值 */ value: T; /** 切换按钮绑定任意值 */ data: SafeAny; /** 切换按钮的TabIndex */ tabIndex: number | null; /** 切换按钮是否被选中 */ get checked(): boolean; set checked(value: boolean); private _checked; /** 切换按钮是否被禁用 */ get disabled(): boolean; set disabled(value: boolean); private _disabled; /** 当切换按钮值更改时触发 */ readonly change: EventEmitter>; _buttonElement: ElementRef; get buttonId(): string; private _isSingleSelector; private buttonToggleGroup; constructor(_elementRef: ElementRef, toggleGroup: SimButtonToggleGroupDirective, _changeDetectorRef: ChangeDetectorRef, _focusMonitor: FocusMonitor, defaultTabIndex: string, defaultOptions?: SimButtonToggleDefaultOptions); ngOnInit(): void; ngAfterViewInit(): void; ngOnDestroy(): void; focus(options?: FocusOptions): void; /** 检查与原生按钮交互而导致的按钮切换 */ _onButtonClick(): void; _markForCheck(): void; } export {};