|
| 1 | +/** |
| 2 | + * @template T |
| 3 | + * @typedef {import('react').ComponentType<T>} ComponentType<T> |
| 4 | + */ |
| 5 | + |
1 | 6 | /**
|
2 | 7 | * @typedef {import('react').ReactNode} ReactNode
|
3 | 8 | * @typedef {import('unist').Position} Position
|
|
44 | 49 | *
|
45 | 50 | * To do: is `data-sourcepos` typeable?
|
46 | 51 | *
|
47 |
| - * @callback CodeComponent |
48 |
| - * @param {JSX.IntrinsicElements['code'] & ReactMarkdownProps & {inline?: boolean}} props |
49 |
| - * @returns {ReactNode} |
50 |
| - * |
51 |
| - * @callback HeadingComponent |
52 |
| - * @param {JSX.IntrinsicElements['h1'] & ReactMarkdownProps & {level: number}} props |
53 |
| - * @returns {ReactNode} |
54 |
| - * |
55 |
| - * @callback LiComponent |
56 |
| - * @param {JSX.IntrinsicElements['li'] & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} props |
57 |
| - * @returns {ReactNode} |
58 |
| - * |
59 |
| - * @callback OrderedListComponent |
60 |
| - * @param {JSX.IntrinsicElements['ol'] & ReactMarkdownProps & {depth: number, ordered: true}} props |
61 |
| - * @returns {ReactNode} |
62 |
| - * |
63 |
| - * @callback TableCellComponent |
64 |
| - * @param {JSX.IntrinsicElements['table'] & ReactMarkdownProps & {style?: Object.<string, unknown>, isHeader: boolean}} props |
65 |
| - * @returns {ReactNode} |
66 |
| - * |
67 |
| - * @callback TableRowComponent |
68 |
| - * @param {JSX.IntrinsicElements['tr'] & ReactMarkdownProps & {isHeader: boolean}} props |
69 |
| - * @returns {ReactNode} |
| 52 | + * @typedef {JSX.IntrinsicElements['code'] & ReactMarkdownProps & {inline?: boolean}} CodeProps |
| 53 | + * @typedef {JSX.IntrinsicElements['h1'] & ReactMarkdownProps & {level: number}} HeadingProps |
| 54 | + * @typedef {JSX.IntrinsicElements['li'] & ReactMarkdownProps & {checked: boolean|null, index: number, ordered: boolean}} LiProps |
| 55 | + * @typedef {JSX.IntrinsicElements['ol'] & ReactMarkdownProps & {depth: number, ordered: true}} OrderedListProps |
| 56 | + * @typedef {JSX.IntrinsicElements['table'] & ReactMarkdownProps & {style?: Object.<string, unknown>, isHeader: boolean}} TableCellProps |
| 57 | + * @typedef {JSX.IntrinsicElements['tr'] & ReactMarkdownProps & {isHeader: boolean}} TableRowProps |
| 58 | + * @typedef {JSX.IntrinsicElements['ul'] & ReactMarkdownProps & {depth: number, ordered: false}} UnorderedListProps |
70 | 59 | *
|
71 |
| - * @callback UnorderedListComponent |
72 |
| - * @param {JSX.IntrinsicElements['ul'] & ReactMarkdownProps & {depth: number, ordered: false}} props |
73 |
| - * @returns {ReactNode} |
| 60 | + * @typedef {ComponentType<CodeProps>} CodeComponent |
| 61 | + * @typedef {ComponentType<HeadingProps>} HeadingComponent |
| 62 | + * @typedef {ComponentType<LiProps>} LiComponent |
| 63 | + * @typedef {ComponentType<OrderedListProps>} OrderedListComponent |
| 64 | + * @typedef {ComponentType<TableCellProps>} TableCellComponent |
| 65 | + * @typedef {ComponentType<TableRowProps>} TableRowComponent |
| 66 | + * @typedef {ComponentType<UnorderedListProps>} UnorderedListComponent |
74 | 67 | *
|
75 | 68 | * @typedef SpecialComponents
|
76 | 69 | * @property {CodeComponent|ReactMarkdownNames} code
|
|
0 commit comments