import React from 'react'; import type { WithDeterministicIdProps } from '@instructure/ui-react-utils'; import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'; import type { OtherHTMLAttributes, ChildrenOfType } from '@instructure/shared-types'; import type { NewComponentTypes } from '@instructure/ui-themes'; import type { ItemChild } from '../TopNavBarItem/props'; import { TopNavBarMenuItems } from './index'; type MenuItemsChild = React.ComponentElement; type TopNavBarMenuItemsOwnProps = { /** * Children of type: ``. * * In __desktop__ mode the items are listed on the navbar. See `renderHiddenItemsMenuTriggerLabel` prop description for overflow logic. * * In __smallViewport__ mode the items are accessible under the main "hamburger" menu. */ children?: ChildrenOfType; /** * The `id` of the link to the current page. Marks the item by setting `aria-current="page"` attribute on it and setting its status to 'active'. * * (Note: only non-disabled, `variant="default"` items can be set to current/active.) */ currentPageId?: string; /** * In __desktop__ mode, required label for the trigger item of the hidden list items menu. * * When there is not enough room to list all the menu items, * they will be accessible via a dropdown menu at the end of the list. */ renderHiddenItemsMenuTriggerLabel: (hiddenChildrenCount: number) => React.ReactNode; /** * The screenreader label (`aria-label`) used for the overflow dropdown button. * By default, screenreaders will read the button text (e.g. "4 More"), but * this is usually not descriptive enough for screenreader users. One should * specify a more descriptive label for the button, such as "4 more menu items". */ renderHiddenItemsMenuTriggerAriaLabel?: (hiddenChildrenCount: number) => string; /** * In __desktop__ mode, 'aria-label' for the `
    ` container. */ listLabel?: string; /** * A function that returns a reference to root HTML element */ elementRef?: (el: HTMLUListElement | null) => void; }; type PropKeys = keyof TopNavBarMenuItemsOwnProps; type AllowedPropKeys = Readonly>; type TopNavBarMenuItemsProps = TopNavBarMenuItemsOwnProps & WithStyleProps, TopNavBarMenuItemsStyle> & WithDeterministicIdProps & OtherHTMLAttributes; type TopNavBarMenuItemsStyle = ComponentStyle<'topNavBarMenuItems' | 'submenuOption' | 'submenuOptionActive'> & { itemSpacing: string; }; type TopNavBarMenuItemsState = { key: number; visibleItemsCount?: number; }; declare const allowedProps: AllowedPropKeys; export type { MenuItemsChild, TopNavBarMenuItemsProps, TopNavBarMenuItemsOwnProps, TopNavBarMenuItemsStyle, TopNavBarMenuItemsState }; export { allowedProps }; //# sourceMappingURL=props.d.ts.map