@bimeister/pupakit.forms
Version:
PupaKit Forms
54 lines (53 loc) • 2.81 kB
TypeScript
import { EventEmitter, OnChanges, OnDestroy, TemplateRef } from '@angular/core';
import { ControlValueAccessor, NgControl } from '@angular/forms';
import { ComponentChanges } from '@bimeister/pupakit.common';
import { Nullable } from '@bimeister/utilities';
import { Observable } from 'rxjs';
import { SelectStateServiceDeclaration } from '../../interfaces/select-state-service-declaration.interface';
import { OnChangeCallback } from '../../types/on-change-callback.type';
import { OnTouchedCallback } from '../../types/on-touched-callback.type';
import { SelectOuterValue } from '../../types/select-outer-value.type';
import { SelectSize } from '../../types/select-size.type';
import * as i0 from "@angular/core";
export declare abstract class SelectBase<T> implements OnChanges, OnDestroy, ControlValueAccessor {
protected readonly selectStateService: SelectStateServiceDeclaration<T>;
abstract isMultiSelectionEnabled: boolean;
abstract isUnselectionEnabled: boolean;
abstract isPatched: boolean;
abstract placeholder: string;
abstract withReset: boolean;
abstract inline: boolean;
abstract size: SelectSize;
invalidTooltipHideOnHover: boolean;
invalidTooltipDisabled: boolean;
invalidTooltip: Nullable<string>;
invalidTooltipContentTemplate: Nullable<TemplateRef<unknown>>;
readonly isTriggerTouched$: Observable<boolean>;
readonly focus: EventEmitter<void>;
readonly blur: EventEmitter<void>;
readonly reset: EventEmitter<void>;
private readonly subscription;
constructor(selectStateService: SelectStateServiceDeclaration<T>, ngControl: NgControl);
protected processCloseEvent(): void;
protected resetIsTriggerTouchedState(): void;
ngOnChanges(changes: ComponentChanges<this>): void;
ngOnDestroy(): void;
writeValue(newValue: SelectOuterValue<T>): void;
registerOnChange(onChange: OnChangeCallback<SelectOuterValue<T>>): void;
registerOnTouched(onTouched: OnTouchedCallback): void;
setDisabledState(isDisabled: boolean): void;
private processIsMultiSelectionEnabledValueChange;
private processIsUnselectionEnabledValueChange;
private processIsPatchedValueChange;
private processPlaceholderValueChange;
private processWithResetChange;
private processInlineChange;
private processSizeChange;
private processInvalidTooltipHideOnHoverChange;
private processInvalidTooltipDisabledChange;
private processInvalidTooltipChange;
private processInvalidTooltipContentTemplateChange;
private handleIsExpandedChangesToEmitFocusEvents;
static ɵfac: i0.ɵɵFactoryDeclaration<SelectBase<any>, never>;
static ɵdir: i0.ɵɵDirectiveDeclaration<SelectBase<any>, never, never, {}, { "focus": "focus"; "blur": "blur"; "reset": "reset"; }, never, never, false>;
}