import * as React from 'react'; import type { MenuProps } from './menu'; // Used for Dropdown only export interface OverrideContextProps { prefixCls?: string; expandIcon?: React.ReactNode; mode?: MenuProps['mode']; selectable?: boolean; validator?: (menuProps: Pick) => void; onClick?: () => void; } const OverrideContext = React.createContext(null); /** @internal Only used for Dropdown component. Do not use this in your production. */ export const OverrideProvider: React.FC = ( props, ) => { const { children, ...restProps } = props; const override = React.useContext(OverrideContext); const context = React.useMemo( () => ({ ...override, ...restProps }), [ override, restProps.prefixCls, // restProps.expandIcon, Not mark as deps since this is a ReactNode restProps.mode, restProps.selectable, // restProps.validator, Not mark as deps since this is a function ], ); return {children}; }; /** @internal Only used for Dropdown component. Do not use this in your production. */ export default OverrideContext;