wix-style-react
Version:
wix-style-react
51 lines (42 loc) • 1.41 kB
TypeScript
import * as React from 'react';
import { OmitPolyfill } from '../common';
export type SidebarItemNextWithAsProp<T> =
| SidebarItemNextAsButtonProps<T>
| SidebarItemNextAsAnchorProps<T>
| SidebarItemNextGenericProps<T>
| SidebarItemNextAsComponentProps<T>;
type SidebarItemNextAsButtonProps<T> =
React.ButtonHTMLAttributes<HTMLButtonElement> &
T & {
as?: 'button';
onClick?: React.MouseEventHandler<HTMLButtonElement>;
};
type SidebarItemNextAsAnchorProps<T> =
React.AnchorHTMLAttributes<HTMLAnchorElement> &
T & {
as: 'a';
onClick?: React.MouseEventHandler<HTMLAnchorElement>;
};
type SidebarItemNextGenericProps<T> = T & {
as: keyof OmitPolyfill<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<{
children?: React.ReactNode;
dataHook?: string;
className?: string;
suffix?: React.ReactNode;
prefix?: React.ReactNode;
disabled?: boolean;
onClick?: React.MouseEventHandler<HTMLButtonElement>;
itemKey?: string;
role?: string;
}>;
declare const SidebarItemNext: React.FC<SidebarItemNextProps>;
export default SidebarItemNext;