@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
60 lines • 2.87 kB
TypeScript
import React from 'react';
import { BreadcrumbGroupProps } from '../../breadcrumb-group/interfaces';
import { SplitPanelSideToggleProps } from '../../internal/context/split-panel-context';
import { AppLayoutProps, AppLayoutPropsWithDefaults } from '../interfaces';
import { OnChangeParams } from '../utils/use-drawers';
import { FocusControlMultipleStates, FocusControlState } from '../utils/use-focus-control';
import { SplitPanelFocusControlState } from '../utils/use-split-panel-focus-control';
import { VerticalLayoutOutput } from './compute-layout';
export interface AppLayoutInternalProps extends AppLayoutPropsWithDefaults {
navigationTriggerHide?: boolean;
}
export type InternalDrawer = AppLayoutProps.Drawer & {
defaultActive?: boolean;
};
export interface AppLayoutInternals {
ariaLabels: AppLayoutPropsWithDefaults['ariaLabels'];
headerVariant: AppLayoutPropsWithDefaults['headerVariant'];
placement: AppLayoutPropsWithDefaults['placement'];
navigationOpen: AppLayoutPropsWithDefaults['navigationOpen'];
navigationFocusControl: FocusControlState;
navigation: React.ReactNode;
splitPanelPosition: AppLayoutProps.SplitPanelPreferences['position'];
splitPanelOpen: boolean;
splitPanelControlId: string;
splitPanelFocusControl: SplitPanelFocusControlState;
splitPanelToggleConfig: SplitPanelSideToggleProps;
isMobile: boolean;
activeDrawer: InternalDrawer | undefined;
activeDrawerSize: number;
minDrawerSize: number;
maxDrawerSize: number;
minGlobalDrawersSizes: Record<string, number>;
maxGlobalDrawersSizes: Record<string, number>;
drawers: ReadonlyArray<InternalDrawer>;
drawersFocusControl: FocusControlState;
globalDrawersFocusControl: FocusControlMultipleStates;
activeGlobalDrawersIds: ReadonlyArray<string>;
activeGlobalDrawers: ReadonlyArray<InternalDrawer>;
globalDrawers: ReadonlyArray<InternalDrawer>;
activeGlobalDrawersSizes: Record<string, number>;
stickyNotifications: AppLayoutPropsWithDefaults['stickyNotifications'];
breadcrumbs: React.ReactNode;
discoveredBreadcrumbs: BreadcrumbGroupProps | null;
toolbarState: 'show' | 'hide';
setToolbarState: (state: 'show' | 'hide') => void;
verticalOffsets: VerticalLayoutOutput;
drawersOpenQueue: ReadonlyArray<string>;
setNotificationsHeight: (height: number) => void;
setToolbarHeight: (height: number) => void;
onSplitPanelToggle: () => void;
onNavigationToggle: (open: boolean) => void;
onActiveDrawerChange: (newDrawerId: string | null, params: OnChangeParams) => void;
onActiveDrawerResize: (detail: {
id: string;
size: number;
}) => void;
onActiveGlobalDrawersChange: (newDrawerId: string, params: OnChangeParams) => void;
splitPanelAnimationDisabled?: boolean;
}
//# sourceMappingURL=interfaces.d.ts.map