@awsui/components-react
Version:
On July 19th, 2022, we launched [Cloudscape Design System](https://cloudscape.design). Cloudscape is an evolution of AWS-UI. It consists of user interface guidelines, front-end components, design resources, and development tools for building intuitive, en
67 lines • 3.01 kB
TypeScript
import React from 'react';
import { SplitPanelSideToggleProps } from '../../internal/context/split-panel-context';
import { AppLayoutProps, AppLayoutPropsWithDefaults } from '../interfaces';
import { FocusControlRefs } from '../utils/use-focus-control';
import { SplitPanelFocusControlRefs } from '../utils/use-split-panel-focus-control';
export interface AppLayoutInternals extends AppLayoutPropsWithDefaults {
activeDrawerId: string | null;
drawers: Array<AppLayoutProps.Drawer> | undefined;
drawersAriaLabel: string | undefined;
drawersOverflowAriaLabel: string | undefined;
drawersOverflowWithBadgeAriaLabel: string | undefined;
drawersRefs: FocusControlRefs;
drawerSize: number;
drawersMinWidth: number;
drawersMaxWidth: number;
drawerRef: React.Ref<HTMLElement>;
resizeHandle: React.ReactElement;
drawersTriggerCount: number;
handleDrawersClick: (activeDrawerId: string | null, skipFocusControl?: boolean) => void;
handleSplitPanelClick: () => void;
handleNavigationClick: (isOpen: boolean) => void;
handleSplitPanelPreferencesChange: (detail: AppLayoutProps.SplitPanelPreferences) => void;
handleSplitPanelResize: (newSize: number) => void;
handleToolsClick: (value: boolean, skipFocusControl?: boolean) => void;
hasBackgroundOverlap: boolean;
hasDrawerViewportOverlay: boolean;
hasNotificationsContent: boolean;
hasOpenDrawer?: boolean;
isBackgroundOverlapDisabled: boolean;
isMobile: boolean;
isSplitPanelForcedPosition: boolean;
isSplitPanelOpen?: boolean;
isToolsOpen: boolean;
layoutElement: React.Ref<HTMLElement>;
layoutWidth: number;
loseToolsFocus: () => void;
loseDrawersFocus: () => void;
mainElement: React.Ref<HTMLDivElement>;
mainOffsetLeft: number;
navigationRefs: FocusControlRefs;
notificationsHeight: number;
setNotificationsHeight: (height: number) => void;
offsetBottom: number;
setSplitPanelReportedSize: (value: number) => void;
setSplitPanelReportedHeaderHeight: (value: number) => void;
headerHeight: number;
footerHeight: number;
splitPanelControlId: string;
splitPanelMaxWidth: number;
splitPanelPosition: AppLayoutProps.SplitPanelPosition;
splitPanelReportedSize: number;
splitPanelReportedHeaderHeight: number;
splitPanelToggle: SplitPanelSideToggleProps;
setSplitPanelToggle: (toggle: SplitPanelSideToggleProps) => void;
splitPanelDisplayed: boolean;
splitPanelRefs: SplitPanelFocusControlRefs;
toolsControlId: string;
toolsRefs: FocusControlRefs;
__embeddedViewMode?: boolean;
}
interface AppLayoutProviderInternalsProps extends AppLayoutPropsWithDefaults {
children: React.ReactNode;
}
export declare function useAppLayoutInternals(): AppLayoutInternals;
export declare const AppLayoutInternalsProvider: React.ForwardRefExoticComponent<AppLayoutProviderInternalsProps & React.RefAttributes<AppLayoutProps.Ref>>;
export {};
//# sourceMappingURL=context.d.ts.map