@atlaskit/atlassian-navigation
Version:
A horizontal navigation component for Atlassian apps.
122 lines (117 loc) • 3.71 kB
TypeScript
import { type default as React, type ReactNode, type ReactNodeArray } from 'react';
import { type NavigationTheme } from '../../theme';
/**
* @deprecated `@atlaskit/atlassian-navigation` is deprecated. Use `@atlaskit/navigation-system` instead.
*/
export interface AtlassianNavigationProps {
/**
* Describes the specific role of this navigation component for users viewing the page with a screen
* reader. Differentiates from other navigation components on a page.
*/
label: string;
/**
* Slot for the primary actions.
*/
primaryItems: ReactNodeArray;
/**
* Slot for the app switcher.
*/
renderAppSwitcher?: React.ComponentType<{}>;
/**
* Slot for the create call to action button.
*/
renderCreate?: React.ComponentType<{}>;
/**
* Slot for the help button.
*/
renderHelp?: React.ComponentType<{}>;
/**
* Slot for the notification button.
*/
renderNotifications?: React.ComponentType<{}>;
/**
* Slot for the product home logo which renders a product's brand.
*/
renderProductHome: React.ComponentType<{}>;
/**
* Slot for the profile button.
*/
renderProfile?: React.ComponentType<{}>;
/**
* Slot for the search textbox.
*/
renderSearch?: React.ComponentType<{}>;
/**
* Slot for the sign in button.
*/
renderSignIn?: React.ComponentType<{}>;
/**
* Slot for the settings button.
*/
renderSettings?: React.ComponentType<{}>;
/**
* Label used for the overflow menu button tooltip.
*/
moreLabel?: ReactNode;
/**
* __Slow and discouraged custom theme API__
*/
theme?: NavigationTheme;
/**
A `testId` prop is provided for specified elements,
which is a unique string that appears as a data attribute `data-testid` in the rendered code,
serving as a hook for automated tests.
Will set these elements when defined:
- Header element - `{testId}-header`
- Primary actions container - `{testId}-primary-actions`
- Secondary actions container - `{testId}-secondary-actions`
- Overflow menu popup - `{testId}-overflow-menu-popup`
- Overflow menu button - `{testId}-overflow-menu-trigger`
*/
testId?: string;
/**
* Whether nav is rendered on the server.
*/
isServer?: boolean;
/**
* Whether to enable SSR placeholder replacement.
*/
isSSRPlaceholderEnabled?: boolean;
}
/**
* @deprecated `@atlaskit/atlassian-navigation` is deprecated. Use `@atlaskit/navigation-system` instead.
*/
export interface NavigationSkeletonProps {
/**
* How many skeleton primary items to display.
*/
primaryItemsCount?: number;
/**
* How many skeleton secondary items to display.
*/
secondaryItemsCount?: number;
/**
* Whether to display a skeleton for the site name.
*/
showSiteName?: boolean;
/**
* Whether to display a skeleton for the search bar.
*/
shouldShowSearch?: boolean;
/**
* __Slow and discouraged custom theme API__
*/
theme?: NavigationTheme;
/**
A `testId` prop is provided for specified elements,
which is a unique string that appears as a data attribute `data-testid` in the rendered code,
serving as a hook for automated tests.
Will set these elements when defined:
- Header element - `{testId}-header`
- Primary actions container - `{testId}-primary-actions`
- Secondary actions container - `{testId}-secondary-actions`
- Overflow menu popup - `{testId}-overflow-menu-popup`
- Overflow menu button - `{testId}-overflow-menu-trigger`
*/
testId?: string;
}