UNPKG

@wix/design-system

Version:

@wix/design-system

62 lines (51 loc) 1.71 kB
import * as React from 'react'; type SidebarItemNextSpecificProps = { children?: React.ReactNode; dataHook?: string; className?: string; suffix?: React.ReactNode; prefix?: React.ReactNode; onMouseEnter?: React.MouseEventHandler<HTMLButtonElement>; onMouseLeave?: React.MouseEventHandler<HTMLButtonElement>; disabled?: boolean; onClick?: React.MouseEventHandler<HTMLButtonElement>; itemKey?: string; role?: string; }; /** * Omit SidebarItemNext specific properties. */ type OmitHTMLAttributes<T> = Omit<T, keyof SidebarItemNextSpecificProps>; export type SidebarItemNextWithAsProp<T> = | SidebarItemNextAsButtonProps<T> | SidebarItemNextAsAnchorProps<T> | SidebarItemNextGenericProps<T> | SidebarItemNextAsComponentProps<T>; type SidebarItemNextAsButtonProps<T> = OmitHTMLAttributes< React.ButtonHTMLAttributes<HTMLButtonElement> > & T & { as?: 'button'; onClick?: React.MouseEventHandler<HTMLButtonElement>; }; type SidebarItemNextAsAnchorProps<T> = OmitHTMLAttributes< React.AnchorHTMLAttributes<HTMLAnchorElement> > & T & { as: 'a'; onClick?: React.MouseEventHandler<HTMLAnchorElement>; }; type SidebarItemNextGenericProps<T> = T & { as: keyof Omit<HTMLElementTagNameMap, 'a' | 'button'>; onClick?: React.MouseEventHandler<HTMLElement>; [additionalProps: string]: any; }; type SidebarItemNextAsComponentProps<T> = T & { as: React.ComponentType<any>; onClick?: React.MouseEventHandler<HTMLElement>; [additionalProps: string]: any; }; export type SidebarItemNextProps = SidebarItemNextWithAsProp<SidebarItemNextSpecificProps>; declare const SidebarItemNext: React.FC<SidebarItemNextProps>; export default SidebarItemNext;