import React from 'react'; import type { ContentRenderProp, ToggleRenderProp, DropdownOptions, DropdownPopoverOptions } from './types'; interface ContainerProps { children: ContentRenderProp | React.ReactNode; closeOnOutsideClick?: boolean; setLockOutsideClick?: (lock: boolean) => void; onToggle?: (isToggled: boolean) => void; toggle: ToggleRenderProp; } /** * The preferred export for implementing boundary aware dropdowns, which can be externally controlled or internally * controlled. This component is responsible for rendering the toggle element and the dropdown popover content, where the * `children` of this component are placed within the popover. * * Make sure you utilize the render prop pattern to ensure proper ref forwarding, this prevents * this component from needing to render its own `span` element and will ensure a consistent layout * * If you render a dropdown that interferes with clickoutside logic due to it being render via a portal * (such as a click within a dropdown should not trigger clickoutside logic), * check out the `DropdownPortalRegistrationContextProvider` and corresponding `useActiveDropdownsContext` hook. */ export default function DropdownContainer({ boundary, boundaryPadding, children, className, closeOnOutsideClick, contentWidth, disabled, dropdownId, eventListenerOptions, focusToggleOnClose, flip, externallyControlled, hide, initialFocusDisabled, isOpen: externallyIsOpen, maxHeight, offset, onToggle, placement, portalContainer, boundaryElementRef, setLockOutsideClick, shrinkToPreventOverflow, shift, toggle, zIndex }: ContainerProps & DropdownOptions & DropdownPopoverOptions): React.JSX.Element; export {};