import * as React from 'react'; import * as DropdownMenu from '@radix-ui/react-dropdown-menu'; import { BoxProps } from '../../primitives/Box'; import { FlexProps } from '../../primitives/Flex'; import { TypographyProps } from '../../primitives/Typography'; import { BaseLink } from '../BaseLink'; import { Button, ButtonProps } from '../Button'; import { IconButton } from '../IconButton'; import { LinkProps } from '../Link'; interface RootProps extends DropdownMenu.DropdownMenuProps { } type TriggerPropsBase = Omit & { endIcon?: React.ReactNode; label?: React.ReactNode | string; }; type TriggerPropsWithButton = TriggerPropsBase & { tag?: typeof Button; icon?: React.ReactNode; }; type TriggerPropsWithIconButton = TriggerPropsBase & { tag: typeof IconButton; icon: React.ReactNode; }; type TriggerProps = TriggerPropsWithButton | TriggerPropsWithIconButton; type ContentProps = FlexProps<'div'> & Pick & { intersectionId?: string; popoverPlacement?: `${NonNullable}-${NonNullable}`; }; interface ItemSharedProps extends Pick { children?: React.ReactNode; isExternal?: boolean; isFocused?: boolean; startIcon?: React.ReactNode; endIcon?: React.ReactNode; } interface ItemExternalLinkProps extends ItemSharedProps, Omit { as?: never; isLink?: false; isExternal?: true; } type ItemInternalLinkProps = ItemSharedProps & React.ComponentPropsWithoutRef & { as?: TComponent; isLink?: true; isExternal?: false; }; interface ItemButtonProps extends ItemSharedProps, Omit, 'onSelect'> { as?: never; isLink?: false; isExternal?: false; } type ItemProps = ItemButtonProps | ItemInternalLinkProps | ItemExternalLinkProps; interface SeparatorProps extends DropdownMenu.DropdownMenuSeparatorProps { } interface LabelProps extends TypographyProps { } interface SubRootProps extends DropdownMenu.DropdownMenuSubProps { } interface SubTriggerProps extends BoxProps<'button'> { } interface SubContentProps extends FlexProps<'div'> { } declare const Root: React.FC; declare const Trigger: React.ForwardRefExoticComponent<(Omit | Omit) & React.RefAttributes>; declare const Content: React.ForwardRefExoticComponent & React.RefAttributes>; declare const Item: ({ onSelect, disabled, isLink, startIcon, endIcon, isExternal, ...props }: ItemProps) => import("react/jsx-runtime").JSX.Element; declare const Separator: React.ForwardRefExoticComponent>; declare const Label: React.ForwardRefExoticComponent>; declare const SubRoot: React.FC; declare const SubTrigger: React.ForwardRefExoticComponent & React.RefAttributes>; declare const SubContent: React.ForwardRefExoticComponent & React.RefAttributes>; export { Root, Trigger, Content, Item, Separator, Label, SubRoot, SubTrigger, SubContent }; export type { TriggerProps, ContentProps, ItemProps, RootProps, SubRootProps, SubTriggerProps, SubContentProps, LabelProps, }; //# sourceMappingURL=Menu.d.ts.map