@teaui/core
Version:
A high-level terminal UI library for Node
29 lines (28 loc) • 1.11 kB
TypeScript
import type { Viewport } from '../Viewport.js';
import { type Props as ViewProps } from '../View.js';
import { Container } from '../Container.js';
import { Size } from '../geometry.js';
export type Location = 'top-left' | 'top-center' | 'top-right' | 'left' | 'center' | 'right' | 'bottom-left' | 'bottom-center' | 'bottom-right';
interface Props extends ViewProps {
location?: Location;
children?: import('../View.js').View[];
child?: import('../View.js').View;
}
/**
* Overlays children on top of each other. Each child receives the full
* available size. Children are rendered in order, so later children appear
* above earlier ones.
*
* When `align` is set, each child is positioned at the specified alignment
* within the available space, and the ZStack takes up all available space.
*/
export declare class ZStack extends Container {
#private;
constructor(props?: Props);
get align(): Location | undefined;
set align(value: Location | undefined);
update(props: Props): void;
naturalSize(available: Size): Size;
render(viewport: Viewport): void;
}
export {};