@mp-lb/mdkit 0.3.2 → 0.3.3
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 +8 -2
- package/dist/collaboration/useMdKitCollaboration.d.ts +5 -0
- package/dist/collaboration/useMdKitCollaboration.d.ts.map +1 -0
- package/dist/collaboration/useMdKitCollaboration.js +4 -0
- package/dist/core/checkpointPolicy.d.ts +10 -0
- package/dist/core/checkpointPolicy.d.ts.map +1 -0
- package/dist/core/checkpointPolicy.js +9 -0
- package/dist/core/documentEngine.d.ts +1 -0
- package/dist/core/documentEngine.d.ts.map +1 -0
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/document/MdKitConflictPanel.d.ts +5 -0
- package/dist/document/MdKitConflictPanel.d.ts.map +1 -0
- package/dist/document/MdKitConflictPanel.js +4 -0
- package/dist/document/MdKitDocumentToolbar.d.ts +6 -0
- package/dist/document/MdKitDocumentToolbar.d.ts.map +1 -0
- package/dist/document/MdKitDocumentToolbar.js +5 -0
- package/dist/document/documentTypes.d.ts +6 -0
- package/dist/document/documentTypes.d.ts.map +1 -0
- package/dist/document/useMdKitDocument.d.ts +5 -0
- package/dist/document/useMdKitDocument.d.ts.map +1 -0
- package/dist/document/useMdKitDocument.js +4 -0
- package/dist/fastify.d.ts +1 -0
- package/dist/fastify.d.ts.map +1 -0
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/markdown/MarkdownBubbleMenu.d.ts +1 -0
- package/dist/markdown/MarkdownBubbleMenu.d.ts.map +1 -0
- package/dist/markdown/MarkdownPasteExtension.d.ts +1 -0
- package/dist/markdown/MarkdownPasteExtension.d.ts.map +1 -0
- package/dist/markdown/MarkdownSearchExtension.d.ts +1 -0
- package/dist/markdown/MarkdownSearchExtension.d.ts.map +1 -0
- package/dist/markdown/MarkdownSearchPanel.d.ts +1 -0
- package/dist/markdown/MarkdownSearchPanel.d.ts.map +1 -0
- package/dist/markdown/MdKitEditor.d.ts +11 -0
- package/dist/markdown/MdKitEditor.d.ts.map +1 -0
- package/dist/markdown/MdKitEditor.js +10 -2
- package/dist/markdown/MdKitView.d.ts +9 -1
- package/dist/markdown/MdKitView.d.ts.map +1 -0
- package/dist/markdown/MdKitView.js +7 -2
- package/dist/markdown/TiptapMarkdownSurface.d.ts +1 -0
- package/dist/markdown/TiptapMarkdownSurface.d.ts.map +1 -0
- package/dist/markdown/TiptapMarkdownSurface.js +3 -22
- package/dist/markdown/createMdKitTiptapExtensions.d.ts +1 -0
- package/dist/markdown/createMdKitTiptapExtensions.d.ts.map +1 -0
- package/dist/markdown/editorDebug.d.ts +1 -0
- package/dist/markdown/editorDebug.d.ts.map +1 -0
- package/dist/markdown/markdownFenceRanges.d.ts +1 -0
- package/dist/markdown/markdownFenceRanges.d.ts.map +1 -0
- package/dist/markdown/normalizeMarkdownSerialization.d.ts +1 -0
- package/dist/markdown/normalizeMarkdownSerialization.d.ts.map +1 -0
- package/dist/markdown/prepareMarkdownForEditorHydration.d.ts +1 -0
- package/dist/markdown/prepareMarkdownForEditorHydration.d.ts.map +1 -0
- package/dist/markdown/preserveMarkdownWhitespace.d.ts +1 -0
- package/dist/markdown/preserveMarkdownWhitespace.d.ts.map +1 -0
- package/dist/markdown/yamlFrontMatter.d.ts +1 -0
- package/dist/markdown/yamlFrontMatter.d.ts.map +1 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/theme/MdKitThemeEditor.d.ts +5 -0
- package/dist/theme/MdKitThemeEditor.d.ts.map +1 -0
- package/dist/theme/MdKitThemeEditor.js +4 -0
- package/dist/theme/editorTheme.d.ts +1 -0
- package/dist/theme/editorTheme.d.ts.map +1 -0
- package/dist/theme/editorTheme.js +8 -8
- package/dist/transport/backend.d.ts +13 -0
- package/dist/transport/backend.d.ts.map +1 -0
- package/dist/transport/backend.js +6 -0
- package/dist/transport/fastify.d.ts +5 -0
- package/dist/transport/fastify.d.ts.map +1 -0
- package/dist/transport/fastify.js +4 -0
- package/dist/transport/http.d.ts +1 -0
- package/dist/transport/http.d.ts.map +1 -0
- package/dist/transport/index.d.ts +1 -0
- package/dist/transport/index.d.ts.map +1 -0
- package/dist/transport/rest.d.ts +6 -0
- package/dist/transport/rest.d.ts.map +1 -0
- package/dist/transport/rest.js +5 -0
- package/dist/transport/store.d.ts +1 -0
- package/dist/transport/store.d.ts.map +1 -0
- package/dist/transport/trpcClient.d.ts +8 -0
- package/dist/transport/trpcClient.d.ts.map +1 -0
- package/dist/transport/trpcClient.js +7 -0
- package/dist/transport/trpcServer.d.ts +6 -0
- package/dist/transport/trpcServer.d.ts.map +1 -0
- package/dist/transport/trpcServer.js +5 -0
- package/dist/trpc/client.d.ts +1 -0
- package/dist/trpc/client.d.ts.map +1 -0
- package/dist/trpc/server.d.ts +1 -0
- package/dist/trpc/server.d.ts.map +1 -0
- package/dist/trpc.d.ts +1 -0
- package/dist/trpc.d.ts.map +1 -0
- package/dist/ui/joinClassNames.d.ts +1 -0
- package/dist/ui/joinClassNames.d.ts.map +1 -0
- package/dist/versioning/VersionHistoryPanel.d.ts +5 -0
- package/dist/versioning/VersionHistoryPanel.d.ts.map +1 -0
- package/dist/versioning/VersionHistoryPanel.js +4 -0
- package/dist/versioning/useMdKitDocumentVersions.d.ts +5 -0
- package/dist/versioning/useMdKitDocumentVersions.d.ts.map +1 -0
- package/dist/versioning/useMdKitDocumentVersions.js +4 -0
- package/dist/yjs/MdKitMarkdownYjs.d.ts +1 -0
- package/dist/yjs/MdKitMarkdownYjs.d.ts.map +1 -0
- package/dist/yjs/index.d.ts +1 -0
- package/dist/yjs/index.d.ts.map +1 -0
- package/package.json +10 -12
- package/src/collaboration/useMdKitCollaboration.ts +528 -0
- package/src/core/checkpointPolicy.ts +107 -0
- package/src/core/documentEngine.ts +175 -0
- package/src/core/index.ts +33 -0
- package/src/document/MdKitConflictPanel.tsx +129 -0
- package/src/document/MdKitDocumentToolbar.tsx +141 -0
- package/src/document/documentTypes.ts +89 -0
- package/src/document/useMdKitDocument.ts +543 -0
- package/src/fastify.ts +6 -0
- package/src/index.ts +89 -0
- package/src/markdown/MarkdownBubbleMenu.tsx +271 -0
- package/src/markdown/MarkdownPasteExtension.ts +81 -0
- package/src/markdown/MarkdownSearchExtension.ts +77 -0
- package/src/markdown/MarkdownSearchPanel.tsx +98 -0
- package/src/markdown/MdKitEditor.tsx +75 -0
- package/src/markdown/MdKitView.tsx +80 -0
- package/src/markdown/TiptapMarkdownSurface.tsx +923 -0
- package/src/markdown/createMdKitTiptapExtensions.ts +42 -0
- package/src/markdown/editorDebug.ts +5 -0
- package/src/markdown/markdownFenceRanges.ts +68 -0
- package/src/markdown/normalizeMarkdownSerialization.ts +55 -0
- package/src/markdown/prepareMarkdownForEditorHydration.ts +23 -0
- package/src/markdown/preserveMarkdownWhitespace.ts +143 -0
- package/src/markdown/yamlFrontMatter.ts +135 -0
- package/src/server.ts +6 -0
- package/src/styles.css +125 -53
- package/src/theme/MdKitThemeEditor.tsx +134 -0
- package/src/theme/editorTheme.ts +72 -0
- package/src/transport/backend.ts +220 -0
- package/src/transport/fastify.ts +57 -0
- package/src/transport/http.ts +126 -0
- package/src/transport/index.ts +12 -0
- package/src/transport/rest.ts +80 -0
- package/src/transport/store.ts +45 -0
- package/src/transport/trpcClient.ts +90 -0
- package/src/transport/trpcServer.ts +66 -0
- package/src/trpc/client.ts +11 -0
- package/src/trpc/server.ts +12 -0
- package/src/trpc.ts +11 -0
- package/src/ui/joinClassNames.ts +3 -0
- package/src/versioning/VersionHistoryPanel.tsx +146 -0
- package/src/versioning/useMdKitDocumentVersions.ts +146 -0
- package/src/yjs/MdKitMarkdownYjs.ts +111 -0
- package/src/yjs/index.ts +8 -0
- package/docs/.vitepress/config.ts +0 -47
- package/docs/api.md +0 -512
- package/docs/architecture.md +0 -96
- package/docs/collaboration-persistence.md +0 -147
- package/docs/index.md +0 -341
- package/docs/permissions.md +0 -139
- package/docs/plain-text.md +0 -131
- package/docs/rest.md +0 -98
- package/docs/shadcn.md +0 -125
- package/docs/styling.md +0 -373
- package/docs/use-cases.md +0 -148
package/README.md
CHANGED
|
@@ -8,6 +8,9 @@ Frontend primitives for document editing flows:
|
|
|
8
8
|
- `useMdKitDocumentVersions` and `VersionHistoryPanel` for version browsing and restore flows
|
|
9
9
|
- `useMdKitCollaboration` for wiring the same editor into a Hocuspocus/Yjs session
|
|
10
10
|
|
|
11
|
+
📖 **Full documentation: [mdkit.mp-lb.dev](https://mdkit.mp-lb.dev/)** — guide,
|
|
12
|
+
recipes, and the generated [API reference](https://mdkit.mp-lb.dev/docs/reference).
|
|
13
|
+
|
|
11
14
|
## Install
|
|
12
15
|
|
|
13
16
|
```bash
|
|
@@ -129,5 +132,8 @@ package in unconnected and connected modes.
|
|
|
129
132
|
|
|
130
133
|
## Package Docs
|
|
131
134
|
|
|
132
|
-
Published library docs live
|
|
133
|
-
|
|
135
|
+
Published library docs live under [`docs/public/`](./docs/public) — the
|
|
136
|
+
hand-written guide plus the TypeDoc-generated [`reference/`](./docs/public/reference)
|
|
137
|
+
(never hand-edited; run `pnpm docs:gen` to regenerate). They are rendered as a
|
|
138
|
+
site at [mdkit.mp-lb.dev](https://mdkit.mp-lb.dev/). Internal project notes live
|
|
139
|
+
in the repository under [`../../docs/mdkit`](../../docs/mdkit).
|
|
@@ -7,4 +7,9 @@ export type UseMdKitCollaborationOptions = {
|
|
|
7
7
|
getToken?: () => Promise<string | null>;
|
|
8
8
|
resolveRoomName?: (documentId: string) => string;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Creates a Hocuspocus/Yjs collaboration session for {@link MdKitEditor},
|
|
12
|
+
* managing the provider connection, local participant, and presence.
|
|
13
|
+
*/
|
|
10
14
|
export declare const useMdKitCollaboration: (options: UseMdKitCollaborationOptions) => MdKitCollaborationSession | null;
|
|
15
|
+
//# sourceMappingURL=useMdKitCollaboration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMdKitCollaboration.d.ts","sourceRoot":"","sources":["../../src/collaboration/useMdKitCollaboration.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,6BAA6B,EAE7B,yBAAyB,EAE1B,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,4BAA4B,GAAG;IACzC,YAAY,EAAE,6BAA6B,CAAC;IAC5C,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACxC,eAAe,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAAM,CAAC;CAClD,CAAC;AA6KF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,SAAS,4BAA4B,KACpC,yBAAyB,GAAG,IA2U9B,CAAC"}
|
|
@@ -117,6 +117,10 @@ const setProviderUser = (provider, collaborator) => {
|
|
|
117
117
|
name: collaborator.name,
|
|
118
118
|
});
|
|
119
119
|
};
|
|
120
|
+
/**
|
|
121
|
+
* Creates a Hocuspocus/Yjs collaboration session for {@link MdKitEditor},
|
|
122
|
+
* managing the provider connection, local participant, and presence.
|
|
123
|
+
*/
|
|
120
124
|
export const useMdKitCollaboration = (options) => {
|
|
121
125
|
const { collaborator, documentId, enabled = true, endpoint, getToken, resolveRoomName, } = options;
|
|
122
126
|
const [status, setStatus] = useState("disconnected");
|
|
@@ -17,9 +17,19 @@ export type MdKitSmartCheckpointPolicyOptions = {
|
|
|
17
17
|
minIntervalMs?: number;
|
|
18
18
|
};
|
|
19
19
|
export declare const measureMdKitEditDistance: (left: string, right: string) => number;
|
|
20
|
+
/**
|
|
21
|
+
* Factories for the policy that decides when a saved document becomes a
|
|
22
|
+
* checkpoint. Pass the result to `createMdKitBackend`, not to your store.
|
|
23
|
+
*
|
|
24
|
+
* @remarks
|
|
25
|
+
* `smart()` applies the default autosave-friendly heuristic; `function()`
|
|
26
|
+
* receives mdkit's computed edit distance alongside the raw content so you can
|
|
27
|
+
* build a custom rule.
|
|
28
|
+
*/
|
|
20
29
|
export declare const CheckpointPolicy: {
|
|
21
30
|
readonly always: () => MdKitCheckpointPolicy;
|
|
22
31
|
readonly function: (shouldCheckpoint: MdKitCheckpointPolicy["shouldCheckpoint"]) => MdKitCheckpointPolicy;
|
|
23
32
|
readonly never: () => MdKitCheckpointPolicy;
|
|
24
33
|
readonly smart: (options?: MdKitSmartCheckpointPolicyOptions) => MdKitCheckpointPolicy;
|
|
25
34
|
};
|
|
35
|
+
//# sourceMappingURL=checkpointPolicy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpointPolicy.d.ts","sourceRoot":"","sources":["../../src/core/checkpointPolicy.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACzB,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,0BAA0B,GAAG;IACvC,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,EAAE,0BAA0B,GAAG,IAAI,CAAC;IACtD,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,yBAAyB,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,UAAU,EAAE,uBAAuB,CAAC;IACpC,WAAW,EAAE,wBAAwB,CAAC;CACvC,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG;IAClC,gBAAgB,CACd,KAAK,EAAE,0BAA0B,GAChC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,CAAC;AAKF,eAAO,MAAM,wBAAwB,GAAI,MAAM,MAAM,EAAE,OAAO,MAAM,WAiCnE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,gBAAgB;2BACf,qBAAqB;0CAIb,qBAAqB,CAAC,kBAAkB,CAAC,KAC1D,qBAAqB;0BAGb,qBAAqB;+BAIrB,iCAAiC,KACzC,qBAAqB;CAiBhB,CAAC"}
|
|
@@ -22,6 +22,15 @@ export const measureMdKitEditDistance = (left, right) => {
|
|
|
22
22
|
}
|
|
23
23
|
return previous[right.length] ?? 0;
|
|
24
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* Factories for the policy that decides when a saved document becomes a
|
|
27
|
+
* checkpoint. Pass the result to `createMdKitBackend`, not to your store.
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* `smart()` applies the default autosave-friendly heuristic; `function()`
|
|
31
|
+
* receives mdkit's computed edit distance alongside the raw content so you can
|
|
32
|
+
* build a custom rule.
|
|
33
|
+
*/
|
|
25
34
|
export const CheckpointPolicy = {
|
|
26
35
|
always: () => ({
|
|
27
36
|
shouldCheckpoint: () => true,
|
|
@@ -36,3 +36,4 @@ export declare const detectMdKitDocumentConflict: (input: {
|
|
|
36
36
|
export declare const createMdKitDocumentRecord: (input?: CreateMdKitDocumentRecordInput) => MdKitDocumentRecord;
|
|
37
37
|
export declare const writeMdKitDocumentRecord: (record: MdKitDocumentRecord, input: WriteMdKitDocumentRecordInput) => WriteMdKitDocumentRecordResult;
|
|
38
38
|
export declare const restoreMdKitDocumentVersion: (record: MdKitDocumentRecord, input: RestoreMdKitDocumentVersionInput) => RestoreMdKitDocumentVersionResult;
|
|
39
|
+
//# sourceMappingURL=documentEngine.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentEngine.d.ts","sourceRoot":"","sources":["../../src/core/documentEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACzB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,qBAAqB,CAAC;IAC/B,QAAQ,EAAE,0BAA0B,EAAE,CAAC;CACxC,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,6BAA6B,GAAG;IAC1C,WAAW,EAAE,yBAAyB,CAAC;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,MAAM,EAAE,wBAAwB,CAAC;CAClC,CAAC;AAEF,MAAM,MAAM,gCAAgC,GAAG;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,mBAAmB,CAAC;IAC5B,eAAe,EAAE,0BAA0B,CAAC;IAC5C,MAAM,EAAE,wBAAwB,CAAC;CAClC,CAAC;AAMF,eAAO,MAAM,0BAA0B,GACrC,SAAS,yBAAyB,GAAG,SAAS,kBACD,CAAC;AAEhD,eAAO,MAAM,2BAA2B,GAAI,OAAO;IACjD,WAAW,EAAE,yBAAyB,CAAC;IACvC,cAAc,EAAE,yBAAyB,CAAC;CAC3C,YAEiD,CAAC;AAsBnD,eAAO,MAAM,yBAAyB,GACpC,QAAO,8BAAmC,KACzC,mBAoBF,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,QAAQ,mBAAmB,EAC3B,OAAO,6BAA6B,KACnC,8BA4CF,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,QAAQ,mBAAmB,EAC3B,OAAO,gCAAgC,KACtC,iCAqBF,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -3,3 +3,4 @@ export { CheckpointPolicy, measureMdKitEditDistance, } from "./checkpointPolicy.
|
|
|
3
3
|
export type { CreateMdKitDocumentRecordInput, MdKitDocumentRecord, RestoreMdKitDocumentVersionInput, RestoreMdKitDocumentVersionResult, WriteMdKitDocumentRecordInput, WriteMdKitDocumentRecordResult, } from "./documentEngine.js";
|
|
4
4
|
export type { MdKitCheckpointPolicy, MdKitCheckpointPolicyInput, MdKitSmartCheckpointPolicyOptions, } from "./checkpointPolicy.js";
|
|
5
5
|
export type { MdKitDocumentSnapshot, MdKitDocumentVersionDetail, MdKitDocumentVersionSummary, MdKitDocumentVersionToken, MdKitDocumentWriteInput, MdKitDocumentWriteResult, } from "../document/documentTypes.js";
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAE/B,YAAY,EACV,8BAA8B,EAC9B,mBAAmB,EACnB,gCAAgC,EAChC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,8BAA8B,CAAC"}
|
|
@@ -4,4 +4,9 @@ export type MdKitConflictPanelProps = {
|
|
|
4
4
|
document: MdKitDocumentController;
|
|
5
5
|
title?: string;
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Base panel for resolving a save conflict. Previews remote and local content
|
|
9
|
+
* and keeps one side. Renders `null` when the document has no conflict.
|
|
10
|
+
*/
|
|
7
11
|
export declare const MdKitConflictPanel: ({ className, document, title, }: MdKitConflictPanelProps) => import("react/jsx-runtime").JSX.Element | null;
|
|
12
|
+
//# sourceMappingURL=MdKitConflictPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdKitConflictPanel.d.ts","sourceRoot":"","sources":["../../src/document/MdKitConflictPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAGlE,MAAM,MAAM,uBAAuB,GAAG;IACpC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAI,iCAIhC,uBAAuB,mDA8GzB,CAAC"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useState } from "react";
|
|
3
3
|
import { joinClassNames } from "../ui/joinClassNames.js";
|
|
4
|
+
/**
|
|
5
|
+
* Base panel for resolving a save conflict. Previews remote and local content
|
|
6
|
+
* and keeps one side. Renders `null` when the document has no conflict.
|
|
7
|
+
*/
|
|
4
8
|
export const MdKitConflictPanel = ({ className, document, title = "Document conflict", }) => {
|
|
5
9
|
const [pendingAction, setPendingAction] = useState(null);
|
|
6
10
|
const [activePreview, setActivePreview] = useState("remote");
|
|
@@ -10,4 +10,10 @@ export type MdKitDocumentToolbarProps = {
|
|
|
10
10
|
showConflictActions?: boolean;
|
|
11
11
|
versions?: MdKitDocumentVersionsController | null;
|
|
12
12
|
};
|
|
13
|
+
/**
|
|
14
|
+
* Unstyled workflow controls for a connected document: save/collaboration
|
|
15
|
+
* status plus entry points for version history and conflict resolution. Starter
|
|
16
|
+
* UI — drop it for your own controls when it doesn't fit.
|
|
17
|
+
*/
|
|
13
18
|
export declare const MdKitDocumentToolbar: ({ className, collaboration, document, onOpenConflict, onOpenVersionHistory, showConflictActions, versions, }: MdKitDocumentToolbarProps) => import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
//# sourceMappingURL=MdKitDocumentToolbar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdKitDocumentToolbar.d.ts","sourceRoot":"","sources":["../../src/document/MdKitDocumentToolbar.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAC;AACjE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,wCAAwC,CAAC;AAG9F,MAAM,MAAM,yBAAyB,GAAG;IACtC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACjD,QAAQ,EAAE,uBAAuB,CAAC;IAClC,cAAc,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC5C,oBAAoB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAClD,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,EAAE,+BAA+B,GAAG,IAAI,CAAC;CACnD,CAAC;AAUF;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,GAAI,8GAQlC,yBAAyB,4CAuG3B,CAAC"}
|
|
@@ -7,6 +7,11 @@ const formatUpdatedAt = (updatedAt) => {
|
|
|
7
7
|
}
|
|
8
8
|
return `Saved ${new Date(updatedAt).toLocaleTimeString()}`;
|
|
9
9
|
};
|
|
10
|
+
/**
|
|
11
|
+
* Unstyled workflow controls for a connected document: save/collaboration
|
|
12
|
+
* status plus entry points for version history and conflict resolution. Starter
|
|
13
|
+
* UI — drop it for your own controls when it doesn't fit.
|
|
14
|
+
*/
|
|
10
15
|
export const MdKitDocumentToolbar = ({ className, collaboration, document, onOpenConflict, onOpenVersionHistory, showConflictActions = false, versions, }) => {
|
|
11
16
|
const [pendingAction, setPendingAction] = useState(null);
|
|
12
17
|
const otherCollaboratorCount = collaboration?.otherParticipants.length ?? 0;
|
|
@@ -31,6 +31,11 @@ export type MdKitDocumentVersionSummary = {
|
|
|
31
31
|
export type MdKitDocumentVersionDetail = MdKitDocumentVersionSummary & {
|
|
32
32
|
content: string;
|
|
33
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* Storage contract the document hooks talk to. Implement it over tRPC, REST, or
|
|
36
|
+
* anything else; only `readDocument`/`writeDocument` are required, the
|
|
37
|
+
* checkpoint methods are optional and enable version-history UI.
|
|
38
|
+
*/
|
|
34
39
|
export interface MdKitDocumentAdapter {
|
|
35
40
|
readDocument(documentId: string): Promise<MdKitDocumentSnapshot>;
|
|
36
41
|
writeDocument(input: MdKitDocumentWriteInput): Promise<MdKitDocumentWriteResult>;
|
|
@@ -62,3 +67,4 @@ export type MdKitCollaborationSession = {
|
|
|
62
67
|
roomName: string;
|
|
63
68
|
status: MdKitCollaborationStatus;
|
|
64
69
|
};
|
|
70
|
+
//# sourceMappingURL=documentTypes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"documentTypes.d.ts","sourceRoot":"","sources":["../../src/document/documentTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAE9B,MAAM,MAAM,yBAAyB,GAAG,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;AAE/D,MAAM,MAAM,qBAAqB,GAAG;IAClC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,yBAAyB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,EAAE,yBAAyB,CAAC;IACvC,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAChC;IACE,OAAO,EAAE,yBAAyB,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,GACD;IACE,QAAQ,EAAE,IAAI,CAAC;IACf,OAAO,CAAC,EAAE,yBAAyB,CAAC;IACpC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEN,MAAM,MAAM,2BAA2B,GAAG;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,yBAAyB,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,2BAA2B,GAAG;IACrE,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACjE,aAAa,CACX,KAAK,EAAE,uBAAuB,GAC7B,OAAO,CAAC,wBAAwB,CAAC,CAAC;IACrC,cAAc,CAAC,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAAC;IACpE,oBAAoB,CAAC,CACnB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAC1C,mBAAmB,CAAC,CAAC,KAAK,EAAE;QAC1B,UAAU,EAAE,MAAM,CAAC;QACnB,SAAS,EAAE,MAAM,CAAC;KACnB,GAAG,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAAC;CAChD;AAED,MAAM,MAAM,wBAAwB,GAChC,YAAY,GACZ,WAAW,GACX,cAAc,CAAC;AAEnB,MAAM,MAAM,6BAA6B,GAAG;IAC1C,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,MAAM,MAAM,0BAA0B,GAAG,6BAA6B,GAAG;IACvE,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,YAAY,EAAE,6BAA6B,CAAC;IAC5C,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC;IAChB,eAAe,EAAE,OAAO,CAAC;IACzB,iBAAiB,EAAE,0BAA0B,EAAE,CAAC;IAChD,YAAY,EAAE,0BAA0B,EAAE,CAAC;IAC3C,QAAQ,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,wBAAwB,CAAC;CAClC,CAAC"}
|
|
@@ -30,4 +30,9 @@ export type MdKitDocumentController = {
|
|
|
30
30
|
value: string;
|
|
31
31
|
version: MdKitDocumentVersionToken;
|
|
32
32
|
};
|
|
33
|
+
/**
|
|
34
|
+
* Connects an editor to a storage adapter: loads the document, debounces
|
|
35
|
+
* autosave, tracks dirty/save status, and surfaces conflicts for resolution.
|
|
36
|
+
*/
|
|
33
37
|
export declare const useMdKitDocument: (options: UseMdKitDocumentOptions) => MdKitDocumentController;
|
|
38
|
+
//# sourceMappingURL=useMdKitDocument.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useMdKitDocument.d.ts","sourceRoot":"","sources":["../../src/document/useMdKitDocument.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,oBAAoB,EACpB,yBAAyB,EAC1B,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,uBAAuB,GAAG;IACpC,OAAO,EAAE,IAAI,CACX,oBAAoB,EACpB,cAAc,GAAG,eAAe,GAAG,gBAAgB,CACpD,CAAC;IACF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,aAAa,EAAE,yBAAyB,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,eAAe,EAAE,4BAA4B,GAAG,IAAI,CAAC;IACrD,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpD,SAAS,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,UAAU,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,yBAAyB,CAAC;CACpC,CAAC;AAQF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAC3B,SAAS,uBAAuB,KAC/B,uBAueF,CAAC"}
|
|
@@ -4,6 +4,10 @@ const emptyDocumentState = {
|
|
|
4
4
|
updatedAt: null,
|
|
5
5
|
version: null,
|
|
6
6
|
};
|
|
7
|
+
/**
|
|
8
|
+
* Connects an editor to a storage adapter: loads the document, debounces
|
|
9
|
+
* autosave, tracks dirty/save status, and surfaces conflicts for resolution.
|
|
10
|
+
*/
|
|
7
11
|
export const useMdKitDocument = (options) => {
|
|
8
12
|
const { adapter, debounceMs = 1000, documentId, pollMs = 2000 } = options;
|
|
9
13
|
const [local, setLocal] = useState("");
|
package/dist/fastify.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
1
|
export { registerMdKitFastify } from "./transport/fastify.js";
|
|
2
2
|
export type { RegisterMdKitFastifyOptions } from "./transport/fastify.js";
|
|
3
3
|
export type { MdKitRestoreDocumentVersionInput, MdKitTransportStore, } from "./transport/store.js";
|
|
4
|
+
//# sourceMappingURL=fastify.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fastify.d.ts","sourceRoot":"","sources":["../src/fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,YAAY,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AACvE,YAAY,EACV,gCAAgC,EAChC,mBAAmB,GACpB,MAAM,mBAAmB,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -15,7 +15,9 @@ export { useMdKitDocumentVersions } from "./versioning/useMdKitDocumentVersions.
|
|
|
15
15
|
export { yjs } from "./yjs/index.js";
|
|
16
16
|
export type { MdKitCheckpointPolicy, MdKitCheckpointPolicyInput, MdKitSmartCheckpointPolicyOptions, } from "./core/checkpointPolicy.js";
|
|
17
17
|
export type { CreateMdKitDocumentRecordInput, MdKitDocumentRecord, RestoreMdKitDocumentVersionInput, RestoreMdKitDocumentVersionResult, WriteMdKitDocumentRecordInput, WriteMdKitDocumentRecordResult, } from "./core/documentEngine.js";
|
|
18
|
-
export type {
|
|
18
|
+
export type { UseMdKitCollaborationOptions } from "./collaboration/useMdKitCollaboration.js";
|
|
19
|
+
export type { UseMdKitDocumentOptions } from "./document/useMdKitDocument.js";
|
|
20
|
+
export type { MdKitCollaborationParticipant, MdKitCollaborationPresence, MdKitCollaborationSession, MdKitCollaborationStatus, MdKitDocumentAdapter, MdKitDocumentSnapshot, MdKitDocumentVersionDetail, MdKitDocumentVersionSummary, MdKitDocumentVersionToken, MdKitDocumentWriteInput, MdKitDocumentWriteResult, } from "./document/documentTypes.js";
|
|
19
21
|
export type { MdKitDocumentConflictDetails, MdKitDocumentController, } from "./document/useMdKitDocument.js";
|
|
20
22
|
export type { MdKitConflictPanelProps } from "./document/MdKitConflictPanel.js";
|
|
21
23
|
export type { MdKitDocumentToolbarProps } from "./document/MdKitDocumentToolbar.js";
|
|
@@ -29,3 +31,4 @@ export type { MdKitEditorTheme, MdKitEditorThemeStyle, } from "./theme/editorThe
|
|
|
29
31
|
export type { MdKitDocumentVersionsController, UseMdKitDocumentVersionsOptions, } from "./versioning/useMdKitDocumentVersions.js";
|
|
30
32
|
export type { VersionHistoryPanelProps } from "./versioning/VersionHistoryPanel.js";
|
|
31
33
|
export type { MdKitMarkdownYjsOptions } from "./yjs/index.js";
|
|
34
|
+
//# 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,qBAAqB,EAAE,MAAM,uCAAuC,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,yBAAyB,EACzB,2BAA2B,EAC3B,0BAA0B,EAC1B,2BAA2B,EAC3B,wBAAwB,GACzB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AACrD,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AACjD,OAAO,EACL,sBAAsB,EACtB,kBAAkB,EAClB,oBAAoB,EACpB,sBAAsB,EACtB,qBAAqB,GACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAElC,YAAY,EACV,qBAAqB,EACrB,0BAA0B,EAC1B,iCAAiC,GAClC,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACV,8BAA8B,EAC9B,mBAAmB,EACnB,gCAAgC,EAChC,iCAAiC,EACjC,6BAA6B,EAC7B,8BAA8B,GAC/B,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,4BAA4B,EAAE,MAAM,uCAAuC,CAAC;AAC1F,YAAY,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAC3E,YAAY,EACV,6BAA6B,EAC7B,0BAA0B,EAC1B,yBAAyB,EACzB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,0BAA0B,EAC1B,2BAA2B,EAC3B,yBAAyB,EACzB,uBAAuB,EACvB,wBAAwB,GACzB,MAAM,0BAA0B,CAAC;AAElC,YAAY,EACV,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,6BAA6B,CAAC;AACrC,YAAY,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AAC7E,YAAY,EAAE,yBAAyB,EAAE,MAAM,iCAAiC,CAAC;AACjF,YAAY,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AACpE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EACV,oBAAoB,EACpB,8BAA8B,GAC/B,MAAM,4BAA4B,CAAC;AACpC,YAAY,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AACtE,YAAY,EAAE,6BAA6B,EAAE,MAAM,kBAAkB,CAAC;AACtE,YAAY,EACV,gBAAgB,EAChB,qBAAqB,GACtB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,+BAA+B,EAC/B,+BAA+B,GAChC,MAAM,uCAAuC,CAAC;AAC/C,YAAY,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AACjF,YAAY,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -7,3 +7,4 @@ type BubbleMenuShouldShowProps = Parameters<NonNullable<BubbleMenuProps["shouldS
|
|
|
7
7
|
export declare const shouldShowMarkdownBubbleMenu: ({ editor, element, from, state, to, view, }: BubbleMenuShouldShowProps) => boolean;
|
|
8
8
|
export declare const MarkdownBubbleMenu: ({ editor }: MarkdownBubbleMenuProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
9
|
export {};
|
|
10
|
+
//# sourceMappingURL=MarkdownBubbleMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownBubbleMenu.d.ts","sourceRoot":"","sources":["../../src/markdown/MarkdownBubbleMenu.tsx"],"names":[],"mappings":"AACA,OAAO,EAAkB,KAAK,MAAM,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,EAAc,KAAK,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAgBvE,KAAK,uBAAuB,GAAG;IAC7B,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,yBAAyB,GAAG,UAAU,CACzC,WAAW,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC,CAC3C,CAAC,CAAC,CAAC,CAAC;AA0DL,eAAO,MAAM,4BAA4B,GAAI,6CAO1C,yBAAyB,YAY3B,CAAC;AAqEF,eAAO,MAAM,kBAAkB,GAAI,YAAY,uBAAuB,4CAoGrE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownPasteExtension.d.ts","sourceRoot":"","sources":["../../src/markdown/MarkdownPasteExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAgCzC,eAAO,MAAM,8BAA8B,GAAI,MAAM,MAAM,YAU1D,CAAC;AAEF,eAAO,MAAM,sBAAsB,qBAoCjC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownSearchExtension.d.ts","sourceRoot":"","sources":["../../src/markdown/MarkdownSearchExtension.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEzC,OAAO,EAAU,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,EAAc,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAE5D,MAAM,MAAM,mBAAmB,GAAG;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ,CAAC;AAOF,eAAO,MAAM,uBAAuB,0BAEnC,CAAC;AAkBF,eAAO,MAAM,uBAAuB,qBAyClC,CAAC"}
|
|
@@ -11,3 +11,4 @@ type MarkdownSearchPanelProps = {
|
|
|
11
11
|
};
|
|
12
12
|
export declare const MarkdownSearchPanel: ({ activeMatchNumber, inputRef, matchCount, onClose, onPrevious, onNext, onQueryChange, query, }: MarkdownSearchPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
13
|
export {};
|
|
14
|
+
//# sourceMappingURL=MarkdownSearchPanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MarkdownSearchPanel.d.ts","sourceRoot":"","sources":["../../src/markdown/MarkdownSearchPanel.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA4B,SAAS,EAAE,MAAM,OAAO,CAAC;AAEjE,KAAK,wBAAwB,GAAG;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,QAAQ,EAAE,SAAS,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,iGASjC,wBAAwB,4CA0E1B,CAAC"}
|
|
@@ -3,7 +3,9 @@ import type { MdKitCollaborationSession } from "../document/documentTypes.js";
|
|
|
3
3
|
import type { MdKitEditorDebugEvent } from "./editorDebug.js";
|
|
4
4
|
type MdKitEditorBaseProps = {
|
|
5
5
|
className?: string;
|
|
6
|
+
documentMargins?: boolean;
|
|
6
7
|
fillHeight?: boolean;
|
|
8
|
+
fixedWidth?: boolean;
|
|
7
9
|
ignoreYamlFrontMatter?: boolean;
|
|
8
10
|
instanceKey?: string | number;
|
|
9
11
|
onDebugEvent?: (event: MdKitEditorDebugEvent) => void;
|
|
@@ -23,5 +25,14 @@ type CollaborativeMdKitEditorProps = MdKitEditorBaseProps & {
|
|
|
23
25
|
value?: string;
|
|
24
26
|
};
|
|
25
27
|
export type MdKitEditorProps = CollaborativeMdKitEditorProps | LocalMdKitEditorProps;
|
|
28
|
+
/**
|
|
29
|
+
* Markdown-first rich text editor. Behaves like a controlled textarea in local
|
|
30
|
+
* mode and switches to a Yjs-backed engine when given a collaboration session.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* In collaborative mode the Yjs document is the content source; external
|
|
34
|
+
* `value` changes are not applied into the shared document.
|
|
35
|
+
*/
|
|
26
36
|
export declare const MdKitEditor: (props: MdKitEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
37
|
export {};
|
|
38
|
+
//# sourceMappingURL=MdKitEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdKitEditor.d.ts","sourceRoot":"","sources":["../../src/markdown/MdKitEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAC3C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAG3D,KAAK,oBAAoB,GAAG;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC9B,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;CACvB,CAAC;AAEF,KAAK,qBAAqB,GAAG,oBAAoB,GAAG;IAClD,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,6BAA6B,GAAG,oBAAoB,GAAG;IAC1D,aAAa,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GACxB,6BAA6B,GAC7B,qBAAqB,CAAC;AAE1B;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GAAI,OAAO,gBAAgB,4CA8BlD,CAAC"}
|
|
@@ -1,7 +1,15 @@
|
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
2
|
import { joinClassNames } from "../ui/joinClassNames.js";
|
|
3
3
|
import { TiptapMarkdownSurface } from "./TiptapMarkdownSurface.js";
|
|
4
|
+
/**
|
|
5
|
+
* Markdown-first rich text editor. Behaves like a controlled textarea in local
|
|
6
|
+
* mode and switches to a Yjs-backed engine when given a collaboration session.
|
|
7
|
+
*
|
|
8
|
+
* @remarks
|
|
9
|
+
* In collaborative mode the Yjs document is the content source; external
|
|
10
|
+
* `value` changes are not applied into the shared document.
|
|
11
|
+
*/
|
|
4
12
|
export const MdKitEditor = (props) => {
|
|
5
|
-
const { className, fillHeight = false, readOnly = false, style, ...surfaceProps } = props;
|
|
6
|
-
return (_jsx("div", { className: joinClassNames("mp-lb-mdkit-markdown-editor", fillHeight && "mp-lb-mdkit-markdown-editor-fill-height", className), "data-read-only": readOnly ? "true" : undefined, style: style, children: _jsx(TiptapMarkdownSurface, { readOnly: readOnly, ...surfaceProps }, props.instanceKey) }));
|
|
13
|
+
const { className, documentMargins = false, fillHeight = false, fixedWidth = false, readOnly = false, style, ...surfaceProps } = props;
|
|
14
|
+
return (_jsx("div", { className: joinClassNames("mp-lb-mdkit-markdown-editor", documentMargins && "mp-lb-mdkit-markdown-editor-document-margins", fillHeight && "mp-lb-mdkit-markdown-editor-fill-height", fixedWidth && "mp-lb-mdkit-markdown-editor-fixed-width", className), "data-read-only": readOnly ? "true" : undefined, style: style, children: _jsx(TiptapMarkdownSurface, { readOnly: readOnly, ...surfaceProps }, props.instanceKey) }));
|
|
7
15
|
};
|
|
@@ -1,10 +1,18 @@
|
|
|
1
1
|
import type { CSSProperties } from "react";
|
|
2
2
|
export type MdKitViewProps = {
|
|
3
3
|
className?: string;
|
|
4
|
+
documentMargins?: boolean;
|
|
4
5
|
fillHeight?: boolean;
|
|
6
|
+
fixedWidth?: boolean;
|
|
5
7
|
ignoreYamlFrontMatter?: boolean;
|
|
6
8
|
placeholder?: string;
|
|
7
9
|
style?: CSSProperties;
|
|
8
10
|
value: string;
|
|
9
11
|
};
|
|
10
|
-
|
|
12
|
+
/**
|
|
13
|
+
* Read-only markdown surface that mirrors {@link MdKitEditor}'s styling and
|
|
14
|
+
* sizing contract without mounting the editor runtime. Use it for previews and
|
|
15
|
+
* restored checkpoints.
|
|
16
|
+
*/
|
|
17
|
+
export declare const MdKitView: ({ className, documentMargins, fillHeight, fixedWidth, ignoreYamlFrontMatter, placeholder, style, value, }: MdKitViewProps) => import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
//# sourceMappingURL=MdKitView.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdKitView.d.ts","sourceRoot":"","sources":["../../src/markdown/MdKitView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAM3C,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,SAAS,GAAI,2GASvB,cAAc,4CAgDhB,CAAC"}
|
|
@@ -3,12 +3,17 @@ import ReactMarkdown from "react-markdown";
|
|
|
3
3
|
import remarkGfm from "remark-gfm";
|
|
4
4
|
import { joinClassNames } from "../ui/joinClassNames.js";
|
|
5
5
|
import { removeYamlFrontMatter } from "./yamlFrontMatter.js";
|
|
6
|
-
|
|
6
|
+
/**
|
|
7
|
+
* Read-only markdown surface that mirrors {@link MdKitEditor}'s styling and
|
|
8
|
+
* sizing contract without mounting the editor runtime. Use it for previews and
|
|
9
|
+
* restored checkpoints.
|
|
10
|
+
*/
|
|
11
|
+
export const MdKitView = ({ className, documentMargins = false, fillHeight = false, fixedWidth = false, ignoreYamlFrontMatter = false, placeholder, style, value, }) => {
|
|
7
12
|
const markdownValue = ignoreYamlFrontMatter
|
|
8
13
|
? removeYamlFrontMatter(value)
|
|
9
14
|
: value;
|
|
10
15
|
const renderedValue = markdownValue.trim().length > 0 ? markdownValue : (placeholder ?? "");
|
|
11
|
-
return (_jsx("div", { className: joinClassNames("mp-lb-mdkit-markdown-editor", "mp-lb-mdkit-markdown-view", fillHeight && "mp-lb-mdkit-markdown-editor-fill-height", className), "data-read-only": "true", style: style, children: _jsx("div", { className: "mp-lb-mdkit-editor-shell", children: _jsx("div", { className: "mp-lb-mdkit-editor-surface", children: renderedValue.length > 0 ? (_jsx("div", { className: "mp-lb-mdkit-tiptap mp-lb-mdkit-view-content", children: _jsx(ReactMarkdown, { components: {
|
|
16
|
+
return (_jsx("div", { className: joinClassNames("mp-lb-mdkit-markdown-editor", "mp-lb-mdkit-markdown-view", documentMargins && "mp-lb-mdkit-markdown-editor-document-margins", fillHeight && "mp-lb-mdkit-markdown-editor-fill-height", fixedWidth && "mp-lb-mdkit-markdown-editor-fixed-width", className), "data-read-only": "true", style: style, children: _jsx("div", { className: "mp-lb-mdkit-editor-shell", children: _jsx("div", { className: "mp-lb-mdkit-editor-surface", children: renderedValue.length > 0 ? (_jsx("div", { className: "mp-lb-mdkit-tiptap mp-lb-mdkit-view-content", children: _jsx(ReactMarkdown, { components: {
|
|
12
17
|
a: ({ children, ...linkProps }) => (_jsx("a", { ...linkProps, rel: "noopener noreferrer", target: "_blank", children: children })),
|
|
13
18
|
}, remarkPlugins: [remarkGfm], children: renderedValue }) })) : (_jsx("div", { className: "mp-lb-mdkit-editor-empty" })) }) }) }));
|
|
14
19
|
};
|
|
@@ -25,3 +25,4 @@ type CollaborativeTiptapMarkdownSurfaceProps = {
|
|
|
25
25
|
type TiptapMarkdownSurfaceProps = CollaborativeTiptapMarkdownSurfaceProps | LocalTiptapMarkdownSurfaceProps;
|
|
26
26
|
export declare const TiptapMarkdownSurface: (props: TiptapMarkdownSurfaceProps) => import("react/jsx-runtime").JSX.Element;
|
|
27
27
|
export {};
|
|
28
|
+
//# sourceMappingURL=TiptapMarkdownSurface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TiptapMarkdownSurface.d.ts","sourceRoot":"","sources":["../../src/markdown/TiptapMarkdownSurface.tsx"],"names":[],"mappings":"AAWA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AAE3E,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,eAAe,CAAC;AAe3D,KAAK,+BAA+B,GAAG;IACrC,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,uCAAuC,GAAG;IAC7C,aAAa,EAAE,yBAAyB,CAAC;IACzC,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IACtC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACtD,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,0BAA0B,GAC3B,uCAAuC,GACvC,+BAA+B,CAAC;AAyEpC,eAAO,MAAM,qBAAqB,GAAI,OAAO,0BAA0B,4CA2xBtE,CAAC"}
|
|
@@ -76,7 +76,6 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
76
76
|
const isApplyingExternalValueRef = useRef(false);
|
|
77
77
|
const pendingControlledEchoesRef = useRef(new Set());
|
|
78
78
|
const pendingContentFocusRef = useRef(null);
|
|
79
|
-
const shouldFocusAfterPointerRef = useRef(false);
|
|
80
79
|
const [searchOpen, setSearchOpen] = useState(false);
|
|
81
80
|
const [searchQuery, setSearchQuery] = useState("");
|
|
82
81
|
const [activeSearchMatchIndex, setActiveSearchMatchIndex] = useState(0);
|
|
@@ -341,7 +340,7 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
341
340
|
if (!editor) {
|
|
342
341
|
return;
|
|
343
342
|
}
|
|
344
|
-
const
|
|
343
|
+
const blurEditorOnExternalClick = (event) => {
|
|
345
344
|
if (editor.isDestroyed) {
|
|
346
345
|
return;
|
|
347
346
|
}
|
|
@@ -361,13 +360,9 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
361
360
|
}
|
|
362
361
|
editor.commands.blur();
|
|
363
362
|
};
|
|
364
|
-
document.addEventListener("
|
|
365
|
-
capture: true,
|
|
366
|
-
});
|
|
363
|
+
document.addEventListener("click", blurEditorOnExternalClick);
|
|
367
364
|
return () => {
|
|
368
|
-
document.removeEventListener("
|
|
369
|
-
capture: true,
|
|
370
|
-
});
|
|
365
|
+
document.removeEventListener("click", blurEditorOnExternalClick);
|
|
371
366
|
};
|
|
372
367
|
}, [editor]);
|
|
373
368
|
useEffect(() => {
|
|
@@ -490,7 +485,6 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
490
485
|
};
|
|
491
486
|
const queueEditorFocusAtPosition = (position) => {
|
|
492
487
|
emitDebugEvent("focus-queued", {
|
|
493
|
-
pendingFromPointer: shouldFocusAfterPointerRef.current,
|
|
494
488
|
requestedPosition: position,
|
|
495
489
|
});
|
|
496
490
|
window.setTimeout(() => {
|
|
@@ -576,7 +570,6 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
576
570
|
}
|
|
577
571
|
const requestedPosition = getEditorPositionAtClientPoint(event.clientX, event.clientY, event.target);
|
|
578
572
|
event.preventDefault();
|
|
579
|
-
shouldFocusAfterPointerRef.current = false;
|
|
580
573
|
emitDebugEvent("hitbox-pointer-down", {
|
|
581
574
|
defaultPrevented: event.defaultPrevented,
|
|
582
575
|
pointerType: event.pointerType,
|
|
@@ -589,7 +582,6 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
589
582
|
const pendingContentFocus = pendingContentFocusRef.current;
|
|
590
583
|
if (readOnly) {
|
|
591
584
|
pendingContentFocusRef.current = null;
|
|
592
|
-
shouldFocusAfterPointerRef.current = false;
|
|
593
585
|
return;
|
|
594
586
|
}
|
|
595
587
|
if (pendingContentFocus &&
|
|
@@ -605,17 +597,6 @@ export const TiptapMarkdownSurface = (props) => {
|
|
|
605
597
|
}
|
|
606
598
|
return;
|
|
607
599
|
}
|
|
608
|
-
if (!shouldFocusAfterPointerRef.current) {
|
|
609
|
-
return;
|
|
610
|
-
}
|
|
611
|
-
event.preventDefault();
|
|
612
|
-
shouldFocusAfterPointerRef.current = false;
|
|
613
|
-
emitDebugEvent("hitbox-pointer-up", {
|
|
614
|
-
defaultPrevented: event.defaultPrevented,
|
|
615
|
-
pointerType: event.pointerType,
|
|
616
|
-
target: describeEventTarget(event.target),
|
|
617
|
-
});
|
|
618
|
-
queueEditorFocusAtPosition(getEditorPositionAtClientPoint(event.clientX, event.clientY, event.target));
|
|
619
600
|
};
|
|
620
601
|
return (_jsx("div", { className: "mp-lb-mdkit-editor-shell", children: _jsxs("div", { ref: editorSurfaceRef, className: "mp-lb-mdkit-editor-surface", onPointerDownCapture: focusEditorBackgroundOnPointerDown, onPointerUpCapture: focusEditorBackgroundOnPointerUp, children: [search && searchOpen ? (_jsx(MarkdownSearchPanel, { activeMatchNumber: activeSearchMatchNumber, inputRef: searchInputRef, matchCount: searchMatches.length, onClose: closeSearch, onNext: selectNextSearchMatch, onPrevious: selectPreviousSearchMatch, onQueryChange: setSearchQuery, query: searchQuery })) : null, _jsx(MarkdownBubbleMenu, { editor: editor }), _jsx(EditorContent, { editor: editor })] }) }));
|
|
621
602
|
};
|
|
@@ -6,3 +6,4 @@ type CreateMdKitTiptapExtensionsOptions = {
|
|
|
6
6
|
export declare const defaultMdKitMarkdownPlaceholder = "Start writing...";
|
|
7
7
|
export declare const createMdKitTiptapExtensions: ({ placeholder, undoRedo, }?: CreateMdKitTiptapExtensionsOptions) => Extensions;
|
|
8
8
|
export {};
|
|
9
|
+
//# sourceMappingURL=createMdKitTiptapExtensions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createMdKitTiptapExtensions.d.ts","sourceRoot":"","sources":["../../src/markdown/createMdKitTiptapExtensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAO/C,KAAK,kCAAkC,GAAG;IACxC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,+BAA+B,qBAAqB,CAAC;AAElE,eAAO,MAAM,2BAA2B,GAAI,6BAGzC,kCAAuC,KAAG,UAwB5C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorDebug.d.ts","sourceRoot":"","sources":["../../src/markdown/editorDebug.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAAG;IAClC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC"}
|
|
@@ -4,3 +4,4 @@ export type MarkdownFenceRange = {
|
|
|
4
4
|
};
|
|
5
5
|
export declare const getMarkdownFenceRanges: (markdown: string) => MarkdownFenceRange[];
|
|
6
6
|
export declare const isInsideMarkdownFence: (index: number, ranges: MarkdownFenceRange[]) => boolean;
|
|
7
|
+
//# sourceMappingURL=markdownFenceRanges.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdownFenceRanges.d.ts","sourceRoot":"","sources":["../../src/markdown/markdownFenceRanges.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,CAAC;AAIF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,KACf,kBAAkB,EAqDpB,CAAC;AAEF,eAAO,MAAM,qBAAqB,GAChC,OAAO,MAAM,EACb,QAAQ,kBAAkB,EAAE,YAC4C,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalizeMarkdownSerialization.d.ts","sourceRoot":"","sources":["../../src/markdown/normalizeMarkdownSerialization.ts"],"names":[],"mappings":"AAgDA,eAAO,MAAM,8BAA8B,GAAI,UAAU,MAAM,WAM5D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prepareMarkdownForEditorHydration.d.ts","sourceRoot":"","sources":["../../src/markdown/prepareMarkdownForEditorHydration.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,iCAAiC,GAAI,UAAU,MAAM,WAejE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preserveMarkdownWhitespace.d.ts","sourceRoot":"","sources":["../../src/markdown/preserveMarkdownWhitespace.ts"],"names":[],"mappings":"AAgFA,eAAO,MAAM,0BAA0B,GACrC,qBAAqB,MAAM,EAC3B,wBAAwB,MAAM,WA4D/B,CAAC"}
|
|
@@ -14,3 +14,4 @@ export declare const extractYamlFrontMatter: (markdown: string) => MdKitYamlFron
|
|
|
14
14
|
export declare const hasYamlFrontMatter: (markdown: string) => boolean;
|
|
15
15
|
export declare const removeYamlFrontMatter: (markdown: string) => string;
|
|
16
16
|
export declare const prependYamlFrontMatter: (frontMatter: MdKitYamlFrontMatter | string | null, body: string) => string;
|
|
17
|
+
//# sourceMappingURL=yamlFrontMatter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"yamlFrontMatter.d.ts","sourceRoot":"","sources":["../../src/markdown/yamlFrontMatter.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,OAAO,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,MAAM,MAAM,8BAA8B,GAAG;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,EAAE,oBAAoB,GAAG,IAAI,CAAC;CAC1C,CAAC;AA4CF,eAAO,MAAM,oBAAoB,GAAI,MAAM,MAAM,KAAG,OAQnD,CAAC;AAEF,eAAO,MAAM,sBAAsB,GACjC,UAAU,MAAM,KACf,8BA8CF,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,UAAU,MAAM,YACI,CAAC;AAExD,eAAO,MAAM,qBAAqB,GAAI,UAAU,MAAM,WACf,CAAC;AAExC,eAAO,MAAM,sBAAsB,GACjC,aAAa,oBAAoB,GAAG,MAAM,GAAG,IAAI,EACjD,MAAM,MAAM,WASb,CAAC"}
|
package/dist/server.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,YAAY,EACV,yBAAyB,EACzB,iBAAiB,EACjB,0BAA0B,GAC3B,MAAM,qBAAqB,CAAC"}
|
|
@@ -5,4 +5,9 @@ export type MdKitThemeEditorProps = {
|
|
|
5
5
|
onReset?: () => void;
|
|
6
6
|
theme: MdKitEditorTheme;
|
|
7
7
|
};
|
|
8
|
+
/**
|
|
9
|
+
* Optional controls for editing an {@link MdKitEditorTheme}. Intended for theme
|
|
10
|
+
* builders, docs, and debug tools rather than production editing surfaces.
|
|
11
|
+
*/
|
|
8
12
|
export declare const MdKitThemeEditor: ({ className, onChange, onReset, theme, }: MdKitThemeEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
//# sourceMappingURL=MdKitThemeEditor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MdKitThemeEditor.d.ts","sourceRoot":"","sources":["../../src/theme/MdKitThemeEditor.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEtD,MAAM,MAAM,qBAAqB,GAAG;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,gBAAgB,KAAK,IAAI,CAAC;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,0CAK9B,qBAAqB,4CAmHvB,CAAC"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Optional controls for editing an {@link MdKitEditorTheme}. Intended for theme
|
|
4
|
+
* builders, docs, and debug tools rather than production editing surfaces.
|
|
5
|
+
*/
|
|
2
6
|
export const MdKitThemeEditor = ({ className, onChange, onReset, theme, }) => {
|
|
3
7
|
const updateTheme = (patch) => {
|
|
4
8
|
onChange({
|
|
@@ -18,3 +18,4 @@ export type MdKitEditorThemeStyle = CSSProperties & Record<`--mp-lb-mdkit-${stri
|
|
|
18
18
|
export declare const defaultMdKitEditorTheme: MdKitEditorTheme;
|
|
19
19
|
export declare const darkMdKitEditorTheme: MdKitEditorTheme;
|
|
20
20
|
export declare const createMdKitEditorThemeStyle: (theme: MdKitEditorTheme) => MdKitEditorThemeStyle;
|
|
21
|
+
//# sourceMappingURL=editorTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editorTheme.d.ts","sourceRoot":"","sources":["../../src/theme/editorTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAE3C,MAAM,MAAM,gBAAgB,GAAG;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,aAAa,GAC/C,MAAM,CAAC,iBAAiB,MAAM,EAAE,EAAE,MAAM,CAAC,CAAC;AAE5C,eAAO,MAAM,uBAAuB,EAAE,gBAcrC,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,gBAclC,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,OAAO,gBAAgB,KACtB,qBAgBD,CAAC"}
|