/** @packageDocumentation * @module Widget */ import "./Stacked.scss"; import * as React from "react"; import { CommonProps, NoChildrenProps, RectangleProps } from "@bentley/ui-core"; import { DisabledResizeHandles } from "../utilities/DisabledResizeHandles"; /** Available [[Stacked]] widget horizontal anchors. * @beta */ export declare enum HorizontalAnchor { Left = 0, Right = 1 } /** Available [[Stacked]] widget vertical anchors. * @beta */ export declare enum VerticalAnchor { Bottom = 0, BottomPanel = 1, Middle = 2, TopPanel = 3 } /** Available resize handles of rectangular widget. * @beta */ export declare enum ResizeHandle { Left = 0, Top = 1, Right = 2, Bottom = 3 } /** Helpers for [[HorizontalAnchor]]. * @internal */ export declare class HorizontalAnchorHelpers { /** Class name of [[HorizontalAnchor.Left]] */ static readonly LEFT_CLASS_NAME = "nz-left-anchor"; /** Class name of [[HorizontalAnchor.Right]] */ static readonly RIGHT_CLASS_NAME = "nz-right-anchor"; /** @returns Class name of specified [[HorizontalAnchor]] */ static getCssClassName(anchor: HorizontalAnchor): string; } /** Helpers for [[VerticalAnchor]]. * @internal */ export declare class VerticalAnchorHelpers { /** Class name of [[VerticalAnchor.Bottom]] */ static readonly BOTTOM_CLASS_NAME = "nz-bottom-anchor"; /** Class name of [[VerticalAnchor.Bottom]] */ static readonly BOTTOM_PANEL_CLASS_NAME = "nz-bottom-panel-anchor"; /** Class name of [[VerticalAnchor.Middle]] */ static readonly MIDDLE_CLASS_NAME = "nz-middle-anchor"; /** Class name of [[VerticalAnchor.Bottom]] */ static readonly TOP_PANEL_CLASS_NAME = "nz-top-panel-anchor"; /** @returns Class name of specified [[VerticalAnchor]] */ static getCssClassName(anchor: VerticalAnchor): string; /** @returns Returns true if [[VerticalAnchor]] defines horizontal stacked widget. */ static isHorizontal(anchor: VerticalAnchor): boolean; } /** Properties of [[Stacked]] component. * @alpha */ export interface StackedProps extends CommonProps, NoChildrenProps { /** Content of this widget. I.e. [[WidgetContent]] */ content?: React.ReactNode; /** Content ref of this widget. */ contentRef?: React.Ref; /** Describes disabled resize handles. */ disabledResizeHandles?: DisabledResizeHandles; /** Describes if the widget should fill the zone. */ fillZone?: boolean; /** Describes to which side the widget is horizontally anchored. */ horizontalAnchor: HorizontalAnchor; /** Describes if the widget is in collapsed stage panel. */ isCollapsed?: boolean; /** Describes if the widget is being dragged. */ isDragged?: boolean; /** Describes if the widget is floating. */ isFloating?: boolean; /** True if widget is open, false otherwise. */ isOpen?: boolean; /** Describes if the tab bar is visible. */ isTabBarVisible?: boolean; /** Function called when resize action is performed. */ onResize?: (resizeBy: number, handle: ResizeHandle, filledHeightDiff: number) => void; /** Widget tabs. See: [[Tab]], [[TabSeparator]], [[Group]] */ tabs?: React.ReactNode; /** Describes to which side the widget is vertically anchored. */ verticalAnchor: VerticalAnchor; /** Handler for mouse enter */ onMouseEnter?: (event: React.MouseEvent) => void; /** Handler for mouse leave */ onMouseLeave?: (event: React.MouseEvent) => void; } /** Stacked widget is used to display multiple tabs and some content. * @note Should be placed in [[Zone]] component. * @alpha */ export declare class Stacked extends React.PureComponent { private _widget; private _relativePosition?; getBounds(): RectangleProps; render(): JSX.Element; private getFilledHeightDiff; private getResizeDifference; private _handleResizeStart; private _handleResizeEnd; private _handleTabsGripResize; private _handleContentGripResize; private _handlePrimaryGripResize; private _handleSecondaryGripResize; } //# sourceMappingURL=Stacked.d.ts.map