Skip to content

Commit 1a33640

Browse files
committed
type: fix nohighlight export type issue.
uiwjs/react-md-editor#605
1 parent 9f27840 commit 1a33640

File tree

5 files changed

+40
-60
lines changed

5 files changed

+40
-60
lines changed

core/nohighlight.d.ts

Lines changed: 2 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,7 @@
11
declare module '@uiw/react-markdown-preview/nohighlight' {
22
import React from 'react';
3-
import { Options } from 'react-markdown';
4-
import { PluggableList } from 'unified';
5-
import { RehypeRewriteOptions } from 'rehype-rewrite';
6-
export interface MarkdownPreviewProps extends Omit<Options, 'children'> {
7-
prefixCls?: string;
8-
className?: string;
9-
source?: string;
10-
disableCopy?: boolean;
11-
style?: React.CSSProperties;
12-
pluginsFilter?: (type: 'rehype' | 'remark', plugin: PluggableList) => PluggableList;
13-
wrapperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
14-
'data-color-mode'?: 'light' | 'dark';
15-
};
16-
/**
17-
* Please use wrapperElement, Will be removed in v5 release.
18-
* @deprecated
19-
*/
20-
warpperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
21-
'data-color-mode'?: 'light' | 'dark';
22-
};
23-
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
24-
onMouseOver?: (e: React.MouseEvent<HTMLDivElement>) => void;
25-
rehypeRewrite?: RehypeRewriteOptions['rewrite'];
26-
}
27-
export interface MarkdownPreviewRef extends MarkdownPreviewProps {
28-
mdp: React.RefObject<HTMLDivElement>;
29-
}
3+
import { MarkdownPreviewProps, MarkdownPreviewRef } from '@uiw/react-markdown-preview/lib/Props';
4+
export * from '@uiw/react-markdown-preview/lib/Props';
305
const _default: React.ForwardRefExoticComponent<MarkdownPreviewProps & React.RefAttributes<MarkdownPreviewRef>>;
316
export default _default;
327
}

core/src/Props.tsx

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
import { type Options } from 'react-markdown';
2+
import { type RehypeRewriteOptions } from 'rehype-rewrite';
3+
import { PluggableList } from 'unified';
4+
5+
export interface MarkdownPreviewProps extends Omit<Options, 'children'> {
6+
prefixCls?: string;
7+
className?: string;
8+
source?: string;
9+
disableCopy?: boolean;
10+
style?: React.CSSProperties;
11+
pluginsFilter?: (type: 'rehype' | 'remark', plugin: PluggableList) => PluggableList;
12+
wrapperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
13+
'data-color-mode'?: 'light' | 'dark';
14+
};
15+
/**
16+
* Please use wrapperElement, Will be removed in v5 release.
17+
* @deprecated
18+
*/
19+
warpperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
20+
'data-color-mode'?: 'light' | 'dark';
21+
};
22+
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
23+
onMouseOver?: (e: React.MouseEvent<HTMLDivElement>) => void;
24+
rehypeRewrite?: RehypeRewriteOptions['rewrite'];
25+
}
26+
27+
export interface MarkdownPreviewRef extends MarkdownPreviewProps {
28+
mdp: React.RefObject<HTMLDivElement>;
29+
}

core/src/index.tsx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import React from 'react';
2-
import MarkdownPreview, { type MarkdownPreviewProps, type MarkdownPreviewRef } from './preview';
2+
import MarkdownPreview from './preview';
33
import rehypePrism from 'rehype-prism-plus';
44
import { PluggableList } from 'unified';
55
import rehypeRewrite from 'rehype-rewrite';
@@ -8,8 +8,9 @@ import rehypeRaw from 'rehype-raw';
88
import { reservedMeta } from './plugins/reservedMeta';
99
import { retrieveMeta } from './plugins/retrieveMeta';
1010
import { rehypeRewriteHandle, defaultRehypePlugins } from './rehypePlugins';
11+
import type { MarkdownPreviewProps, MarkdownPreviewRef } from './Props';
1112

12-
export * from './preview';
13+
export * from './Props';
1314

1415
export default React.forwardRef<MarkdownPreviewRef, MarkdownPreviewProps>((props, ref) => {
1516
const rehypePlugins: PluggableList = [

core/src/nohighlight.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,15 @@
11
import React from 'react';
2-
import MarkdownPreview, { type MarkdownPreviewProps, type MarkdownPreviewRef } from './preview';
2+
import MarkdownPreview from './preview';
33
import { PluggableList } from 'unified';
44
import rehypeRewrite from 'rehype-rewrite';
55
import { reservedMeta } from './plugins/reservedMeta';
66
import { retrieveMeta } from './plugins/retrieveMeta';
77
import rehypeAttrs from 'rehype-attr';
88
import rehypeRaw from 'rehype-raw';
99
import { rehypeRewriteHandle, defaultRehypePlugins } from './rehypePlugins';
10+
import type { MarkdownPreviewProps, MarkdownPreviewRef } from './Props';
11+
12+
export * from './Props';
1013

1114
export default React.forwardRef<MarkdownPreviewRef, MarkdownPreviewProps>((props, ref) => {
1215
const rehypePlugins: PluggableList = [

core/src/preview.tsx

Lines changed: 2 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,12 @@
11
import React, { useImperativeHandle } from 'react';
2-
import ReactMarkdown, { Options } from 'react-markdown';
2+
import ReactMarkdown from 'react-markdown';
33
import { PluggableList } from 'unified';
44
import gfm from 'remark-gfm';
55
import raw from 'rehype-raw';
6-
import { type RehypeRewriteOptions } from 'rehype-rewrite';
76
import { useCopied } from './plugins/useCopied';
7+
import { type MarkdownPreviewProps, type MarkdownPreviewRef } from './Props';
88
import './styles/markdown.less';
99

10-
export * from './preview';
11-
12-
export interface MarkdownPreviewProps extends Omit<Options, 'children'> {
13-
prefixCls?: string;
14-
className?: string;
15-
source?: string;
16-
disableCopy?: boolean;
17-
style?: React.CSSProperties;
18-
pluginsFilter?: (type: 'rehype' | 'remark', plugin: PluggableList) => PluggableList;
19-
wrapperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
20-
'data-color-mode'?: 'light' | 'dark';
21-
};
22-
/**
23-
* Please use wrapperElement, Will be removed in v5 release.
24-
* @deprecated
25-
*/
26-
warpperElement?: React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement> & {
27-
'data-color-mode'?: 'light' | 'dark';
28-
};
29-
onScroll?: (e: React.UIEvent<HTMLDivElement>) => void;
30-
onMouseOver?: (e: React.MouseEvent<HTMLDivElement>) => void;
31-
rehypeRewrite?: RehypeRewriteOptions['rewrite'];
32-
}
33-
34-
export interface MarkdownPreviewRef extends MarkdownPreviewProps {
35-
mdp: React.RefObject<HTMLDivElement>;
36-
}
37-
3810
export default React.forwardRef<MarkdownPreviewRef, MarkdownPreviewProps>((props, ref) => {
3911
const {
4012
prefixCls = 'wmde-markdown wmde-markdown-color',

0 commit comments

Comments
 (0)