@mp-lb/mdkit 0.0.1-main.2.1

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 (125) hide show
  1. package/README.md +132 -0
  2. package/dist/collaboration/useMdKitCollaboration.d.ts +10 -0
  3. package/dist/collaboration/useMdKitCollaboration.js +90 -0
  4. package/dist/core/documentEngine.d.ts +38 -0
  5. package/dist/core/documentEngine.js +95 -0
  6. package/dist/core/documentEngine.test.d.ts +1 -0
  7. package/dist/core/documentEngine.test.js +119 -0
  8. package/dist/core/index.d.ts +3 -0
  9. package/dist/core/index.js +1 -0
  10. package/dist/document/MdKitConflictPanel.d.ts +7 -0
  11. package/dist/document/MdKitConflictPanel.js +41 -0
  12. package/dist/document/MdKitDocumentToolbar.d.ts +13 -0
  13. package/dist/document/MdKitDocumentToolbar.js +48 -0
  14. package/dist/document/documentTypes.d.ts +57 -0
  15. package/dist/document/documentTypes.js +1 -0
  16. package/dist/document/useMdKitDocument.d.ts +33 -0
  17. package/dist/document/useMdKitDocument.js +396 -0
  18. package/dist/document/useMdKitDocument.test.d.ts +1 -0
  19. package/dist/document/useMdKitDocument.test.js +151 -0
  20. package/dist/fastify.d.ts +3 -0
  21. package/dist/fastify.js +1 -0
  22. package/dist/index.d.ts +23 -0
  23. package/dist/index.js +11 -0
  24. package/dist/markdown/MarkdownBubbleMenu.d.ts +6 -0
  25. package/dist/markdown/MarkdownBubbleMenu.js +29 -0
  26. package/dist/markdown/MdKitEditor.d.ts +25 -0
  27. package/dist/markdown/MdKitEditor.js +7 -0
  28. package/dist/markdown/MdKitEditor.test.d.ts +1 -0
  29. package/dist/markdown/MdKitEditor.test.js +126 -0
  30. package/dist/markdown/TiptapMarkdownSurface.d.ts +23 -0
  31. package/dist/markdown/TiptapMarkdownSurface.js +430 -0
  32. package/dist/markdown/editorDebug.d.ts +5 -0
  33. package/dist/markdown/editorDebug.js +1 -0
  34. package/dist/markdown/markdownFenceRanges.d.ts +6 -0
  35. package/dist/markdown/markdownFenceRanges.js +41 -0
  36. package/dist/markdown/normalizeMarkdownSerialization.d.ts +1 -0
  37. package/dist/markdown/normalizeMarkdownSerialization.js +34 -0
  38. package/dist/markdown/normalizeMarkdownSerialization.test.d.ts +1 -0
  39. package/dist/markdown/normalizeMarkdownSerialization.test.js +16 -0
  40. package/dist/markdown/prepareMarkdownForEditorHydration.d.ts +1 -0
  41. package/dist/markdown/prepareMarkdownForEditorHydration.js +12 -0
  42. package/dist/markdown/prepareMarkdownForEditorHydration.test.d.ts +1 -0
  43. package/dist/markdown/prepareMarkdownForEditorHydration.test.js +13 -0
  44. package/dist/markdown/preserveMarkdownWhitespace.d.ts +1 -0
  45. package/dist/markdown/preserveMarkdownWhitespace.js +86 -0
  46. package/dist/markdown/preserveMarkdownWhitespace.test.d.ts +1 -0
  47. package/dist/markdown/preserveMarkdownWhitespace.test.js +25 -0
  48. package/dist/test/setup.d.ts +1 -0
  49. package/dist/test/setup.js +13 -0
  50. package/dist/theme/MdKitThemeEditor.d.ts +8 -0
  51. package/dist/theme/MdKitThemeEditor.js +13 -0
  52. package/dist/theme/editorTheme.d.ts +20 -0
  53. package/dist/theme/editorTheme.js +47 -0
  54. package/dist/transport/fastify.d.ts +7 -0
  55. package/dist/transport/fastify.js +19 -0
  56. package/dist/transport/http.d.ts +43 -0
  57. package/dist/transport/http.js +80 -0
  58. package/dist/transport/index.d.ts +5 -0
  59. package/dist/transport/index.js +2 -0
  60. package/dist/transport/rest.d.ts +6 -0
  61. package/dist/transport/rest.js +34 -0
  62. package/dist/transport/store.d.ts +21 -0
  63. package/dist/transport/store.js +1 -0
  64. package/dist/transport/trpcClient.d.ts +81 -0
  65. package/dist/transport/trpcClient.js +21 -0
  66. package/dist/transport/trpcServer.d.ts +72 -0
  67. package/dist/transport/trpcServer.js +45 -0
  68. package/dist/trpc/client.d.ts +3 -0
  69. package/dist/trpc/client.js +1 -0
  70. package/dist/trpc/server.d.ts +3 -0
  71. package/dist/trpc/server.js +1 -0
  72. package/dist/trpc.d.ts +3 -0
  73. package/dist/trpc.js +1 -0
  74. package/dist/ui/joinClassNames.d.ts +1 -0
  75. package/dist/ui/joinClassNames.js +1 -0
  76. package/dist/versioning/VersionHistoryPanel.d.ts +9 -0
  77. package/dist/versioning/VersionHistoryPanel.js +29 -0
  78. package/dist/versioning/useMdKitDocumentVersions.d.ts +16 -0
  79. package/dist/versioning/useMdKitDocumentVersions.js +88 -0
  80. package/dist/versioning/useMdKitDocumentVersions.test.d.ts +1 -0
  81. package/dist/versioning/useMdKitDocumentVersions.test.js +41 -0
  82. package/docs/.vitepress/config.ts +34 -0
  83. package/docs/.vitepress/dist/404.html +22 -0
  84. package/docs/.vitepress/dist/api.html +120 -0
  85. package/docs/.vitepress/dist/architecture.html +25 -0
  86. package/docs/.vitepress/dist/assets/api.md.asncK3PQ.js +96 -0
  87. package/docs/.vitepress/dist/assets/api.md.asncK3PQ.lean.js +1 -0
  88. package/docs/.vitepress/dist/assets/app.BQvrHyG0.js +1 -0
  89. package/docs/.vitepress/dist/assets/architecture.md.BHQLarmZ.js +1 -0
  90. package/docs/.vitepress/dist/assets/architecture.md.BHQLarmZ.lean.js +1 -0
  91. package/docs/.vitepress/dist/assets/chunks/framework.RRduUuAx.js +19 -0
  92. package/docs/.vitepress/dist/assets/chunks/theme.CkCo6Nk1.js +1 -0
  93. package/docs/.vitepress/dist/assets/index.md.CITl-897.js +137 -0
  94. package/docs/.vitepress/dist/assets/index.md.CITl-897.lean.js +1 -0
  95. package/docs/.vitepress/dist/assets/inter-italic-cyrillic-ext.r48I6akx.woff2 +0 -0
  96. package/docs/.vitepress/dist/assets/inter-italic-cyrillic.By2_1cv3.woff2 +0 -0
  97. package/docs/.vitepress/dist/assets/inter-italic-greek-ext.1u6EdAuj.woff2 +0 -0
  98. package/docs/.vitepress/dist/assets/inter-italic-greek.DJ8dCoTZ.woff2 +0 -0
  99. package/docs/.vitepress/dist/assets/inter-italic-latin-ext.CN1xVJS-.woff2 +0 -0
  100. package/docs/.vitepress/dist/assets/inter-italic-latin.C2AdPX0b.woff2 +0 -0
  101. package/docs/.vitepress/dist/assets/inter-italic-vietnamese.BSbpV94h.woff2 +0 -0
  102. package/docs/.vitepress/dist/assets/inter-roman-cyrillic-ext.BBPuwvHQ.woff2 +0 -0
  103. package/docs/.vitepress/dist/assets/inter-roman-cyrillic.C5lxZ8CY.woff2 +0 -0
  104. package/docs/.vitepress/dist/assets/inter-roman-greek-ext.CqjqNYQ-.woff2 +0 -0
  105. package/docs/.vitepress/dist/assets/inter-roman-greek.BBVDIX6e.woff2 +0 -0
  106. package/docs/.vitepress/dist/assets/inter-roman-latin-ext.4ZJIpNVo.woff2 +0 -0
  107. package/docs/.vitepress/dist/assets/inter-roman-latin.Di8DUHzh.woff2 +0 -0
  108. package/docs/.vitepress/dist/assets/inter-roman-vietnamese.BjW4sHH5.woff2 +0 -0
  109. package/docs/.vitepress/dist/assets/shadcn.md.C3idOo2N.js +57 -0
  110. package/docs/.vitepress/dist/assets/shadcn.md.C3idOo2N.lean.js +1 -0
  111. package/docs/.vitepress/dist/assets/style.BtrGaL3i.css +1 -0
  112. package/docs/.vitepress/dist/assets/styling.md.B2C6kVFa.js +91 -0
  113. package/docs/.vitepress/dist/assets/styling.md.B2C6kVFa.lean.js +1 -0
  114. package/docs/.vitepress/dist/hashmap.json +1 -0
  115. package/docs/.vitepress/dist/index.html +161 -0
  116. package/docs/.vitepress/dist/shadcn.html +81 -0
  117. package/docs/.vitepress/dist/styling.html +115 -0
  118. package/docs/.vitepress/dist/vp-icons.css +1 -0
  119. package/docs/api.md +343 -0
  120. package/docs/architecture.md +67 -0
  121. package/docs/index.md +244 -0
  122. package/docs/shadcn.md +118 -0
  123. package/docs/styling.md +247 -0
  124. package/package.json +105 -0
  125. package/src/styles.css +676 -0
package/src/styles.css ADDED
@@ -0,0 +1,676 @@
1
+ .mdkit-markdown-editor,
2
+ .mdkit-markdown-editor *,
3
+ .mdkit-document-toolbar,
4
+ .mdkit-document-toolbar *,
5
+ .mdkit-version-history-panel,
6
+ .mdkit-version-history-panel *,
7
+ .mdkit-conflict-panel,
8
+ .mdkit-conflict-panel * {
9
+ box-sizing: border-box;
10
+ }
11
+
12
+ .mdkit-markdown-editor,
13
+ .hsk-theme-editor,
14
+ .mdkit-document-toolbar,
15
+ .mdkit-version-history-panel,
16
+ .mdkit-conflict-panel {
17
+ --hsk-background: var(--background, #ffffff);
18
+ --hsk-foreground: var(--foreground, #111827);
19
+ --hsk-muted: var(--muted, #f3f4f6);
20
+ --hsk-muted-foreground: var(--muted-foreground, #6b7280);
21
+ --hsk-border: var(--border, #e5e7eb);
22
+ --hsk-accent: var(--primary, #111827);
23
+ --hsk-accent-foreground: var(--primary-foreground, #ffffff);
24
+ --hsk-link: #4f46e5;
25
+ --hsk-font-family: inherit;
26
+ --hsk-font-size: 1rem;
27
+ --hsk-line-height: 1.7;
28
+ --hsk-surface-padding: 1rem;
29
+ --hsk-block-gap: 0.75rem;
30
+ --hsk-list-item-gap: 0.125rem;
31
+ --hsk-heading-font-weight: 650;
32
+ --hsk-heading-1-size: 1.5rem;
33
+ --hsk-heading-2-size: 1.25rem;
34
+ --hsk-code-background: var(--hsk-muted);
35
+ --hsk-code-radius: 0.35rem;
36
+ --hsk-code-block-radius: 0.75rem;
37
+ --hsk-code-font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas,
38
+ monospace;
39
+ --hsk-quote-border-color: var(--hsk-border);
40
+ color: var(--hsk-foreground);
41
+ font-family: var(--hsk-font-family);
42
+ font-size: var(--hsk-font-size);
43
+ }
44
+
45
+ .mdkit-document-toolbar,
46
+ .mdkit-version-history-panel,
47
+ .mdkit-conflict-panel {
48
+ --mdkit-panel-background: #f7f7f5;
49
+ --mdkit-panel-surface: #ffffff;
50
+ --mdkit-panel-foreground: #111827;
51
+ --mdkit-panel-muted: #ecece7;
52
+ --mdkit-panel-muted-foreground: #5f625f;
53
+ --mdkit-panel-border: #a8aaa4;
54
+ --mdkit-panel-strong-border: #4b4d48;
55
+ --mdkit-panel-danger: #b45309;
56
+ --mdkit-panel-success: #15803d;
57
+ --mdkit-panel-action-background: #242622;
58
+ --mdkit-panel-action-foreground: #ffffff;
59
+ color: var(--mdkit-panel-foreground);
60
+ font-family: inherit;
61
+ font-size: 0.9375rem;
62
+ }
63
+
64
+ .mdkit-markdown-editor {
65
+ width: 100%;
66
+ min-height: 0;
67
+ }
68
+
69
+ .mdkit-markdown-editor[data-read-only="true"] .hsk-tiptap {
70
+ cursor: default;
71
+ }
72
+
73
+ .mdkit-markdown-editor-fill-height {
74
+ display: flex;
75
+ height: 100%;
76
+ min-height: 0;
77
+ flex-direction: column;
78
+ }
79
+
80
+ .hsk-editor-shell {
81
+ width: 100%;
82
+ display: flex;
83
+ flex: 1 1 auto;
84
+ min-height: 100%;
85
+ flex-direction: column;
86
+ overflow: visible;
87
+ background: transparent;
88
+ }
89
+
90
+ .mdkit-markdown-editor-fill-height .hsk-editor-shell {
91
+ height: 100%;
92
+ min-height: 0;
93
+ overflow: hidden;
94
+ }
95
+
96
+ .hsk-editor-empty {
97
+ display: flex;
98
+ align-items: center;
99
+ justify-content: center;
100
+ min-height: 16rem;
101
+ padding: 1.5rem;
102
+ color: var(--hsk-muted-foreground);
103
+ font-size: 0.875rem;
104
+ }
105
+
106
+ .hsk-editor-surface {
107
+ width: 100%;
108
+ min-height: 0;
109
+ overflow: visible;
110
+ background: var(--hsk-background);
111
+ padding: var(--hsk-surface-padding);
112
+ }
113
+
114
+ .mdkit-markdown-editor-fill-height .hsk-editor-surface {
115
+ display: flex;
116
+ overflow: auto;
117
+ min-height: 0;
118
+ flex: 1 1 auto;
119
+ flex-direction: column;
120
+ }
121
+
122
+ .mdkit-markdown-editor-fill-height .hsk-editor-surface > div {
123
+ display: flex;
124
+ min-height: 0;
125
+ flex: 1 1 auto;
126
+ flex-direction: column;
127
+ }
128
+
129
+ .hsk-tiptap {
130
+ width: 100%;
131
+ outline: none;
132
+ line-height: var(--hsk-line-height);
133
+ }
134
+
135
+ .mdkit-markdown-editor-fill-height .hsk-tiptap {
136
+ height: 100%;
137
+ min-height: 100%;
138
+ flex: 1 1 auto;
139
+ }
140
+
141
+ .hsk-tiptap > * + * {
142
+ margin-top: var(--hsk-block-gap);
143
+ }
144
+
145
+ .hsk-tiptap h1 {
146
+ margin: 0 0 var(--hsk-block-gap);
147
+ font-size: var(--hsk-heading-1-size);
148
+ font-weight: var(--hsk-heading-font-weight);
149
+ line-height: 1.25;
150
+ }
151
+
152
+ .hsk-tiptap h2 {
153
+ margin: 0 0 var(--hsk-block-gap);
154
+ font-size: var(--hsk-heading-2-size);
155
+ font-weight: var(--hsk-heading-font-weight);
156
+ line-height: 1.3;
157
+ }
158
+
159
+ .hsk-tiptap p {
160
+ margin: 0 0 var(--hsk-block-gap);
161
+ }
162
+
163
+ .hsk-tiptap ul,
164
+ .hsk-tiptap ol {
165
+ margin: 0 0 var(--hsk-block-gap);
166
+ padding-left: 1.5rem;
167
+ }
168
+
169
+ .hsk-tiptap ul {
170
+ list-style: disc;
171
+ list-style-position: outside;
172
+ }
173
+
174
+ .hsk-tiptap ol {
175
+ list-style: decimal;
176
+ list-style-position: outside;
177
+ }
178
+
179
+ .hsk-tiptap li {
180
+ display: list-item;
181
+ margin: var(--hsk-list-item-gap) 0;
182
+ }
183
+
184
+ .hsk-tiptap li p {
185
+ margin: 0;
186
+ }
187
+
188
+ .hsk-tiptap li > * + * {
189
+ margin-top: calc(var(--hsk-block-gap) * 0.5);
190
+ }
191
+
192
+ .hsk-tiptap a {
193
+ color: var(--hsk-link);
194
+ text-decoration: underline;
195
+ text-underline-offset: 0.15em;
196
+ }
197
+
198
+ .hsk-tiptap pre {
199
+ margin: 0 0 var(--hsk-block-gap);
200
+ padding: 0.75rem 0.875rem;
201
+ overflow-x: auto;
202
+ border: 1px solid var(--hsk-border);
203
+ border-radius: var(--hsk-code-block-radius);
204
+ background: var(--hsk-code-background);
205
+ }
206
+
207
+ .hsk-tiptap pre code {
208
+ background: transparent;
209
+ padding: 0;
210
+ }
211
+
212
+ .hsk-tiptap code {
213
+ border-radius: var(--hsk-code-radius);
214
+ background: var(--hsk-code-background);
215
+ padding: 0.1rem 0.35rem;
216
+ font-family: var(--hsk-code-font-family);
217
+ font-size: 0.9em;
218
+ }
219
+
220
+ .hsk-tiptap blockquote {
221
+ margin: 0 0 var(--hsk-block-gap);
222
+ padding-left: 0.875rem;
223
+ border-left: 3px solid var(--hsk-quote-border-color);
224
+ color: var(--hsk-muted-foreground);
225
+ }
226
+
227
+ .hsk-tiptap p.is-editor-empty:first-child::before {
228
+ color: var(--hsk-muted-foreground);
229
+ content: attr(data-placeholder);
230
+ float: left;
231
+ height: 0;
232
+ pointer-events: none;
233
+ }
234
+
235
+ .hsk-theme-editor {
236
+ display: grid;
237
+ grid-template-columns: repeat(5, minmax(7rem, 1fr));
238
+ gap: 0.65rem;
239
+ }
240
+
241
+ .hsk-theme-editor label {
242
+ min-width: 0;
243
+ display: grid;
244
+ gap: 0.3rem;
245
+ color: var(--hsk-muted-foreground);
246
+ font-size: 0.76rem;
247
+ font-weight: 650;
248
+ }
249
+
250
+ .hsk-theme-editor input,
251
+ .hsk-theme-editor select,
252
+ .hsk-theme-editor button {
253
+ width: 100%;
254
+ min-height: 2.15rem;
255
+ border: 1px solid var(--hsk-border);
256
+ border-radius: 0.45rem;
257
+ background: var(--hsk-background);
258
+ color: var(--hsk-foreground);
259
+ padding: 0.25rem 0.45rem;
260
+ accent-color: var(--hsk-link);
261
+ }
262
+
263
+ .hsk-theme-editor input[type="color"] {
264
+ padding: 0.15rem;
265
+ }
266
+
267
+ .hsk-theme-editor button {
268
+ align-self: end;
269
+ cursor: pointer;
270
+ font-weight: 650;
271
+ }
272
+
273
+ .hsk-toolbar {
274
+ z-index: 50;
275
+ display: flex;
276
+ align-items: center;
277
+ gap: 0.25rem;
278
+ border: 1px solid var(--hsk-border);
279
+ border-radius: 999px;
280
+ background: color-mix(in srgb, var(--hsk-background) 95%, transparent);
281
+ padding: 0.25rem;
282
+ box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12);
283
+ backdrop-filter: blur(12px);
284
+ }
285
+
286
+ .hsk-toolbar-button {
287
+ border: 1px solid transparent;
288
+ border-radius: 999px;
289
+ background: transparent;
290
+ color: inherit;
291
+ cursor: pointer;
292
+ transition: background-color 120ms ease, border-color 120ms ease;
293
+ }
294
+
295
+ .hsk-toolbar-button {
296
+ width: 2rem;
297
+ height: 2rem;
298
+ display: inline-flex;
299
+ align-items: center;
300
+ justify-content: center;
301
+ }
302
+
303
+ .hsk-toolbar-button:hover {
304
+ background: var(--hsk-muted);
305
+ }
306
+
307
+ .hsk-toolbar-button-active {
308
+ background: var(--hsk-muted);
309
+ }
310
+
311
+ .hsk-toolbar-divider {
312
+ width: 1px;
313
+ height: 1rem;
314
+ background: var(--hsk-border);
315
+ }
316
+
317
+ .hsk-collaboration-caret {
318
+ position: relative;
319
+ margin-left: -1px;
320
+ margin-right: -1px;
321
+ border-left: 2px solid;
322
+ pointer-events: none;
323
+ }
324
+
325
+ .hsk-collaboration-caret-label {
326
+ position: absolute;
327
+ left: -1px;
328
+ top: -1.4em;
329
+ padding: 0.125rem 0.35rem;
330
+ border-radius: 0.35rem 0.35rem 0.35rem 0;
331
+ color: #ffffff;
332
+ font-size: 0.625rem;
333
+ font-weight: 650;
334
+ white-space: nowrap;
335
+ }
336
+
337
+ .mdkit-document-toolbar,
338
+ .mdkit-version-history-panel,
339
+ .mdkit-conflict-panel {
340
+ border: 1px solid var(--mdkit-panel-border);
341
+ border-radius: 0;
342
+ background: var(--mdkit-panel-background);
343
+ color: var(--mdkit-panel-foreground);
344
+ }
345
+
346
+ .mdkit-document-toolbar {
347
+ display: flex;
348
+ flex-wrap: wrap;
349
+ align-items: center;
350
+ gap: 0.5rem;
351
+ justify-content: space-between;
352
+ padding: 0.875rem;
353
+ }
354
+
355
+ .mdkit-document-toolbar-status,
356
+ .mdkit-document-toolbar-actions,
357
+ .mdkit-document-toolbar-conflict,
358
+ .mdkit-conflict-panel-action-row {
359
+ display: flex;
360
+ flex-wrap: wrap;
361
+ gap: 0.5rem;
362
+ align-items: center;
363
+ }
364
+
365
+ .mdkit-document-toolbar-status {
366
+ min-width: 0;
367
+ }
368
+
369
+ .mdkit-document-toolbar-error,
370
+ .mdkit-document-toolbar-conflict {
371
+ flex-basis: 100%;
372
+ }
373
+
374
+ .mdkit-document-toolbar-status strong,
375
+ .mdkit-document-toolbar-status span {
376
+ display: inline-flex;
377
+ min-height: 1.5rem;
378
+ align-items: center;
379
+ border: 1px solid var(--mdkit-panel-border);
380
+ background: var(--mdkit-panel-surface);
381
+ color: var(--mdkit-panel-muted-foreground);
382
+ font-size: 0.75rem;
383
+ font-weight: 650;
384
+ line-height: 1;
385
+ padding: 0.2rem 0.45rem;
386
+ }
387
+
388
+ .mdkit-document-toolbar[data-status="saved"] .mdkit-document-toolbar-status strong {
389
+ color: var(--mdkit-panel-success);
390
+ }
391
+
392
+ .mdkit-document-toolbar[data-status="conflict"]
393
+ .mdkit-document-toolbar-status
394
+ strong,
395
+ .mdkit-document-toolbar[data-status="autosave-pending"]
396
+ .mdkit-document-toolbar-status
397
+ strong,
398
+ .mdkit-document-toolbar[data-status="unsaved-changes"]
399
+ .mdkit-document-toolbar-status
400
+ strong {
401
+ color: var(--mdkit-panel-danger);
402
+ }
403
+
404
+ .mdkit-document-toolbar-error,
405
+ .mdkit-document-toolbar-conflict {
406
+ border-top: 1px solid var(--mdkit-panel-border);
407
+ padding-top: 0.75rem;
408
+ color: var(--mdkit-panel-danger);
409
+ font-size: 0.875rem;
410
+ }
411
+
412
+ .mdkit-document-toolbar button {
413
+ min-height: 1.5rem;
414
+ border: 1px solid var(--mdkit-panel-border);
415
+ border-radius: 0;
416
+ background: var(--mdkit-panel-surface);
417
+ color: var(--mdkit-panel-foreground);
418
+ padding: 0.2rem 0.5rem;
419
+ font: inherit;
420
+ font-size: 0.75rem;
421
+ line-height: 1;
422
+ }
423
+
424
+ .mdkit-document-toolbar button:disabled {
425
+ opacity: 0.55;
426
+ cursor: not-allowed;
427
+ }
428
+
429
+ .mdkit-document-toolbar .mdkit-document-toolbar-conflict-trigger {
430
+ border-color: var(--mdkit-panel-danger);
431
+ background: #fff7ed;
432
+ color: var(--mdkit-panel-danger);
433
+ font-weight: 700;
434
+ }
435
+
436
+ .mdkit-document-toolbar .mdkit-document-toolbar-conflict-trigger:hover:not(:disabled) {
437
+ border-color: var(--mdkit-panel-danger);
438
+ background: #ffedd5;
439
+ }
440
+
441
+ .mdkit-version-history-panel {
442
+ display: flex;
443
+ min-height: 20rem;
444
+ flex-direction: column;
445
+ }
446
+
447
+ .mdkit-version-history-header,
448
+ .mdkit-version-history-preview-header {
449
+ display: flex;
450
+ align-items: flex-start;
451
+ justify-content: space-between;
452
+ gap: 1rem;
453
+ }
454
+
455
+ .mdkit-version-history-header {
456
+ padding: 1rem;
457
+ border-bottom: 1px solid var(--mdkit-panel-border);
458
+ }
459
+
460
+ .mdkit-version-history-title,
461
+ .mdkit-version-history-preview-title {
462
+ margin: 0;
463
+ font-size: 1rem;
464
+ }
465
+
466
+ .mdkit-version-history-subtitle,
467
+ .mdkit-version-history-meta,
468
+ .mdkit-version-history-item-meta {
469
+ margin: 0.25rem 0 0;
470
+ color: var(--mdkit-panel-muted-foreground);
471
+ font-size: 0.8125rem;
472
+ }
473
+
474
+ .mdkit-version-history-layout {
475
+ display: grid;
476
+ grid-template-columns: minmax(12rem, 16rem) 1fr;
477
+ min-height: 0;
478
+ flex: 1 1 auto;
479
+ }
480
+
481
+ .mdkit-version-history-list {
482
+ display: flex;
483
+ flex-direction: column;
484
+ gap: 0.5rem;
485
+ padding: 1rem;
486
+ border-right: 1px solid var(--mdkit-panel-border);
487
+ overflow: auto;
488
+ }
489
+
490
+ .mdkit-version-history-item {
491
+ width: 100%;
492
+ padding: 0.75rem;
493
+ border: 1px solid var(--mdkit-panel-border);
494
+ border-radius: 0;
495
+ background: transparent;
496
+ color: inherit;
497
+ text-align: left;
498
+ cursor: pointer;
499
+ }
500
+
501
+ .mdkit-version-history-item:hover,
502
+ .mdkit-version-history-item-active {
503
+ background: var(--mdkit-panel-muted);
504
+ }
505
+
506
+ .mdkit-version-history-item-active {
507
+ border-color: var(--mdkit-panel-strong-border);
508
+ }
509
+
510
+ .mdkit-version-history-item-title {
511
+ display: block;
512
+ font-weight: 600;
513
+ }
514
+
515
+ .mdkit-version-history-preview,
516
+ .mdkit-version-history-empty,
517
+ .mdkit-version-history-error,
518
+ .mdkit-version-history-meta {
519
+ padding: 1rem;
520
+ }
521
+
522
+ .mdkit-version-history-preview {
523
+ display: flex;
524
+ min-height: 0;
525
+ flex-direction: column;
526
+ gap: 1rem;
527
+ overflow: auto;
528
+ }
529
+
530
+ .mdkit-version-history-empty,
531
+ .mdkit-version-history-meta {
532
+ color: var(--mdkit-panel-muted-foreground);
533
+ }
534
+
535
+ .mdkit-version-history-error {
536
+ color: var(--mdkit-panel-danger);
537
+ }
538
+
539
+ .mdkit-version-history-code {
540
+ margin: 0;
541
+ padding: 1rem;
542
+ overflow: auto;
543
+ border: 1px solid var(--mdkit-panel-border);
544
+ border-radius: 0;
545
+ background: var(--mdkit-panel-muted);
546
+ white-space: pre-wrap;
547
+ word-break: break-word;
548
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
549
+ font-size: 0.875rem;
550
+ }
551
+
552
+ .mdkit-conflict-panel-content {
553
+ display: grid;
554
+ gap: 0.5rem;
555
+ }
556
+
557
+ .mdkit-conflict-panel-content h2,
558
+ .mdkit-conflict-panel-content p {
559
+ margin: 0;
560
+ }
561
+
562
+ .mdkit-conflict-panel-content h2 {
563
+ font-size: 1rem;
564
+ }
565
+
566
+ .mdkit-conflict-panel-content p {
567
+ color: var(--mdkit-panel-muted-foreground);
568
+ font-size: 0.875rem;
569
+ line-height: 1.5;
570
+ }
571
+
572
+ .mdkit-conflict-panel-content .mdkit-conflict-panel-error {
573
+ color: var(--mdkit-panel-danger);
574
+ }
575
+
576
+ .mdkit-conflict-panel-meta {
577
+ color: var(--mdkit-panel-muted-foreground);
578
+ }
579
+
580
+ .mdkit-conflict-panel {
581
+ display: grid;
582
+ gap: 1rem;
583
+ padding: 1rem;
584
+ }
585
+
586
+ .mdkit-conflict-panel-preview {
587
+ display: grid;
588
+ gap: 0.5rem;
589
+ }
590
+
591
+ .mdkit-conflict-panel-tabs {
592
+ display: flex;
593
+ flex-wrap: wrap;
594
+ gap: 0.35rem;
595
+ }
596
+
597
+ .mdkit-conflict-panel-tab {
598
+ border: 1px solid var(--mdkit-panel-border);
599
+ border-radius: 0;
600
+ background: var(--mdkit-panel-surface);
601
+ color: var(--mdkit-panel-foreground);
602
+ cursor: pointer;
603
+ font: inherit;
604
+ padding: 0.25rem 0.5rem;
605
+ }
606
+
607
+ .mdkit-conflict-panel-tab-active,
608
+ .mdkit-conflict-panel-tab:hover {
609
+ border-color: var(--mdkit-panel-strong-border);
610
+ background: var(--mdkit-panel-muted);
611
+ }
612
+
613
+ .mdkit-conflict-panel-preview textarea {
614
+ width: 100%;
615
+ min-height: 12rem;
616
+ resize: vertical;
617
+ border: 1px solid var(--mdkit-panel-border);
618
+ border-radius: 0;
619
+ background: var(--mdkit-panel-surface);
620
+ color: var(--mdkit-panel-foreground);
621
+ padding: 0.75rem;
622
+ font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
623
+ font-size: 0.875rem;
624
+ line-height: 1.5;
625
+ white-space: pre-wrap;
626
+ }
627
+
628
+ .mdkit-panel-primary-action,
629
+ .mdkit-panel-secondary-action {
630
+ border: 1px solid var(--mdkit-panel-border);
631
+ border-radius: 0;
632
+ cursor: pointer;
633
+ font: inherit;
634
+ font-size: 0.75rem;
635
+ line-height: 1;
636
+ min-height: 1.5rem;
637
+ padding: 0.2rem 0.5rem;
638
+ }
639
+
640
+ .mdkit-panel-primary-action {
641
+ background: var(--mdkit-panel-action-background);
642
+ color: var(--mdkit-panel-action-foreground);
643
+ }
644
+
645
+ .mdkit-panel-primary-action:disabled,
646
+ .mdkit-panel-secondary-action:disabled {
647
+ opacity: 0.6;
648
+ cursor: not-allowed;
649
+ }
650
+
651
+ .mdkit-panel-secondary-action {
652
+ background: var(--mdkit-panel-surface);
653
+ color: var(--mdkit-panel-foreground);
654
+ }
655
+
656
+ .mdkit-panel-primary-action:hover,
657
+ .mdkit-panel-secondary-action:hover,
658
+ .mdkit-document-toolbar button:hover:not(:disabled) {
659
+ border-color: var(--mdkit-panel-strong-border);
660
+ background: var(--mdkit-panel-muted);
661
+ }
662
+
663
+ .mdkit-panel-primary-action:hover {
664
+ background: var(--mdkit-panel-strong-border);
665
+ }
666
+
667
+ @media (max-width: 960px) {
668
+ .mdkit-version-history-layout {
669
+ grid-template-columns: 1fr;
670
+ }
671
+
672
+ .mdkit-version-history-list {
673
+ border-right: 0;
674
+ border-bottom: 1px solid var(--mdkit-panel-border);
675
+ }
676
+ }