@markitdownjs/react 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components.d.ts +25 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/components.js +100 -0
- package/dist/components.js.map +1 -0
- package/dist/hooks.d.ts +20 -0
- package/dist/hooks.d.ts.map +1 -0
- package/dist/hooks.js +96 -0
- package/dist/hooks.js.map +1 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -0
- package/dist/provider.d.ts +14 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +34 -0
- package/dist/provider.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { ConversionResult } from '@markitdownjs/shared';
|
|
2
|
+
export interface DocumentDropzoneProps {
|
|
3
|
+
onConvert: (result: ConversionResult) => void;
|
|
4
|
+
onError?: (error: Error) => void;
|
|
5
|
+
accept?: string[];
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function DocumentDropzone({ onConvert, onError, accept, disabled, className, }: DocumentDropzoneProps): import("react").JSX.Element;
|
|
10
|
+
export interface DocumentPreviewProps {
|
|
11
|
+
result: ConversionResult;
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function DocumentPreview({ result, className }: DocumentPreviewProps): import("react").JSX.Element;
|
|
15
|
+
export interface MarkdownViewerProps {
|
|
16
|
+
markdown: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
}
|
|
19
|
+
export declare function MarkdownViewer({ markdown, className }: MarkdownViewerProps): import("react").JSX.Element;
|
|
20
|
+
export interface ConversionProgressProps {
|
|
21
|
+
progress: number;
|
|
22
|
+
className?: string;
|
|
23
|
+
}
|
|
24
|
+
export declare function ConversionProgress({ progress, className }: ConversionProgressProps): import("react").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=components.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.d.ts","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAG7D,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC9C,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,SAAS,EACT,OAAO,EACP,MAA6F,EAC7F,QAAgB,EAChB,SAAc,GACf,EAAE,qBAAqB,+BAkFvB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,eAAe,CAAC,EAAE,MAAM,EAAE,SAAc,EAAE,EAAE,oBAAoB,+BAqC/E;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,cAAc,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,EAAE,mBAAmB,+BAoB/E;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,SAAc,EAAE,EAAE,uBAAuB,+BA2BvF"}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState, useCallback, useRef } from 'react';
|
|
3
|
+
import { useDocumentParser } from './hooks.js';
|
|
4
|
+
export function DocumentDropzone({ onConvert, onError, accept = ['.pdf', '.docx', '.pptx', '.xlsx', '.html', '.csv', '.json', '.xml', '.txt', '.md'], disabled = false, className = '', }) {
|
|
5
|
+
const { convert, isConverting, progress, error } = useDocumentParser();
|
|
6
|
+
const [isDragOver, setIsDragOver] = useState(false);
|
|
7
|
+
const inputRef = useRef(null);
|
|
8
|
+
const handleFile = useCallback(async (file) => {
|
|
9
|
+
try {
|
|
10
|
+
const result = await convert(file);
|
|
11
|
+
onConvert(result);
|
|
12
|
+
}
|
|
13
|
+
catch (err) {
|
|
14
|
+
const e = err instanceof Error ? err : new Error(String(err));
|
|
15
|
+
onError?.(e);
|
|
16
|
+
}
|
|
17
|
+
}, [convert, onConvert, onError]);
|
|
18
|
+
const handleDragOver = useCallback((e) => {
|
|
19
|
+
e.preventDefault();
|
|
20
|
+
e.stopPropagation();
|
|
21
|
+
if (!disabled)
|
|
22
|
+
setIsDragOver(true);
|
|
23
|
+
}, [disabled]);
|
|
24
|
+
const handleDragLeave = useCallback((e) => {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
e.stopPropagation();
|
|
27
|
+
setIsDragOver(false);
|
|
28
|
+
}, []);
|
|
29
|
+
const handleDrop = useCallback((e) => {
|
|
30
|
+
e.preventDefault();
|
|
31
|
+
e.stopPropagation();
|
|
32
|
+
setIsDragOver(false);
|
|
33
|
+
if (disabled)
|
|
34
|
+
return;
|
|
35
|
+
const file = e.dataTransfer.files[0];
|
|
36
|
+
if (file)
|
|
37
|
+
handleFile(file);
|
|
38
|
+
}, [disabled, handleFile]);
|
|
39
|
+
const handleInputChange = useCallback((e) => {
|
|
40
|
+
const file = e.target.files?.[0];
|
|
41
|
+
if (file)
|
|
42
|
+
handleFile(file);
|
|
43
|
+
e.target.value = '';
|
|
44
|
+
}, [handleFile]);
|
|
45
|
+
return (_jsxs("div", { onDragOver: handleDragOver, onDragLeave: handleDragLeave, onDrop: handleDrop, onClick: () => !disabled && inputRef.current?.click(), className: className, style: {
|
|
46
|
+
border: `2px dashed ${isDragOver ? '#3b82f6' : '#d1d5db'}`,
|
|
47
|
+
borderRadius: '8px',
|
|
48
|
+
padding: '32px',
|
|
49
|
+
textAlign: 'center',
|
|
50
|
+
cursor: disabled ? 'not-allowed' : 'pointer',
|
|
51
|
+
backgroundColor: isDragOver ? '#eff6ff' : 'transparent',
|
|
52
|
+
opacity: disabled ? 0.5 : 1,
|
|
53
|
+
transition: 'all 0.2s',
|
|
54
|
+
}, children: [_jsx("input", { ref: inputRef, type: "file", accept: accept.join(','), onChange: handleInputChange, disabled: disabled, style: { display: 'none' } }), isConverting ? (_jsx(ConversionProgress, { progress: progress })) : (_jsx("p", { style: { margin: 0, color: '#6b7280' }, children: "Drag and drop a document here, or click to browse" })), error && (_jsx("p", { style: { margin: '8px 0 0', color: '#ef4444', fontSize: '14px' }, children: error.message }))] }));
|
|
55
|
+
}
|
|
56
|
+
export function DocumentPreview({ result, className = '' }) {
|
|
57
|
+
return (_jsxs("div", { className: className, children: [result.metadata.title && (_jsx("h2", { style: { margin: '0 0 8px', fontSize: '1.25rem', fontWeight: 600 }, children: result.metadata.title })), result.metadata.author && (_jsxs("p", { style: { margin: '0 0 4px', color: '#6b7280', fontSize: '14px' }, children: ["By ", result.metadata.author] })), result.metadata.wordCount != null && (_jsxs("p", { style: { margin: '0 0 16px', color: '#9ca3af', fontSize: '13px' }, children: [result.metadata.wordCount.toLocaleString(), " words"] })), _jsx("pre", { style: {
|
|
58
|
+
margin: 0,
|
|
59
|
+
padding: '16px',
|
|
60
|
+
backgroundColor: '#f9fafb',
|
|
61
|
+
border: '1px solid #e5e7eb',
|
|
62
|
+
borderRadius: '6px',
|
|
63
|
+
overflow: 'auto',
|
|
64
|
+
maxHeight: '400px',
|
|
65
|
+
fontSize: '14px',
|
|
66
|
+
lineHeight: 1.5,
|
|
67
|
+
whiteSpace: 'pre-wrap',
|
|
68
|
+
fontFamily: 'ui-monospace, monospace',
|
|
69
|
+
}, children: result.markdown })] }));
|
|
70
|
+
}
|
|
71
|
+
export function MarkdownViewer({ markdown, className = '' }) {
|
|
72
|
+
const html = markdown
|
|
73
|
+
.replace(/&/g, '&')
|
|
74
|
+
.replace(/</g, '<')
|
|
75
|
+
.replace(/>/g, '>')
|
|
76
|
+
.replace(/^### (.+)$/gm, '<h3>$1</h3>')
|
|
77
|
+
.replace(/^## (.+)$/gm, '<h2>$1</h2>')
|
|
78
|
+
.replace(/^# (.+)$/gm, '<h1>$1</h1>')
|
|
79
|
+
.replace(/\*\*(.+?)\*\*/g, '<strong>$1</strong>')
|
|
80
|
+
.replace(/\*(.+?)\*/g, '<em>$1</em>')
|
|
81
|
+
.replace(/`(.+?)`/g, '<code>$1</code>')
|
|
82
|
+
.replace(/\n/g, '<br/>');
|
|
83
|
+
return (_jsx("div", { className: className, style: { lineHeight: 1.6, fontSize: '15px' }, dangerouslySetInnerHTML: { __html: html } }));
|
|
84
|
+
}
|
|
85
|
+
export function ConversionProgress({ progress, className = '' }) {
|
|
86
|
+
return (_jsxs("div", { className: className, children: [_jsx("div", { style: {
|
|
87
|
+
width: '100%',
|
|
88
|
+
height: '6px',
|
|
89
|
+
backgroundColor: '#e5e7eb',
|
|
90
|
+
borderRadius: '3px',
|
|
91
|
+
overflow: 'hidden',
|
|
92
|
+
}, children: _jsx("div", { style: {
|
|
93
|
+
height: '100%',
|
|
94
|
+
width: `${Math.min(100, Math.max(0, progress))}%`,
|
|
95
|
+
backgroundColor: '#3b82f6',
|
|
96
|
+
borderRadius: '3px',
|
|
97
|
+
transition: 'width 0.3s ease',
|
|
98
|
+
} }) }), _jsxs("p", { style: { margin: '8px 0 0', fontSize: '13px', color: '#6b7280' }, children: ["Converting... ", Math.round(progress), "%"] })] }));
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=components.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"components.js","sourceRoot":"","sources":["../src/components.tsx"],"names":[],"mappings":"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"}
|
package/dist/hooks.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ConversionResult, ConversionOptions } from '@markitdownjs/shared';
|
|
2
|
+
interface UseDocumentParserReturn {
|
|
3
|
+
convert: (file: File, options?: ConversionOptions) => Promise<ConversionResult>;
|
|
4
|
+
result: ConversionResult | null;
|
|
5
|
+
isConverting: boolean;
|
|
6
|
+
error: Error | null;
|
|
7
|
+
progress: number;
|
|
8
|
+
reset: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function useDocumentParser(): UseDocumentParserReturn;
|
|
11
|
+
interface UseMarkdownConversionReturn {
|
|
12
|
+
markdown: string | null;
|
|
13
|
+
isConverting: boolean;
|
|
14
|
+
error: Error | null;
|
|
15
|
+
convertToMarkdown: (file: File) => Promise<string>;
|
|
16
|
+
convertToJson: (file: File) => Promise<string>;
|
|
17
|
+
}
|
|
18
|
+
export declare function useMarkdownConversion(): UseMarkdownConversionReturn;
|
|
19
|
+
export {};
|
|
20
|
+
//# sourceMappingURL=hooks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,iBAAiB,EAAgB,MAAM,sBAAsB,CAAC;AAE9F,UAAU,uBAAuB;IAC/B,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,EAAE,iBAAiB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChF,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED,wBAAgB,iBAAiB,IAAI,uBAAuB,CAqD3D;AAED,UAAU,2BAA2B;IACnC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,EAAE,OAAO,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,iBAAiB,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACnD,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChD;AAED,wBAAgB,qBAAqB,IAAI,2BAA2B,CAwCnE"}
|
package/dist/hooks.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { useState, useCallback, useRef, useEffect } from 'react';
|
|
2
|
+
export function useDocumentParser() {
|
|
3
|
+
const [result, setResult] = useState(null);
|
|
4
|
+
const [isConverting, setIsConverting] = useState(false);
|
|
5
|
+
const [error, setError] = useState(null);
|
|
6
|
+
const [progress, setProgress] = useState(0);
|
|
7
|
+
const abortRef = useRef(null);
|
|
8
|
+
const convert = useCallback(async (file, options) => {
|
|
9
|
+
abortRef.current?.abort();
|
|
10
|
+
abortRef.current = new AbortController();
|
|
11
|
+
setIsConverting(true);
|
|
12
|
+
setError(null);
|
|
13
|
+
setProgress(0);
|
|
14
|
+
setResult(null);
|
|
15
|
+
try {
|
|
16
|
+
const { MarkItDown } = await import('@markitdownjs/core');
|
|
17
|
+
const parser = new MarkItDown();
|
|
18
|
+
const conversionResult = await parser.convert({
|
|
19
|
+
data: file,
|
|
20
|
+
fileName: file.name,
|
|
21
|
+
mimeType: file.type || undefined,
|
|
22
|
+
options: {
|
|
23
|
+
...options,
|
|
24
|
+
signal: abortRef.current.signal,
|
|
25
|
+
onProgress: (info) => setProgress(info.percentage),
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
setResult(conversionResult);
|
|
29
|
+
return conversionResult;
|
|
30
|
+
}
|
|
31
|
+
catch (err) {
|
|
32
|
+
const error = err instanceof Error ? err : new Error(String(err));
|
|
33
|
+
setError(error);
|
|
34
|
+
throw error;
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
setIsConverting(false);
|
|
38
|
+
}
|
|
39
|
+
}, []);
|
|
40
|
+
const reset = useCallback(() => {
|
|
41
|
+
abortRef.current?.abort();
|
|
42
|
+
setResult(null);
|
|
43
|
+
setError(null);
|
|
44
|
+
setProgress(0);
|
|
45
|
+
setIsConverting(false);
|
|
46
|
+
}, []);
|
|
47
|
+
useEffect(() => {
|
|
48
|
+
return () => {
|
|
49
|
+
abortRef.current?.abort();
|
|
50
|
+
};
|
|
51
|
+
}, []);
|
|
52
|
+
return { convert, result, isConverting, error, progress, reset };
|
|
53
|
+
}
|
|
54
|
+
export function useMarkdownConversion() {
|
|
55
|
+
const [markdown, setMarkdown] = useState(null);
|
|
56
|
+
const [isConverting, setIsConverting] = useState(false);
|
|
57
|
+
const [error, setError] = useState(null);
|
|
58
|
+
const convertToMarkdown = useCallback(async (file) => {
|
|
59
|
+
setIsConverting(true);
|
|
60
|
+
setError(null);
|
|
61
|
+
try {
|
|
62
|
+
const { MarkItDown } = await import('@markitdownjs/core');
|
|
63
|
+
const parser = new MarkItDown();
|
|
64
|
+
const md = await parser.convertToMarkdown(file);
|
|
65
|
+
setMarkdown(md);
|
|
66
|
+
return md;
|
|
67
|
+
}
|
|
68
|
+
catch (err) {
|
|
69
|
+
const e = err instanceof Error ? err : new Error(String(err));
|
|
70
|
+
setError(e);
|
|
71
|
+
throw e;
|
|
72
|
+
}
|
|
73
|
+
finally {
|
|
74
|
+
setIsConverting(false);
|
|
75
|
+
}
|
|
76
|
+
}, []);
|
|
77
|
+
const convertToJson = useCallback(async (file) => {
|
|
78
|
+
setIsConverting(true);
|
|
79
|
+
setError(null);
|
|
80
|
+
try {
|
|
81
|
+
const { MarkItDown } = await import('@markitdownjs/core');
|
|
82
|
+
const parser = new MarkItDown();
|
|
83
|
+
return await parser.convertToJson(file);
|
|
84
|
+
}
|
|
85
|
+
catch (err) {
|
|
86
|
+
const e = err instanceof Error ? err : new Error(String(err));
|
|
87
|
+
setError(e);
|
|
88
|
+
throw e;
|
|
89
|
+
}
|
|
90
|
+
finally {
|
|
91
|
+
setIsConverting(false);
|
|
92
|
+
}
|
|
93
|
+
}, []);
|
|
94
|
+
return { markdown, isConverting, error, convertToMarkdown, convertToJson };
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=hooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAYjE,MAAM,UAAU,iBAAiB;IAC/B,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAA0B,IAAI,CAAC,CAAC;IACpE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,MAAM,CAAyB,IAAI,CAAC,CAAC;IAEtD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,IAAU,EAAE,OAA2B,EAAE,EAAE;QAC5E,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1B,QAAQ,CAAC,OAAO,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,gBAAgB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC;gBAC5C,IAAI,EAAE,IAAI;gBACV,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,QAAQ,EAAE,IAAI,CAAC,IAAI,IAAI,SAAS;gBAChC,OAAO,EAAE;oBACP,GAAG,OAAO;oBACV,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,MAAM;oBAC/B,UAAU,EAAE,CAAC,IAAkB,EAAE,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;iBACjE;aACF,CAAC,CAAC;YACH,SAAS,CAAC,gBAAgB,CAAC,CAAC;YAC5B,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAClE,QAAQ,CAAC,KAAK,CAAC,CAAC;YAChB,MAAM,KAAK,CAAC;QACd,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1B,SAAS,CAAC,IAAI,CAAC,CAAC;QAChB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,WAAW,CAAC,CAAC,CAAC,CAAC;QACf,eAAe,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,GAAG,EAAE;YACV,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;AACnE,CAAC;AAUD,MAAM,UAAU,qBAAqB;IACnC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAe,IAAI,CAAC,CAAC;IAEvD,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE;QACzD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;YAChD,WAAW,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,EAAE,CAAC;QACZ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,IAAU,EAAE,EAAE;QACrD,eAAe,CAAC,IAAI,CAAC,CAAC;QACtB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,CAAC;YACH,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;YAChC,OAAO,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;YAC9D,QAAQ,CAAC,CAAC,CAAC,CAAC;YACZ,MAAM,CAAC,CAAC;QACV,CAAC;gBAAS,CAAC;YACT,eAAe,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,iBAAiB,EAAE,aAAa,EAAE,CAAC;AAC7E,CAAC"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useDocumentParser, useMarkdownConversion } from './hooks.js';
|
|
2
|
+
export { DocumentDropzone, DocumentPreview, MarkdownViewer, ConversionProgress, } from './components.js';
|
|
3
|
+
export { MarkItDownProvider, useMarkItDown } from './provider.js';
|
|
4
|
+
export type { DocumentDropzoneProps, DocumentPreviewProps, MarkdownViewerProps, ConversionProgressProps, } from './components.js';
|
|
5
|
+
export type { MarkItDownProviderProps } from './provider.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAClE,YAAY,EACV,qBAAqB,EACrB,oBAAoB,EACpB,mBAAmB,EACnB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,YAAY,EAAE,uBAAuB,EAAE,MAAM,eAAe,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { useDocumentParser, useMarkdownConversion } from './hooks.js';
|
|
2
|
+
export { DocumentDropzone, DocumentPreview, MarkdownViewer, ConversionProgress, } from './components.js';
|
|
3
|
+
export { MarkItDownProvider, useMarkItDown } from './provider.js';
|
|
4
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,GACnB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { ConversionInput, ConversionResult } from '@markitdownjs/shared';
|
|
3
|
+
interface MarkItDownContextValue {
|
|
4
|
+
convert: (input: ConversionInput) => Promise<ConversionResult>;
|
|
5
|
+
convertToMarkdown: (input: ConversionInput) => Promise<string>;
|
|
6
|
+
convertToJson: (input: ConversionInput) => Promise<string>;
|
|
7
|
+
}
|
|
8
|
+
export interface MarkItDownProviderProps {
|
|
9
|
+
children: ReactNode;
|
|
10
|
+
}
|
|
11
|
+
export declare function MarkItDownProvider({ children }: MarkItDownProviderProps): import("react").JSX.Element;
|
|
12
|
+
export declare function useMarkItDown(): MarkItDownContextValue;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAkD,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AACvF,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAE9E,UAAU,sBAAsB;IAC9B,OAAO,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC/D,iBAAiB,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC/D,aAAa,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAC5D;AAID,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,EAAE,uBAAuB,+BA+BvE;AAED,wBAAgB,aAAa,IAAI,sBAAsB,CAMtD"}
|
package/dist/provider.js
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useContext, useRef, useCallback } from 'react';
|
|
3
|
+
const MarkItDownContext = createContext(null);
|
|
4
|
+
export function MarkItDownProvider({ children }) {
|
|
5
|
+
const parserRef = useRef(null);
|
|
6
|
+
const getParser = useCallback(async () => {
|
|
7
|
+
if (!parserRef.current) {
|
|
8
|
+
const { MarkItDown } = await import('@markitdownjs/core');
|
|
9
|
+
parserRef.current = new MarkItDown();
|
|
10
|
+
}
|
|
11
|
+
return parserRef.current;
|
|
12
|
+
}, []);
|
|
13
|
+
const convert = useCallback(async (input) => {
|
|
14
|
+
const parser = await getParser();
|
|
15
|
+
return parser.convert(input);
|
|
16
|
+
}, [getParser]);
|
|
17
|
+
const convertToMarkdown = useCallback(async (input) => {
|
|
18
|
+
const parser = await getParser();
|
|
19
|
+
return parser.convertToMarkdown(input);
|
|
20
|
+
}, [getParser]);
|
|
21
|
+
const convertToJson = useCallback(async (input) => {
|
|
22
|
+
const parser = await getParser();
|
|
23
|
+
return parser.convertToJson(input);
|
|
24
|
+
}, [getParser]);
|
|
25
|
+
return (_jsx(MarkItDownContext.Provider, { value: { convert, convertToMarkdown, convertToJson }, children: children }));
|
|
26
|
+
}
|
|
27
|
+
export function useMarkItDown() {
|
|
28
|
+
const context = useContext(MarkItDownContext);
|
|
29
|
+
if (!context) {
|
|
30
|
+
throw new Error('useMarkItDown must be used within a MarkItDownProvider');
|
|
31
|
+
}
|
|
32
|
+
return context;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,EAAkB,MAAM,OAAO,CAAC;AASvF,MAAM,iBAAiB,GAAG,aAAa,CAAgC,IAAI,CAAC,CAAC;AAM7E,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAA2B;IACtE,MAAM,SAAS,GAAG,MAAM,CAAiD,IAAI,CAAC,CAAC;IAE/E,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QACvC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACvB,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAC1D,SAAS,CAAC,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;QACvC,CAAC;QACD,OAAO,SAAS,CAAC,OAAO,CAAC;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,KAAsB,EAAE,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,iBAAiB,GAAG,WAAW,CAAC,KAAK,EAAE,KAAsB,EAAE,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACzC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,MAAM,aAAa,GAAG,WAAW,CAAC,KAAK,EAAE,KAAsB,EAAE,EAAE;QACjE,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;QACjC,OAAO,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACrC,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC;IAEhB,OAAO,CACL,KAAC,iBAAiB,CAAC,QAAQ,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,YAC7E,QAAQ,GACkB,CAC9B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa;IAC3B,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@markitdownjs/react",
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"description": "React hooks and components for MarkItDownJS document conversion",
|
|
5
|
+
"license": "MIT",
|
|
6
|
+
"type": "module",
|
|
7
|
+
"main": "./dist/index.js",
|
|
8
|
+
"module": "./dist/index.js",
|
|
9
|
+
"types": "./dist/index.d.ts",
|
|
10
|
+
"exports": {
|
|
11
|
+
".": {
|
|
12
|
+
"import": "./dist/index.js",
|
|
13
|
+
"types": "./dist/index.d.ts"
|
|
14
|
+
}
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"dist"
|
|
18
|
+
],
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"@markitdownjs/shared": "0.1.0"
|
|
21
|
+
},
|
|
22
|
+
"peerDependencies": {
|
|
23
|
+
"react": ">=18.0.0"
|
|
24
|
+
},
|
|
25
|
+
"devDependencies": {
|
|
26
|
+
"typescript": "^5.5.0",
|
|
27
|
+
"react": "^18.2.0",
|
|
28
|
+
"@types/react": "^18.2.0",
|
|
29
|
+
"@markitdownjs/core": "0.1.0"
|
|
30
|
+
},
|
|
31
|
+
"scripts": {
|
|
32
|
+
"build": "tsc --project tsconfig.json",
|
|
33
|
+
"dev": "tsc --watch --project tsconfig.json",
|
|
34
|
+
"typecheck": "tsc --noEmit",
|
|
35
|
+
"clean": "rm -rf dist tsconfig.tsbuildinfo"
|
|
36
|
+
}
|
|
37
|
+
}
|