@mdzip/editor-react 1.3.1 → 1.3.11
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/README.md +62 -1
- package/dist/diff-view.d.ts +22 -0
- package/dist/diff-view.d.ts.map +1 -0
- package/dist/diff-view.js +82 -0
- package/dist/diff-view.js.map +1 -0
- package/dist/index.d.ts +34 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +111 -2
- package/dist/index.js.map +1 -1
- package/dist/package-info.d.ts +7 -0
- package/dist/package-info.d.ts.map +1 -0
- package/dist/package-info.js +8 -0
- package/dist/package-info.js.map +1 -0
- package/package.json +10 -3
package/README.md
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
[![MDZip logo][mdzip-logo]][mdzip-url]
|
|
2
|
+
|
|
3
|
+
[mdzip-logo]: https://raw.githubusercontent.com/mdzip-project/mdzip-editor/main/resources/mdzip-mark.svg
|
|
4
|
+
[mdzip-url]: https://mdzip.org
|
|
5
|
+
|
|
1
6
|
# @mdzip/editor-react
|
|
2
7
|
|
|
3
8
|
React component wrapper for the MDZip workspace editor.
|
|
@@ -34,6 +39,28 @@ export function Viewer({ bytes }: { bytes: Uint8Array }) {
|
|
|
34
39
|
|
|
35
40
|
The parent element must have an explicit height. The component expands to fill it.
|
|
36
41
|
|
|
42
|
+
## Archive Diff
|
|
43
|
+
|
|
44
|
+
```tsx
|
|
45
|
+
import { MdzipDiff } from '@mdzip/editor-react/diff-view';
|
|
46
|
+
|
|
47
|
+
<div style={{ height: 600 }}>
|
|
48
|
+
<MdzipDiff
|
|
49
|
+
before={{ bytes: baseBytes, label: 'Git base' }}
|
|
50
|
+
after={{ bytes: workingBytes, label: 'Working tree' }}
|
|
51
|
+
initialPath="index.md"
|
|
52
|
+
toolbarActions={[{ id: 'refresh', label: 'Refresh', icon: 'refresh', run: refresh }]}
|
|
53
|
+
/>
|
|
54
|
+
</div>
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
`MdzipDiff` is read-only and updates the existing comparison view when its
|
|
58
|
+
props change. A ref exposes `openPath`, `openPreviousChange`, `openNextChange`,
|
|
59
|
+
`setShowUnchanged`, `setNavigationVisible`, and `setToolbarActions`. The
|
|
60
|
+
built-in toolbar adds Previous/Next change buttons and a Show-unchanged
|
|
61
|
+
toggle; pass a `controls` prop (`{ navigation?, changeTraversal?,
|
|
62
|
+
showUnchanged? }`) to opt any of them out.
|
|
63
|
+
|
|
37
64
|
## Editor Mode
|
|
38
65
|
|
|
39
66
|
```tsx
|
|
@@ -61,6 +88,36 @@ The parent element must have an explicit height. The component expands to fill i
|
|
|
61
88
|
| `initialColorScheme` | `MdzipColorScheme` | — | `'light'` or `'dark'` |
|
|
62
89
|
| `navigationMode` | `MdzipNavigationMode` | — | Package navigation mode |
|
|
63
90
|
| `navigationButtonActive` | `boolean` | — | Whether the navigation button is shown |
|
|
91
|
+
| `markdownRenderer` | `MdzipMarkdownRenderer` | — | Custom markdown renderer (keep the reference stable, e.g. `useMemo`) |
|
|
92
|
+
| `markdownExtensions` | `readonly MdzipMarkdownRenderExtension[]` | `[]` | Markdown pipeline extensions, diffed by `name` — inline arrays are safe |
|
|
93
|
+
| `entryRenderers` | `readonly MdzipEntryRenderer[]` | `[]` | Entry renderers claiming the content area for matching entries, diffed by `id` — inline arrays are safe |
|
|
94
|
+
| `renderEntry` | `(context) => ReactNode \| undefined` | — | Catch-all entry renderer: return a node to claim the selected entry, `undefined` to delegate |
|
|
95
|
+
| `renderEntryPriority` | `number` | `0` | Matching priority of `renderEntry` relative to `entryRenderers` |
|
|
96
|
+
|
|
97
|
+
Rendering prop changes apply in place — they never recreate the workspace
|
|
98
|
+
view. See the `@mdzip/editor` Rendering Extensibility docs for the contracts
|
|
99
|
+
and lifecycle rules.
|
|
100
|
+
|
|
101
|
+
### Native entry rendering
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
<MdzipWorkspace
|
|
105
|
+
bytes={bytes}
|
|
106
|
+
renderEntry={(context) =>
|
|
107
|
+
context.path.toLowerCase() === 'manifest.json'
|
|
108
|
+
? <ManifestEditor
|
|
109
|
+
manifest={context.manifest}
|
|
110
|
+
editable={context.mode === 'editable'}
|
|
111
|
+
onManifestChange={context.updateManifest}
|
|
112
|
+
/>
|
|
113
|
+
: undefined}
|
|
114
|
+
/>
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
The wrapper owns the React root: it mounts when the entry is claimed,
|
|
118
|
+
re-renders on context updates and on every parent commit (entry content
|
|
119
|
+
stays live with parent state — inline closures are safe and never
|
|
120
|
+
re-mount), and unmounts on selection change.
|
|
64
121
|
|
|
65
122
|
## Callbacks
|
|
66
123
|
|
|
@@ -73,6 +130,8 @@ The parent element must have an explicit height. The component expands to fill i
|
|
|
73
130
|
| `onDirtyChanged` | `(snapshot: MdzipWorkspaceSnapshot) => void` | Called when the dirty flag changes |
|
|
74
131
|
| `onValidationChanged` | `(snapshot: MdzipWorkspaceSnapshot) => void` | Called when validation state changes |
|
|
75
132
|
| `onColorSchemeChanged` | `(colorScheme: MdzipColorScheme) => void` | Called when the color scheme changes |
|
|
133
|
+
| `onPreviewRendered` | `(snapshot: MdzipWorkspaceSnapshot) => void` | Called when the preview HTML is mounted |
|
|
134
|
+
| `onAssetsHydrated` | `(snapshot: MdzipWorkspaceSnapshot) => void` | Called once the mounted preview's images have loaded |
|
|
76
135
|
| `onFailed` | `(error: unknown) => void` | Called on unrecoverable errors |
|
|
77
136
|
| `onConversionRequested` | `(action: MdzipConversionAction) => boolean \| Promise<boolean>` | Host hook for the markdown→MDZ conversion flow (nav button, Insert Image, or image paste on a plain `.md`). Return/resolve `true` to take over and suppress the built-in conversion dialog |
|
|
78
137
|
|
|
@@ -84,7 +143,9 @@ rename/move, duplicate, replace, download, copy markdown link, set entry point,
|
|
|
84
143
|
image, and delete. Files can also be dragged between folders, and OS files can be dropped
|
|
85
144
|
onto the pane to add them as assets. Copy and Download remain available in read-only mode.
|
|
86
145
|
The same operations are exposed imperatively: `removeFile`, `renameFile`, `setEntryPoint`,
|
|
87
|
-
and `setCoverImage` on the handle.
|
|
146
|
+
and `setCoverImage` on the handle. The handle also exposes `whenRendered()`, which resolves
|
|
147
|
+
once the current preview (including its images) is mounted — useful for revealing or
|
|
148
|
+
animating read-only preview content.
|
|
88
149
|
|
|
89
150
|
## Imperative API
|
|
90
151
|
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { type MdzipDiffControlsOptions, type MdzipDiffSelectionEvent, type MdzipDiffSideInput, type MdzipDiffToolbarAction } from '@mdzip/editor/diff-view';
|
|
2
|
+
export interface MdzipDiffProps {
|
|
3
|
+
before: MdzipDiffSideInput;
|
|
4
|
+
after: MdzipDiffSideInput;
|
|
5
|
+
initialPath?: string;
|
|
6
|
+
showUnchanged?: boolean;
|
|
7
|
+
navigationVisible?: boolean;
|
|
8
|
+
controls?: MdzipDiffControlsOptions;
|
|
9
|
+
toolbarActions?: readonly MdzipDiffToolbarAction[];
|
|
10
|
+
onSelectionChanged?: (event: MdzipDiffSelectionEvent) => void;
|
|
11
|
+
onFailed?: (error: Error) => void;
|
|
12
|
+
}
|
|
13
|
+
export interface MdzipDiffHandle {
|
|
14
|
+
openPath(path: string): Promise<boolean>;
|
|
15
|
+
openPreviousChange(): Promise<boolean>;
|
|
16
|
+
openNextChange(): Promise<boolean>;
|
|
17
|
+
setShowUnchanged(show: boolean): void;
|
|
18
|
+
setNavigationVisible(visible: boolean): void;
|
|
19
|
+
setToolbarActions(actions: readonly MdzipDiffToolbarAction[]): void;
|
|
20
|
+
}
|
|
21
|
+
export declare const MdzipDiff: import("react").ForwardRefExoticComponent<MdzipDiffProps & import("react").RefAttributes<MdzipDiffHandle>>;
|
|
22
|
+
//# sourceMappingURL=diff-view.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-view.d.ts","sourceRoot":"","sources":["../src/diff-view.tsx"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,wBAAwB,EAC7B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC5B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,kBAAkB,CAAC;IAC3B,KAAK,EAAE,kBAAkB,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IACpC,cAAc,CAAC,EAAE,SAAS,sBAAsB,EAAE,CAAC;IACnD,kBAAkB,CAAC,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAC9D,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CACnC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IACzC,kBAAkB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACvC,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACnC,gBAAgB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACtC,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7C,iBAAiB,CAAC,OAAO,EAAE,SAAS,sBAAsB,EAAE,GAAG,IAAI,CAAC;CACrE;AAED,eAAO,MAAM,SAAS,4GAoFpB,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';
|
|
3
|
+
import { MdzipDiffView } from '@mdzip/editor/diff-view';
|
|
4
|
+
export const MdzipDiff = forwardRef(function MdzipDiff(props, forwardedRef) {
|
|
5
|
+
const hostRef = useRef(null);
|
|
6
|
+
const viewRef = useRef(null);
|
|
7
|
+
const callbacksRef = useRef({
|
|
8
|
+
onSelectionChanged: props.onSelectionChanged,
|
|
9
|
+
onFailed: props.onFailed
|
|
10
|
+
});
|
|
11
|
+
callbacksRef.current = {
|
|
12
|
+
onSelectionChanged: props.onSelectionChanged,
|
|
13
|
+
onFailed: props.onFailed
|
|
14
|
+
};
|
|
15
|
+
const firstOpenRef = useRef(true);
|
|
16
|
+
const initialOptionsRef = useRef({
|
|
17
|
+
before: props.before,
|
|
18
|
+
after: props.after,
|
|
19
|
+
initialPath: props.initialPath,
|
|
20
|
+
showUnchanged: props.showUnchanged,
|
|
21
|
+
navigationVisible: props.navigationVisible,
|
|
22
|
+
controls: props.controls,
|
|
23
|
+
toolbarActions: props.toolbarActions
|
|
24
|
+
});
|
|
25
|
+
useImperativeHandle(forwardedRef, () => ({
|
|
26
|
+
openPath: (path) => viewRef.current?.openPath(path) ?? Promise.resolve(false),
|
|
27
|
+
openPreviousChange: () => viewRef.current?.openPreviousChange() ?? Promise.resolve(false),
|
|
28
|
+
openNextChange: () => viewRef.current?.openNextChange() ?? Promise.resolve(false),
|
|
29
|
+
setShowUnchanged: (show) => viewRef.current?.setShowUnchanged(show),
|
|
30
|
+
setNavigationVisible: (visible) => viewRef.current?.setNavigationVisible(visible),
|
|
31
|
+
setToolbarActions: (actions) => viewRef.current?.setToolbarActions(actions)
|
|
32
|
+
}), []);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
if (!hostRef.current)
|
|
35
|
+
return;
|
|
36
|
+
const initial = initialOptionsRef.current;
|
|
37
|
+
const view = new MdzipDiffView(hostRef.current, {
|
|
38
|
+
before: initial.before,
|
|
39
|
+
after: initial.after,
|
|
40
|
+
initialPath: initial.initialPath,
|
|
41
|
+
showUnchanged: initial.showUnchanged,
|
|
42
|
+
navigationVisible: initial.navigationVisible,
|
|
43
|
+
controls: initial.controls,
|
|
44
|
+
toolbarActions: initial.toolbarActions,
|
|
45
|
+
onSelectionChanged: (event) => callbacksRef.current.onSelectionChanged?.(event),
|
|
46
|
+
onFailed: (error) => callbacksRef.current.onFailed?.(error)
|
|
47
|
+
});
|
|
48
|
+
viewRef.current = view;
|
|
49
|
+
return () => {
|
|
50
|
+
view.destroy();
|
|
51
|
+
viewRef.current = null;
|
|
52
|
+
};
|
|
53
|
+
}, []);
|
|
54
|
+
useEffect(() => {
|
|
55
|
+
if (firstOpenRef.current) {
|
|
56
|
+
firstOpenRef.current = false;
|
|
57
|
+
return;
|
|
58
|
+
}
|
|
59
|
+
void viewRef.current?.open({
|
|
60
|
+
before: props.before,
|
|
61
|
+
after: props.after,
|
|
62
|
+
initialPath: props.initialPath,
|
|
63
|
+
onSelectionChanged: (event) => callbacksRef.current.onSelectionChanged?.(event),
|
|
64
|
+
onFailed: (error) => callbacksRef.current.onFailed?.(error)
|
|
65
|
+
});
|
|
66
|
+
}, [
|
|
67
|
+
props.before,
|
|
68
|
+
props.after,
|
|
69
|
+
props.initialPath
|
|
70
|
+
]);
|
|
71
|
+
useEffect(() => {
|
|
72
|
+
viewRef.current?.setShowUnchanged(props.showUnchanged ?? true);
|
|
73
|
+
}, [props.showUnchanged]);
|
|
74
|
+
useEffect(() => {
|
|
75
|
+
viewRef.current?.setNavigationVisible(props.navigationVisible ?? true);
|
|
76
|
+
}, [props.navigationVisible]);
|
|
77
|
+
useEffect(() => {
|
|
78
|
+
viewRef.current?.setToolbarActions(props.toolbarActions ?? []);
|
|
79
|
+
}, [props.toolbarActions]);
|
|
80
|
+
return _jsx("div", { ref: hostRef, style: { height: '100%', overflow: 'hidden' } });
|
|
81
|
+
});
|
|
82
|
+
//# sourceMappingURL=diff-view.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"diff-view.js","sourceRoot":"","sources":["../src/diff-view.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type ReactNode } from 'react';
|
|
2
|
+
import type { MdzipControlPolicy, MdzipControlPreset, MdzipColorScheme, MdzipConversionAction, MdzipConversionContext, MdzipDocumentChangeEvent, MdzipEditorCommand, MdzipEditorSnapshot, MdzipEntryRenderContext, MdzipEntryRenderer, MdzipMarkdownRenderExtension, MdzipMarkdownRenderer, MdzipNavigationMode, MdzipRemoveAssetOptions, MdzipSourceFormat, MdzipWorkspaceChange, MdzipWorkspaceLayout, MdzipWorkspaceMode, MdzipWorkspaceSave, MdzipWorkspaceSnapshot, MdzWorkspace, MdzWorkspaceAsset } from '@mdzip/editor';
|
|
3
|
+
/**
|
|
4
|
+
* Catch-all entry render function. Returning a React node claims the entry's
|
|
5
|
+
* content area; returning `undefined` delegates to the next registered entry
|
|
6
|
+
* renderer or the built-in rendering.
|
|
7
|
+
*/
|
|
8
|
+
export type MdzipRenderEntry = (context: MdzipEntryRenderContext) => ReactNode | undefined;
|
|
2
9
|
export interface MdzipWorkspaceProps {
|
|
3
10
|
bytes?: Uint8Array | null;
|
|
4
11
|
workspace?: MdzWorkspace | null;
|
|
@@ -21,12 +28,36 @@ export interface MdzipWorkspaceProps {
|
|
|
21
28
|
onDirtyChanged?: (snapshot: MdzipWorkspaceSnapshot) => void;
|
|
22
29
|
onValidationChanged?: (snapshot: MdzipWorkspaceSnapshot) => void;
|
|
23
30
|
onColorSchemeChanged?: (colorScheme: MdzipColorScheme) => void;
|
|
31
|
+
/** Fires when the preview HTML for the current selection is mounted. */
|
|
32
|
+
onPreviewRendered?: (snapshot: MdzipWorkspaceSnapshot) => void;
|
|
33
|
+
/** Fires once the mounted preview's images have finished loading. */
|
|
34
|
+
onAssetsHydrated?: (snapshot: MdzipWorkspaceSnapshot) => void;
|
|
24
35
|
onFailed?: (error: unknown) => void;
|
|
25
36
|
/**
|
|
26
37
|
* Host hook for the markdown→MDZ conversion flow. Return/resolve `true`
|
|
27
38
|
* to take over (the built-in conversion dialog is suppressed).
|
|
28
39
|
*/
|
|
29
|
-
onConversionRequested?: (action: MdzipConversionAction) => boolean | Promise<boolean>;
|
|
40
|
+
onConversionRequested?: (action: MdzipConversionAction, context: MdzipConversionContext) => boolean | Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Custom markdown renderer. Keep the reference stable (module scope or
|
|
43
|
+
* useMemo): identity changes apply via a cheap preview re-render, never a
|
|
44
|
+
* workspace rebuild.
|
|
45
|
+
*/
|
|
46
|
+
markdownRenderer?: MdzipMarkdownRenderer;
|
|
47
|
+
/** Markdown pipeline extensions, diffed by `name` — inline arrays are safe. */
|
|
48
|
+
markdownExtensions?: readonly MdzipMarkdownRenderExtension[];
|
|
49
|
+
/** Entry renderers, diffed by `id`/`priority` — inline arrays are safe. */
|
|
50
|
+
entryRenderers?: readonly MdzipEntryRenderer[];
|
|
51
|
+
/**
|
|
52
|
+
* Catch-all entry render function. Return a React node to claim the
|
|
53
|
+
* selected entry's content area, or `undefined` to delegate to
|
|
54
|
+
* `entryRenderers` and the built-in rendering. The wrapper owns the React
|
|
55
|
+
* root lifecycle, and the content stays live with parent state — inline
|
|
56
|
+
* closures are safe and never re-mount.
|
|
57
|
+
*/
|
|
58
|
+
renderEntry?: MdzipRenderEntry;
|
|
59
|
+
/** Matching priority of `renderEntry` relative to `entryRenderers`. Default 0. */
|
|
60
|
+
renderEntryPriority?: number;
|
|
30
61
|
}
|
|
31
62
|
export interface MdzipWorkspaceHandle {
|
|
32
63
|
canExecuteCommand(command: MdzipEditorCommand): boolean;
|
|
@@ -35,6 +66,7 @@ export interface MdzipWorkspaceHandle {
|
|
|
35
66
|
flush(): Promise<MdzipEditorSnapshot | null>;
|
|
36
67
|
serialize(): Promise<Blob | null>;
|
|
37
68
|
getCurrentSnapshot(): Promise<MdzipEditorSnapshot | null>;
|
|
69
|
+
whenRendered(): Promise<void>;
|
|
38
70
|
markPersisted(): void;
|
|
39
71
|
addAsset(archivePath: string, fileBytes: Uint8Array): Promise<void>;
|
|
40
72
|
replaceAsset(archivePath: string, fileBytes: Uint8Array): Promise<boolean>;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,78 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { forwardRef, useEffect, useImperativeHandle, useRef } from 'react';
|
|
3
|
+
import { createRoot } from 'react-dom/client';
|
|
3
4
|
import { MdzipWorkspaceView } from '@mdzip/editor';
|
|
4
|
-
|
|
5
|
+
import { PACKAGE_INFO } from './package-info.js';
|
|
6
|
+
// Identity-insensitive key for the rendering props: extensions and entry
|
|
7
|
+
// renderers are diffed by their stable name/id (and priority), so inline
|
|
8
|
+
// array literals with equivalent contents never trigger an update.
|
|
9
|
+
function renderingConfigKey(extensions, entryRenderers) {
|
|
10
|
+
return JSON.stringify([
|
|
11
|
+
(extensions ?? []).map((extension) => extension.name),
|
|
12
|
+
(entryRenderers ?? []).map((renderer) => [renderer.id, renderer.priority ?? 0]),
|
|
13
|
+
]);
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Adapts the `renderEntry` render prop onto the framework-independent
|
|
17
|
+
* `MdzipEntryRenderer` contract. The wrapper owns the React root: it is
|
|
18
|
+
* created on mount, re-rendered on context updates and on every parent
|
|
19
|
+
* commit (so entry content stays live with parent state), and unmounted on
|
|
20
|
+
* destroy. The latest `renderEntry` closure is always read through this
|
|
21
|
+
* adapter, so new function identities never re-mount anything.
|
|
22
|
+
*/
|
|
23
|
+
class ReactEntryAdapter {
|
|
24
|
+
constructor() {
|
|
25
|
+
this.id = 'mdzip-react-render-entry';
|
|
26
|
+
this.priority = 0;
|
|
27
|
+
this.root = null;
|
|
28
|
+
this.context = null;
|
|
29
|
+
}
|
|
30
|
+
matches(context) {
|
|
31
|
+
return this.renderEntry ? this.renderEntry(context) !== undefined : false;
|
|
32
|
+
}
|
|
33
|
+
mount(container, context) {
|
|
34
|
+
this.context = context;
|
|
35
|
+
this.root = createRoot(container);
|
|
36
|
+
this.renderIntoRoot();
|
|
37
|
+
return {
|
|
38
|
+
update: (next) => {
|
|
39
|
+
this.context = next;
|
|
40
|
+
this.renderIntoRoot();
|
|
41
|
+
},
|
|
42
|
+
destroy: () => {
|
|
43
|
+
const root = this.root;
|
|
44
|
+
this.root = null;
|
|
45
|
+
this.context = null;
|
|
46
|
+
// React warns when a root unmounts synchronously while another tree
|
|
47
|
+
// renders; the core may destroy during a render-triggered teardown.
|
|
48
|
+
queueMicrotask(() => root?.unmount());
|
|
49
|
+
}
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
setRenderEntry(renderEntry) {
|
|
53
|
+
this.renderEntry = renderEntry;
|
|
54
|
+
this.renderIntoRoot();
|
|
55
|
+
}
|
|
56
|
+
renderIntoRoot() {
|
|
57
|
+
if (this.root && this.context) {
|
|
58
|
+
this.root.render(this.renderEntry?.(this.context) ?? null);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
function composeEntryRenderers(entryRenderers, adapter, renderEntry) {
|
|
63
|
+
const explicit = entryRenderers ?? [];
|
|
64
|
+
// Stable sort in the core keeps explicit renderers ahead of the catch-all
|
|
65
|
+
// at equal priority.
|
|
66
|
+
return renderEntry ? [...explicit, adapter] : explicit;
|
|
67
|
+
}
|
|
68
|
+
export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, workspace, fileName = 'document.mdz', mode = 'read-only', sourceFormat, controls = 'viewer', initialLayout, initialColorScheme, navigationMode, navigationButtonActive, onChanged, onSaved, onWorkspaceChanged, onDocumentChanged, onAssetChanged, onManifestChanged, onSnapshotChanged, onSelectionChanged, onDirtyChanged, onValidationChanged, onColorSchemeChanged, onPreviewRendered, onAssetsHydrated, onFailed, onConversionRequested, markdownRenderer, markdownExtensions, entryRenderers, renderEntry, renderEntryPriority, }, forwardedRef) {
|
|
5
69
|
const ref = useRef(null);
|
|
6
70
|
const viewRef = useRef(null);
|
|
71
|
+
const adapterRef = useRef(null);
|
|
72
|
+
if (!adapterRef.current) {
|
|
73
|
+
adapterRef.current = new ReactEntryAdapter();
|
|
74
|
+
}
|
|
75
|
+
adapterRef.current.priority = renderEntryPriority ?? 0;
|
|
7
76
|
// Callbacks and content are read through refs at event/recreate time so
|
|
8
77
|
// that new prop identities (e.g. inline handlers) never force a view
|
|
9
78
|
// rebuild — only the view-config props below do.
|
|
@@ -19,6 +88,8 @@ export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, worksp
|
|
|
19
88
|
onDirtyChanged,
|
|
20
89
|
onValidationChanged,
|
|
21
90
|
onColorSchemeChanged,
|
|
91
|
+
onPreviewRendered,
|
|
92
|
+
onAssetsHydrated,
|
|
22
93
|
onFailed,
|
|
23
94
|
onConversionRequested,
|
|
24
95
|
});
|
|
@@ -34,11 +105,23 @@ export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, worksp
|
|
|
34
105
|
onDirtyChanged,
|
|
35
106
|
onValidationChanged,
|
|
36
107
|
onColorSchemeChanged,
|
|
108
|
+
onPreviewRendered,
|
|
109
|
+
onAssetsHydrated,
|
|
37
110
|
onFailed,
|
|
38
111
|
onConversionRequested,
|
|
39
112
|
};
|
|
40
113
|
const contentRef = useRef({ bytes, workspace, mode, sourceFormat, fileName });
|
|
41
114
|
contentRef.current = { bytes, workspace, mode, sourceFormat, fileName };
|
|
115
|
+
// Latest rendering props, read at view-create and apply time so prop
|
|
116
|
+
// identity changes alone never rebuild the workspace view.
|
|
117
|
+
const renderingRef = useRef({ markdownRenderer, markdownExtensions, entryRenderers, renderEntry });
|
|
118
|
+
renderingRef.current = { markdownRenderer, markdownExtensions, entryRenderers, renderEntry };
|
|
119
|
+
const renderingKey = renderingConfigKey(markdownExtensions, composeEntryRenderers(entryRenderers, adapterRef.current, renderEntry));
|
|
120
|
+
// Keep the mounted entry content live with parent state: every commit
|
|
121
|
+
// re-renders the adapter's root with the latest renderEntry closure.
|
|
122
|
+
useEffect(() => {
|
|
123
|
+
adapterRef.current?.setRenderEntry(renderEntry);
|
|
124
|
+
});
|
|
42
125
|
useImperativeHandle(forwardedRef, () => ({
|
|
43
126
|
canExecuteCommand: (command) => viewRef.current?.canExecuteCommand(command) ?? false,
|
|
44
127
|
executeCommand: (command, file) => viewRef.current?.executeCommand(command, file) ?? Promise.resolve(false),
|
|
@@ -46,6 +129,7 @@ export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, worksp
|
|
|
46
129
|
flush: () => viewRef.current?.flush() ?? Promise.resolve(null),
|
|
47
130
|
serialize: () => viewRef.current?.serialize() ?? Promise.resolve(null),
|
|
48
131
|
getCurrentSnapshot: () => viewRef.current?.getCurrentSnapshot() ?? Promise.resolve(null),
|
|
132
|
+
whenRendered: () => viewRef.current?.whenRendered() ?? Promise.resolve(),
|
|
49
133
|
markPersisted: () => viewRef.current?.markPersisted(),
|
|
50
134
|
addAsset: (archivePath, fileBytes) => viewRef.current?.addAsset(archivePath, fileBytes) ?? Promise.resolve(),
|
|
51
135
|
replaceAsset: (archivePath, fileBytes) => viewRef.current?.replaceAsset(archivePath, fileBytes) ?? Promise.resolve(false),
|
|
@@ -62,6 +146,7 @@ export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, worksp
|
|
|
62
146
|
if (!ref.current)
|
|
63
147
|
return;
|
|
64
148
|
const view = new MdzipWorkspaceView(ref.current, {
|
|
149
|
+
libraries: [PACKAGE_INFO],
|
|
65
150
|
controls,
|
|
66
151
|
initialLayout,
|
|
67
152
|
initialColorScheme,
|
|
@@ -78,10 +163,15 @@ export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, worksp
|
|
|
78
163
|
onDirtyChanged: (snapshot) => callbacksRef.current.onDirtyChanged?.(snapshot),
|
|
79
164
|
onValidationChanged: (snapshot) => callbacksRef.current.onValidationChanged?.(snapshot),
|
|
80
165
|
onColorSchemeChanged: (colorScheme) => callbacksRef.current.onColorSchemeChanged?.(colorScheme),
|
|
166
|
+
onPreviewRendered: (snapshot) => callbacksRef.current.onPreviewRendered?.(snapshot),
|
|
167
|
+
onAssetsHydrated: (snapshot) => callbacksRef.current.onAssetsHydrated?.(snapshot),
|
|
81
168
|
onFailed: (e) => callbacksRef.current.onFailed?.(e),
|
|
82
169
|
// A hook returning false falls back to the built-in dialog, same as no
|
|
83
170
|
// hook at all, so the always-present delegate is behavior-preserving.
|
|
84
|
-
onConversionRequested: (action) => callbacksRef.current.onConversionRequested?.(action) ?? false,
|
|
171
|
+
onConversionRequested: (action, context) => callbacksRef.current.onConversionRequested?.(action, context) ?? false,
|
|
172
|
+
markdownRenderer: renderingRef.current.markdownRenderer,
|
|
173
|
+
markdownExtensions: renderingRef.current.markdownExtensions,
|
|
174
|
+
entryRenderers: composeEntryRenderers(renderingRef.current.entryRenderers, adapterRef.current, renderingRef.current.renderEntry),
|
|
85
175
|
});
|
|
86
176
|
viewRef.current = view;
|
|
87
177
|
if (firstCreateRef.current) {
|
|
@@ -118,6 +208,25 @@ export const MdzipWorkspace = forwardRef(function MdzipWorkspace({ bytes, worksp
|
|
|
118
208
|
void viewRef.current.open(bytes, { mode, sourceFormat, fileName });
|
|
119
209
|
}
|
|
120
210
|
}, [bytes, workspace, mode, sourceFormat, fileName]);
|
|
211
|
+
// Rendering config updates apply in place — never a view rebuild. Arrays
|
|
212
|
+
// re-apply only when their name/id key changes; the renderer re-applies on
|
|
213
|
+
// identity change (a cheap preview re-render). The first run is skipped:
|
|
214
|
+
// view creation already received the current values.
|
|
215
|
+
const renderingAppliedRef = useRef(false);
|
|
216
|
+
useEffect(() => {
|
|
217
|
+
const view = viewRef.current;
|
|
218
|
+
if (!view)
|
|
219
|
+
return;
|
|
220
|
+
if (!renderingAppliedRef.current) {
|
|
221
|
+
renderingAppliedRef.current = true;
|
|
222
|
+
return;
|
|
223
|
+
}
|
|
224
|
+
view.setRenderingOptions({
|
|
225
|
+
markdownRenderer: renderingRef.current.markdownRenderer ?? null,
|
|
226
|
+
markdownExtensions: renderingRef.current.markdownExtensions ?? [],
|
|
227
|
+
entryRenderers: composeEntryRenderers(renderingRef.current.entryRenderers, adapterRef.current, renderingRef.current.renderEntry),
|
|
228
|
+
});
|
|
229
|
+
}, [markdownRenderer, renderingKey]);
|
|
121
230
|
return _jsx("div", { ref: ref, style: { height: '100%', overflow: 'hidden' } });
|
|
122
231
|
});
|
|
123
232
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,EAAkB,MAAM,OAAO,CAAC;AAC3F,OAAO,EAAE,UAAU,EAAa,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAiCjD,yEAAyE;AACzE,yEAAyE;AACzE,mEAAmE;AACnE,SAAS,kBAAkB,CACzB,UAA+D,EAC/D,cAAyD;IAEzD,OAAO,IAAI,CAAC,SAAS,CAAC;QACpB,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QACrD,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC;KAChF,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,iBAAiB;IAAvB;QACkB,OAAE,GAAG,0BAA0B,CAAC;QACzC,aAAQ,GAAG,CAAC,CAAC;QAGZ,SAAI,GAAgB,IAAI,CAAC;QACzB,YAAO,GAAmC,IAAI,CAAC;IAoCzD,CAAC;IAlCQ,OAAO,CAAC,OAAgC;QAC7C,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC;IAC5E,CAAC;IAEM,KAAK,CAAC,SAAsB,EAAE,OAAgC;QACnE,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC;QAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,OAAO;YACL,MAAM,EAAE,CAAC,IAA6B,EAAE,EAAE;gBACxC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;gBACjB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;gBACpB,oEAAoE;gBACpE,oEAAoE;gBACpE,cAAc,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACxC,CAAC;SACF,CAAC;IACJ,CAAC;IAEM,cAAc,CAAC,WAAyC;QAC7D,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAEO,cAAc;QACpB,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;CACF;AAED,SAAS,qBAAqB,CAC5B,cAAyD,EACzD,OAA0B,EAC1B,WAAyC;IAEzC,MAAM,QAAQ,GAAG,cAAc,IAAI,EAAE,CAAC;IACtC,0EAA0E;IAC1E,qBAAqB;IACrB,OAAO,WAAW,CAAC,CAAC,CAAC,CAAC,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC;AACzD,CAAC;AA+ED,MAAM,CAAC,MAAM,cAAc,GAAG,UAAU,CACxC,SAAS,cAAc,CAAC,EACtB,KAAK,EACL,SAAS,EACT,QAAQ,GAAG,cAAc,EACzB,IAAI,GAAG,WAAW,EAClB,YAAY,EACZ,QAAQ,GAAG,QAAQ,EACnB,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,sBAAsB,EACtB,SAAS,EACT,OAAO,EACP,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,iBAAiB,EACjB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,QAAQ,EACR,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,cAAc,EACd,WAAW,EACX,mBAAmB,GACpB,EAAE,YAAY;IACb,MAAM,GAAG,GAAG,MAAM,CAAiB,IAAI,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,MAAM,CAA4B,IAAI,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,MAAM,CAA2B,IAAI,CAAC,CAAC;IAC1D,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACxB,UAAU,CAAC,OAAO,GAAG,IAAI,iBAAiB,EAAE,CAAC;IAC/C,CAAC;IACD,UAAU,CAAC,OAAO,CAAC,QAAQ,GAAG,mBAAmB,IAAI,CAAC,CAAC;IAEvD,wEAAwE;IACxE,qEAAqE;IACrE,iDAAiD;IACjD,MAAM,YAAY,GAAG,MAAM,CAAC;QAC1B,SAAS;QACT,OAAO;QACP,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,gBAAgB;QAChB,QAAQ;QACR,qBAAqB;KACtB,CAAC,CAAC;IACH,YAAY,CAAC,OAAO,GAAG;QACrB,SAAS;QACT,OAAO;QACP,kBAAkB;QAClB,iBAAiB;QACjB,cAAc;QACd,iBAAiB;QACjB,iBAAiB;QACjB,kBAAkB;QAClB,cAAc;QACd,mBAAmB;QACnB,oBAAoB;QACpB,iBAAiB;QACjB,gBAAgB;QAChB,QAAQ;QACR,qBAAqB;KACtB,CAAC;IAEF,MAAM,UAAU,GAAG,MAAM,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC9E,UAAU,CAAC,OAAO,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC;IAExE,qEAAqE;IACrE,2DAA2D;IAC3D,MAAM,YAAY,GAAG,MAAM,CAAC,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;IACnG,YAAY,CAAC,OAAO,GAAG,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC;IAC7F,MAAM,YAAY,GAAG,kBAAkB,CACrC,kBAAkB,EAClB,qBAAqB,CAAC,cAAc,EAAE,UAAU,CAAC,OAAO,EAAE,WAAW,CAAC,CACvE,CAAC;IAEF,sEAAsE;IACtE,qEAAqE;IACrE,SAAS,CAAC,GAAG,EAAE;QACb,UAAU,CAAC,OAAO,EAAE,cAAc,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC,CAAC,CAAC;IAEH,mBAAmB,CAAC,YAAY,EAAE,GAAG,EAAE,CAAC,CAAC;QACvC,iBAAiB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,iBAAiB,CAAC,OAAO,CAAC,IAAI,KAAK;QACpF,cAAc,EAAE,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,CAChC,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC1E,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC7E,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QAC9D,SAAS,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACtE,kBAAkB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,kBAAkB,EAAE,IAAI,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACxF,YAAY,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,IAAI,OAAO,CAAC,OAAO,EAAE;QACxE,aAAa,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,aAAa,EAAE;QACrD,QAAQ,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CACnC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,EAAE;QACxE,YAAY,EAAE,CAAC,WAAW,EAAE,SAAS,EAAE,EAAE,CACvC,OAAO,CAAC,OAAO,EAAE,YAAY,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACjF,WAAW,EAAE,CAAC,WAAW,EAAE,OAAO,EAAE,EAAE,CACpC,OAAO,CAAC,OAAO,EAAE,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QAC9E,UAAU,EAAE,CAAC,WAAW,EAAE,EAAE,CAC1B,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACpE,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CAC/B,OAAO,CAAC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,aAAa,EAAE,CAAC,WAAW,EAAE,EAAE,CAC7B,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,aAAa,EAAE,CAAC,WAAW,EAAE,EAAE,CAC7B,OAAO,CAAC,OAAO,EAAE,aAAa,CAAC,WAAW,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC;QACvE,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;QACrD,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE;KACtC,CAAC,EAAE,EAAE,CAAC,CAAC;IAER,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;IAEpC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,GAAG,CAAC,OAAO;YAAE,OAAO;QACzB,MAAM,IAAI,GAAG,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE;YAC/C,SAAS,EAAE,CAAC,YAAY,CAAC;YACzB,QAAQ;YACR,aAAa;YACb,kBAAkB;YAClB,cAAc;YACd,sBAAsB;YACtB,SAAS,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACrF,OAAO,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;YACjF,kBAAkB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,KAAK,CAAC;YAC/E,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC;YAC7E,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC;YACvE,iBAAiB,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC;YAC7E,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;YACnF,kBAAkB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,QAAQ,CAAC;YACrF,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,cAAc,EAAE,CAAC,QAAQ,CAAC;YAC7E,mBAAmB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,mBAAmB,EAAE,CAAC,QAAQ,CAAC;YACvF,oBAAoB,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,oBAAoB,EAAE,CAAC,WAAW,CAAC;YAC/F,iBAAiB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC;YACnF,gBAAgB,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC;YACjF,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;YACnD,uEAAuE;YACvE,sEAAsE;YACtE,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,EAAE,CACzC,YAAY,CAAC,OAAO,CAAC,qBAAqB,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,KAAK;YACxE,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB;YACvD,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,kBAAkB;YAC3D,cAAc,EAAE,qBAAqB,CACnC,YAAY,CAAC,OAAO,CAAC,cAAc,EACnC,UAAU,CAAC,OAAQ,EACnB,YAAY,CAAC,OAAO,CAAC,WAAW,CACjC;SACF,CAAC,CAAC;QACH,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;QACvB,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAC3B,uDAAuD;YACvD,cAAc,CAAC,OAAO,GAAG,KAAK,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;YACnC,MAAM,WAAW,GAAG;gBAClB,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,QAAQ,EAAE,OAAO,CAAC,QAAQ;aAC3B,CAAC;YACF,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACtB,KAAK,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAC1D,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACzB,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QACD,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAC3D,CAAC,EAAE;QACD,QAAQ;QACR,aAAa;QACb,kBAAkB;QAClB,cAAc;QACd,sBAAsB;KACvB,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,OAAO,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;YACjC,KAAK,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClF,CAAC;aAAM,IAAI,OAAO,CAAC,OAAO,IAAI,KAAK,EAAE,CAAC;YACpC,KAAK,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,CAAC;QACrE,CAAC;IACH,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,QAAQ,CAAC,CAAC,CAAC;IAErD,yEAAyE;IACzE,2EAA2E;IAC3E,yEAAyE;IACzE,qDAAqD;IACrD,MAAM,mBAAmB,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC1C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;QAC7B,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,IAAI,CAAC,mBAAmB,CAAC,OAAO,EAAE,CAAC;YACjC,mBAAmB,CAAC,OAAO,GAAG,IAAI,CAAC;YACnC,OAAO;QACT,CAAC;QACD,IAAI,CAAC,mBAAmB,CAAC;YACvB,gBAAgB,EAAE,YAAY,CAAC,OAAO,CAAC,gBAAgB,IAAI,IAAI;YAC/D,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,kBAAkB,IAAI,EAAE;YACjE,cAAc,EAAE,qBAAqB,CACnC,YAAY,CAAC,OAAO,CAAC,cAAc,EACnC,UAAU,CAAC,OAAQ,EACnB,YAAY,CAAC,OAAO,CAAC,WAAW,CACjC;SACF,CAAC,CAAC;IACL,CAAC,EAAE,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,CAAC;IAErC,OAAO,cAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAI,CAAC;AAC1E,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const PACKAGE_INFO: {
|
|
2
|
+
readonly name: "@mdzip/editor-react";
|
|
3
|
+
readonly version: "1.3.11";
|
|
4
|
+
readonly repositoryUrl: "https://github.com/mdzip-project/mdzip-editor/tree/main/packages/editor-react";
|
|
5
|
+
readonly description: "React wrapper for the MDZip workspace editor.";
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=package-info.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-info.d.ts","sourceRoot":"","sources":["../src/package-info.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,YAAY;;;;;CAKf,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Generated from package.json. Do not edit by hand.
|
|
2
|
+
export const PACKAGE_INFO = {
|
|
3
|
+
"name": "@mdzip/editor-react",
|
|
4
|
+
"version": "1.3.11",
|
|
5
|
+
"repositoryUrl": "https://github.com/mdzip-project/mdzip-editor/tree/main/packages/editor-react",
|
|
6
|
+
"description": "React wrapper for the MDZip workspace editor."
|
|
7
|
+
};
|
|
8
|
+
//# sourceMappingURL=package-info.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-info.js","sourceRoot":"","sources":["../src/package-info.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,QAAQ;IACnB,eAAe,EAAE,+EAA+E;IAChG,aAAa,EAAE,+CAA+C;CACtD,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mdzip/editor-react",
|
|
3
|
-
"version": "1.3.
|
|
3
|
+
"version": "1.3.11",
|
|
4
4
|
"description": "React wrapper for the MDZip workspace editor.",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"repository": {
|
|
@@ -19,16 +19,23 @@
|
|
|
19
19
|
".": {
|
|
20
20
|
"types": "./dist/index.d.ts",
|
|
21
21
|
"import": "./dist/index.js"
|
|
22
|
+
},
|
|
23
|
+
"./diff-view": {
|
|
24
|
+
"types": "./dist/diff-view.d.ts",
|
|
25
|
+
"import": "./dist/diff-view.js"
|
|
22
26
|
}
|
|
23
27
|
},
|
|
24
28
|
"files": [
|
|
25
29
|
"dist"
|
|
26
30
|
],
|
|
27
31
|
"scripts": {
|
|
28
|
-
"
|
|
32
|
+
"generate:package-info": "node ../../scripts/generate-package-info.mjs",
|
|
33
|
+
"prebuild": "npm run generate:package-info",
|
|
34
|
+
"build": "tsc -p tsconfig.json",
|
|
35
|
+
"test": "vitest run"
|
|
29
36
|
},
|
|
30
37
|
"dependencies": {
|
|
31
|
-
"@mdzip/editor": "^1.3.
|
|
38
|
+
"@mdzip/editor": "^1.3.11"
|
|
32
39
|
},
|
|
33
40
|
"peerDependencies": {
|
|
34
41
|
"react": ">=18.0.0",
|