UNPKG

@plait/angular-board

Version:
123 lines (117 loc) 5.37 kB
import * as i0 from '@angular/core'; import { ComponentRef, ChangeDetectorRef, ViewContainerRef, Injector, EventEmitter, OnInit, OnDestroy, OnChanges, AfterViewInit, AfterContentInit, ElementRef, QueryList, NgZone, SimpleChanges } from '@angular/core'; import { RoughSVG } from 'roughjs/bin/svg'; import { Subject } from 'rxjs'; import { PlaitElement, PlaitOperation, Viewport, Selection, PlaitTheme, ComponentType, PlaitBoard, PlaitPlugin, PlaitBoardOptions, ListRender } from '@plait/core'; import { RenderComponentRef } from '@plait/common'; interface AngularBoard { renderComponent: <T, K extends { nativeElement: () => HTMLElement; }>(type: ComponentType<K>, container: Element | DocumentFragment, props: T) => { ref: RenderComponentRef<T>; componentRef: ComponentRef<K>; }; } declare const AngularBoard: { getBoardComponentInjector(board: PlaitBoard): i0.Injector; }; interface OnChangeData { children: PlaitElement[]; operations: PlaitOperation[]; viewport: Viewport; selection: Selection | null; theme: PlaitTheme; } interface BoardComponentInterface { markForCheck: () => void; cdr: ChangeDetectorRef; nativeElement: HTMLElement; viewContainerRef: ViewContainerRef; injector: Injector; onChange: EventEmitter<OnChangeData>; } declare abstract class PlaitIslandBaseComponent { protected cdr: ChangeDetectorRef; board: PlaitBoard; constructor(cdr: ChangeDetectorRef); initialize(board: PlaitBoard): void; markForCheck(): void; static ɵfac: i0.ɵɵFactoryDeclaration<PlaitIslandBaseComponent, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<PlaitIslandBaseComponent, never, never, {}, {}, never, never, false, never>; } declare abstract class PlaitIslandPopoverBaseComponent implements OnInit, OnDestroy { cdr: ChangeDetectorRef; board: PlaitBoard; private subscription?; constructor(cdr: ChangeDetectorRef); initialize(board: PlaitBoard): void; ngOnInit(): void; ngOnDestroy(): void; /** * use islandOnInit replace ngOnInit to avoid ngOnInit being overridden */ abstract islandOnInit(): void; /** * use islandOnDestroy replace ngOnDestroy to avoid ngOnDestroy being overridden */ abstract islandOnDestroy(): void; static ɵfac: i0.ɵɵFactoryDeclaration<PlaitIslandPopoverBaseComponent, never>; static ɵdir: i0.ɵɵDirectiveDeclaration<PlaitIslandPopoverBaseComponent, never, never, { "board": { "alias": "board"; "required": false; }; }, {}, never, never, false, never>; } interface OnBoardChange { onBoardChange: () => void; } declare const hasOnBoardChange: (value: any) => value is OnBoardChange; declare class PlaitBoardComponent implements BoardComponentInterface, OnInit, OnChanges, AfterViewInit, AfterContentInit, OnDestroy { cdr: ChangeDetectorRef; injector: Injector; viewContainerRef: ViewContainerRef; private elementRef; private ngZone; hasInitialized: boolean; board: PlaitBoard; roughSVG: RoughSVG; destroy$: Subject<void>; private resizeObserver; plaitValue: PlaitElement[]; plaitViewport: Viewport; plaitPlugins: PlaitPlugin[]; plaitOptions?: PlaitBoardOptions; plaitTheme?: PlaitTheme; onChange: EventEmitter<OnChangeData>; plaitBoardInitialized: EventEmitter<PlaitBoard>; get host(): SVGSVGElement; get hostClass(): string; getBrowserClassName(): "safari" | "chrome" | "firefox" | ""; get readonly(): boolean | undefined; get isFocused(): boolean; get disabledScrollOnNonFocus(): boolean | undefined; get nativeElement(): HTMLElement; svg: ElementRef; activeHostG: i0.Signal<ElementRef<any> | undefined>; viewportContainer: ElementRef; islands?: QueryList<PlaitIslandBaseComponent>; listRender: ListRender; constructor(cdr: ChangeDetectorRef, injector: Injector, viewContainerRef: ViewContainerRef, elementRef: ElementRef<HTMLElement>, ngZone: NgZone); ngOnInit(): void; ngAfterContentInit(): void; ngOnChanges(changes: SimpleChanges): void; ngAfterViewInit(): void; private initializePlugins; private initializeHookListener; private initializeListRender; private updateListRender; private initializeChildrenContext; private viewportScrollListener; private elementResizeListener; private initializeIslands; private updateIslands; private wheelZoomListener; trackBy: (index: number, element: PlaitElement) => string; ngOnDestroy(): void; markForCheck(): void; static ɵfac: i0.ɵɵFactoryDeclaration<PlaitBoardComponent, never>; static ɵcmp: i0.ɵɵComponentDeclaration<PlaitBoardComponent, "plait-board", never, { "plaitValue": { "alias": "plaitValue"; "required": false; }; "plaitViewport": { "alias": "plaitViewport"; "required": false; }; "plaitPlugins": { "alias": "plaitPlugins"; "required": false; }; "plaitOptions": { "alias": "plaitOptions"; "required": false; }; "plaitTheme": { "alias": "plaitTheme"; "required": false; }; }, { "onChange": "onChange"; "plaitBoardInitialized": "plaitBoardInitialized"; }, ["islands"], ["*"], true, never>; } export { AngularBoard, PlaitBoardComponent, PlaitIslandBaseComponent, PlaitIslandPopoverBaseComponent, hasOnBoardChange }; export type { BoardComponentInterface, OnBoardChange, OnChangeData };