/** @packageDocumentation * @module Widget */ import * as React from "react"; import { BadgeType, ConditionalStringValue } from "@bentley/ui-abstract"; import { CommonProps, PointProps, RectangleProps } from "@bentley/ui-core"; import { DisabledResizeHandles, DraggedWidgetManagerProps, HorizontalAnchor, Tab, TabMode, VerticalAnchor, WidgetZoneId } from "@bentley/ui-ninezone"; import { WidgetChangeHandler } from "../frontstage/FrontstageComposer"; /** Properties for a [[WidgetStack]] Tab. * @internal */ export interface WidgetTab { readonly iconSpec?: string | ConditionalStringValue | React.ReactNode; readonly title: string; readonly badgeType?: BadgeType; } /** Properties for a Widget in a [[WidgetStack]]. * @internal */ export declare type WidgetTabs = { readonly [id in WidgetZoneId]: ReadonlyArray; }; /** Properties for the [[WidgetStack]] React component. * @internal */ export interface WidgetStackProps extends CommonProps { activeTabIndex: number; disabledResizeHandles: DisabledResizeHandles | undefined; draggedWidget: DraggedWidgetManagerProps | undefined; fillZone: boolean; getWidgetContentRef: (id: WidgetZoneId) => React.Ref; horizontalAnchor: HorizontalAnchor; isCollapsed: boolean; isFloating: boolean; isInStagePanel: boolean; openWidgetId: WidgetZoneId | undefined; verticalAnchor: VerticalAnchor; widgetChangeHandler: WidgetChangeHandler; widgets: ReadonlyArray; widgetTabs: WidgetTabs; } /** Widget stack React component. * @internal */ export declare class WidgetStack extends React.PureComponent { private _widgetStack; render(): React.ReactNode; private _handleOnWidgetResize; private _handleTabDragStart; private _handleTabDragEnd; private _handleTabClick; private _handleTabDrag; } /** Properties for the [[WidgetStackTabs]] component. * @internal */ export interface WidgetStackTabsProps { activeTabIndex: number; draggedWidget: DraggedWidgetManagerProps | undefined; horizontalAnchor: HorizontalAnchor; isCollapsed: boolean; isProtruding: boolean; onTabClick: (widgetId: WidgetZoneId, tabIndex: number) => void; onTabDrag: (dragged: PointProps) => void; onTabDragEnd: () => void; onTabDragStart: (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => void; openWidgetId: WidgetZoneId | undefined; verticalAnchor: VerticalAnchor; widgets: ReadonlyArray; widgetTabs: WidgetTabs; } /** Tabs of [[WidgetStack]] component. * @internal */ export declare class WidgetStackTabs extends React.PureComponent { render(): React.ReactNode; } /** Properties for the [[WidgetStackTabGroup]] component. * @internal */ export interface WidgetStackTabGroupProps { activeTabIndex: number; draggedWidget: DraggedWidgetManagerProps | undefined; horizontalAnchor: HorizontalAnchor; isCollapsed: boolean; isProtruding: boolean; isStacked: boolean; onTabClick: (widgetId: WidgetZoneId, tabIndex: number) => void; onTabDrag: (dragged: PointProps) => void; onTabDragEnd: () => void; onTabDragStart: (widgetId: WidgetZoneId, tabIndex: number, initialPosition: PointProps, firstTabBounds: RectangleProps) => void; openWidgetId: WidgetZoneId | undefined; tabs: ReadonlyArray; verticalAnchor: VerticalAnchor; widgetId: WidgetZoneId; } /** Widget tab group used in [[WidgetStackTabs]] component. * @internal */ export declare class WidgetStackTabGroup extends React.PureComponent { private _firstTab; render(): React.ReactNode; private getTabHandleMode; private _handleTabDragStart; private _handleTabClick; } /** Properties for the [[WidgetStackTab]] component. * @internal */ export interface WidgetStackTabProps { horizontalAnchor: HorizontalAnchor; iconSpec?: string | ConditionalStringValue | React.ReactNode; index: number; badgeType?: BadgeType; isCollapsed: boolean; isProtruding: boolean; lastPosition: PointProps | undefined; mode: TabMode; onClick: (index: number) => void; onDrag: (dragged: PointProps) => void; onDragEnd: () => void; onDragStart: (index: number, initialPosition: PointProps) => void; tabRef?: React.Ref; title: string; verticalAnchor: VerticalAnchor; } /** Tab used in [[WidgetStackTabGroup]] component. * @internal */ export declare class WidgetStackTab extends React.PureComponent { render(): React.ReactNode; private _handleDragStart; private _handleClick; } //# sourceMappingURL=WidgetStack.d.ts.map