@mp-lb/mdkit 0.3.1 → 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 +10 -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"}
@@ -18,6 +18,7 @@ const describeElement = (element) => {
18
18
  };
19
19
  const describeEventTarget = (target) => target instanceof Element ? describeElement(target) : String(target);
20
20
  const isInteractiveElement = (target) => !!target.closest("a,button,input,select,textarea,[contenteditable='false']");
21
+ const isNativeFocusTarget = (target) => !!target.closest("a[href],button,input,select,textarea,[contenteditable='true'],[tabindex]:not([tabindex='-1'])");
21
22
  const createEditorDebugSnapshot = (editor, phase) => {
22
23
  const activeElement = typeof document === "undefined" || !document.activeElement
23
24
  ? null
@@ -75,7 +76,6 @@ export const TiptapMarkdownSurface = (props) => {
75
76
  const isApplyingExternalValueRef = useRef(false);
76
77
  const pendingControlledEchoesRef = useRef(new Set());
77
78
  const pendingContentFocusRef = useRef(null);
78
- const shouldFocusAfterPointerRef = useRef(false);
79
79
  const [searchOpen, setSearchOpen] = useState(false);
80
80
  const [searchQuery, setSearchQuery] = useState("");
81
81
  const [activeSearchMatchIndex, setActiveSearchMatchIndex] = useState(0);
@@ -340,10 +340,13 @@ export const TiptapMarkdownSurface = (props) => {
340
340
  if (!editor) {
341
341
  return;
342
342
  }
343
- const blurEditorOnExternalPointerDown = (event) => {
343
+ const blurEditorOnExternalClick = (event) => {
344
344
  if (editor.isDestroyed) {
345
345
  return;
346
346
  }
347
+ if (!editor.isFocused && !editor.view.hasFocus()) {
348
+ return;
349
+ }
347
350
  const target = event.target;
348
351
  if (!(target instanceof Element)) {
349
352
  return;
@@ -352,15 +355,14 @@ export const TiptapMarkdownSurface = (props) => {
352
355
  target.closest(".mp-lb-mdkit-toolbar")) {
353
356
  return;
354
357
  }
358
+ if (isNativeFocusTarget(target)) {
359
+ return;
360
+ }
355
361
  editor.commands.blur();
356
362
  };
357
- document.addEventListener("pointerdown", blurEditorOnExternalPointerDown, {
358
- capture: true,
359
- });
363
+ document.addEventListener("click", blurEditorOnExternalClick);
360
364
  return () => {
361
- document.removeEventListener("pointerdown", blurEditorOnExternalPointerDown, {
362
- capture: true,
363
- });
365
+ document.removeEventListener("click", blurEditorOnExternalClick);
364
366
  };
365
367
  }, [editor]);
366
368
  useEffect(() => {
@@ -483,7 +485,6 @@ export const TiptapMarkdownSurface = (props) => {
483
485
  };
484
486
  const queueEditorFocusAtPosition = (position) => {
485
487
  emitDebugEvent("focus-queued", {
486
- pendingFromPointer: shouldFocusAfterPointerRef.current,
487
488
  requestedPosition: position,
488
489
  });
489
490
  window.setTimeout(() => {
@@ -569,7 +570,6 @@ export const TiptapMarkdownSurface = (props) => {
569
570
  }
570
571
  const requestedPosition = getEditorPositionAtClientPoint(event.clientX, event.clientY, event.target);
571
572
  event.preventDefault();
572
- shouldFocusAfterPointerRef.current = false;
573
573
  emitDebugEvent("hitbox-pointer-down", {
574
574
  defaultPrevented: event.defaultPrevented,
575
575
  pointerType: event.pointerType,
@@ -582,7 +582,6 @@ export const TiptapMarkdownSurface = (props) => {
582
582
  const pendingContentFocus = pendingContentFocusRef.current;
583
583
  if (readOnly) {
584
584
  pendingContentFocusRef.current = null;
585
- shouldFocusAfterPointerRef.current = false;
586
585
  return;
587
586
  }
588
587
  if (pendingContentFocus &&
@@ -598,17 +597,6 @@ export const TiptapMarkdownSurface = (props) => {
598
597
  }
599
598
  return;
600
599
  }
601
- if (!shouldFocusAfterPointerRef.current) {
602
- return;
603
- }
604
- event.preventDefault();
605
- shouldFocusAfterPointerRef.current = false;
606
- emitDebugEvent("hitbox-pointer-up", {
607
- defaultPrevented: event.defaultPrevented,
608
- pointerType: event.pointerType,
609
- target: describeEventTarget(event.target),
610
- });
611
- queueEditorFocusAtPosition(getEditorPositionAtClientPoint(event.clientX, event.clientY, event.target));
612
600
  };
613
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 })] }) }));
614
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"}