Top nav items

Buttons and elements for the top nav.

Props

AppSwitcher

The trigger button for the app switcher. Use the optional icon prop to replace the default app switcher icon with a custom visual, such as a product logo.

aria-controls

Description

Identifies the popup element that the trigger controls. Should match the id of the popup content for screen readers to understand the relationship.

Typestring

aria-expanded

Description

Announces to assistive technology whether the popup is currently open or closed.

Typeboolean

aria-haspopup

Description

Informs assistive technology that this element triggers a popup. With platform-dst-top-layer, it is not set when the popup has no role.

Typeboolean | "dialog" | "menu" | "listbox" | "tree" | "grid"

icon

Description

Allows a custom visual to be used instead of the Atlassian AppSwitcher icon. Defaults to the Atlassian app switcher icon.

TypeComponentClass<(Omit<IconProps, "size"> | Omit<NewIconProps, "size" | "spacing">) & { motionOvershoot?: string; }, any> | FunctionComponent<...>

interactionName

Description

An optional name used to identify events for React UFO (Unified Frontend Observability) press interactions. For more information, see React UFO integration into Design System components.

Typestring

isSelected

Description

Indicates that the button is selected.

Typeboolean

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click.

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

testId

Description

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.

Typestring

The app logo for the top navigation, when an app logo from @atlaskit/logo is used. Use the optional secondaryName prop to display supporting context below the app name in wider viewports.

href

Required
Description

The URL to navigate to when the element is clicked.

Typestring

icon

Required
Description

The icon to render.

Type(props: BaseLogoProps) => JSX.Element

label

Required
Description

Provide an accessible label, often used by screen readers. This label should include the name of the app, and if applicable, the location the user will navigate to on click.

Typestring

name

Required
Description

The name of the app. Will be displayed next to the logo in wider viewports.

Typestring

onClick

Description

Handler called on click.

Type(event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void

secondaryName

Description

Provide a secondaryName for the app. Will be displayed below the name in wider viewports.

Typestring

The logo for the top navigation, when a custom icon and logo component are used.

href

Required
Description

The URL to navigate to when the element is clicked.

Typestring

icon

Required
Description

The icon component to render. It will be used for small viewports.

Type(props: BaseLogoProps) => JSX.Element

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring

onClick

Description

Handler called on click.

Type(event: React.MouseEvent<HTMLAnchorElement, MouseEvent>) => void

Note: Instead of using this component directly, you may want to use the search component from @atlassian/search-page/quick-find instead.

aria-haspopup

Description
No description.
Typeboolean | "dialog" | "menu" | "listbox" | "tree" | "grid" | "true" | "false"

elemAfter

Description

The component to render after the search input.

Typestring | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal

iconBefore

Description

The icon component to render before the search input.

TypeReact.ComponentClass<NewIconProps & { spacing: "spacious"; }, any> | React.FunctionComponent<NewIconProps & { spacing: "spacious"; }>

interactionName

Description
Typestring

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal

onClick

Description

Handler called on click.

Type(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void

CreateButton

Note: Instead of using this button directly, you may want to use the create button from @atlassian/universal-create instead.

children

Required
Description

The content of the button.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

interactionName

Description
Typestring

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring

ChatButton

Instead of using this button directly, you may want to use the chat button from @atlassian/conversation-assistant-ui-components instead.

children

Required
Description

Text content to be rendered in the button.

Typestring | number | boolean | React.ReactElement<any, string | React.JSXElementConstructor<any>> | Iterable<React.ReactNode> | React.ReactPortal

interactionName

Description
Typestring

isSelected

Description

Indicates that the button is selected.

Typeboolean

onClick

Description

Handler called on click.

Type(event: React.MouseEvent<HTMLButtonElement, MouseEvent>) => void

Notifications

The trigger button for the notifications menu.

aria-controls

Description

Identifies the popup element that the trigger controls. Should match the id of the popup content for screen readers to understand the relationship.

Typestring

aria-expanded

Description

Announces to assistive technology whether the popup is currently open or closed.

Typeboolean

aria-haspopup

Description

Informs assistive technology that this element triggers a popup. With platform-dst-top-layer, it is not set when the popup has no role.

Typeboolean | "dialog" | "menu" | "listbox" | "tree" | "grid"

badge

Required
Description

The component to render as the badge. You are recommended to use the Badge component from @atlaskit/badge.

TypeComponentClass<{}, any> | FunctionComponent<{}>

interactionName

Description
Typestring

isListItem

Description

Can be used to disable the default listitem role.

This is intended for when the item is a popup trigger, and requires you to render your own <MenuListItem> to wrap the action.

@example

<TopNavEnd>
		<MenuListItem>
			<DropdownMenu
				shouldRenderToParent
				trigger={({ triggerRef, ...props }) => (
					<Profile {...props} ref={triggerRef} label="Profile" isListItem={false}  />
				)}
			>
				<DropdownItemGroup>
					<DropdownItem>Account</DropdownItem>
				</DropdownItemGroup>
			</DropdownMenu>
		</MenuListItem>
</TopNavEnd>
Defaulttrue
Typeboolean

isSelected

Description

Indicates that the button is selected.

Typeboolean

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

shortcut

Description

Display a keyboard shortcut in the tooltip.

Keys will be displayed as individual keyboard key segments after the tooltip content.

Typestring[]

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring

Help

The trigger button for the help menu.

badge

Description

The component to render as the badge. You are recommended to use the Badge component from @atlaskit/badge.

TypeComponentClass<{}, any> | FunctionComponent<{}>

interactionName

Description
Typestring

isListItem

Description

Can be used to disable the default listitem role.

This is intended for when the item is a popup trigger, and requires you to render your own <MenuListItem> to wrap the action.

@example

<TopNavEnd>
		<MenuListItem>
			<DropdownMenu
				shouldRenderToParent
				trigger={({ triggerRef, ...props }) => (
					<Profile {...props} ref={triggerRef} label="Profile" isListItem={false}  />
				)}
			>
				<DropdownItemGroup>
					<DropdownItem>Account</DropdownItem>
				</DropdownItemGroup>
			</DropdownMenu>
		</MenuListItem>
</TopNavEnd>
Defaulttrue
Typeboolean

isSelected

Description

Indicates that the button is selected.

Typeboolean

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

shortcut

Description

Display a keyboard shortcut in the tooltip.

Keys will be displayed as individual keyboard key segments after the tooltip content.

Typestring[]

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring

Settings

The trigger button for the settings menu.

aria-controls

Description

Identifies the popup element that the trigger controls. Should match the id of the popup content for screen readers to understand the relationship.

Typestring

aria-expanded

Description

Announces to assistive technology whether the popup is currently open or closed.

Typeboolean

aria-haspopup

Description

Informs assistive technology that this element triggers a popup. With platform-dst-top-layer, it is not set when the popup has no role.

Typeboolean | "dialog" | "menu" | "listbox" | "tree" | "grid"

interactionName

Description
Typestring

isListItem

Description

Can be used to disable the default listitem role.

This is intended for when the item is a popup trigger, and requires you to render your own <MenuListItem> to wrap the action.

@example

<TopNavEnd>
		<MenuListItem>
			<DropdownMenu
				shouldRenderToParent
				trigger={({ triggerRef, ...props }) => (
					<Profile {...props} ref={triggerRef} label="Profile" isListItem={false}  />
				)}
			>
				<DropdownItemGroup>
					<DropdownItem>Account</DropdownItem>
				</DropdownItemGroup>
			</DropdownMenu>
		</MenuListItem>
</TopNavEnd>
Defaulttrue
Typeboolean

isSelected

Description

Indicates that the button is selected.

Typeboolean

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

shortcut

Description

Display a keyboard shortcut in the tooltip.

Keys will be displayed as individual keyboard key segments after the tooltip content.

Typestring[]

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring

Profile

The trigger button for the profile menu.

Note: Instead of using this button directly, you may want to use @atlassian/account/nav4 instead.

aria-controls

Description

Identifies the popup element that the trigger controls. Should match the id of the popup content for screen readers to understand the relationship.

Typestring

aria-expanded

Description

Announces to assistive technology whether the popup is currently open or closed.

Typeboolean

aria-haspopup

Description

Informs assistive technology that this element triggers a popup. With platform-dst-top-layer, it is not set when the popup has no role.

Typeboolean | "dialog" | "menu" | "listbox" | "tree" | "grid"

interactionName

Description
Typestring

isListItem

Description

Can be used to disable the default listitem role.

This is intended for when the item is a popup trigger, and requires you to render your own <MenuListItem> to wrap the action.

@example

<TopNavEnd>
		<MenuListItem>
			<DropdownMenu
				shouldRenderToParent
				trigger={({ triggerRef, ...props }) => (
					<Profile {...props} ref={triggerRef} label="Profile" isListItem={false}  />
				)}
			>
				<DropdownItemGroup>
					<DropdownItem>Account</DropdownItem>
				</DropdownItemGroup>
			</DropdownMenu>
		</MenuListItem>
</TopNavEnd>
Defaulttrue
Typeboolean

isSelected

Description

Indicates that the button is selected.

Typeboolean

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

shortcut

Description

Display a keyboard shortcut in the tooltip.

Keys will be displayed as individual keyboard key segments after the tooltip content.

Typestring[]

src

Description

The URL of the image to display in the avatar.

Typestring

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring

LogIn

Note: Instead of using this button directly, you may want to use @atlassian/account/nav4 instead.

href

Required
Description

Standard links can be provided as a string, which should be mapped to the underlying router link component.

Alternatively, you can provide an object for advanced link configurations by supplying the expected object type to the generic.

@example

const MyRouterLink = forwardRef(
(
  {
    href,
    children,
    ...rest
  }: RouterLinkComponentProps<{
    href: string;
    replace: boolean;
  }>,
  ref: Ref<HTMLAnchorElement>,
) => { ...
Typestring

interactionName

Description
Typestring

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLAnchorElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLAnchorElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLAnchorElement>

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring

EndItem

If none of the provided top nav items components are suitable, you can create your own using EndItem.

aria-controls

Description

Identifies the popup element that the trigger controls. Should match the id of the popup content for screen readers to understand the relationship.

Typestring

aria-expanded

Description

Announces to assistive technology whether the popup is currently open or closed.

Typeboolean

aria-haspopup

Description

Informs assistive technology that this element triggers a popup. With platform-dst-top-layer, it is not set when the popup has no role.

Typeboolean | "dialog" | "menu" | "listbox" | "tree" | "grid"

icon

Required
Description

Places an icon within the button.

TypeComponentClass<(Omit<IconProps, "size"> | Omit<NewIconProps, "size" | "spacing">) & { motionOvershoot?: string; }, any> | FunctionComponent<...>

interactionName

Description
Typestring

isListItem

Description

Can be used to disable the default listitem role.

This is intended for when the item is a popup trigger, and requires you to render your own <MenuListItem> to wrap the action.

@example

<TopNavEnd>
		<MenuListItem>
			<DropdownMenu
				shouldRenderToParent
				trigger={({ triggerRef, ...props }) => (
					<Profile {...props} ref={triggerRef} label="Profile" isListItem={false}  />
				)}
			>
				<DropdownItemGroup>
					<DropdownItem>Account</DropdownItem>
				</DropdownItemGroup>
			</DropdownMenu>
		</MenuListItem>
</TopNavEnd>
Defaulttrue
Typeboolean

isSelected

Description

Indicates that the button is selected.

Typeboolean

label

Required
Description

Provide an accessible label, often used by screen readers.

Typestring | number | boolean | ReactElement<any, string | JSXElementConstructor<any>> | Iterable<ReactNode> | ReactPortal

onClick

Description

Handler called on click. You can use the second argument to fire Atlaskit analytics events on custom channels. They could then be routed to GASv3 analytics. See the pressable or anchor primitive code examples for information on firing Atlaskit analytics events or routing these to GASv3 analytics.

Type(e: MouseEvent<HTMLElement, globalThis.MouseEvent>, analyticsEvent: UIAnalyticsEvent) => void

onMouseEnter

Description

Called when the mouse enters the element container. Allows preloading popup components

Type(event: MouseEvent<HTMLButtonElement, globalThis.MouseEvent>) => void

ref

Description

Allows getting a ref to the component instance. Once the component unmounts, React will set ref.current to null (or call the ref with null if you passed a callback ref).

@see {@link https://react.dev/learn/referencing-values-with-refs#refs-and-the-dom React Docs}

Typestring | Ref<HTMLButtonElement>

shortcut

Description

Display a keyboard shortcut in the tooltip.

Keys will be displayed as individual keyboard key segments after the tooltip content.

Typestring[]

testId

Description

A unique string that appears as data attribute data-testid in the rendered code, serving as a hook for automated tests.

Typestring
Was this page helpful?
We use this feedback to improve our documentation.
© 2026 AtlassianTrademark, (opens new window)Privacy, (opens new window)License