import { AnyVirtualDOM, ChildrenLike, VirtualDOM } from '@youwol/rx-vdom'; /** * Type definition for the arguments to create a {@link ViewPortOnlyLayout}. */ export type ViewPortOnlyArguments = { /** * Content of the layout. */ content: AnyVirtualDOM; }; /** * Function to create a {@link ViewPortOnlyLayout}. * * @param params Arguments */ export declare function viewPortOnly(params: ViewPortOnlyArguments): ViewPortOnlyLayout; /** * A layout that displays its content only when it is in the viewport. * * * const content = { * tag:'div', * class: 'p-2 w-100 h-100 bg-light border rounded', * innerText: 'Main Content', * connectedCallback: () => alert("viewPortOnly layout added"), * disconnectedCallback: () => alert("viewPortOnly layout removed"), * } * display(Views.Layouts.viewPortOnly({content})) * */ export declare class ViewPortOnlyLayout implements VirtualDOM<'div'> { readonly tag = "div"; readonly style: import("@youwol/rx-vdom").CSSAttribute; readonly children: ChildrenLike; readonly content: AnyVirtualDOM; readonly connectedCallback: (element: HTMLElement) => void; /** * Creates an instance of ViewPortOnlyLayout. * * @param params Arguments */ constructor(params: ViewPortOnlyArguments); }