angular-split
Version:
Angular UI library to split views and allow dragging to resize areas using CSS grid layout.
32 lines (31 loc) • 1.84 kB
TypeScript
import { Signal } from '@angular/core';
import { Observable } from 'rxjs';
export interface ClientPoint {
x: number;
y: number;
}
/**
* Only supporting a single {@link TouchEvent} point
*/
export declare function getPointFromEvent(event: MouseEvent | TouchEvent | KeyboardEvent): ClientPoint;
export declare function gutterEventsEqualWithDelta(startEvent: MouseEvent | TouchEvent, endEvent: MouseEvent | TouchEvent, deltaInPx: number, gutterElement: HTMLElement): boolean;
export declare function fromMouseDownEvent(target: HTMLElement | Document): Observable<MouseEvent | TouchEvent>;
export declare function fromMouseMoveEvent(target: HTMLElement | Document): Observable<MouseEvent | TouchEvent>;
export declare function fromMouseUpEvent(target: HTMLElement | Document, includeTouchCancel?: boolean): Observable<MouseEvent | TouchEvent>;
export declare function sum<T>(array: T[] | readonly T[], fn: (item: T) => number): number;
export declare function toRecord<TItem, TKey extends string, TValue>(array: TItem[] | readonly TItem[], fn: (item: TItem, index: number) => [TKey, TValue]): Record<TKey, TValue>;
export declare function createClassesString(classesRecord: Record<string, boolean>): string;
export interface MirrorSignal<T> {
(): T;
set(value: T): void;
reset(): void;
}
/**
* Creates a semi signal which allows writes but is based on an existing signal
* Whenever the original signal changes the mirror signal gets aligned
* overriding the current value inside.
*/
export declare function mirrorSignal<T>(outer: Signal<T>): MirrorSignal<T>;
export declare function leaveNgZone<T>(): (source: Observable<T>) => Observable<T>;
export declare const numberAttributeWithFallback: (fallback: number) => (value: unknown) => number;
export declare const assertUnreachable: (value: never, name: string) => never;