@difizen/mana-core
Version:
48 lines • 2.3 kB
TypeScript
import { Disposable } from '@difizen/mana-common';
import * as React from 'react';
import { BaseView } from './default-view';
import { NavigatableView } from './navigatable-types';
import { renderNode } from './utils';
import { ViewManager } from './view-manager';
import type { SlotView, StatefulView, ViewOpenOption, ViewComponent, SlotViewOption, View } from './view-protocol';
export declare const DefaultSlotViewId = "default-slot-view";
export declare const DefaultSlotViewComponent: React.FC;
type NavigateHistory = {
uri: string;
view: NavigatableView;
openOptions?: ViewOpenOption | undefined;
}[];
export declare class DefaultSlotView extends BaseView implements SlotView, StatefulView {
protected viewOpenOptions: Map<View, ViewOpenOption | undefined>;
protected viewRemoveDispose: Map<View, Disposable>;
children: View[];
active?: View | undefined;
get onActiveChange(): import("@difizen/mana-common").Event<any>;
slots: string[];
protected navigatable: boolean;
protected navigateHistory: NavigateHistory;
protected sort?: boolean | undefined;
protected option: SlotViewOption | undefined;
protected viewManager: ViewManager;
label: React.ReactNode | string;
view: ViewComponent;
constructor(option: SlotViewOption | undefined, viewManager: ViewManager);
storeState(): Record<string, any> | undefined;
restoreState(oldState: Record<string, any>): void;
contains(instanceOrId: View | string): boolean;
addView(viewInstance: View, option?: ViewOpenOption): Promise<Disposable>;
protected compare(a: View, b: View): number;
protected doRemoveView(viewInstance: View): void;
removeView(viewInstance: View): void;
protected handleViewOpen(instance: View, option?: ViewOpenOption): void;
handleNavigatePush(viewInstance: View, openOptions?: ViewOpenOption): void;
handleNavigateRevert(viewInstance: View): void;
protected setViewOption(instance: View, option?: ViewOpenOption): void;
getViewOption(child: View): ViewOpenOption | undefined;
dispose(): void;
protected renderTitleIcon: typeof renderNode;
protected renderTitleLabel: typeof renderNode;
}
export declare const BaseSlotView: typeof DefaultSlotView;
export {};
//# sourceMappingURL=default-slot-view.d.ts.map