MenuItem.d.ts 753 B

12345678910111213
  1. import * as React from 'react';
  2. import type { MenuItemProps as RcMenuItemProps } from 'rc-menu';
  3. export interface MenuItemProps extends Omit<RcMenuItemProps, 'title'> {
  4. icon?: React.ReactNode;
  5. danger?: boolean;
  6. title?: React.ReactNode;
  7. }
  8. type MenuItemComponent = React.FC<MenuItemProps>;
  9. type RestArgs<T> = T extends (arg: any, ...args: infer P) => any ? P : never;
  10. type GenericProps<T = unknown> = T extends infer U extends MenuItemProps ? unknown extends U ? MenuItemProps : U : MenuItemProps;
  11. type GenericComponent = Omit<MenuItemComponent, ''> & (<T extends MenuItemProps>(props: GenericProps<T>, ...args: RestArgs<MenuItemComponent>) => ReturnType<MenuItemComponent>);
  12. declare const MenuItem: GenericComponent;
  13. export default MenuItem;