/** * This file gathers views related to navigation. */ import { ChildrenLike, VirtualDOM, CSSAttribute, AnyVirtualDOM, AttributeLike } from '@youwol/rx-vdom'; import { Router } from '../router'; import { NavNodeBase } from '../navigation.node'; import { BehaviorSubject, Observable } from 'rxjs'; import { DisplayMode } from './default-layout.view'; export declare class HandlerView implements VirtualDOM<'div'> { readonly node: NavNodeBase; readonly expandedNodes$: BehaviorSubject; readonly tag = "div"; readonly class = "mkdocs-HandlerView d-flex flex-column justify-content-center text-center rounded-circle mkdocs-ts-expand-nav-node mkdocs-hover-bg-1"; readonly style: { width: string; height: string; fontSize: string; }; readonly onclick: (ev: MouseEvent) => void; readonly children: ChildrenLike; constructor(params: { node: NavNodeBase; expandedNodes$: BehaviorSubject; }); } export declare class NavigationHeader implements VirtualDOM<'a'> { static DefaultWrapperClass: string; readonly tag = "a"; readonly href: string; readonly class: AttributeLike; readonly children: ChildrenLike; readonly style: CSSAttribute; readonly onclick: (e: MouseEvent) => void; constructor({ node, router, withChildren, }: { node: NavNodeBase; router: Router; withChildren?: AnyVirtualDOM[]; }); } /** * The 'regular' navigation view (when the screen size is large enough). */ export declare class NavigationView implements VirtualDOM<'div'> { readonly router: Router; readonly tag = "div"; readonly class = "mkdocs-NavigationView h-100 w-100 mkdocs-thin-v-scroller"; readonly children: ChildrenLike; constructor(params: { router: Router; }); } /** * The 'collapsed' navigation view (when the screen size is not large enough). * * It can be either in a state 'expanded' (the modal is displayed on the left, see {@link ExpandedNavigationView}), * or not (only the drop-down button to expand the modal is visible). */ export declare class ModalNavigationView implements VirtualDOM<'div'> { readonly router: Router; readonly tag = "div"; readonly children: ChildrenLike; readonly class = "mkdocs-ModalNavigationView"; /** * Wether the modal is expanded or not. */ readonly expanded$: BehaviorSubject; readonly displayModeToc$: Observable; constructor(params: { router: Router; displayModeToc$: Observable; footer?: AnyVirtualDOM; }); } /** * The modal navigation view when expanded. */ export declare class ExpandedNavigationView implements VirtualDOM<'div'> { static menuWidth: string; readonly router: Router; readonly tag = "div"; readonly class = "mkdocs-ExpandedNavigationView h-100 w-100 border"; readonly children: ChildrenLike; readonly style: { top: string; left: string; position: "absolute"; backgroundColor: string; zIndex: number; transition: string; }; readonly displayModeToc$: Observable; readonly onclick: (elem: MouseEvent) => void; readonly connectedCallback: (elem: HTMLElement) => void; constructor(params: { router: Router; collapse: () => void; displayModeToc$: Observable; footer?: AnyVirtualDOM; }); } /** * The part of {@link ExpandedNavigationView} that allows to navigate back to parent. */ export declare class ModalNavParentView implements VirtualDOM<'div'> { readonly router: Router; readonly node: NavNodeBase; readonly tag = "div"; readonly class = "mkdocs-ModalNavParentView w-100 py-3 border px-2 bg-light text-dark"; readonly style: { position: "sticky"; top: string; }; readonly children: ChildrenLike; readonly displayModeToc$: Observable; constructor(params: { router: Router; node: NavNodeBase; displayModeToc$: Observable; }); } /** * The part of {@link ExpandedNavigationView} that allows to navigate forward to children. */ export declare class ModalNavChildrenView implements VirtualDOM<'div'> { readonly router: Router; readonly node: NavNodeBase; readonly tag = "div"; readonly class = "mkdocs-ModalNavChildrenView"; readonly children: ChildrenLike; constructor(params: { router: Router; node: NavNodeBase; }); } /** * The TOC with the {@link ExpandedNavigationView} if it can not be displayed as standalone entity on screen. */ export declare class ModalTocView implements VirtualDOM<'div'> { readonly tag = "div"; readonly children: ChildrenLike; readonly router: Router; readonly class = "mkdocs-ModalTocView"; readonly expanded$: BehaviorSubject; constructor(params: { router: Router; }); }