1 | import * as React from 'react';
|
2 | import { OverridableComponent, OverrideProps } from '../OverridableComponent';
|
3 | import { Omit } from '@material-ui/types';
|
4 | import { TypographyProps } from '../Typography';
|
5 |
|
6 | export interface LinkTypeMap<P = {}, D extends React.ElementType = 'a'> {
|
7 | props: P &
|
8 | LinkBaseProps & {
|
9 | TypographyClasses?: TypographyProps['classes'];
|
10 | underline?: 'none' | 'hover' | 'always';
|
11 | };
|
12 | defaultComponent: D;
|
13 | classKey: LinkClassKey;
|
14 | }
|
15 |
|
16 |
|
17 |
|
18 |
|
19 |
|
20 |
|
21 |
|
22 |
|
23 |
|
24 |
|
25 |
|
26 |
|
27 |
|
28 | declare const Link: OverridableComponent<LinkTypeMap>;
|
29 |
|
30 | export type LinkClassKey =
|
31 | | 'root'
|
32 | | 'underlineNone'
|
33 | | 'underlineHover'
|
34 | | 'underlineAlways'
|
35 | | 'button'
|
36 | | 'focusVisible';
|
37 |
|
38 | export type LinkBaseProps = React.AnchorHTMLAttributes<HTMLAnchorElement> &
|
39 | Omit<TypographyProps, 'component'>;
|
40 |
|
41 | export type LinkProps<
|
42 | D extends React.ElementType = LinkTypeMap['defaultComponent'],
|
43 | P = {}
|
44 | > = OverrideProps<LinkTypeMap<P, D>, D>;
|
45 |
|
46 | export default Link;
|