collabmd 0.1.31 → 0.1.33

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 (99) hide show
  1. package/dist/client/assets/{drawio-editor-B4sHHwWJ.js → drawio-editor-BMTwP5mD.js} +1 -1
  2. package/dist/client/assets/drawioEditor-D6clB5OH.js +2 -0
  3. package/dist/client/assets/{editor-session-BKHEYkbY.js → editor-session-Dzy_85Wp.js} +2 -2
  4. package/dist/client/assets/embedded-editor-base-CgEkjNYn.css +1 -0
  5. package/dist/client/assets/{excalidraw-editor-CHbeNZu6.js → excalidraw-editor-CAP9F8CB.js} +3 -3
  6. package/dist/client/assets/{excalidrawEditor-BhaTX2Ko.js → excalidrawEditor-DD4AvzYP.js} +2 -2
  7. package/dist/client/assets/exportDocument-BbkN85c4.css +1 -0
  8. package/dist/client/assets/index-BIt5EZXz.css +1 -0
  9. package/dist/client/assets/{index-kPgEYvEX.js → index-Czg_KL-i.js} +2 -2
  10. package/dist/client/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2 +0 -0
  11. package/dist/client/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2 +0 -0
  12. package/dist/client/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2 +0 -0
  13. package/dist/client/assets/inter-greek-wght-normal-CkhJZR-_.woff2 +0 -0
  14. package/dist/client/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2 +0 -0
  15. package/dist/client/assets/inter-latin-wght-normal-Dx4kXJAl.woff2 +0 -0
  16. package/dist/client/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2 +0 -0
  17. package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-BEIGL1Tu.woff2 +0 -0
  18. package/dist/client/assets/jetbrains-mono-cyrillic-400-normal-ugxPyKxw.woff +0 -0
  19. package/dist/client/assets/jetbrains-mono-greek-400-normal-B9oWc5Lo.woff +0 -0
  20. package/dist/client/assets/jetbrains-mono-greek-400-normal-C190GLew.woff2 +0 -0
  21. package/dist/client/assets/jetbrains-mono-latin-400-normal-6-qcROiO.woff +0 -0
  22. package/dist/client/assets/jetbrains-mono-latin-400-normal-V6pRDFza.woff2 +0 -0
  23. package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-Bc8Ftmh3.woff2 +0 -0
  24. package/dist/client/assets/jetbrains-mono-latin-ext-400-normal-fXTG6kC5.woff +0 -0
  25. package/dist/client/assets/jetbrains-mono-vietnamese-400-normal-CqNFfHCs.woff +0 -0
  26. package/dist/client/assets/main-DeowJOSp.js +1368 -0
  27. package/dist/client/assets/vault-api-client-D7Ck0CvR.css +1 -0
  28. package/dist/client/assets/vault-api-client-p7h7cXKM.js +1 -0
  29. package/dist/client/drawio-editor.html +1 -1
  30. package/dist/client/excalidraw-editor.html +1 -1
  31. package/dist/client/export-document.html +2 -2
  32. package/dist/client/index.html +2 -2
  33. package/package.json +8 -5
  34. package/src/client/app/main-entry.js +2 -0
  35. package/src/client/application/app-shell/git-feature.js +28 -36
  36. package/src/client/application/app-shell/presence-feature.js +3 -1
  37. package/src/client/application/diagram-preview-hydrator.js +24 -15
  38. package/src/client/application/mermaid-preview-hydrator.js +121 -4
  39. package/src/client/application/plantuml-preview-hydrator.js +6 -16
  40. package/src/client/application/preview-renderer.js +11 -2
  41. package/src/client/bootstrap/collabmd-app-shell.js +182 -50
  42. package/src/client/domain/excalidraw-document-switch.js +3 -0
  43. package/src/client/excalidraw-editor.js +187 -84
  44. package/src/client/infrastructure/auth-client.js +4 -4
  45. package/src/client/infrastructure/backlinks-api-client.js +18 -0
  46. package/src/client/infrastructure/comment-thread-store.js +4 -0
  47. package/src/client/infrastructure/editor-session.js +6 -0
  48. package/src/client/infrastructure/editor-view-adapter.js +23 -0
  49. package/src/client/infrastructure/git-api-client.js +134 -0
  50. package/src/client/infrastructure/plantuml-api-client.js +21 -0
  51. package/src/client/infrastructure/vault-api-client.js +115 -0
  52. package/src/client/presentation/backlinks-panel.js +6 -9
  53. package/src/client/presentation/bases-preview-controller.js +1413 -34
  54. package/src/client/presentation/comments-panel.js +50 -5
  55. package/src/client/presentation/excalidraw-embed-controller.js +251 -15
  56. package/src/client/presentation/excalidraw-embed-reconciler.js +0 -1
  57. package/src/client/presentation/file-action-controller.js +97 -0
  58. package/src/client/presentation/file-explorer-controller.js +2 -0
  59. package/src/client/presentation/file-explorer-view.js +368 -0
  60. package/src/client/presentation/file-history-view-controller.js +41 -40
  61. package/src/client/presentation/git-diff-view-controller.js +70 -53
  62. package/src/client/presentation/git-panel-controller.js +12 -30
  63. package/src/client/styles/components/scrollbars.css +5 -0
  64. package/src/client/styles/export-document.css +45 -2
  65. package/src/client/styles/features/auth-gate.css +13 -24
  66. package/src/client/styles/features/comment-card.css +6 -0
  67. package/src/client/styles/features/comments-drawer.css +38 -18
  68. package/src/client/styles/features/diagram-preview.css +33 -0
  69. package/src/client/styles/features/embedded-preview.css +37 -11
  70. package/src/client/styles/features/preview-markdown.css +559 -39
  71. package/src/client/styles/foundation/themes.css +4 -0
  72. package/src/client/styles/foundation/tokens.css +4 -3
  73. package/src/client/styles/layout/sidebar.css +72 -0
  74. package/src/server/auth/auth-common.js +224 -0
  75. package/src/server/auth/auth-constants.js +30 -0
  76. package/src/server/auth/auth-strategies.js +320 -0
  77. package/src/server/auth/create-auth-service.js +24 -545
  78. package/src/server/domain/backlink-index.js +177 -5
  79. package/src/server/domain/bases/base-definition.js +382 -0
  80. package/src/server/domain/bases/base-expression-runtime.js +1196 -0
  81. package/src/server/domain/bases/base-index-snapshot-store.js +565 -0
  82. package/src/server/domain/bases/base-query-metadata.js +242 -0
  83. package/src/server/domain/bases/base-query-results.js +215 -0
  84. package/src/server/domain/bases/base-query-service.js +406 -1992
  85. package/src/server/domain/bases/base-transform.js +116 -0
  86. package/src/server/domain/collaboration/collaboration-room.js +36 -1
  87. package/src/server/domain/collaboration/room-client-state-store.js +1 -0
  88. package/src/server/domain/collaboration/room-persistence-controller.js +1 -1
  89. package/src/server/infrastructure/http/create-vault-api-query-handler.js +161 -1
  90. package/src/server/infrastructure/http/http-response.js +56 -0
  91. package/src/server/infrastructure/persistence/vault-file-store.js +110 -0
  92. package/dist/client/assets/drawioEditor-DGpo2hcx.js +0 -2
  93. package/dist/client/assets/embedded-editor-base-DgmRcsR8.css +0 -1
  94. package/dist/client/assets/exportDocument-DmV7Gngb.css +0 -1
  95. package/dist/client/assets/index-D69HOZHr.css +0 -1
  96. package/dist/client/assets/main-DSxNTtD-.js +0 -1243
  97. package/dist/client/assets/vault-api-client-BzHQseMN.js +0 -1
  98. package/dist/client/assets/vault-api-client-De7kMvrE.css +0 -1
  99. /package/dist/client/assets/{exportDocument-CtZKWE2c.js → exportDocument-Zfwq1XVx.js} +0 -0
@@ -277,6 +277,16 @@ body.drawio-maximized-open::before {
277
277
  pointer-events: none;
278
278
  }
279
279
 
280
+ .excalidraw-warm-cache-root {
281
+ position: fixed;
282
+ width: 1px;
283
+ height: 1px;
284
+ overflow: hidden;
285
+ opacity: 0;
286
+ pointer-events: none;
287
+ inset: 0 auto auto 0;
288
+ }
289
+
280
290
  body.excalidraw-maximized-open {
281
291
  overflow: hidden;
282
292
  }
@@ -303,6 +313,29 @@ body.excalidraw-maximized-open .resizer {
303
313
  box-shadow: var(--shadow-elevated-soft);
304
314
  }
305
315
 
316
+ .excalidraw-embed.is-loading {
317
+ position: relative;
318
+ }
319
+
320
+ .excalidraw-embed.is-loading::after {
321
+ content: 'Loading Excalidraw...';
322
+ position: absolute;
323
+ inset: 0;
324
+ display: flex;
325
+ align-items: center;
326
+ justify-content: center;
327
+ background: color-mix(in oklab, var(--color-surface) 82%, transparent);
328
+ color: var(--color-text-muted);
329
+ font-size: var(--text-sm);
330
+ letter-spacing: 0.01em;
331
+ z-index: 2;
332
+ }
333
+
334
+ .excalidraw-embed.is-loading .excalidraw-embed-iframe {
335
+ visibility: hidden;
336
+ pointer-events: none;
337
+ }
338
+
306
339
  .excalidraw-embed-placeholder.is-hydrated {
307
340
  visibility: hidden;
308
341
  }
@@ -5,6 +5,10 @@
5
5
  background: var(--surface-media-canvas);
6
6
  }
7
7
 
8
+ .preview-content .bases-embed-placeholder {
9
+ display: block;
10
+ }
11
+
8
12
  .preview-content .video-embed,
9
13
  .preview-content .video-embed-placeholder {
10
14
  display: block;
@@ -58,43 +62,52 @@
58
62
  object-fit: contain;
59
63
  }
60
64
 
61
- .preview-content .mermaid-shell {
65
+ .preview-content .mermaid-shell,
66
+ .mermaid-maximized-root .mermaid-shell {
62
67
  display: grid;
63
68
  gap: 0;
64
69
  }
65
70
 
66
- .preview-content .mermaid-placeholder-card {
71
+ .preview-content .mermaid-placeholder-card,
72
+ .mermaid-maximized-root .mermaid-placeholder-card {
67
73
  border-radius: 0;
68
74
  }
69
75
 
70
- .preview-content .mermaid-toolbar {
76
+ .preview-content .mermaid-toolbar,
77
+ .mermaid-maximized-root .mermaid-toolbar {
71
78
  justify-content: flex-end;
72
79
  }
73
80
 
74
- .preview-content .mermaid-zoom-btn {
81
+ .preview-content .mermaid-zoom-btn,
82
+ .mermaid-maximized-root .mermaid-zoom-btn {
75
83
  min-width: 32px;
76
84
  line-height: 1.5;
77
85
  }
78
86
 
79
- .preview-content .mermaid-zoom-btn:disabled {
87
+ .preview-content .mermaid-zoom-btn:disabled,
88
+ .mermaid-maximized-root .mermaid-zoom-btn:disabled {
80
89
  opacity: 0.5;
81
90
  cursor: not-allowed;
82
91
  }
83
92
 
84
- .preview-content .mermaid-frame {
93
+ .preview-content .mermaid-frame,
94
+ .mermaid-maximized-root .mermaid-frame {
85
95
  max-width: none;
86
96
  }
87
97
 
88
- .preview-content .mermaid-frame.is-pannable {
98
+ .preview-content .mermaid-frame.is-pannable,
99
+ .mermaid-maximized-root .mermaid-frame.is-pannable {
89
100
  cursor: grab;
90
101
  }
91
102
 
92
- .preview-content .mermaid-frame.is-dragging {
103
+ .preview-content .mermaid-frame.is-dragging,
104
+ .mermaid-maximized-root .mermaid-frame.is-dragging {
93
105
  cursor: grabbing;
94
106
  user-select: none;
95
107
  }
96
108
 
97
- .preview-content .mermaid-frame svg {
109
+ .preview-content .mermaid-frame svg,
110
+ .mermaid-maximized-root .mermaid-frame svg {
98
111
  display: block;
99
112
  }
100
113
 
@@ -111,7 +124,15 @@ body.mermaid-maximized-open::before {
111
124
  backdrop-filter: blur(2px);
112
125
  }
113
126
 
114
- .preview-content .mermaid-shell.is-maximized {
127
+ .mermaid-maximized-root {
128
+ position: fixed;
129
+ inset: 0;
130
+ z-index: 171;
131
+ pointer-events: none;
132
+ }
133
+
134
+ .preview-content .mermaid-shell.is-maximized,
135
+ .mermaid-maximized-root .mermaid-shell.is-maximized {
115
136
  position: fixed;
116
137
  inset: var(--space-4);
117
138
  z-index: 171;
@@ -122,7 +143,12 @@ body.mermaid-maximized-open::before {
122
143
  grid-template-rows: auto minmax(0, 1fr);
123
144
  }
124
145
 
125
- .preview-content .mermaid-shell.is-maximized .mermaid-frame {
146
+ .mermaid-maximized-root .mermaid-shell.is-maximized {
147
+ pointer-events: auto;
148
+ }
149
+
150
+ .preview-content .mermaid-shell.is-maximized .mermaid-frame,
151
+ .mermaid-maximized-root .mermaid-shell.is-maximized .mermaid-frame {
126
152
  max-height: none;
127
153
  height: 100%;
128
154
  }