@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.
Files changed (160) hide show
  1. package/README.md +8 -2
  2. package/dist/collaboration/useMdKitCollaboration.d.ts +5 -0
  3. package/dist/collaboration/useMdKitCollaboration.d.ts.map +1 -0
  4. package/dist/collaboration/useMdKitCollaboration.js +4 -0
  5. package/dist/core/checkpointPolicy.d.ts +10 -0
  6. package/dist/core/checkpointPolicy.d.ts.map +1 -0
  7. package/dist/core/checkpointPolicy.js +9 -0
  8. package/dist/core/documentEngine.d.ts +1 -0
  9. package/dist/core/documentEngine.d.ts.map +1 -0
  10. package/dist/core/index.d.ts +1 -0
  11. package/dist/core/index.d.ts.map +1 -0
  12. package/dist/document/MdKitConflictPanel.d.ts +5 -0
  13. package/dist/document/MdKitConflictPanel.d.ts.map +1 -0
  14. package/dist/document/MdKitConflictPanel.js +4 -0
  15. package/dist/document/MdKitDocumentToolbar.d.ts +6 -0
  16. package/dist/document/MdKitDocumentToolbar.d.ts.map +1 -0
  17. package/dist/document/MdKitDocumentToolbar.js +5 -0
  18. package/dist/document/documentTypes.d.ts +6 -0
  19. package/dist/document/documentTypes.d.ts.map +1 -0
  20. package/dist/document/useMdKitDocument.d.ts +5 -0
  21. package/dist/document/useMdKitDocument.d.ts.map +1 -0
  22. package/dist/document/useMdKitDocument.js +4 -0
  23. package/dist/fastify.d.ts +1 -0
  24. package/dist/fastify.d.ts.map +1 -0
  25. package/dist/index.d.ts +4 -1
  26. package/dist/index.d.ts.map +1 -0
  27. package/dist/markdown/MarkdownBubbleMenu.d.ts +1 -0
  28. package/dist/markdown/MarkdownBubbleMenu.d.ts.map +1 -0
  29. package/dist/markdown/MarkdownPasteExtension.d.ts +1 -0
  30. package/dist/markdown/MarkdownPasteExtension.d.ts.map +1 -0
  31. package/dist/markdown/MarkdownSearchExtension.d.ts +1 -0
  32. package/dist/markdown/MarkdownSearchExtension.d.ts.map +1 -0
  33. package/dist/markdown/MarkdownSearchPanel.d.ts +1 -0
  34. package/dist/markdown/MarkdownSearchPanel.d.ts.map +1 -0
  35. package/dist/markdown/MdKitEditor.d.ts +11 -0
  36. package/dist/markdown/MdKitEditor.d.ts.map +1 -0
  37. package/dist/markdown/MdKitEditor.js +10 -2
  38. package/dist/markdown/MdKitView.d.ts +9 -1
  39. package/dist/markdown/MdKitView.d.ts.map +1 -0
  40. package/dist/markdown/MdKitView.js +7 -2
  41. package/dist/markdown/TiptapMarkdownSurface.d.ts +1 -0
  42. package/dist/markdown/TiptapMarkdownSurface.d.ts.map +1 -0
  43. package/dist/markdown/TiptapMarkdownSurface.js +3 -22
  44. package/dist/markdown/createMdKitTiptapExtensions.d.ts +1 -0
  45. package/dist/markdown/createMdKitTiptapExtensions.d.ts.map +1 -0
  46. package/dist/markdown/editorDebug.d.ts +1 -0
  47. package/dist/markdown/editorDebug.d.ts.map +1 -0
  48. package/dist/markdown/markdownFenceRanges.d.ts +1 -0
  49. package/dist/markdown/markdownFenceRanges.d.ts.map +1 -0
  50. package/dist/markdown/normalizeMarkdownSerialization.d.ts +1 -0
  51. package/dist/markdown/normalizeMarkdownSerialization.d.ts.map +1 -0
  52. package/dist/markdown/prepareMarkdownForEditorHydration.d.ts +1 -0
  53. package/dist/markdown/prepareMarkdownForEditorHydration.d.ts.map +1 -0
  54. package/dist/markdown/preserveMarkdownWhitespace.d.ts +1 -0
  55. package/dist/markdown/preserveMarkdownWhitespace.d.ts.map +1 -0
  56. package/dist/markdown/yamlFrontMatter.d.ts +1 -0
  57. package/dist/markdown/yamlFrontMatter.d.ts.map +1 -0
  58. package/dist/server.d.ts +1 -0
  59. package/dist/server.d.ts.map +1 -0
  60. package/dist/theme/MdKitThemeEditor.d.ts +5 -0
  61. package/dist/theme/MdKitThemeEditor.d.ts.map +1 -0
  62. package/dist/theme/MdKitThemeEditor.js +4 -0
  63. package/dist/theme/editorTheme.d.ts +1 -0
  64. package/dist/theme/editorTheme.d.ts.map +1 -0
  65. package/dist/theme/editorTheme.js +8 -8
  66. package/dist/transport/backend.d.ts +13 -0
  67. package/dist/transport/backend.d.ts.map +1 -0
  68. package/dist/transport/backend.js +6 -0
  69. package/dist/transport/fastify.d.ts +5 -0
  70. package/dist/transport/fastify.d.ts.map +1 -0
  71. package/dist/transport/fastify.js +4 -0
  72. package/dist/transport/http.d.ts +1 -0
  73. package/dist/transport/http.d.ts.map +1 -0
  74. package/dist/transport/index.d.ts +1 -0
  75. package/dist/transport/index.d.ts.map +1 -0
  76. package/dist/transport/rest.d.ts +6 -0
  77. package/dist/transport/rest.d.ts.map +1 -0
  78. package/dist/transport/rest.js +5 -0
  79. package/dist/transport/store.d.ts +1 -0
  80. package/dist/transport/store.d.ts.map +1 -0
  81. package/dist/transport/trpcClient.d.ts +8 -0
  82. package/dist/transport/trpcClient.d.ts.map +1 -0
  83. package/dist/transport/trpcClient.js +7 -0
  84. package/dist/transport/trpcServer.d.ts +6 -0
  85. package/dist/transport/trpcServer.d.ts.map +1 -0
  86. package/dist/transport/trpcServer.js +5 -0
  87. package/dist/trpc/client.d.ts +1 -0
  88. package/dist/trpc/client.d.ts.map +1 -0
  89. package/dist/trpc/server.d.ts +1 -0
  90. package/dist/trpc/server.d.ts.map +1 -0
  91. package/dist/trpc.d.ts +1 -0
  92. package/dist/trpc.d.ts.map +1 -0
  93. package/dist/ui/joinClassNames.d.ts +1 -0
  94. package/dist/ui/joinClassNames.d.ts.map +1 -0
  95. package/dist/versioning/VersionHistoryPanel.d.ts +5 -0
  96. package/dist/versioning/VersionHistoryPanel.d.ts.map +1 -0
  97. package/dist/versioning/VersionHistoryPanel.js +4 -0
  98. package/dist/versioning/useMdKitDocumentVersions.d.ts +5 -0
  99. package/dist/versioning/useMdKitDocumentVersions.d.ts.map +1 -0
  100. package/dist/versioning/useMdKitDocumentVersions.js +4 -0
  101. package/dist/yjs/MdKitMarkdownYjs.d.ts +1 -0
  102. package/dist/yjs/MdKitMarkdownYjs.d.ts.map +1 -0
  103. package/dist/yjs/index.d.ts +1 -0
  104. package/dist/yjs/index.d.ts.map +1 -0
  105. package/package.json +10 -12
  106. package/src/collaboration/useMdKitCollaboration.ts +528 -0
  107. package/src/core/checkpointPolicy.ts +107 -0
  108. package/src/core/documentEngine.ts +175 -0
  109. package/src/core/index.ts +33 -0
  110. package/src/document/MdKitConflictPanel.tsx +129 -0
  111. package/src/document/MdKitDocumentToolbar.tsx +141 -0
  112. package/src/document/documentTypes.ts +89 -0
  113. package/src/document/useMdKitDocument.ts +543 -0
  114. package/src/fastify.ts +6 -0
  115. package/src/index.ts +89 -0
  116. package/src/markdown/MarkdownBubbleMenu.tsx +271 -0
  117. package/src/markdown/MarkdownPasteExtension.ts +81 -0
  118. package/src/markdown/MarkdownSearchExtension.ts +77 -0
  119. package/src/markdown/MarkdownSearchPanel.tsx +98 -0
  120. package/src/markdown/MdKitEditor.tsx +75 -0
  121. package/src/markdown/MdKitView.tsx +80 -0
  122. package/src/markdown/TiptapMarkdownSurface.tsx +923 -0
  123. package/src/markdown/createMdKitTiptapExtensions.ts +42 -0
  124. package/src/markdown/editorDebug.ts +5 -0
  125. package/src/markdown/markdownFenceRanges.ts +68 -0
  126. package/src/markdown/normalizeMarkdownSerialization.ts +55 -0
  127. package/src/markdown/prepareMarkdownForEditorHydration.ts +23 -0
  128. package/src/markdown/preserveMarkdownWhitespace.ts +143 -0
  129. package/src/markdown/yamlFrontMatter.ts +135 -0
  130. package/src/server.ts +6 -0
  131. package/src/styles.css +125 -53
  132. package/src/theme/MdKitThemeEditor.tsx +134 -0
  133. package/src/theme/editorTheme.ts +72 -0
  134. package/src/transport/backend.ts +220 -0
  135. package/src/transport/fastify.ts +57 -0
  136. package/src/transport/http.ts +126 -0
  137. package/src/transport/index.ts +12 -0
  138. package/src/transport/rest.ts +80 -0
  139. package/src/transport/store.ts +45 -0
  140. package/src/transport/trpcClient.ts +90 -0
  141. package/src/transport/trpcServer.ts +66 -0
  142. package/src/trpc/client.ts +11 -0
  143. package/src/trpc/server.ts +12 -0
  144. package/src/trpc.ts +11 -0
  145. package/src/ui/joinClassNames.ts +3 -0
  146. package/src/versioning/VersionHistoryPanel.tsx +146 -0
  147. package/src/versioning/useMdKitDocumentVersions.ts +146 -0
  148. package/src/yjs/MdKitMarkdownYjs.ts +111 -0
  149. package/src/yjs/index.ts +8 -0
  150. package/docs/.vitepress/config.ts +0 -47
  151. package/docs/api.md +0 -512
  152. package/docs/architecture.md +0 -96
  153. package/docs/collaboration-persistence.md +0 -147
  154. package/docs/index.md +0 -341
  155. package/docs/permissions.md +0 -139
  156. package/docs/plain-text.md +0 -131
  157. package/docs/rest.md +0 -98
  158. package/docs/shadcn.md +0 -125
  159. package/docs/styling.md +0 -373
  160. 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 in [`docs/index.md`](./docs/index.md). Internal
133
- project notes live in the repository under [`../../docs/mdkit`](../../docs/mdkit).
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"}
@@ -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 { MdKitCollaborationParticipant, MdKitCollaborationSession, MdKitCollaborationStatus, MdKitDocumentAdapter, MdKitDocumentSnapshot, MdKitDocumentVersionDetail, MdKitDocumentVersionSummary, MdKitDocumentVersionToken, MdKitDocumentWriteInput, MdKitDocumentWriteResult, } from "./document/documentTypes.js";
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"}
@@ -1,3 +1,4 @@
1
1
  import { Extension } from "@tiptap/core";
2
2
  export declare const shouldPastePlainTextAsMarkdown: (text: string) => boolean;
3
3
  export declare const MarkdownPasteExtension: Extension<any, any>;
4
+ //# sourceMappingURL=MarkdownPasteExtension.d.ts.map
@@ -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"}
@@ -7,3 +7,4 @@ export type MarkdownSearchMatch = {
7
7
  };
8
8
  export declare const markdownSearchPluginKey: PluginKey<DecorationSet>;
9
9
  export declare const MarkdownSearchExtension: Extension<any, any>;
10
+ //# sourceMappingURL=MarkdownSearchExtension.d.ts.map
@@ -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
- export declare const MdKitView: ({ className, fillHeight, ignoreYamlFrontMatter, placeholder, style, value, }: MdKitViewProps) => import("react/jsx-runtime").JSX.Element;
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
- export const MdKitView = ({ className, fillHeight = false, ignoreYamlFrontMatter = false, placeholder, style, value, }) => {
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 blurEditorOnExternalPointerDown = (event) => {
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("pointerdown", blurEditorOnExternalPointerDown, {
365
- capture: true,
366
- });
363
+ document.addEventListener("click", blurEditorOnExternalClick);
367
364
  return () => {
368
- document.removeEventListener("pointerdown", blurEditorOnExternalPointerDown, {
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"}
@@ -3,3 +3,4 @@ export type MdKitEditorDebugEvent = {
3
3
  timestamp: number;
4
4
  type: string;
5
5
  };
6
+ //# sourceMappingURL=editorDebug.d.ts.map
@@ -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"}
@@ -1 +1,2 @@
1
1
  export declare const normalizeMarkdownSerialization: (markdown: string) => string;
2
+ //# sourceMappingURL=normalizeMarkdownSerialization.d.ts.map
@@ -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"}
@@ -1 +1,2 @@
1
1
  export declare const prepareMarkdownForEditorHydration: (markdown: string) => string;
2
+ //# sourceMappingURL=prepareMarkdownForEditorHydration.d.ts.map
@@ -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"}
@@ -1 +1,2 @@
1
1
  export declare const preserveMarkdownWhitespace: (previousRawMarkdown: string, nextSerializedMarkdown: string) => string;
2
+ //# sourceMappingURL=preserveMarkdownWhitespace.d.ts.map
@@ -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
@@ -1,2 +1,3 @@
1
1
  export { createMdKitBackend } from "./transport/backend.js";
2
2
  export type { CreateMdKitBackendOptions, MdKitBackendStore, MdKitCreateCheckpointInput, } from "./transport/backend.js";
3
+ //# sourceMappingURL=server.d.ts.map
@@ -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"}