wiki-viewer 1.14.1 → 1.14.2

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 (384) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +3 -3
  3. package/.next/standalone/.next/server/app/_global-error.html +1 -1
  4. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  5. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  6. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  7. package/.next/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  8. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  9. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  10. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  11. package/.next/standalone/.next/server/app/_not-found.rsc +1 -1
  12. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  13. package/.next/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  14. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  15. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  16. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  17. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  18. package/.next/standalone/.next/server/app/api/agent/activity/route.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/api/agent/events/[...path]/route.js.nft.json +1 -1
  20. package/.next/standalone/.next/server/app/api/agent/files/[...path]/route.js.nft.json +1 -1
  21. package/.next/standalone/.next/server/app/api/agent/fs/file/[...path]/route.js.nft.json +1 -1
  22. package/.next/standalone/.next/server/app/api/agent/fs/ls/[[...path]]/route.js.nft.json +1 -1
  23. package/.next/standalone/.next/server/app/api/agent/fs/move/route.js.nft.json +1 -1
  24. package/.next/standalone/.next/server/app/api/agent/fs/search/route.js.nft.json +1 -1
  25. package/.next/standalone/.next/server/app/api/agent/internal/span/route.js.nft.json +1 -1
  26. package/.next/standalone/.next/server/app/api/agent/settings/route.js.nft.json +1 -1
  27. package/.next/standalone/.next/server/app/api/agent/sidecar/[...path]/route.js.nft.json +1 -1
  28. package/.next/standalone/.next/server/app/api/assets/[...path]/route.js.nft.json +1 -1
  29. package/.next/standalone/.next/server/app/api/share/[token]/route.js.nft.json +1 -1
  30. package/.next/standalone/.next/server/app/api/share/route.js.nft.json +1 -1
  31. package/.next/standalone/.next/server/app/api/system/reveal/route.js.nft.json +1 -1
  32. package/.next/standalone/.next/server/app/api/system/set-root/route.js.nft.json +1 -1
  33. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/open/route.js.nft.json +1 -1
  34. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/refresh/route.js.nft.json +1 -1
  35. package/.next/standalone/.next/server/app/api/system/workspaces/[id]/route.js.nft.json +1 -1
  36. package/.next/standalone/.next/server/app/api/system/workspaces/route.js.nft.json +1 -1
  37. package/.next/standalone/.next/server/app/api/upload/[...path]/route.js.nft.json +1 -1
  38. package/.next/standalone/.next/server/app/api/wiki/app/route.js.nft.json +1 -1
  39. package/.next/standalone/.next/server/app/api/wiki/backlinks/route.js.nft.json +1 -1
  40. package/.next/standalone/.next/server/app/api/wiki/content/route.js.nft.json +1 -1
  41. package/.next/standalone/.next/server/app/api/wiki/download/route.js.nft.json +1 -1
  42. package/.next/standalone/.next/server/app/api/wiki/file/route.js.nft.json +1 -1
  43. package/.next/standalone/.next/server/app/api/wiki/folder/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/wiki/git-branches/route.js.nft.json +1 -1
  45. package/.next/standalone/.next/server/app/api/wiki/git-checkout/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/wiki/git-diff/route.js.nft.json +1 -1
  47. package/.next/standalone/.next/server/app/api/wiki/git-file-info/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/wiki/git-history/route.js.nft.json +1 -1
  49. package/.next/standalone/.next/server/app/api/wiki/git-pull/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/wiki/move/route.js.nft.json +1 -1
  51. package/.next/standalone/.next/server/app/api/wiki/new-file/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/api/wiki/outlinks/route.js.nft.json +1 -1
  53. package/.next/standalone/.next/server/app/api/wiki/page/route.js.nft.json +1 -1
  54. package/.next/standalone/.next/server/app/api/wiki/presence/route.js.nft.json +1 -1
  55. package/.next/standalone/.next/server/app/api/wiki/route.js.nft.json +1 -1
  56. package/.next/standalone/.next/server/app/api/wiki/search/route.js.nft.json +1 -1
  57. package/.next/standalone/.next/server/app/api/wiki/slugs/route.js.nft.json +1 -1
  58. package/.next/standalone/.next/server/app/api/wiki/upload/route.js.nft.json +1 -1
  59. package/.next/standalone/.next/server/app/api/wiki/watch/route.js.nft.json +1 -1
  60. package/.next/standalone/.next/server/app/index.html +1 -1
  61. package/.next/standalone/.next/server/app/index.rsc +1 -1
  62. package/.next/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
  63. package/.next/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
  64. package/.next/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
  65. package/.next/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
  66. package/.next/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  67. package/.next/standalone/.next/server/middleware-build-manifest.js +3 -3
  68. package/.next/standalone/.next/server/middleware-manifest.json +1 -1
  69. package/.next/standalone/.next/server/pages/404.html +1 -1
  70. package/.next/standalone/.next/server/pages/500.html +1 -1
  71. package/.next/standalone/package.json +1 -1
  72. package/bin/postbuild.js +21 -0
  73. package/package.json +1 -1
  74. package/.next/standalone/.github/workflows/publish.yml +0 -37
  75. package/.next/standalone/.handoffs/archive/handoff-20260612-113332.md +0 -98
  76. package/.next/standalone/.handoffs/archive/handoff-20260612-141032.md +0 -73
  77. package/.next/standalone/.pi/ownership.json +0 -3
  78. package/.next/standalone/AGENTS.md +0 -114
  79. package/.next/standalone/DESIGN.md +0 -521
  80. package/.next/standalone/README.md +0 -821
  81. package/.next/standalone/TODO.md +0 -20
  82. package/.next/standalone/agents/bootstrap-prompt.md +0 -14
  83. package/.next/standalone/agents/wiki-viewer-skill/SKILL.md +0 -456
  84. package/.next/standalone/bin/postbuild.js +0 -78
  85. package/.next/standalone/bin/wiki-viewer.js +0 -922
  86. package/.next/standalone/certificates/localhost-key.pem +0 -28
  87. package/.next/standalone/certificates/localhost.pem +0 -24
  88. package/.next/standalone/docs/agent-collab-plan.md +0 -1615
  89. package/.next/standalone/docs/agent-collab-v2-plan.md +0 -771
  90. package/.next/standalone/docs/agent-fs-plan.md +0 -232
  91. package/.next/standalone/docs/editorial-skin-spec.md +0 -242
  92. package/.next/standalone/docs/file-vs-collab-authority.md +0 -124
  93. package/.next/standalone/docs/mobile-readiness-spec.md +0 -229
  94. package/.next/standalone/docs/workspacing-plan.md +0 -364
  95. package/.next/standalone/packages/wiki-viewer-mcp/README.md +0 -195
  96. package/.next/standalone/packages/wiki-viewer-mcp/bench-e2e.mjs +0 -166
  97. package/.next/standalone/packages/wiki-viewer-mcp/bench-latency.mjs +0 -87
  98. package/.next/standalone/packages/wiki-viewer-mcp/bench-payload.mjs +0 -45
  99. package/.next/standalone/packages/wiki-viewer-mcp/dist/http-client.js +0 -331
  100. package/.next/standalone/packages/wiki-viewer-mcp/dist/index.js +0 -531
  101. package/.next/standalone/packages/wiki-viewer-mcp/dist/register.js +0 -94
  102. package/.next/standalone/packages/wiki-viewer-mcp/dist/state-cache.js +0 -28
  103. package/.next/standalone/packages/wiki-viewer-mcp/package-lock.json +0 -1716
  104. package/.next/standalone/packages/wiki-viewer-mcp/package.json +0 -41
  105. package/.next/standalone/packages/wiki-viewer-mcp/src/http-client.ts +0 -459
  106. package/.next/standalone/packages/wiki-viewer-mcp/src/index.ts +0 -638
  107. package/.next/standalone/packages/wiki-viewer-mcp/src/register.ts +0 -144
  108. package/.next/standalone/packages/wiki-viewer-mcp/src/state-cache.ts +0 -55
  109. package/.next/standalone/packages/wiki-viewer-mcp/tsconfig.json +0 -19
  110. package/.next/standalone/pnpm-lock.yaml +0 -6697
  111. package/.next/standalone/pnpm-workspace.yaml +0 -8
  112. package/.next/standalone/postcss.config.mjs +0 -2
  113. package/.next/standalone/src/app/api/agent/activity/route.ts +0 -59
  114. package/.next/standalone/src/app/api/agent/admin/agents/[agentId]/revoke/route.ts +0 -40
  115. package/.next/standalone/src/app/api/agent/admin/agents/route.ts +0 -33
  116. package/.next/standalone/src/app/api/agent/admin/registrations/[regId]/approve/route.ts +0 -83
  117. package/.next/standalone/src/app/api/agent/admin/registrations/[regId]/deny/route.ts +0 -36
  118. package/.next/standalone/src/app/api/agent/admin/registrations/route.ts +0 -27
  119. package/.next/standalone/src/app/api/agent/events/[...path]/route.ts +0 -148
  120. package/.next/standalone/src/app/api/agent/files/[...path]/route.ts +0 -219
  121. package/.next/standalone/src/app/api/agent/fs/file/[...path]/route.ts +0 -446
  122. package/.next/standalone/src/app/api/agent/fs/ls/[[...path]]/route.ts +0 -152
  123. package/.next/standalone/src/app/api/agent/fs/move/route.ts +0 -130
  124. package/.next/standalone/src/app/api/agent/fs/search/route.ts +0 -272
  125. package/.next/standalone/src/app/api/agent/internal/span/route.ts +0 -121
  126. package/.next/standalone/src/app/api/agent/register/[regId]/route.ts +0 -50
  127. package/.next/standalone/src/app/api/agent/register/route.ts +0 -118
  128. package/.next/standalone/src/app/api/agent/settings/route.ts +0 -34
  129. package/.next/standalone/src/app/api/agent/settings/token/regenerate/route.ts +0 -20
  130. package/.next/standalone/src/app/api/agent/sidecar/[...path]/route.ts +0 -53
  131. package/.next/standalone/src/app/api/agents/install/route.ts +0 -143
  132. package/.next/standalone/src/app/api/agents/skill/route.ts +0 -20
  133. package/.next/standalone/src/app/api/agents/skill.tar.gz/route.ts +0 -87
  134. package/.next/standalone/src/app/api/app-proxy/[...path]/route.ts +0 -247
  135. package/.next/standalone/src/app/api/assets/[...path]/route.ts +0 -75
  136. package/.next/standalone/src/app/api/auth/[...all]/route.ts +0 -7
  137. package/.next/standalone/src/app/api/owner/init/route.ts +0 -14
  138. package/.next/standalone/src/app/api/share/[token]/route.ts +0 -269
  139. package/.next/standalone/src/app/api/share/route.ts +0 -127
  140. package/.next/standalone/src/app/api/system/admins/route.ts +0 -103
  141. package/.next/standalone/src/app/api/system/auth-config/route.ts +0 -22
  142. package/.next/standalone/src/app/api/system/auth-settings/route.ts +0 -86
  143. package/.next/standalone/src/app/api/system/browse/route.ts +0 -82
  144. package/.next/standalone/src/app/api/system/clear-root/route.ts +0 -16
  145. package/.next/standalone/src/app/api/system/config/route.ts +0 -14
  146. package/.next/standalone/src/app/api/system/pins/route.ts +0 -38
  147. package/.next/standalone/src/app/api/system/reveal/route.ts +0 -36
  148. package/.next/standalone/src/app/api/system/root-status/route.ts +0 -13
  149. package/.next/standalone/src/app/api/system/set-root/route.ts +0 -53
  150. package/.next/standalone/src/app/api/system/users/route.ts +0 -120
  151. package/.next/standalone/src/app/api/system/workspaces/[id]/open/route.ts +0 -34
  152. package/.next/standalone/src/app/api/system/workspaces/[id]/refresh/route.ts +0 -32
  153. package/.next/standalone/src/app/api/system/workspaces/[id]/route.ts +0 -78
  154. package/.next/standalone/src/app/api/system/workspaces/route.ts +0 -128
  155. package/.next/standalone/src/app/api/upload/[...path]/route.ts +0 -85
  156. package/.next/standalone/src/app/api/wiki/app/route.ts +0 -60
  157. package/.next/standalone/src/app/api/wiki/backlinks/route.ts +0 -29
  158. package/.next/standalone/src/app/api/wiki/content/route.ts +0 -159
  159. package/.next/standalone/src/app/api/wiki/download/route.ts +0 -100
  160. package/.next/standalone/src/app/api/wiki/file/route.ts +0 -57
  161. package/.next/standalone/src/app/api/wiki/folder/route.ts +0 -34
  162. package/.next/standalone/src/app/api/wiki/git-branches/route.ts +0 -32
  163. package/.next/standalone/src/app/api/wiki/git-checkout/route.ts +0 -45
  164. package/.next/standalone/src/app/api/wiki/git-diff/route.ts +0 -33
  165. package/.next/standalone/src/app/api/wiki/git-file-info/route.ts +0 -27
  166. package/.next/standalone/src/app/api/wiki/git-history/route.ts +0 -27
  167. package/.next/standalone/src/app/api/wiki/git-pull/route.ts +0 -48
  168. package/.next/standalone/src/app/api/wiki/move/route.ts +0 -61
  169. package/.next/standalone/src/app/api/wiki/new-file/route.ts +0 -56
  170. package/.next/standalone/src/app/api/wiki/outlinks/route.ts +0 -76
  171. package/.next/standalone/src/app/api/wiki/page/route.ts +0 -92
  172. package/.next/standalone/src/app/api/wiki/presence/route.ts +0 -56
  173. package/.next/standalone/src/app/api/wiki/route.ts +0 -116
  174. package/.next/standalone/src/app/api/wiki/search/route.ts +0 -44
  175. package/.next/standalone/src/app/api/wiki/slugs/route.ts +0 -54
  176. package/.next/standalone/src/app/api/wiki/upload/route.ts +0 -95
  177. package/.next/standalone/src/app/api/wiki/watch/route.ts +0 -67
  178. package/.next/standalone/src/app/globals.css +0 -1249
  179. package/.next/standalone/src/app/icon.svg +0 -11
  180. package/.next/standalone/src/app/layout.tsx +0 -78
  181. package/.next/standalone/src/app/manifest.ts +0 -30
  182. package/.next/standalone/src/app/page.tsx +0 -3260
  183. package/.next/standalone/src/app/s/[token]/page.tsx +0 -357
  184. package/.next/standalone/src/app/signin/page.tsx +0 -16
  185. package/.next/standalone/src/app/signin/signin-form.tsx +0 -238
  186. package/.next/standalone/src/components/ai-panel/activity-row.tsx +0 -284
  187. package/.next/standalone/src/components/ai-panel/ai-panel.tsx +0 -311
  188. package/.next/standalone/src/components/ai-panel/token-section.tsx +0 -313
  189. package/.next/standalone/src/components/auth-settings-sheet.tsx +0 -474
  190. package/.next/standalone/src/components/confirm-dialog.tsx +0 -56
  191. package/.next/standalone/src/components/dir-picker.tsx +0 -606
  192. package/.next/standalone/src/components/editor/backlinks-panel.tsx +0 -139
  193. package/.next/standalone/src/components/editor/bubble-menu.tsx +0 -346
  194. package/.next/standalone/src/components/editor/callout-extension.ts +0 -36
  195. package/.next/standalone/src/components/editor/comment-pip.tsx +0 -56
  196. package/.next/standalone/src/components/editor/comment-thread.tsx +0 -254
  197. package/.next/standalone/src/components/editor/csv-viewer.tsx +0 -379
  198. package/.next/standalone/src/components/editor/document-outline.tsx +0 -230
  199. package/.next/standalone/src/components/editor/editor-toolbar.tsx +0 -564
  200. package/.next/standalone/src/components/editor/editor.tsx +0 -1327
  201. package/.next/standalone/src/components/editor/extensions/drag-handle.ts +0 -325
  202. package/.next/standalone/src/components/editor/extensions/heading-anchors.ts +0 -55
  203. package/.next/standalone/src/components/editor/extensions/proof-span.ts +0 -60
  204. package/.next/standalone/src/components/editor/extensions/resizable-image.tsx +0 -159
  205. package/.next/standalone/src/components/editor/extensions.ts +0 -150
  206. package/.next/standalone/src/components/editor/file-fallback-viewer.tsx +0 -75
  207. package/.next/standalone/src/components/editor/folder-index.tsx +0 -236
  208. package/.next/standalone/src/components/editor/google-doc-viewer.tsx +0 -73
  209. package/.next/standalone/src/components/editor/image-viewer.tsx +0 -57
  210. package/.next/standalone/src/components/editor/large-file-gate.tsx +0 -108
  211. package/.next/standalone/src/components/editor/link-popover.tsx +0 -111
  212. package/.next/standalone/src/components/editor/media-popover.tsx +0 -212
  213. package/.next/standalone/src/components/editor/media-viewer.tsx +0 -70
  214. package/.next/standalone/src/components/editor/mermaid-viewer.tsx +0 -286
  215. package/.next/standalone/src/components/editor/node-app-viewer.tsx +0 -328
  216. package/.next/standalone/src/components/editor/notebook-viewer.tsx +0 -371
  217. package/.next/standalone/src/components/editor/office/docx-viewer.tsx +0 -93
  218. package/.next/standalone/src/components/editor/office/office-chrome.tsx +0 -83
  219. package/.next/standalone/src/components/editor/office/pptx-viewer.tsx +0 -104
  220. package/.next/standalone/src/components/editor/office/xlsx-viewer.tsx +0 -192
  221. package/.next/standalone/src/components/editor/pdf-viewer.tsx +0 -32
  222. package/.next/standalone/src/components/editor/proof-span-popover.tsx +0 -162
  223. package/.next/standalone/src/components/editor/slash-commands.tsx +0 -629
  224. package/.next/standalone/src/components/editor/source-viewer.tsx +0 -289
  225. package/.next/standalone/src/components/editor/suggest-edit-popover.tsx +0 -229
  226. package/.next/standalone/src/components/editor/suggestion-card.tsx +0 -206
  227. package/.next/standalone/src/components/editor/table-menu.tsx +0 -232
  228. package/.next/standalone/src/components/editor/view-mode-comment-button.tsx +0 -77
  229. package/.next/standalone/src/components/editor/website-viewer.tsx +0 -75
  230. package/.next/standalone/src/components/editor/wiki-link-create-dialog.tsx +0 -189
  231. package/.next/standalone/src/components/editor/wiki-link-decorator.ts +0 -79
  232. package/.next/standalone/src/components/editor/wiki-link-extension.ts +0 -120
  233. package/.next/standalone/src/components/editor/wiki-link-picker.tsx +0 -250
  234. package/.next/standalone/src/components/layout/viewer-toolbar.tsx +0 -54
  235. package/.next/standalone/src/components/search/search-command-dialog.tsx +0 -246
  236. package/.next/standalone/src/components/search/sidebar-search-box.tsx +0 -121
  237. package/.next/standalone/src/components/search/snippet-text.tsx +0 -48
  238. package/.next/standalone/src/components/share-dialog.tsx +0 -307
  239. package/.next/standalone/src/components/theme-provider.tsx +0 -16
  240. package/.next/standalone/src/components/theme-toggle.tsx +0 -24
  241. package/.next/standalone/src/components/ui/badge.tsx +0 -35
  242. package/.next/standalone/src/components/ui/button.tsx +0 -56
  243. package/.next/standalone/src/components/ui/card.tsx +0 -63
  244. package/.next/standalone/src/components/ui/collapsible.tsx +0 -9
  245. package/.next/standalone/src/components/ui/command.tsx +0 -151
  246. package/.next/standalone/src/components/ui/context-menu.tsx +0 -191
  247. package/.next/standalone/src/components/ui/dialog.tsx +0 -119
  248. package/.next/standalone/src/components/ui/dropdown-menu.tsx +0 -194
  249. package/.next/standalone/src/components/ui/input.tsx +0 -22
  250. package/.next/standalone/src/components/ui/label.tsx +0 -25
  251. package/.next/standalone/src/components/ui/popover.tsx +0 -33
  252. package/.next/standalone/src/components/ui/scroll-area.tsx +0 -47
  253. package/.next/standalone/src/components/ui/select.tsx +0 -156
  254. package/.next/standalone/src/components/ui/separator.tsx +0 -30
  255. package/.next/standalone/src/components/ui/sheet.tsx +0 -140
  256. package/.next/standalone/src/components/ui/skeleton.tsx +0 -15
  257. package/.next/standalone/src/components/ui/switch.tsx +0 -28
  258. package/.next/standalone/src/components/ui/tabs.tsx +0 -54
  259. package/.next/standalone/src/components/ui/textarea.tsx +0 -21
  260. package/.next/standalone/src/components/ui/tip.tsx +0 -23
  261. package/.next/standalone/src/components/ui/toggle-group.tsx +0 -41
  262. package/.next/standalone/src/components/ui/tooltip.tsx +0 -27
  263. package/.next/standalone/src/components/view-width-toggle.tsx +0 -70
  264. package/.next/standalone/src/components/wiki/frontmatter-header.tsx +0 -164
  265. package/.next/standalone/src/hooks/use-is-mobile.ts +0 -14
  266. package/.next/standalone/src/lib/app-runner.ts +0 -272
  267. package/.next/standalone/src/lib/auth/admin.ts +0 -120
  268. package/.next/standalone/src/lib/auth/allowlist.ts +0 -50
  269. package/.next/standalone/src/lib/auth/client.ts +0 -4
  270. package/.next/standalone/src/lib/auth/csrf.ts +0 -68
  271. package/.next/standalone/src/lib/auth/server.ts +0 -215
  272. package/.next/standalone/src/lib/cabinets/tree.ts +0 -75
  273. package/.next/standalone/src/lib/config.ts +0 -114
  274. package/.next/standalone/src/lib/embeds/detect.ts +0 -142
  275. package/.next/standalone/src/lib/git-secrets.ts +0 -65
  276. package/.next/standalone/src/lib/git.ts +0 -503
  277. package/.next/standalone/src/lib/google/detect.ts +0 -107
  278. package/.next/standalone/src/lib/markdown/parse-frontmatter.ts +0 -104
  279. package/.next/standalone/src/lib/markdown/remark-wikilinks.ts +0 -100
  280. package/.next/standalone/src/lib/markdown/sanitize-schema.ts +0 -106
  281. package/.next/standalone/src/lib/markdown/to-html.ts +0 -282
  282. package/.next/standalone/src/lib/markdown/to-markdown.ts +0 -252
  283. package/.next/standalone/src/lib/proof/activity-shared.ts +0 -31
  284. package/.next/standalone/src/lib/proof/activity.ts +0 -74
  285. package/.next/standalone/src/lib/proof/audit.ts +0 -88
  286. package/.next/standalone/src/lib/proof/auth.ts +0 -143
  287. package/.next/standalone/src/lib/proof/block-refs.ts +0 -133
  288. package/.next/standalone/src/lib/proof/blocks.ts +0 -73
  289. package/.next/standalone/src/lib/proof/client-auth.ts +0 -23
  290. package/.next/standalone/src/lib/proof/collab-state.ts +0 -81
  291. package/.next/standalone/src/lib/proof/event-bus.ts +0 -47
  292. package/.next/standalone/src/lib/proof/file-lock.ts +0 -43
  293. package/.next/standalone/src/lib/proof/glob.ts +0 -51
  294. package/.next/standalone/src/lib/proof/idempotency.ts +0 -37
  295. package/.next/standalone/src/lib/proof/lease.ts +0 -117
  296. package/.next/standalone/src/lib/proof/mutex.ts +0 -36
  297. package/.next/standalone/src/lib/proof/ops-applier.ts +0 -727
  298. package/.next/standalone/src/lib/proof/owner-auth.ts +0 -2
  299. package/.next/standalone/src/lib/proof/pending.ts +0 -97
  300. package/.next/standalone/src/lib/proof/proof-span.ts +0 -141
  301. package/.next/standalone/src/lib/proof/rate-limit.ts +0 -53
  302. package/.next/standalone/src/lib/proof/raw-fs.ts +0 -197
  303. package/.next/standalone/src/lib/proof/register-rate-limit.ts +0 -53
  304. package/.next/standalone/src/lib/proof/registry.ts +0 -195
  305. package/.next/standalone/src/lib/proof/sidecar.ts +0 -103
  306. package/.next/standalone/src/lib/proof/suggest-capture.ts +0 -69
  307. package/.next/standalone/src/lib/proof/types.ts +0 -182
  308. package/.next/standalone/src/lib/proof-config.ts +0 -14
  309. package/.next/standalone/src/lib/root-dir.ts +0 -35
  310. package/.next/standalone/src/lib/search/indexable-exts.ts +0 -25
  311. package/.next/standalone/src/lib/search/indexer.ts +0 -634
  312. package/.next/standalone/src/lib/search/sanitize.ts +0 -35
  313. package/.next/standalone/src/lib/search/search-db.ts +0 -57
  314. package/.next/standalone/src/lib/search/watcher-pool.ts +0 -79
  315. package/.next/standalone/src/lib/shared-docs/db.ts +0 -177
  316. package/.next/standalone/src/lib/toast.ts +0 -9
  317. package/.next/standalone/src/lib/utils.ts +0 -6
  318. package/.next/standalone/src/lib/wiki-helpers.ts +0 -36
  319. package/.next/standalone/src/lib/workspace-client.ts +0 -82
  320. package/.next/standalone/src/lib/workspace-context.ts +0 -173
  321. package/.next/standalone/src/lib/workspaces.ts +0 -400
  322. package/.next/standalone/src/middleware.ts +0 -44
  323. package/.next/standalone/src/stores/ai-panel-store.ts +0 -79
  324. package/.next/standalone/src/stores/editor-store.ts +0 -439
  325. package/.next/standalone/src/stores/pin-store.ts +0 -56
  326. package/.next/standalone/src/stores/proof-store.ts +0 -124
  327. package/.next/standalone/src/stores/recent-store.ts +0 -51
  328. package/.next/standalone/src/stores/search-store.ts +0 -104
  329. package/.next/standalone/src/stores/show-hidden-store.ts +0 -26
  330. package/.next/standalone/src/stores/sidebar-width-store.ts +0 -39
  331. package/.next/standalone/src/stores/skin-store.ts +0 -42
  332. package/.next/standalone/src/stores/tree-store.ts +0 -52
  333. package/.next/standalone/src/stores/view-width-store.ts +0 -101
  334. package/.next/standalone/src/stores/wiki-slugs-store.ts +0 -75
  335. package/.next/standalone/src/tests/proof/activity-aggregator.test.ts +0 -146
  336. package/.next/standalone/src/tests/proof/admin-create-user.test.ts +0 -43
  337. package/.next/standalone/src/tests/proof/agent-fs.test.ts +0 -973
  338. package/.next/standalone/src/tests/proof/agent-ownership.test.ts +0 -140
  339. package/.next/standalone/src/tests/proof/agent-workspace-scope.test.ts +0 -134
  340. package/.next/standalone/src/tests/proof/agents-install.test.ts +0 -110
  341. package/.next/standalone/src/tests/proof/bench-write.ts +0 -179
  342. package/.next/standalone/src/tests/proof/better-auth.test.ts +0 -68
  343. package/.next/standalone/src/tests/proof/block-refs.test.ts +0 -108
  344. package/.next/standalone/src/tests/proof/blocks.test.ts +0 -92
  345. package/.next/standalone/src/tests/proof/collab-state.test.ts +0 -501
  346. package/.next/standalone/src/tests/proof/comments-ops.test.ts +0 -177
  347. package/.next/standalone/src/tests/proof/editor-roundtrip.test.ts +0 -85
  348. package/.next/standalone/src/tests/proof/external-edit.test.ts +0 -58
  349. package/.next/standalone/src/tests/proof/file-lock.test.ts +0 -80
  350. package/.next/standalone/src/tests/proof/git-branches-checkout.test.ts +0 -136
  351. package/.next/standalone/src/tests/proof/git-read-features.test.ts +0 -473
  352. package/.next/standalone/src/tests/proof/git-secrets.test.ts +0 -138
  353. package/.next/standalone/src/tests/proof/git-sparse.test.ts +0 -257
  354. package/.next/standalone/src/tests/proof/git-workspace.test.ts +0 -135
  355. package/.next/standalone/src/tests/proof/git.test.ts +0 -243
  356. package/.next/standalone/src/tests/proof/glob.test.ts +0 -82
  357. package/.next/standalone/src/tests/proof/helpers/auth-session.ts +0 -27
  358. package/.next/standalone/src/tests/proof/markdown-to-html.test.ts +0 -46
  359. package/.next/standalone/src/tests/proof/ops-applier.test.ts +0 -368
  360. package/.next/standalone/src/tests/proof/owner-init.test.ts +0 -2
  361. package/.next/standalone/src/tests/proof/parse-frontmatter.test.ts +0 -60
  362. package/.next/standalone/src/tests/proof/preload.ts +0 -21
  363. package/.next/standalone/src/tests/proof/proof-span.test.ts +0 -98
  364. package/.next/standalone/src/tests/proof/rate-limit.test.ts +0 -54
  365. package/.next/standalone/src/tests/proof/readonly-enforcement.test.ts +0 -161
  366. package/.next/standalone/src/tests/proof/reconcile-sidecar.test.ts +0 -195
  367. package/.next/standalone/src/tests/proof/registration-flow.test.ts +0 -330
  368. package/.next/standalone/src/tests/proof/registry.test.ts +0 -169
  369. package/.next/standalone/src/tests/proof/routes.test.ts +0 -516
  370. package/.next/standalone/src/tests/proof/search-index.test.ts +0 -376
  371. package/.next/standalone/src/tests/proof/sidecar-lifecycle.test.ts +0 -177
  372. package/.next/standalone/src/tests/proof/sidecar-trim.test.ts +0 -58
  373. package/.next/standalone/src/tests/proof/suggestion-ops.test.ts +0 -280
  374. package/.next/standalone/src/tests/proof/wiki-content-put.test.ts +0 -140
  375. package/.next/standalone/src/tests/proof/wiki-routes-auth.test.ts +0 -208
  376. package/.next/standalone/src/tests/proof/workspace-isolation.test.ts +0 -87
  377. package/.next/standalone/src/tests/proof/workspaces-api.test.ts +0 -227
  378. package/.next/standalone/src/types/index.ts +0 -47
  379. package/.next/standalone/tailwind.config.ts +0 -191
  380. package/.next/standalone/tsconfig.json +0 -41
  381. package/.next/standalone/tsconfig.tsbuildinfo +0 -1
  382. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_buildManifest.js +0 -0
  383. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_clientMiddlewareManifest.js +0 -0
  384. /package/.next/standalone/.next/static/{WMOTgfV82apmdovxzgbMx → rRyvFORvJoc5OWbCR2A_P}/_ssgManifest.js +0 -0
@@ -1,307 +0,0 @@
1
- "use client";
2
-
3
- import {
4
- Copy,
5
- Check,
6
- Globe,
7
- Loader2,
8
- Lock,
9
- Trash2,
10
- Clock,
11
- } from "lucide-react";
12
- import { useCallback, useEffect, useState } from "react";
13
- import { Button } from "@/components/ui/button";
14
- import { Input } from "@/components/ui/input";
15
- import { Switch } from "@/components/ui/switch";
16
- import { Label } from "@/components/ui/label";
17
- import {
18
- Dialog,
19
- DialogContent,
20
- DialogHeader,
21
- DialogTitle,
22
- DialogDescription,
23
- } from "@/components/ui/dialog";
24
- import { showSuccess, showError } from "@/lib/toast";
25
- import { wsFetch } from "@/lib/workspace-client";
26
-
27
- interface Share {
28
- id: string;
29
- token: string;
30
- url: string;
31
- hasPassword: boolean;
32
- expiresAt: string | null;
33
- createdAt: string;
34
- viewCount: number;
35
- isExpired: boolean;
36
- }
37
-
38
- interface ShareDialogProps {
39
- open: boolean;
40
- onOpenChange: (open: boolean) => void;
41
- filePath: string;
42
- }
43
-
44
- export function ShareDialog({
45
- open,
46
- onOpenChange,
47
- filePath,
48
- }: ShareDialogProps) {
49
- const [shares, setShares] = useState<Share[]>([]);
50
- const [loading, setLoading] = useState(true);
51
- const [creating, setCreating] = useState(false);
52
-
53
- // Form fields
54
- const [password, setPassword] = useState("");
55
- const [enablePassword, setEnablePassword] = useState(false);
56
- const [enableExpiry, setEnableExpiry] = useState(false);
57
- const [expiryDays, setExpiryDays] = useState("7");
58
-
59
- // Copied state per share token
60
- const [copiedToken, setCopiedToken] = useState<string | null>(null);
61
-
62
- const loadShares = useCallback(async () => {
63
- setLoading(true);
64
- try {
65
- const res = await wsFetch(
66
- `/api/share?path=${encodeURIComponent(filePath)}`,
67
- );
68
- if (res.ok) {
69
- const data = await res.json();
70
- setShares(data.shares ?? []);
71
- }
72
- } catch {
73
- // silently fail
74
- }
75
- setLoading(false);
76
- }, [filePath]);
77
-
78
- useEffect(() => {
79
- if (open) void loadShares();
80
- }, [open, loadShares]);
81
-
82
- const handleCreate = async () => {
83
- setCreating(true);
84
- try {
85
- const body: Record<string, unknown> = { path: filePath };
86
- if (enablePassword && password.trim()) {
87
- body.password = password.trim();
88
- }
89
- if (enableExpiry && expiryDays) {
90
- const d = new Date();
91
- d.setDate(d.getDate() + Number(expiryDays));
92
- body.expiresAt = d.toISOString();
93
- }
94
- const res = await wsFetch("/api/share", {
95
- method: "POST",
96
- headers: { "Content-Type": "application/json" },
97
- body: JSON.stringify(body),
98
- });
99
- if (!res.ok) {
100
- const e = await res.json();
101
- showError(e.error ?? "Failed to create share link");
102
- return;
103
- }
104
- showSuccess("Share link created");
105
- setPassword("");
106
- setEnablePassword(false);
107
- setEnableExpiry(false);
108
- setExpiryDays("7");
109
- await loadShares();
110
- } catch {
111
- showError("Failed to create share link");
112
- } finally {
113
- setCreating(false);
114
- }
115
- };
116
-
117
- const handleRevoke = async (token: string) => {
118
- try {
119
- const res = await fetch(`/api/share/${token}`, { method: "DELETE" });
120
- if (!res.ok) {
121
- showError("Failed to revoke share link");
122
- return;
123
- }
124
- showSuccess("Share link revoked");
125
- await loadShares();
126
- } catch {
127
- showError("Failed to revoke share link");
128
- }
129
- };
130
-
131
- const copyLink = (url: string, token: string) => {
132
- const fullUrl = `${window.location.origin}${url}`;
133
- void navigator.clipboard.writeText(fullUrl);
134
- setCopiedToken(token);
135
- setTimeout(() => setCopiedToken(null), 2000);
136
- };
137
-
138
- return (
139
- <Dialog open={open} onOpenChange={onOpenChange}>
140
- <DialogContent className="sm:max-w-md">
141
- <DialogHeader>
142
- <DialogTitle>Share document</DialogTitle>
143
- <DialogDescription>
144
- Create a public link to share this document as read-only.
145
- </DialogDescription>
146
- </DialogHeader>
147
-
148
- <div className="space-y-4">
149
- {/* Create new share */}
150
- <div className="rounded-sm border border-border p-3 space-y-3">
151
- <h3 className="text-sm font-medium">New share link</h3>
152
-
153
- {/* Password toggle */}
154
- <div className="flex items-center justify-between">
155
- <Label htmlFor="share-pwd" className="text-xs gap-1.5 flex items-center">
156
- <Lock className="h-3 w-3 text-muted-foreground" />
157
- Password protect
158
- </Label>
159
- <Switch
160
- id="share-pwd"
161
- checked={enablePassword}
162
- onCheckedChange={setEnablePassword}
163
- />
164
- </div>
165
- {enablePassword && (
166
- <Input
167
- type="password"
168
- placeholder="Set a password"
169
- value={password}
170
- onChange={(e) => setPassword(e.target.value)}
171
- />
172
- )}
173
-
174
- {/* Expiry toggle */}
175
- <div className="flex items-center justify-between">
176
- <Label htmlFor="share-expiry" className="text-xs gap-1.5 flex items-center">
177
- <Clock className="h-3 w-3 text-muted-foreground" />
178
- Set expiration
179
- </Label>
180
- <Switch
181
- id="share-expiry"
182
- checked={enableExpiry}
183
- onCheckedChange={setEnableExpiry}
184
- />
185
- </div>
186
- {enableExpiry && (
187
- <div className="flex items-center gap-2">
188
- <Input
189
- type="number"
190
- min={1}
191
- max={365}
192
- value={expiryDays}
193
- onChange={(e) => setExpiryDays(e.target.value)}
194
- className="w-20"
195
- />
196
- <span className="text-xs text-muted-foreground">days</span>
197
- </div>
198
- )}
199
-
200
- <Button
201
- size="sm"
202
- className="w-full gap-1.5"
203
- onClick={handleCreate}
204
- disabled={creating}
205
- >
206
- {creating ? (
207
- <Loader2 className="h-3.5 w-3.5 animate-spin" />
208
- ) : (
209
- <Globe className="h-3.5 w-3.5" />
210
- )}
211
- Create link
212
- </Button>
213
- </div>
214
-
215
- {/* Existing shares */}
216
- <div className="space-y-2">
217
- <h3 className="text-xs font-medium text-muted-foreground">
218
- {shares.length > 0
219
- ? `Active links (${shares.length})`
220
- : loading
221
- ? "Loading..."
222
- : "No active links"}
223
- </h3>
224
- {loading && (
225
- <div className="flex justify-center py-2">
226
- <Loader2 className="h-4 w-4 animate-spin text-muted-foreground" />
227
- </div>
228
- )}
229
- {shares.map((share) => (
230
- <div
231
- key={share.id}
232
- className="flex items-center gap-2 rounded-sm border border-border p-2"
233
- >
234
- <div className="flex-1 min-w-0">
235
- <div className="flex items-center gap-1.5">
236
- <span className="text-xs font-mono truncate">
237
- {window.location.origin}/s/{share.token}
238
- </span>
239
- </div>
240
- <div className="flex items-center gap-2 mt-0.5">
241
- {share.hasPassword && (
242
- <span className="flex items-center gap-0.5 text-[10px] text-muted-foreground">
243
- <Lock className="h-2.5 w-2.5" />
244
- pwd
245
- </span>
246
- )}
247
- {share.expiresAt && (
248
- <span className="flex items-center gap-0.5 text-[10px] text-muted-foreground">
249
- <Clock className="h-2.5 w-2.5" />
250
- {formatExpiry(share.expiresAt)}
251
- </span>
252
- )}
253
- <span className="text-[10px] text-muted-foreground">
254
- {share.viewCount} view
255
- {share.viewCount !== 1 ? "s" : ""}
256
- </span>
257
- {share.isExpired && (
258
- <span className="text-[10px] text-destructive">
259
- expired
260
- </span>
261
- )}
262
- </div>
263
- </div>
264
- <div className="flex items-center gap-1 shrink-0">
265
- <Button
266
- size="sm"
267
- variant="ghost"
268
- className="h-7 w-7 p-0"
269
- title="Copy link"
270
- onClick={() => copyLink(share.url, share.token)}
271
- >
272
- {copiedToken === share.token ? (
273
- <Check className="h-3.5 w-3.5 text-success" />
274
- ) : (
275
- <Copy className="h-3.5 w-3.5" />
276
- )}
277
- </Button>
278
- <Button
279
- size="sm"
280
- variant="ghost"
281
- className="h-7 w-7 p-0 text-destructive hover:text-destructive"
282
- title="Revoke link"
283
- onClick={() => handleRevoke(share.token)}
284
- >
285
- <Trash2 className="h-3.5 w-3.5" />
286
- </Button>
287
- </div>
288
- </div>
289
- ))}
290
- </div>
291
- </div>
292
- </DialogContent>
293
- </Dialog>
294
- );
295
- }
296
-
297
- function formatExpiry(iso: string): string {
298
- const d = new Date(iso);
299
- const now = new Date();
300
- const ms = d.getTime() - now.getTime();
301
- if (ms <= 0) return "expired";
302
- const days = Math.floor(ms / 86400000);
303
- const hours = Math.floor((ms % 86400000) / 3600000);
304
- if (days > 0) return `${days}d`;
305
- if (hours > 0) return `${hours}h`;
306
- return "<1h";
307
- }
@@ -1,16 +0,0 @@
1
- "use client";
2
-
3
- import { ThemeProvider as NextThemesProvider } from "next-themes";
4
-
5
- export function ThemeProvider({ children }: { children: React.ReactNode }) {
6
- return (
7
- <NextThemesProvider
8
- attribute="class"
9
- defaultTheme="system"
10
- enableSystem
11
- disableTransitionOnChange
12
- >
13
- {children}
14
- </NextThemesProvider>
15
- );
16
- }
@@ -1,24 +0,0 @@
1
- "use client";
2
-
3
- import { Moon, Sun } from "lucide-react";
4
- import { useTheme } from "next-themes";
5
- import { Button } from "@/components/ui/button";
6
-
7
- export function ThemeToggle({ className }: { className?: string }) {
8
- const { resolvedTheme, setTheme } = useTheme();
9
- return (
10
- <Button
11
- size="sm"
12
- variant="ghost"
13
- className={`h-7 w-7 p-0 ${className ?? ""}`}
14
- title={resolvedTheme === "dark" ? "Switch to light" : "Switch to dark"}
15
- onClick={() => setTheme(resolvedTheme === "dark" ? "light" : "dark")}
16
- >
17
- {resolvedTheme === "dark" ? (
18
- <Sun className="h-3.5 w-3.5" />
19
- ) : (
20
- <Moon className="h-3.5 w-3.5" />
21
- )}
22
- </Button>
23
- );
24
- }
@@ -1,35 +0,0 @@
1
- import { cva, type VariantProps } from "class-variance-authority";
2
- import type * as React from "react";
3
- import { cn } from "@/lib/utils";
4
-
5
- const badgeVariants = cva(
6
- "inline-flex items-center rounded-sm border px-2.5 py-0.5 text-xs font-normal transition-colors focus:outline-none focus:ring-2 focus:ring-ring",
7
- {
8
- variants: {
9
- variant: {
10
- default:
11
- "border-transparent bg-primary text-primary-foreground shadow-e-1",
12
- secondary: "border-transparent bg-secondary text-secondary-foreground",
13
- destructive:
14
- "border-transparent bg-destructive text-destructive-foreground shadow-e-1",
15
- outline: "text-foreground",
16
- accent: "border-transparent bg-accent text-accent-foreground",
17
- },
18
- },
19
- defaultVariants: {
20
- variant: "default",
21
- },
22
- },
23
- );
24
-
25
- export interface BadgeProps
26
- extends React.HTMLAttributes<HTMLDivElement>,
27
- VariantProps<typeof badgeVariants> {}
28
-
29
- function Badge({ className, variant, ...props }: BadgeProps) {
30
- return (
31
- <div className={cn(badgeVariants({ variant }), className)} {...props} />
32
- );
33
- }
34
-
35
- export { Badge, badgeVariants };
@@ -1,56 +0,0 @@
1
- import { Slot } from "@radix-ui/react-slot";
2
- import { cva, type VariantProps } from "class-variance-authority";
3
- import * as React from "react";
4
- import { cn } from "@/lib/utils";
5
-
6
- const buttonVariants = cva(
7
- "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-full text-sm font-medium normal-case transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
8
- {
9
- variants: {
10
- variant: {
11
- default:
12
- "bg-primary text-primary-foreground shadow-e-1 hover:bg-primary/90",
13
- destructive:
14
- "bg-destructive text-destructive-foreground shadow-e-1 hover:bg-destructive/90",
15
- outline:
16
- "border border-input bg-transparent hover:bg-accent hover:text-accent-foreground",
17
- secondary:
18
- "bg-secondary text-secondary-foreground shadow-e-1 hover:bg-secondary/80",
19
- ghost: "bg-transparent hover:bg-accent/10 text-foreground",
20
- link: "text-foreground underline underline-offset-4 hover:text-accent",
21
- },
22
- size: {
23
- default: "h-10 p-3 rounded-full",
24
- sm: "h-8 rounded-full px-3 text-xs",
25
- lg: "h-10 rounded-full px-8",
26
- icon: "h-9 w-9 rounded-full",
27
- },
28
- },
29
- defaultVariants: {
30
- variant: "default",
31
- size: "default",
32
- },
33
- },
34
- );
35
-
36
- export interface ButtonProps
37
- extends React.ButtonHTMLAttributes<HTMLButtonElement>,
38
- VariantProps<typeof buttonVariants> {
39
- asChild?: boolean;
40
- }
41
-
42
- const Button = React.forwardRef<HTMLButtonElement, ButtonProps>(
43
- ({ className, variant, size, asChild = false, ...props }, ref) => {
44
- const Comp = asChild ? Slot : "button";
45
- return (
46
- <Comp
47
- className={cn(buttonVariants({ variant, size, className }))}
48
- ref={ref}
49
- {...props}
50
- />
51
- );
52
- },
53
- );
54
- Button.displayName = "Button";
55
-
56
- export { Button, buttonVariants };
@@ -1,63 +0,0 @@
1
- import * as React from "react";
2
- import { cn } from "@/lib/utils";
3
-
4
- const Card = React.forwardRef<
5
- HTMLDivElement,
6
- React.HTMLAttributes<HTMLDivElement>
7
- >(({ className, ...props }, ref) => (
8
- <div
9
- ref={ref}
10
- className={cn(
11
- "rounded-md border border-border bg-card text-card-foreground shadow-e-2",
12
- className,
13
- )}
14
- {...props}
15
- />
16
- ));
17
- Card.displayName = "Card";
18
-
19
- const CardHeader = React.forwardRef<
20
- HTMLDivElement,
21
- React.HTMLAttributes<HTMLDivElement>
22
- >(({ className, ...props }, ref) => (
23
- <div
24
- ref={ref}
25
- className={cn("flex flex-col space-y-1.5 p-6", className)}
26
- {...props}
27
- />
28
- ));
29
- CardHeader.displayName = "CardHeader";
30
-
31
- const CardTitle = React.forwardRef<
32
- HTMLDivElement,
33
- React.HTMLAttributes<HTMLDivElement>
34
- >(({ className, ...props }, ref) => (
35
- <div
36
- ref={ref}
37
- className={cn("text-lg font-normal leading-none tracking-tight", className)}
38
- {...props}
39
- />
40
- ));
41
- CardTitle.displayName = "CardTitle";
42
-
43
- const CardDescription = React.forwardRef<
44
- HTMLDivElement,
45
- React.HTMLAttributes<HTMLDivElement>
46
- >(({ className, ...props }, ref) => (
47
- <div
48
- ref={ref}
49
- className={cn("text-sm text-muted-foreground", className)}
50
- {...props}
51
- />
52
- ));
53
- CardDescription.displayName = "CardDescription";
54
-
55
- const CardContent = React.forwardRef<
56
- HTMLDivElement,
57
- React.HTMLAttributes<HTMLDivElement>
58
- >(({ className, ...props }, ref) => (
59
- <div ref={ref} className={cn("p-6 pt-0", className)} {...props} />
60
- ));
61
- CardContent.displayName = "CardContent";
62
-
63
- export { Card, CardContent, CardDescription, CardHeader, CardTitle };
@@ -1,9 +0,0 @@
1
- "use client";
2
-
3
- import * as CollapsiblePrimitive from "@radix-ui/react-collapsible";
4
-
5
- const Collapsible = CollapsiblePrimitive.Root;
6
- const CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger;
7
- const CollapsibleContent = CollapsiblePrimitive.CollapsibleContent;
8
-
9
- export { Collapsible, CollapsibleContent, CollapsibleTrigger };
@@ -1,151 +0,0 @@
1
- "use client";
2
-
3
- import { Command as CommandPrimitive } from "cmdk";
4
- import { Search } from "lucide-react";
5
- import * as React from "react";
6
- import { Dialog, DialogContent, DialogTitle } from "@/components/ui/dialog";
7
- import { cn } from "@/lib/utils";
8
-
9
- const Command = React.forwardRef<
10
- React.ComponentRef<typeof CommandPrimitive>,
11
- React.ComponentPropsWithoutRef<typeof CommandPrimitive>
12
- >(({ className, ...props }, ref) => (
13
- <CommandPrimitive
14
- ref={ref}
15
- className={cn(
16
- "flex h-full w-full flex-col overflow-hidden rounded-sm bg-popover text-popover-foreground",
17
- className,
18
- )}
19
- {...props}
20
- />
21
- ));
22
- Command.displayName = CommandPrimitive.displayName;
23
-
24
- function CommandDialog({
25
- children,
26
- shouldFilter,
27
- ...props
28
- }: React.ComponentProps<typeof Dialog> & { shouldFilter?: boolean }) {
29
- return (
30
- <Dialog {...props}>
31
- <DialogContent className="overflow-hidden p-0 shadow-golden max-w-lg">
32
- <DialogTitle className="sr-only">Search</DialogTitle>
33
- <Command shouldFilter={shouldFilter} className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-normal [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]]:px-2 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
34
- {children}
35
- </Command>
36
- </DialogContent>
37
- </Dialog>
38
- );
39
- }
40
-
41
- const CommandInput = React.forwardRef<
42
- React.ComponentRef<typeof CommandPrimitive.Input>,
43
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>
44
- >(({ className, ...props }, ref) => (
45
- <div className="flex items-center border-b px-3" cmdk-input-wrapper="">
46
- <Search className="mr-2 h-4 w-4 shrink-0 opacity-50" />
47
- <CommandPrimitive.Input
48
- ref={ref}
49
- className={cn(
50
- "flex h-11 w-full rounded-sm bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50",
51
- className,
52
- )}
53
- {...props}
54
- />
55
- </div>
56
- ));
57
- CommandInput.displayName = CommandPrimitive.Input.displayName;
58
-
59
- const CommandList = React.forwardRef<
60
- React.ComponentRef<typeof CommandPrimitive.List>,
61
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>
62
- >(({ className, ...props }, ref) => (
63
- <CommandPrimitive.List
64
- ref={ref}
65
- className={cn("max-h-[300px] overflow-y-auto overflow-x-hidden", className)}
66
- {...props}
67
- />
68
- ));
69
- CommandList.displayName = CommandPrimitive.List.displayName;
70
-
71
- const CommandEmpty = React.forwardRef<
72
- React.ComponentRef<typeof CommandPrimitive.Empty>,
73
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>
74
- >((props, ref) => (
75
- <CommandPrimitive.Empty
76
- ref={ref}
77
- className="py-6 text-center text-sm text-muted-foreground"
78
- {...props}
79
- />
80
- ));
81
- CommandEmpty.displayName = CommandPrimitive.Empty.displayName;
82
-
83
- const CommandGroup = React.forwardRef<
84
- React.ComponentRef<typeof CommandPrimitive.Group>,
85
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>
86
- >(({ className, ...props }, ref) => (
87
- <CommandPrimitive.Group
88
- ref={ref}
89
- className={cn(
90
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-normal [&_[cmdk-group-heading]]:text-muted-foreground",
91
- className,
92
- )}
93
- {...props}
94
- />
95
- ));
96
- CommandGroup.displayName = CommandPrimitive.Group.displayName;
97
-
98
- const CommandSeparator = React.forwardRef<
99
- React.ComponentRef<typeof CommandPrimitive.Separator>,
100
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>
101
- >(({ className, ...props }, ref) => (
102
- <CommandPrimitive.Separator
103
- ref={ref}
104
- className={cn("-mx-1 h-px bg-border", className)}
105
- {...props}
106
- />
107
- ));
108
- CommandSeparator.displayName = CommandPrimitive.Separator.displayName;
109
-
110
- const CommandItem = React.forwardRef<
111
- React.ComponentRef<typeof CommandPrimitive.Item>,
112
- React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>
113
- >(({ className, ...props }, ref) => (
114
- <CommandPrimitive.Item
115
- ref={ref}
116
- className={cn(
117
- "relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",
118
- className,
119
- )}
120
- {...props}
121
- />
122
- ));
123
- CommandItem.displayName = CommandPrimitive.Item.displayName;
124
-
125
- function CommandShortcut({
126
- className,
127
- ...props
128
- }: React.HTMLAttributes<HTMLSpanElement>) {
129
- return (
130
- <span
131
- className={cn(
132
- "ml-auto text-xs tracking-widest text-muted-foreground",
133
- className,
134
- )}
135
- {...props}
136
- />
137
- );
138
- }
139
- CommandShortcut.displayName = "CommandShortcut";
140
-
141
- export {
142
- Command,
143
- CommandDialog,
144
- CommandEmpty,
145
- CommandGroup,
146
- CommandInput,
147
- CommandItem,
148
- CommandList,
149
- CommandSeparator,
150
- CommandShortcut,
151
- };