import React from 'react'; import type { WithStyleProps } from '@instructure/emotion'; import type { OtherHTMLAttributes } from '@instructure/shared-types'; import type { NewComponentTypes } from '@instructure/ui-themes'; import type { ActionItemsChild } from '../TopNavBarActionItems/props'; import type { BrandChild } from '../TopNavBarBrand/props'; import type { MenuItemsChild } from '../TopNavBarMenuItems/props'; import type { UserChild } from '../TopNavBarUser/props'; import type { BreadcrumbChild } from '../TopNavBarBreadcrumb/props'; import { TopNavBarLayout } from './index'; import type { DesktopLayoutOwnProps } from './DesktopLayout/props'; import type { SmallViewportLayoutOwnProps } from './SmallViewportLayout/props'; type LayoutChild = React.ComponentElement; type CommonTopNavBarLayoutProps = { /** * Displays the app/product/brand/company/etc. name and/or logo. * * Accepts a `` component. */ renderBrand?: BrandChild; /** * Displays the main navbar items. * * In __desktop__ mode the items are listed on the navbar, * in __smallViewport__ mode the items are accessible under the main "hamburger" menu. * * Accepts a `` component. */ renderMenuItems?: MenuItemsChild; /** * Displays the action items, icons, buttons, etc. * * Renders in the top right corner of the navbar in both __desktop__ and __smallViewport__ mode. * * Accepts a `` component. */ renderActionItems?: ActionItemsChild; /** * Displays the user menu. * * In __desktop__ mode it renders in the top right corner of the navbar, * in __smallViewport__ mode it is rendered under the main "hamburger" menu, above the menu items. * * Accepts a `` component. */ renderUser?: UserChild; /** * Displays a hamburger icon with a breadcrumb. * * In __desktop__ mode it renders in the top left corner of the navbar. * In __smallViewport__ mode it renders a link of the last but one crumb with a chevron icon. * * Accepts a `` component. */ renderBreadcrumb?: BreadcrumbChild; /** * The 'aria-label' for the underlying `