UNPKG

@bimeister/pupakit.forms

Version:
76 lines (75 loc) 4.27 kB
import { CdkOverlayOrigin, OverlayRef } from '@angular/cdk/overlay'; import { ElementRef, EventEmitter, OnDestroy, TemplateRef } from '@angular/core'; import { NgControl } from '@angular/forms'; import { Nullable } from '@bimeister/utilities'; import { BehaviorSubject, Observable, Subscription } from 'rxjs'; import { SelectStateServiceDeclaration as SelectStateServiceInterface } from '../../../declarations/interfaces/select-state-service-declaration.interface'; import { OnChangeCallback } from '../../../declarations/types/on-change-callback.type'; import { OnTouchedCallback } from '../../../declarations/types/on-touched-callback.type'; import { SelectOuterValue } from '../../../declarations/types/select-outer-value.type'; import { SelectSize } from '../../../declarations/types/select-size.type'; import * as i0 from "@angular/core"; export declare class SelectStateService<T> implements SelectStateServiceInterface<T>, OnDestroy { private readonly document; private readonly currentSerializedValue$; readonly currentValue$: Observable<T[]>; private readonly subscription; private readonly isMultiSelectionEnabled$; private readonly isUnselectionEnabled$; readonly isDisabled$: BehaviorSubject<boolean>; readonly isExpanded$: BehaviorSubject<boolean>; readonly control$: BehaviorSubject<Nullable<NgControl>>; readonly isTouched$: BehaviorSubject<Nullable<boolean>>; readonly isPatched$: BehaviorSubject<Nullable<boolean>>; readonly isValid$: Observable<boolean>; readonly isFilled$: BehaviorSubject<boolean>; readonly withReset$: BehaviorSubject<boolean>; readonly inline$: BehaviorSubject<boolean>; readonly size$: BehaviorSubject<SelectSize>; readonly isTriggerTouched$: BehaviorSubject<boolean>; readonly invalidTooltipHideOnHover$: BehaviorSubject<boolean>; readonly invalidTooltipDisabled$: BehaviorSubject<boolean>; readonly invalidTooltip$: BehaviorSubject<Nullable<string>>; readonly invalidTooltipContentTemplate$: BehaviorSubject<Nullable<TemplateRef<unknown>>>; readonly placeholder$: BehaviorSubject<Nullable<string>>; private readonly onChangeCallback$; private readonly onTouchedCallback$; readonly dropdownOverlayOrigin$: BehaviorSubject<CdkOverlayOrigin>; private readonly dropdownTriggerButton$; readonly dropdownOverlayRef$: BehaviorSubject<OverlayRef>; readonly dropdownTriggerButtonWidthPx$: Observable<number>; readonly resetOutput: EventEmitter<void>; constructor(document: Document); ngOnDestroy(): void; setControlRef(control: NgControl): void; collapse(): void; open(): void; toggleExpansion(): void; defineDropdownTrigger(overlayOrigin: CdkOverlayOrigin, buttonElement: HTMLButtonElement): void; defineDropdownOverlayRef(overlayRef: OverlayRef): void; defineOnChangeCallback(onChange: OnChangeCallback<T[]>): void; defineOnTouchedCallback(onTouched: OnTouchedCallback): void; setMultiSelectionState(isEnabled: boolean): void; setIsTriggerTouchedState(isTriggerTouched: boolean): void; setUnselectionState(isEnabled: boolean): void; setIsPatchedState(isPatched: boolean): void; setPlaceholderState(placeholder: string): void; setWithResetState(withReset: boolean): void; setInlineState(inline: boolean): void; setSizeState(size: SelectSize): void; setInvalidTooltipHideOnHoverState(invalidTooltipHideOnHover: boolean): void; setInvalidTooltipDisabledState(invalidTooltipDisabled: boolean): void; setInvalidTooltipState(invalidTooltip: Nullable<string>): void; setInvalidTooltipContentTemplateState(invalidTooltipContentTemplate: Nullable<TemplateRef<unknown>>): void; setDisabledState(isDisabled: boolean): void; processSelection(value: T): void; setIsFilled(isFilled: boolean): void; isPicked(value: T): Observable<boolean>; setValue(value: SelectOuterValue<T>): void; reset(): void; processFocusInputContainer(inputElement: ElementRef<HTMLInputElement>): Subscription; private listenOutsideEventsForClose; private static getParsedValue; static ɵfac: i0.ɵɵFactoryDeclaration<SelectStateService<any>, never>; static ɵprov: i0.ɵɵInjectableDeclaration<SelectStateService<any>>; }