@atlaskit/navigation-system
Version:
The latest navigation system for Atlassian apps.
48 lines (47 loc) • 1.43 kB
TypeScript
/**
* @jsxRuntime classic
* @jsx jsx
*/
import { type MutableRefObject, type ReactNode } from 'react';
import type { LayoutAreaMode } from './layout-area-sizing-context';
type PanelLayoutShellProps = {
/**
* Main content rendered alongside the local panel.
*/
children: ReactNode;
/**
* Panel content or surface supplied by the caller.
*/
panel: ReactNode;
/**
* Whether the local panel is open.
*/
isPanelOpen: boolean;
/**
* Effective panel track width in pixels.
*/
panelWidth: number;
compactPanelWidth: number;
/**
* Minimum panel width in pixels.
*/
panelMinWidth?: number;
/**
* Allocated placement. Before measurement, CSS reserves a track when both minimums fit the host.
*/
mode?: LayoutAreaMode;
/**
* Shared with the panel's resize controls so imperative resizing also updates the grid track.
*/
layoutRef?: MutableRefObject<HTMLDivElement | null>;
/**
* Clips the layout during panel motion.
*/
shouldClipOverflow?: boolean;
testId?: string;
};
/**
* Grid and scrolling for Main and its local panel. Use inside navigation's Root and Main.
*/
export declare function PanelLayoutShell({ children, panel, isPanelOpen, panelWidth, compactPanelWidth, panelMinWidth, mode, layoutRef, shouldClipOverflow, testId, }: PanelLayoutShellProps): JSX.Element;
export {};