@lapis-notes/api 0.1.0

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 (400) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/LICENSE.md +4 -0
  3. package/README.md +43 -0
  4. package/dist/__tests__/data-adapter-conformance.js +205 -0
  5. package/dist/__tests__/lapis-runtime-manifest.js +32 -0
  6. package/dist/__tests__/svelte-internal-client.d.ts +3 -0
  7. package/dist/agent-result-views.d.ts +52 -0
  8. package/dist/agent-result-views.js +89 -0
  9. package/dist/agent-skills.d.ts +99 -0
  10. package/dist/agent-skills.js +182 -0
  11. package/dist/agent-tools.d.ts +92 -0
  12. package/dist/agent-tools.js +139 -0
  13. package/dist/app-database-host.d.ts +4 -0
  14. package/dist/app-database-host.js +4 -0
  15. package/dist/app-shell-plugin-persistence.d.ts +15 -0
  16. package/dist/app-shell-plugin-persistence.js +34 -0
  17. package/dist/app-url.d.ts +54 -0
  18. package/dist/app-url.js +269 -0
  19. package/dist/application-compatibility.d.ts +31 -0
  20. package/dist/application-compatibility.js +64 -0
  21. package/dist/application-state.svelte.d.ts +14 -0
  22. package/dist/application-state.svelte.js +30 -0
  23. package/dist/assets/lapis-logo.svg +471 -0
  24. package/dist/bases.d.ts +281 -0
  25. package/dist/bases.js +475 -0
  26. package/dist/cache.svelte.d.ts +569 -0
  27. package/dist/cache.svelte.js +1433 -0
  28. package/dist/command.svelte.d.ts +337 -0
  29. package/dist/command.svelte.js +571 -0
  30. package/dist/compat.d.ts +29 -0
  31. package/dist/compat.js +30 -0
  32. package/dist/components/configuration/configuration.css +199 -0
  33. package/dist/components/configuration/date-setting.svelte +71 -0
  34. package/dist/components/configuration/date-setting.svelte.d.ts +8 -0
  35. package/dist/components/configuration/list-setting.svelte +128 -0
  36. package/dist/components/configuration/list-setting.svelte.d.ts +13 -0
  37. package/dist/components/configuration/object-array-row-grip.svelte +78 -0
  38. package/dist/components/configuration/object-array-row-grip.svelte.d.ts +9 -0
  39. package/dist/components/configuration/object-array-row.svelte +163 -0
  40. package/dist/components/configuration/object-array-row.svelte.d.ts +19 -0
  41. package/dist/components/configuration/object-array-setting.svelte +196 -0
  42. package/dist/components/configuration/object-array-setting.svelte.d.ts +15 -0
  43. package/dist/components/configuration/object-array-table-dnd.d.ts +8 -0
  44. package/dist/components/configuration/object-array-table-dnd.js +10 -0
  45. package/dist/components/configuration/object-array-utils.d.ts +11 -0
  46. package/dist/components/configuration/object-array-utils.js +103 -0
  47. package/dist/components/configuration/object-grid-setting.svelte +79 -0
  48. package/dist/components/configuration/object-grid-setting.svelte.d.ts +10 -0
  49. package/dist/components/configuration/object-map-row.svelte +147 -0
  50. package/dist/components/configuration/object-map-row.svelte.d.ts +15 -0
  51. package/dist/components/configuration/object-map-setting.svelte +137 -0
  52. package/dist/components/configuration/object-map-setting.svelte.d.ts +14 -0
  53. package/dist/components/configuration/object-map-types.d.ts +5 -0
  54. package/dist/components/configuration/object-map-types.js +1 -0
  55. package/dist/components/configuration/options-combobox-setting.svelte +129 -0
  56. package/dist/components/configuration/options-combobox-setting.svelte.d.ts +12 -0
  57. package/dist/components/copy-button/button.svelte +93 -0
  58. package/dist/components/copy-button/button.svelte.d.ts +13 -0
  59. package/dist/components/copy-button/index.d.ts +2 -0
  60. package/dist/components/copy-button/index.js +2 -0
  61. package/dist/components/editor/editor.css +565 -0
  62. package/dist/components/editor/editor.d.ts +33 -0
  63. package/dist/components/editor/editor.js +132 -0
  64. package/dist/components/editor/editor.svelte +176 -0
  65. package/dist/components/editor/editor.svelte.d.ts +15 -0
  66. package/dist/components/editor/embedded-editor-surface.d.ts +12 -0
  67. package/dist/components/editor/embedded-editor-surface.js +22 -0
  68. package/dist/components/editor/embedded-editor-surface.svelte +115 -0
  69. package/dist/components/editor/embedded-editor-surface.svelte.d.ts +17 -0
  70. package/dist/components/editor/extensions/autocomplete/index.d.ts +2 -0
  71. package/dist/components/editor/extensions/autocomplete/index.js +2 -0
  72. package/dist/components/editor/extensions/autocomplete/lapis-code-mirror-autocomplete.d.ts +16 -0
  73. package/dist/components/editor/extensions/autocomplete/lapis-code-mirror-autocomplete.js +34 -0
  74. package/dist/components/editor/extensions/autocomplete/vault-completion-sources.d.ts +27 -0
  75. package/dist/components/editor/extensions/autocomplete/vault-completion-sources.js +55 -0
  76. package/dist/components/editor/extensions/class-highlighter/index.d.ts +1 -0
  77. package/dist/components/editor/extensions/class-highlighter/index.js +47 -0
  78. package/dist/components/editor/extensions/fold-gutter/index.d.ts +8 -0
  79. package/dist/components/editor/extensions/fold-gutter/index.js +40 -0
  80. package/dist/components/editor/extensions/gutter-line-style-sync/index.d.ts +2 -0
  81. package/dist/components/editor/extensions/gutter-line-style-sync/index.js +118 -0
  82. package/dist/components/editor/extensions/lint/index.d.ts +4 -0
  83. package/dist/components/editor/extensions/lint/index.js +4 -0
  84. package/dist/components/editor/extensions/lint/lapis-code-mirror-lint.d.ts +26 -0
  85. package/dist/components/editor/extensions/lint/lapis-code-mirror-lint.js +101 -0
  86. package/dist/components/editor/extensions/lint/lapis-lint-diagnostic-helpers.d.ts +8 -0
  87. package/dist/components/editor/extensions/lint/lapis-lint-diagnostic-helpers.js +7 -0
  88. package/dist/components/editor/extensions/lint/lapis-lint-diagnostic.d.ts +20 -0
  89. package/dist/components/editor/extensions/lint/lapis-lint-diagnostic.js +47 -0
  90. package/dist/components/editor/extensions/lint/lapis-lint-hover-tooltip.d.ts +9 -0
  91. package/dist/components/editor/extensions/lint/lapis-lint-hover-tooltip.js +373 -0
  92. package/dist/components/editor/extensions/lint/lapis-lint-inline-widget.d.ts +31 -0
  93. package/dist/components/editor/extensions/lint/lapis-lint-inline-widget.js +191 -0
  94. package/dist/components/editor/extensions/lint/lapis-lint-tooltip.svelte +176 -0
  95. package/dist/components/editor/extensions/lint/lapis-lint-tooltip.svelte.d.ts +15 -0
  96. package/dist/components/editor/extensions/lint/lint-tooltip-actions.d.ts +11 -0
  97. package/dist/components/editor/extensions/lint/lint-tooltip-actions.js +21 -0
  98. package/dist/components/editor/extensions/lint/mount-lint-tooltip.d.ts +16 -0
  99. package/dist/components/editor/extensions/lint/mount-lint-tooltip.js +60 -0
  100. package/dist/components/editor/extensions/search/dom.d.ts +2 -0
  101. package/dist/components/editor/extensions/search/dom.js +6 -0
  102. package/dist/components/editor/extensions/search/index.d.ts +35 -0
  103. package/dist/components/editor/extensions/search/index.js +44 -0
  104. package/dist/components/editor/extensions/search/search.svelte +335 -0
  105. package/dist/components/editor/extensions/search/search.svelte.d.ts +8 -0
  106. package/dist/components/editor/index.d.ts +9 -0
  107. package/dist/components/editor/index.js +9 -0
  108. package/dist/components/editor/language-service/dom.d.ts +1 -0
  109. package/dist/components/editor/language-service/dom.js +6 -0
  110. package/dist/components/editor/language-service/index.d.ts +28 -0
  111. package/dist/components/editor/language-service/index.js +342 -0
  112. package/dist/components/empty-view/empty-view.css +39 -0
  113. package/dist/components/empty-view/empty-view.svelte +26 -0
  114. package/dist/components/empty-view/empty-view.svelte.d.ts +9 -0
  115. package/dist/components/empty-view/index.d.ts +2 -0
  116. package/dist/components/empty-view/index.js +2 -0
  117. package/dist/components/icon/icon-list.css +74 -0
  118. package/dist/components/icon/icon-list.svelte +213 -0
  119. package/dist/components/icon/icon-list.svelte.d.ts +11 -0
  120. package/dist/components/icon/icon.svelte +15 -0
  121. package/dist/components/icon/icon.svelte.d.ts +7 -0
  122. package/dist/components/icon/index.d.ts +3 -0
  123. package/dist/components/icon/index.js +3 -0
  124. package/dist/components/menu/context-menu.svelte +89 -0
  125. package/dist/components/menu/context-menu.svelte.d.ts +11 -0
  126. package/dist/components/menu/drawer-menu.svelte +83 -0
  127. package/dist/components/menu/drawer-menu.svelte.d.ts +8 -0
  128. package/dist/components/menu/dropdown-menu.svelte +89 -0
  129. package/dist/components/menu/dropdown-menu.svelte.d.ts +11 -0
  130. package/dist/components/menu/index.d.ts +6 -0
  131. package/dist/components/menu/index.js +6 -0
  132. package/dist/components/menu/menu.css +139 -0
  133. package/dist/components/menu/menu.svelte +37 -0
  134. package/dist/components/menu/menu.svelte.d.ts +11 -0
  135. package/dist/components/menu/mobile-menu-query.svelte.d.ts +3 -0
  136. package/dist/components/menu/mobile-menu-query.svelte.js +21 -0
  137. package/dist/components/menu/popover-menu.svelte +90 -0
  138. package/dist/components/menu/popover-menu.svelte.d.ts +10 -0
  139. package/dist/components/select/index.d.ts +2 -0
  140. package/dist/components/select/index.js +2 -0
  141. package/dist/components/select/select.svelte +72 -0
  142. package/dist/components/select/select.svelte.d.ts +25 -0
  143. package/dist/configuration-option-source-providers.d.ts +17 -0
  144. package/dist/configuration-option-source-providers.js +59 -0
  145. package/dist/configuration-option-source-registry.d.ts +59 -0
  146. package/dist/configuration-option-source-registry.js +123 -0
  147. package/dist/configuration.svelte.d.ts +258 -0
  148. package/dist/configuration.svelte.js +887 -0
  149. package/dist/context-keys.svelte.d.ts +42 -0
  150. package/dist/context-keys.svelte.js +278 -0
  151. package/dist/context.svelte.d.ts +247 -0
  152. package/dist/context.svelte.js +540 -0
  153. package/dist/daily-document-provider.d.ts +38 -0
  154. package/dist/daily-document-provider.js +176 -0
  155. package/dist/design-core-button-types.d.ts +7 -0
  156. package/dist/design-core-button-types.js +1 -0
  157. package/dist/diagnostics.d.ts +93 -0
  158. package/dist/diagnostics.js +84 -0
  159. package/dist/dialog-portal.d.ts +3 -0
  160. package/dist/dialog-portal.js +3 -0
  161. package/dist/docs-api.d.ts +44 -0
  162. package/dist/docs-api.js +29 -0
  163. package/dist/editor-view-registry.d.ts +35 -0
  164. package/dist/editor-view-registry.js +112 -0
  165. package/dist/editor.svelte.d.ts +126 -0
  166. package/dist/editor.svelte.js +454 -0
  167. package/dist/embed-registry.d.ts +15 -0
  168. package/dist/embed-registry.js +16 -0
  169. package/dist/enhance.d.ts +111 -0
  170. package/dist/enhance.js +309 -0
  171. package/dist/events.d.ts +28 -0
  172. package/dist/events.js +49 -0
  173. package/dist/file-manager.d.ts +90 -0
  174. package/dist/file-manager.js +289 -0
  175. package/dist/file-tools/app-tools.d.ts +3 -0
  176. package/dist/file-tools/app-tools.js +242 -0
  177. package/dist/file-tools/index.d.ts +3 -0
  178. package/dist/file-tools/index.js +3 -0
  179. package/dist/file-tools/paths.d.ts +14 -0
  180. package/dist/file-tools/paths.js +33 -0
  181. package/dist/file-tools/vault-operations.d.ts +3 -0
  182. package/dist/file-tools/vault-operations.js +60 -0
  183. package/dist/generated/plugin-host-modules.schema.generated.d.ts +371 -0
  184. package/dist/generated/plugin-host-modules.schema.generated.js +374 -0
  185. package/dist/glob.d.ts +15 -0
  186. package/dist/glob.js +68 -0
  187. package/dist/history.svelte.d.ts +24 -0
  188. package/dist/history.svelte.js +74 -0
  189. package/dist/hooks/createVirtualizer.svelte.d.ts +7 -0
  190. package/dist/hooks/createVirtualizer.svelte.js +70 -0
  191. package/dist/hooks/index.d.ts +5 -0
  192. package/dist/hooks/index.js +5 -0
  193. package/dist/hooks/is-mobile.svelte.d.ts +5 -0
  194. package/dist/hooks/is-mobile.svelte.js +23 -0
  195. package/dist/hooks/mountComponent.svelte.d.ts +7 -0
  196. package/dist/hooks/mountComponent.svelte.js +16 -0
  197. package/dist/hooks/use-text-highlight.d.ts +17 -0
  198. package/dist/hooks/use-text-highlight.js +82 -0
  199. package/dist/hooks/useBoundingRect.svelte.d.ts +11 -0
  200. package/dist/hooks/useBoundingRect.svelte.js +46 -0
  201. package/dist/icons/index.d.ts +57 -0
  202. package/dist/icons/index.js +288 -0
  203. package/dist/index.d.ts +87 -0
  204. package/dist/index.js +87 -0
  205. package/dist/language-service/index.d.ts +9 -0
  206. package/dist/language-service/index.js +7 -0
  207. package/dist/language-service/manager.d.ts +47 -0
  208. package/dist/language-service/manager.js +404 -0
  209. package/dist/language-service/types.d.ts +92 -0
  210. package/dist/language-service/types.js +1 -0
  211. package/dist/language-service/virtual-document.d.ts +11 -0
  212. package/dist/language-service/virtual-document.js +45 -0
  213. package/dist/language-service/worker-protocol.d.ts +63 -0
  214. package/dist/language-service/worker-protocol.js +1 -0
  215. package/dist/language-service/worker-provider.d.ts +9 -0
  216. package/dist/language-service/worker-provider.js +38 -0
  217. package/dist/lapis-extension.d.ts +244 -0
  218. package/dist/lapis-extension.js +591 -0
  219. package/dist/links.d.ts +34 -0
  220. package/dist/links.js +191 -0
  221. package/dist/loaders.d.ts +9 -0
  222. package/dist/loaders.js +59 -0
  223. package/dist/localization-manager.svelte.d.ts +56 -0
  224. package/dist/localization-manager.svelte.js +157 -0
  225. package/dist/logging.d.ts +172 -0
  226. package/dist/logging.js +352 -0
  227. package/dist/markdown-extension-registry.d.ts +31 -0
  228. package/dist/markdown-extension-registry.js +31 -0
  229. package/dist/markdown-file-surface-registry.d.ts +25 -0
  230. package/dist/markdown-file-surface-registry.js +23 -0
  231. package/dist/markdown.d.ts +205 -0
  232. package/dist/markdown.js +147 -0
  233. package/dist/menu-utils.d.ts +1 -0
  234. package/dist/menu-utils.js +47 -0
  235. package/dist/menu.svelte.d.ts +121 -0
  236. package/dist/menu.svelte.js +295 -0
  237. package/dist/metadata-value.d.ts +10 -0
  238. package/dist/metadata-value.js +173 -0
  239. package/dist/metadata.svelte.d.ts +106 -0
  240. package/dist/metadata.svelte.js +608 -0
  241. package/dist/notifications.d.ts +209 -0
  242. package/dist/notifications.js +338 -0
  243. package/dist/open-file.d.ts +23 -0
  244. package/dist/open-file.js +102 -0
  245. package/dist/platform.d.ts +86 -0
  246. package/dist/platform.js +86 -0
  247. package/dist/plugin-asset-server.d.ts +60 -0
  248. package/dist/plugin-asset-server.js +222 -0
  249. package/dist/plugin-assets.d.ts +4 -0
  250. package/dist/plugin-assets.js +3 -0
  251. package/dist/plugin-capability-facade.d.ts +104 -0
  252. package/dist/plugin-capability-facade.js +61 -0
  253. package/dist/plugin-dependency-resolver.d.ts +36 -0
  254. package/dist/plugin-dependency-resolver.js +54 -0
  255. package/dist/plugin-dependency-scanner.d.ts +9 -0
  256. package/dist/plugin-dependency-scanner.js +274 -0
  257. package/dist/plugin-distribution/canonical-json.d.ts +1 -0
  258. package/dist/plugin-distribution/canonical-json.js +40 -0
  259. package/dist/plugin-distribution/compatibility.d.ts +5 -0
  260. package/dist/plugin-distribution/compatibility.js +38 -0
  261. package/dist/plugin-distribution/errors.d.ts +11 -0
  262. package/dist/plugin-distribution/errors.js +13 -0
  263. package/dist/plugin-distribution/hashes.d.ts +2 -0
  264. package/dist/plugin-distribution/hashes.js +17 -0
  265. package/dist/plugin-distribution/index.d.ts +18 -0
  266. package/dist/plugin-distribution/index.js +18 -0
  267. package/dist/plugin-distribution/installed-plugin-state.d.ts +20 -0
  268. package/dist/plugin-distribution/installed-plugin-state.js +73 -0
  269. package/dist/plugin-distribution/installer.d.ts +89 -0
  270. package/dist/plugin-distribution/installer.js +395 -0
  271. package/dist/plugin-distribution/manager.d.ts +128 -0
  272. package/dist/plugin-distribution/manager.js +358 -0
  273. package/dist/plugin-distribution/path-safety.d.ts +2 -0
  274. package/dist/plugin-distribution/path-safety.js +20 -0
  275. package/dist/plugin-distribution/plugin-bundle-verifier.d.ts +28 -0
  276. package/dist/plugin-distribution/plugin-bundle-verifier.js +96 -0
  277. package/dist/plugin-distribution/plugin-bundle-worker.d.ts +34 -0
  278. package/dist/plugin-distribution/plugin-bundle-worker.js +99 -0
  279. package/dist/plugin-distribution/plugin-bundle.d.ts +16 -0
  280. package/dist/plugin-distribution/plugin-bundle.js +244 -0
  281. package/dist/plugin-distribution/plugin-bundle.worker.d.ts +1 -0
  282. package/dist/plugin-distribution/plugin-bundle.worker.js +38 -0
  283. package/dist/plugin-distribution/registry-cache.d.ts +26 -0
  284. package/dist/plugin-distribution/registry-cache.js +85 -0
  285. package/dist/plugin-distribution/registry-client.d.ts +36 -0
  286. package/dist/plugin-distribution/registry-client.js +115 -0
  287. package/dist/plugin-distribution/reserved-ids.d.ts +4 -0
  288. package/dist/plugin-distribution/reserved-ids.js +10 -0
  289. package/dist/plugin-distribution/runtime-validation.d.ts +14 -0
  290. package/dist/plugin-distribution/runtime-validation.js +388 -0
  291. package/dist/plugin-distribution/schemas.d.ts +4895 -0
  292. package/dist/plugin-distribution/schemas.js +299 -0
  293. package/dist/plugin-distribution/signing.d.ts +5 -0
  294. package/dist/plugin-distribution/signing.js +38 -0
  295. package/dist/plugin-distribution/types.d.ts +217 -0
  296. package/dist/plugin-distribution/types.js +1 -0
  297. package/dist/plugin-install-progress.d.ts +15 -0
  298. package/dist/plugin-install-progress.js +86 -0
  299. package/dist/plugin-manager.d.ts +306 -0
  300. package/dist/plugin-manager.js +2848 -0
  301. package/dist/plugin-runtime-entry.d.ts +19 -0
  302. package/dist/plugin-runtime-entry.js +135 -0
  303. package/dist/plugin.d.ts +350 -0
  304. package/dist/plugin.js +754 -0
  305. package/dist/popover.d.ts +20 -0
  306. package/dist/popover.js +32 -0
  307. package/dist/promise-worker.d.ts +22 -0
  308. package/dist/promise-worker.js +65 -0
  309. package/dist/prompt-confirm.d.ts +9 -0
  310. package/dist/prompt-confirm.js +33 -0
  311. package/dist/search-document-provider.d.ts +45 -0
  312. package/dist/search-document-provider.js +54 -0
  313. package/dist/search-query/index.d.ts +78 -0
  314. package/dist/search-query/index.js +426 -0
  315. package/dist/search-query/parser.d.ts +3 -0
  316. package/dist/search-query/parser.js +16 -0
  317. package/dist/search-query/parser.terms.js +26 -0
  318. package/dist/search-query/search-query.grammar +128 -0
  319. package/dist/search.d.ts +19 -0
  320. package/dist/search.js +104 -0
  321. package/dist/setting-section-layout.d.ts +19 -0
  322. package/dist/setting-section-layout.js +194 -0
  323. package/dist/settings.svelte.d.ts +474 -0
  324. package/dist/settings.svelte.js +1421 -0
  325. package/dist/source-text-file-view.d.ts +25 -0
  326. package/dist/source-text-file-view.js +78 -0
  327. package/dist/status-bar.svelte.d.ts +29 -0
  328. package/dist/status-bar.svelte.js +72 -0
  329. package/dist/storage/app-database.d.ts +860 -0
  330. package/dist/storage/app-database.js +2372 -0
  331. package/dist/storage/blob-store.d.ts +12 -0
  332. package/dist/storage/blob-store.js +1 -0
  333. package/dist/storage/browser-app-database-coordination.d.ts +35 -0
  334. package/dist/storage/browser-app-database-coordination.js +207 -0
  335. package/dist/storage/browser-coordinated-app-database.d.ts +109 -0
  336. package/dist/storage/browser-coordinated-app-database.js +704 -0
  337. package/dist/storage/browser.d.ts +153 -0
  338. package/dist/storage/browser.js +794 -0
  339. package/dist/storage/desktop-native.d.ts +184 -0
  340. package/dist/storage/desktop-native.js +415 -0
  341. package/dist/storage/fs.d.ts +188 -0
  342. package/dist/storage/fs.js +307 -0
  343. package/dist/storage/index-projection.d.ts +236 -0
  344. package/dist/storage/index-projection.js +402 -0
  345. package/dist/storage/index.d.ts +17 -0
  346. package/dist/storage/index.js +17 -0
  347. package/dist/storage/keyval.d.ts +94 -0
  348. package/dist/storage/keyval.js +199 -0
  349. package/dist/storage/memory-vault-adapter.d.ts +44 -0
  350. package/dist/storage/memory-vault-adapter.js +351 -0
  351. package/dist/storage/native-vault-bootstrap-kv.d.ts +22 -0
  352. package/dist/storage/native-vault-bootstrap-kv.js +96 -0
  353. package/dist/storage/path.d.ts +22 -0
  354. package/dist/storage/path.js +110 -0
  355. package/dist/storage/search-embedding-provider.d.ts +75 -0
  356. package/dist/storage/search-embedding-provider.js +446 -0
  357. package/dist/storage/search-embedding-worker.d.ts +1 -0
  358. package/dist/storage/search-embedding-worker.js +63 -0
  359. package/dist/storage/search-query-evaluator.d.ts +14 -0
  360. package/dist/storage/search-query-evaluator.js +678 -0
  361. package/dist/storage/task-projection.d.ts +152 -0
  362. package/dist/storage/task-projection.js +154 -0
  363. package/dist/storage/turso-app-database.d.ts +150 -0
  364. package/dist/storage/turso-app-database.js +2671 -0
  365. package/dist/storage/vault-session.d.ts +37 -0
  366. package/dist/storage/vault-session.js +196 -0
  367. package/dist/storage/vault-state.d.ts +74 -0
  368. package/dist/storage/vault-state.js +181 -0
  369. package/dist/storage/vault.svelte.d.ts +257 -0
  370. package/dist/storage/vault.svelte.js +661 -0
  371. package/dist/suggest.d.ts +193 -0
  372. package/dist/suggest.js +391 -0
  373. package/dist/tasks.d.ts +7 -0
  374. package/dist/tasks.js +18 -0
  375. package/dist/telemetry.d.ts +116 -0
  376. package/dist/telemetry.js +103 -0
  377. package/dist/utils.d.ts +55 -0
  378. package/dist/utils.js +314 -0
  379. package/dist/vault-api.d.ts +5 -0
  380. package/dist/vault-api.js +3 -0
  381. package/dist/vault-maintenance-commands.d.ts +5 -0
  382. package/dist/vault-maintenance-commands.js +32 -0
  383. package/dist/view.svelte.d.ts +215 -0
  384. package/dist/view.svelte.js +381 -0
  385. package/dist/vite-env.d.ts +2 -0
  386. package/dist/workspace-host-internal.d.ts +7 -0
  387. package/dist/workspace-host-internal.js +7 -0
  388. package/dist/workspace-host.d.ts +10 -0
  389. package/dist/workspace-host.js +14 -0
  390. package/dist/workspace-layout-commands.d.ts +3 -0
  391. package/dist/workspace-layout-commands.js +72 -0
  392. package/dist/workspace-layout-normalizer.d.ts +92 -0
  393. package/dist/workspace-layout-normalizer.js +301 -0
  394. package/dist/workspace-layouts.d.ts +7 -0
  395. package/dist/workspace-layouts.js +23 -0
  396. package/dist/workspace-trust.d.ts +32 -0
  397. package/dist/workspace-trust.js +72 -0
  398. package/dist/workspace.svelte.d.ts +796 -0
  399. package/dist/workspace.svelte.js +4380 -0
  400. package/package.json +240 -0
@@ -0,0 +1,796 @@
1
+ import { EventDispatcher, type EventMap } from "./events";
2
+ import { View, type ViewState, type ViewStateResult } from "./view.svelte";
3
+ import type { Menu } from "./menu.svelte";
4
+ import { TFile, type TAbstractFile } from "./storage/fs";
5
+ import type { Editor, MarkdownFileInfo } from "./editor.svelte";
6
+ import { SidebarState, type SidebarStateProps } from "@lapis-notes/ui/sidebar-custom";
7
+ import { HistoryManager } from "./history.svelte";
8
+ import type { TransactionSpec } from "@codemirror/state";
9
+ import type { App } from "./context.svelte";
10
+ import { EditorViewRegistry, type EditorViewContribution, type RegisteredEditorViewContribution } from "./editor-view-registry";
11
+ /** @public */
12
+ export type Constructor<T> = abstract new (...args: any[]) => T;
13
+ /**
14
+ * Declarative target used by workspace hint and focus overlays.
15
+ *
16
+ * @public
17
+ */
18
+ export interface WorkspaceHintTarget {
19
+ id: string;
20
+ type: string;
21
+ label: string;
22
+ action: string;
23
+ element: HTMLElement;
24
+ leafId?: string;
25
+ commandId?: string;
26
+ description?: string;
27
+ group?: string;
28
+ }
29
+ export declare abstract class WorkspaceItem<T extends EventMap<T> = EventMap<any>> extends EventDispatcher<T> {
30
+ parent: WorkspaceParent;
31
+ #private;
32
+ id: string;
33
+ constructor();
34
+ /** Bind a root workspace item to its owning workspace. */
35
+ bindWorkspace(workspace: Workspace): this;
36
+ /** The workspace that owns this item, when it has been attached. */
37
+ get workspace(): Workspace | undefined;
38
+ /** The application that owns this item, when it has been attached. */
39
+ get application(): App | undefined;
40
+ /** Resolve the owning application before using the compatibility alias. */
41
+ get app(): App;
42
+ _root: WorkspaceItem | undefined;
43
+ getRoot(): WorkspaceItem;
44
+ }
45
+ export declare abstract class WorkspaceParent<T extends EventMap<T> = EventMap<any>> extends WorkspaceItem<T> {
46
+ constructor();
47
+ }
48
+ type WorkspaceSplitJson = {
49
+ id: string;
50
+ type: "split";
51
+ direction: "horizontal" | "vertical";
52
+ sizes: number[];
53
+ children: Array<WorkspaceSplitJson | WorkspaceTabsJson>;
54
+ };
55
+ type WorkspaceWindowJson = {
56
+ id: string;
57
+ type: "floating";
58
+ mode?: WorkspaceWindowMode;
59
+ displayState?: WorkspaceWindowPersistedDisplayState;
60
+ direction: "horizontal" | "vertical";
61
+ sizes: number[];
62
+ x: number;
63
+ y: number;
64
+ width: number;
65
+ height: number;
66
+ children: Array<WorkspaceSplitJson | WorkspaceTabsJson>;
67
+ };
68
+ export type WorkspaceWindowMode = "floating" | "popout";
69
+ export type WorkspaceWindowDisplayState = "normal" | "collapsed" | "minimized" | "maximized";
70
+ export declare const WORKSPACE_ROOT_HOST_ID = "root";
71
+ type WorkspaceWindowPersistedDisplayState = Extract<WorkspaceWindowDisplayState, "collapsed" | "minimized">;
72
+ export interface WorkspacePopoutHostHandle {
73
+ readonly win: Window;
74
+ readonly doc: Document;
75
+ focus(): void;
76
+ close(): void;
77
+ onClose(listener: () => void): () => void;
78
+ }
79
+ export interface WorkspacePopoutHost {
80
+ supportsPopouts(): boolean;
81
+ openWindow(data?: WorkspaceWindowInitData): WorkspacePopoutHostHandle | null;
82
+ }
83
+ export declare const WORKSPACE_POPOUT_UNSUPPORTED_ERROR_MESSAGE = "Workspace popout windows are not supported in the current renderer host.";
84
+ export declare function setWorkspacePopoutHost(host: WorkspacePopoutHost | null): void;
85
+ export declare function getWorkspacePopoutHost(): WorkspacePopoutHost | null;
86
+ export declare function supportsWorkspacePopouts(): boolean;
87
+ export declare abstract class WorkspaceSplit<T extends EventMap<T> = EventMap<any>> extends WorkspaceParent<T> {
88
+ type: "horizontal" | "vertical";
89
+ children: Array<WorkspaceTabs | WorkspaceView>;
90
+ sizes: number[];
91
+ constructor(type?: "horizontal" | "vertical");
92
+ loadJson(layout: WorkspaceSplitJson): Promise<void>;
93
+ toJson(): WorkspaceSplitJson;
94
+ addChild(child: WorkspaceTabs | WorkspaceView, index?: number): void;
95
+ iterateAllSplits<T = any>(callback: (split: WorkspaceSplit<any>) => T): T | void;
96
+ iterateAllTabs<T = any>(callback: (tab: WorkspaceTabs) => T): T | void;
97
+ iterateAllLeaves<T = any>(callback: (leaf: WorkspaceLeaf) => T): T | void;
98
+ onEmpty(): void;
99
+ removeChild(index: number | WorkspaceTabs | WorkspaceSplit, softDelete?: boolean): WorkspaceTabs | WorkspaceView | undefined;
100
+ get topLeft(): void | WorkspaceTabs;
101
+ get topRight(): WorkspaceTabs;
102
+ }
103
+ export declare class WorkspaceView extends WorkspaceSplit {
104
+ }
105
+ type WorkspaceSidedockJson = WorkspaceSplitJson & {
106
+ width: string;
107
+ };
108
+ /**
109
+ * Collapsible split container used for the left and right workspace sidebars.
110
+ *
111
+ * @public
112
+ */
113
+ export declare class WorkspaceSidedock extends WorkspaceSplit<{
114
+ "sidebar-changed": [id: string, open: boolean, width: string];
115
+ }> {
116
+ protected open: boolean;
117
+ sidebar: SidebarState;
118
+ constructor(options?: Partial<SidebarStateProps>);
119
+ loadJson(layout: WorkspaceSidedockJson): Promise<void>;
120
+ toJson(): WorkspaceSidedockJson;
121
+ onEmpty(): void;
122
+ get size(): string;
123
+ get collapsed(): boolean;
124
+ toggle(): void;
125
+ collapse(): void;
126
+ expand(): void;
127
+ }
128
+ export declare abstract class WorkspaceContainer<T extends EventMap<T> = EventMap<any>> extends WorkspaceSplit<T> {
129
+ /** @public */
130
+ abstract win: Window;
131
+ /** @public */
132
+ abstract doc: Document;
133
+ }
134
+ export declare class WorkspaceRoot extends WorkspaceContainer {
135
+ readonly win: Window;
136
+ readonly doc: Document;
137
+ constructor(win?: Window, doc?: Document);
138
+ }
139
+ export declare class WorkspaceWindow extends WorkspaceContainer {
140
+ mode: WorkspaceWindowMode;
141
+ displayState: WorkspaceWindowDisplayState;
142
+ x: number;
143
+ y: number;
144
+ width: number;
145
+ height: number;
146
+ win: Window;
147
+ doc: Document;
148
+ private focusHost;
149
+ private closeHost;
150
+ private detachHostClose;
151
+ constructor(data?: WorkspaceWindowInitData, win?: Window, doc?: Document);
152
+ private applyInitData;
153
+ attachPopoutHandle(handle: WorkspacePopoutHostHandle, onClose: () => void): void;
154
+ focusPopoutWindow(): void;
155
+ closePopoutWindow(): void;
156
+ loadWindowJson(layout: WorkspaceWindowJson): Promise<void>;
157
+ toWindowJson(): WorkspaceWindowJson;
158
+ setBounds(bounds: Partial<Record<"x" | "y" | "width" | "height", number>>): void;
159
+ setDisplayState(displayState: WorkspaceWindowDisplayState): void;
160
+ removeChild(index: number | WorkspaceTabs | WorkspaceSplit, softDelete?: boolean): WorkspaceTabs | WorkspaceView | undefined;
161
+ }
162
+ export interface WorkspaceWindowInitData {
163
+ mode?: WorkspaceWindowMode;
164
+ displayState?: WorkspaceWindowDisplayState;
165
+ x?: number;
166
+ y?: number;
167
+ size?: {
168
+ width: number;
169
+ height: number;
170
+ };
171
+ }
172
+ export declare class WorkspaceFloating extends WorkspaceParent {
173
+ children: WorkspaceWindow[];
174
+ loadJson(layouts?: WorkspaceWindowJson[]): Promise<any[]>;
175
+ toJson(): WorkspaceWindowJson[];
176
+ addChild(child: WorkspaceWindow, index?: number): void;
177
+ bringToFront(child: WorkspaceWindow): void;
178
+ removeChild(index: number | WorkspaceWindow, softDelete?: boolean): WorkspaceWindow | undefined;
179
+ iterateAllLeaves<T = any>(callback: (leaf: WorkspaceLeaf) => T): T | void;
180
+ }
181
+ export declare class WorkspaceMobileDrawer extends WorkspaceParent {
182
+ collapsed: boolean;
183
+ expand(): void;
184
+ collapse(): void;
185
+ toggle(): void;
186
+ }
187
+ type WorkspaceTabsJson = {
188
+ id: string;
189
+ type: "tabs";
190
+ stacked: boolean;
191
+ children: WorkspaceTabsChildJson[];
192
+ currentTab: number;
193
+ };
194
+ type WorkspaceBottomPanelJson = WorkspaceTabsJson & {
195
+ height: string;
196
+ };
197
+ type WorkspaceTabsChildJson = WorkspaceLeafJson | WorkspaceSidebarGroupJson;
198
+ type WorkspaceSidebarGroupJson = {
199
+ id: string;
200
+ type: "sidebar-group";
201
+ name: string;
202
+ icon?: string;
203
+ hiddenLeafIds?: string[];
204
+ collapsed?: Record<string, boolean>;
205
+ panelSizes?: Record<string, number>;
206
+ selectedLeafId?: string;
207
+ children: WorkspaceLeafJson[];
208
+ };
209
+ export type SidebarSide = "left" | "right";
210
+ export interface SidebarViewPlacementOptions {
211
+ side?: SidebarSide;
212
+ group?: string;
213
+ groupTitle?: string;
214
+ groupIcon?: string;
215
+ title?: string;
216
+ icon?: string;
217
+ hidden?: boolean;
218
+ }
219
+ export interface EnsureSideLeafOptions extends SidebarViewPlacementOptions {
220
+ }
221
+ export interface SidebarGroupOptions {
222
+ id?: string;
223
+ name?: string;
224
+ icon?: string;
225
+ hiddenLeafIds?: string[];
226
+ collapsed?: Record<string, boolean>;
227
+ panelSizes?: Record<string, number>;
228
+ }
229
+ export type WorkspaceTabsChild = WorkspaceLeaf | WorkspaceSidebarGroup;
230
+ /**
231
+ * Sidebar-only container that groups leaves into a named view container.
232
+ *
233
+ * @public
234
+ */
235
+ export declare class WorkspaceSidebarGroup extends WorkspaceParent {
236
+ parent: WorkspaceTabs;
237
+ name: string;
238
+ icon: string | undefined;
239
+ hiddenLeafIds: string[];
240
+ collapsed: Record<string, boolean>;
241
+ panelSizes: Record<string, number>;
242
+ selectedLeafId: string | undefined;
243
+ children: WorkspaceLeaf[];
244
+ constructor(options?: SidebarGroupOptions);
245
+ detach(softDelete?: boolean): WorkspaceTabsChild | undefined;
246
+ addChild(child: WorkspaceLeaf, index?: number): void;
247
+ removeChild(index: number | WorkspaceLeaf, softDelete?: boolean): WorkspaceLeaf | undefined;
248
+ getSelectedLeaf(): WorkspaceLeaf | null;
249
+ selectLeaf(leaf: WorkspaceLeaf): void;
250
+ iterateAllLeaves<T = any>(callback: (leaf: WorkspaceLeaf) => T): T | void;
251
+ isLeafHidden(leaf: WorkspaceLeaf | string): boolean;
252
+ setLeafHidden(leaf: WorkspaceLeaf | string, hidden: boolean): void;
253
+ isLeafCollapsed(leaf: WorkspaceLeaf | string): boolean;
254
+ setLeafCollapsed(leaf: WorkspaceLeaf | string, collapsed: boolean): void;
255
+ getLeafPanelSize(leaf: WorkspaceLeaf | string): number | undefined;
256
+ setPanelSizes(leaves: WorkspaceLeaf[], sizes: number[]): void;
257
+ private serializedPanelSizes;
258
+ loadJson(layout: WorkspaceSidebarGroupJson): Promise<void>;
259
+ toJson(): WorkspaceSidebarGroupJson;
260
+ }
261
+ /**
262
+ * Tab strip container for root and sidebar workspace leaves.
263
+ *
264
+ * @public
265
+ */
266
+ export declare class WorkspaceTabs extends WorkspaceParent {
267
+ containerEl: HTMLElement | null;
268
+ stacked: boolean;
269
+ _selected: string;
270
+ parent: WorkspaceSplit<Record<string, any>>;
271
+ children: WorkspaceTabsChild[];
272
+ constructor(props?: Partial<{
273
+ leaves: WorkspaceLeaf[];
274
+ stacked: boolean;
275
+ }>);
276
+ loadJson(layout: WorkspaceTabsJson): Promise<void>;
277
+ toJson(): WorkspaceTabsJson;
278
+ get selected(): string;
279
+ get sideBar(): WorkspaceSidedock | undefined;
280
+ inSideBar(): boolean;
281
+ get selectedIndex(): number;
282
+ get selectedChild(): WorkspaceTabsChild | undefined;
283
+ get selectedLeaf(): WorkspaceLeaf | null;
284
+ set selected(value: string | number | WorkspaceTabsChild);
285
+ detach(softDelete?: boolean): WorkspaceTabs | WorkspaceView | undefined;
286
+ addChild(child: WorkspaceTabsChild, index?: number): void;
287
+ iterateAllLeaves<T = any>(callback: (leaf: WorkspaceLeaf) => T): T | void;
288
+ removeChild(index: number | WorkspaceTabsChild, softDelete?: boolean): WorkspaceTabsChild | undefined;
289
+ closeAll(): void;
290
+ }
291
+ /** Stable compatibility wrapper for design-core's bottom workspace dock. */
292
+ export declare class WorkspaceBottomPanel extends WorkspaceTabs {
293
+ readonly ownerWorkspace: Workspace;
294
+ protected open: boolean;
295
+ protected height: string;
296
+ constructor(ownerWorkspace: Workspace);
297
+ loadJson(layout: WorkspaceBottomPanelJson): Promise<void>;
298
+ toJson(): WorkspaceBottomPanelJson;
299
+ get size(): number;
300
+ get collapsed(): boolean;
301
+ expand(): void;
302
+ collapse(): void;
303
+ toggle(): void;
304
+ detach(): undefined;
305
+ removeChild(index: number | WorkspaceTabsChild, softDelete?: boolean): WorkspaceTabsChild | undefined;
306
+ closeAll(): void;
307
+ getRoot(): WorkspaceItem;
308
+ /** @internal */
309
+ _applyOpen(open: boolean): void;
310
+ /** @internal */
311
+ _applySize(size: number): void;
312
+ }
313
+ export type ViewCreator = (leaf: WorkspaceLeaf) => View;
314
+ export type PaneType = "tab" | "split" | "window";
315
+ export type SplitDirection = "vertical" | "horizontal";
316
+ type WorkspaceRibbonItem = {
317
+ id: string;
318
+ icon: string;
319
+ title: string;
320
+ hidden: boolean;
321
+ callback: (event: MouseEvent) => void;
322
+ };
323
+ export declare class WorkspaceRibbon {
324
+ readonly workspace: Workspace;
325
+ open: boolean;
326
+ containerEl: HTMLElement;
327
+ ribbonSettingsEl: HTMLElement;
328
+ ribbonItemsEl: HTMLUListElement;
329
+ private _items;
330
+ constructor(workspace: Workspace);
331
+ get items(): WorkspaceRibbonItem[];
332
+ addItem(item: WorkspaceRibbonItem): () => void;
333
+ removeItem(id: string): void;
334
+ }
335
+ type WorkspaceJson = {
336
+ main: WorkspaceSplitJson;
337
+ left: WorkspaceSidedockJson;
338
+ right: WorkspaceSidedockJson;
339
+ bottom: WorkspaceBottomPanelJson;
340
+ floating?: WorkspaceWindowJson[];
341
+ active?: string;
342
+ };
343
+ export type WorkspaceLayoutChangeSource = "api" | "drag-drop" | "layout-load" | "resize" | "bottom-panel" | "popout";
344
+ export interface WorkspaceLayoutChangeEvent {
345
+ source: WorkspaceLayoutChangeSource;
346
+ operation?: string;
347
+ }
348
+ export type WorkspaceOpenLeafRegion = "main" | "left" | "right" | "bottom" | "floating" | "popout";
349
+ export interface WorkspaceOpenLeafEntry {
350
+ id: string;
351
+ leaf: WorkspaceLeaf;
352
+ title: string;
353
+ icon: string;
354
+ viewType: string;
355
+ filePath?: string;
356
+ region: WorkspaceOpenLeafRegion;
357
+ active: boolean;
358
+ selectedInParent: boolean;
359
+ parentTabsId?: string;
360
+ parentGroupId?: string;
361
+ parentGroupName?: string;
362
+ parentWindowId?: string;
363
+ parentWindowMode?: WorkspaceWindowMode;
364
+ }
365
+ export interface WorkspaceOpenLeafEntryOptions {
366
+ includeMain?: boolean;
367
+ includeLeftSidebar?: boolean;
368
+ includeRightSidebar?: boolean;
369
+ includeBottomPanel?: boolean;
370
+ includeFloating?: boolean;
371
+ includePopout?: boolean;
372
+ }
373
+ export type WorkspaceBottomPanelAlignment = "left" | "right" | "center" | "justify";
374
+ export interface WorkspaceActivateLeafOptions {
375
+ focusRootHost?: boolean;
376
+ saveLayout?: boolean;
377
+ source?: WorkspaceLayoutChangeSource;
378
+ operation?: string;
379
+ }
380
+ export type WorkspaceLayoutDropPosition = "left" | "right" | "top" | "bottom" | "center";
381
+ export type WorkspaceLayoutDropSource = "html5" | "pointer" | "api";
382
+ export interface WorkspaceFocusModeState {
383
+ leaf: WorkspaceLeaf;
384
+ tabs: WorkspaceTabs;
385
+ }
386
+ export interface WorkspaceLayoutDropEvent {
387
+ source: WorkspaceLayoutDropSource;
388
+ operation: string;
389
+ position: WorkspaceLayoutDropPosition;
390
+ target: WorkspaceItem;
391
+ item?: WorkspaceLeaf | WorkspaceSidebarGroup;
392
+ file?: TFile;
393
+ defaultPrevented: boolean;
394
+ preventDefault(): void;
395
+ }
396
+ export interface HoverLinkSource {
397
+ /**
398
+ * Text displayed in the 'Page preview' plugin settings. It should match the
399
+ * plugin's display name.
400
+ *
401
+ * @public
402
+ */
403
+ display: string;
404
+ /**
405
+ * Whether the `hover-link` event requires the 'Mod' key to be pressed to
406
+ * trigger.
407
+ *
408
+ * @public
409
+ */
410
+ defaultMod: boolean;
411
+ }
412
+ /**
413
+ * Owns the workspace layout tree, leaf registry, and view-type routing.
414
+ *
415
+ * `Workspace` coordinates default file navigation, sidebar placement, layout
416
+ * persistence, and the active editor/leaf state that plugins interact with.
417
+ *
418
+ * @public
419
+ */
420
+ export declare class Workspace extends EventDispatcher<{
421
+ resize: [any];
422
+ "active-leaf-change": [leaf?: WorkspaceLeaf | null];
423
+ "focus-mode-change": [state: WorkspaceFocusModeState | null];
424
+ "layout-ready": [];
425
+ "layout-change": [event: WorkspaceLayoutChangeEvent];
426
+ "layout-drag-start": [event: WorkspaceLayoutDropEvent];
427
+ "layout-drag-end": [event: WorkspaceLayoutDropEvent];
428
+ "layout-will-show-overlay": [event: WorkspaceLayoutDropEvent];
429
+ "layout-will-drop": [event: WorkspaceLayoutDropEvent];
430
+ "layout-did-drop": [event: WorkspaceLayoutDropEvent];
431
+ "quick-preview": [file: TFile, string];
432
+ "file-open": [file: TFile | null];
433
+ "file-change": [file: TFile, event: string];
434
+ "file-menu": [
435
+ menu: Menu,
436
+ file: TAbstractFile,
437
+ source: string,
438
+ leaf?: WorkspaceLeaf
439
+ ];
440
+ "files-menu": [
441
+ menu: Menu,
442
+ files: TAbstractFile[],
443
+ source: string,
444
+ leaf?: WorkspaceLeaf
445
+ ];
446
+ "editor-menu": [menu: Menu, editor: Editor];
447
+ "editor-updated": [editor: Editor, transactions: readonly TransactionSpec[]];
448
+ }> {
449
+ readonly app: App;
450
+ private viewTypes;
451
+ private viewExtensions;
452
+ readonly editorViews: EditorViewRegistry;
453
+ private sidebarViewPlacements;
454
+ private hoverLinkSources;
455
+ rootContainer: WorkspaceRoot;
456
+ rootSplit: WorkspaceView;
457
+ _activeLeaf: WorkspaceLeaf | null;
458
+ focusMode: WorkspaceFocusModeState | null;
459
+ focusedHostId: string;
460
+ leftSplit: WorkspaceSidedock;
461
+ rightSplit: WorkspaceSidedock;
462
+ bottomPanel: WorkspaceBottomPanel;
463
+ floating: WorkspaceFloating;
464
+ layoutReady: boolean;
465
+ private layoutHandlers;
466
+ private suspendedLayoutPersistence;
467
+ private workspaceLayoutFile;
468
+ statusEl: HTMLElement;
469
+ statusCompatEl: HTMLElement;
470
+ leftRibbon: WorkspaceRibbon;
471
+ rightRibbon: WorkspaceRibbon;
472
+ containerEl: HTMLElement;
473
+ private saveLayoutDebounced;
474
+ requestSaveLayout(event?: WorkspaceLayoutChangeEvent): void;
475
+ private withoutLayoutPersistence;
476
+ private dispatchLayoutDropEvent;
477
+ willShowLayoutDropOverlay(options: Omit<WorkspaceLayoutDropEvent, "defaultPrevented" | "preventDefault">): WorkspaceLayoutDropEvent;
478
+ startLayoutDrag(options: Omit<WorkspaceLayoutDropEvent, "defaultPrevented" | "preventDefault">): WorkspaceLayoutDropEvent;
479
+ endLayoutDrag(options: Omit<WorkspaceLayoutDropEvent, "defaultPrevented" | "preventDefault">): WorkspaceLayoutDropEvent;
480
+ moveWorkspaceChildToTabIndex(item: WorkspaceLeaf | WorkspaceSidebarGroup, target: WorkspaceTabs, index: number, options: {
481
+ position: Extract<WorkspaceLayoutDropPosition, "left" | "right">;
482
+ source?: WorkspaceLayoutDropSource;
483
+ operation?: string;
484
+ }): boolean;
485
+ dropWorkspaceItemOnTabs(parent: WorkspaceTabs | WorkspaceSplit, options: {
486
+ position: WorkspaceLayoutDropPosition;
487
+ item?: WorkspaceLeaf;
488
+ file?: TFile;
489
+ source?: WorkspaceLayoutDropSource;
490
+ operation?: string;
491
+ }): Promise<boolean>;
492
+ moveLeafToSidebarGroupIndex(leaf: WorkspaceLeaf, group: WorkspaceSidebarGroup, index: number, options: {
493
+ position: Extract<WorkspaceLayoutDropPosition, "top" | "bottom">;
494
+ source?: WorkspaceLayoutDropSource;
495
+ operation?: string;
496
+ }): boolean;
497
+ moveLeafToSidebarGroup(leaf: WorkspaceLeaf, group: WorkspaceSidebarGroup, options?: {
498
+ source?: WorkspaceLayoutDropSource;
499
+ operation?: string;
500
+ }): boolean;
501
+ private containsLeaf;
502
+ private containsRootLeaf;
503
+ private floatingWindowForLeaf;
504
+ getCommandHostIdForLeaf(target: WorkspaceLeaf | null): string;
505
+ getCommandHostLeaf(hostId: string): WorkspaceLeaf | null;
506
+ getCommandHostDocument(hostId?: string): Document;
507
+ getFocusedCommandHostId(): string;
508
+ focusRootHost(): void;
509
+ get activeLeaf(): WorkspaceLeaf | null;
510
+ get activeRootLeaf(): WorkspaceLeaf | null;
511
+ set activeLeaf(leaf: WorkspaceLeaf | null);
512
+ get activeEditor(): MarkdownFileInfo | null;
513
+ enterFocusMode(leaf?: WorkspaceLeaf | null): boolean;
514
+ exitFocusMode(): boolean;
515
+ clearFocusModeForLeaf(leaf: WorkspaceLeaf): boolean;
516
+ isFocusModeForTabs(tabs: WorkspaceTabs): boolean;
517
+ toJson(): WorkspaceJson;
518
+ private restoreLayoutJson;
519
+ loadLayout(file?: string): Promise<void>;
520
+ listNamedLayouts(): Promise<string[]>;
521
+ saveNamedLayout(name: string): Promise<void>;
522
+ loadNamedLayout(name: string): Promise<void>;
523
+ resetLayoutToDefault(): Promise<void>;
524
+ /**
525
+ * Runs the callback function right away if layout is already ready, or push
526
+ * it to a queue to be called later when layout is ready.
527
+ *
528
+ * @public
529
+ */
530
+ onLayoutReady(callback: () => any): void;
531
+ constructor(app: App);
532
+ /** @internal Complete the configuration bridge after App construction. */
533
+ bindConfiguration(): void;
534
+ /** Dispose the API-owned shell controller and its compatibility bridges. */
535
+ disposeWorkspaceHost(): Promise<void>;
536
+ getMostRecentLeaf(): WorkspaceLeaf | null;
537
+ getVisibleHintTargets(): WorkspaceHintTarget[];
538
+ changeLayout(workspace: WorkspaceJson | any): Promise<void>;
539
+ getLayout(): Record<string, unknown>;
540
+ /**
541
+ * Bring a given leaf to the foreground. If the leaf is in a sidebar, the
542
+ * sidebar will be uncollapsed. `await` this function to ensure your view has
543
+ * been fully loaded and is not deferred.
544
+ *
545
+ * @public
546
+ */
547
+ revealLeaf(leaf: WorkspaceLeaf): Promise<void>;
548
+ registerView(type: string, viewCreator: ViewCreator): void;
549
+ registerEditorView(contribution: EditorViewContribution): () => void;
550
+ registerSidebarView(type: string, options?: SidebarViewPlacementOptions): void;
551
+ unregisterSidebarView(type: string): void;
552
+ /**
553
+ * Registers a view with the 'Page preview' core plugin as an emitter of the
554
+ * 'hover-link' event.
555
+ *
556
+ * @public
557
+ */
558
+ registerHoverLinkSource(id: string, info: HoverLinkSource): void;
559
+ unregisterHoverLinkSource(id: string): void;
560
+ updateOptions(): void;
561
+ unregisterView(type: string): boolean;
562
+ private normalizeExtensionKey;
563
+ private resolveViewTypeForExtensionKey;
564
+ private resolveViewTypeForPath;
565
+ private extensionKeyToFilenamePattern;
566
+ private humanizeViewType;
567
+ private registeredEditorViewForPath;
568
+ getEditorAssociationForPath(path: string): {
569
+ pattern: string;
570
+ editorViewId: string;
571
+ view?: RegisteredEditorViewContribution;
572
+ } | undefined;
573
+ private resolveEditorAssociationViewType;
574
+ registerExtensions(extensions: string[], viewType: string): void;
575
+ unregisterExtensions(extensions: string[], viewType: string): void;
576
+ determineViewType(type: string): string | undefined;
577
+ determineViewTypeForPath(path: string): string | undefined;
578
+ private activateLayoutPlugins;
579
+ viewCreator(type: string | TFile): ViewCreator | undefined;
580
+ setActiveLeaf(leaf: WorkspaceLeaf, params?: {
581
+ /** @public */
582
+ focus?: boolean;
583
+ }): void;
584
+ /**
585
+ * Retrieve a leaf by its id.
586
+ *
587
+ * @param id Id of the leaf to retrieve.
588
+ * @public
589
+ */
590
+ getLeafById(id: string): WorkspaceLeaf | null;
591
+ /**
592
+ * Get the currently active view of a given type.
593
+ *
594
+ * @public
595
+ */
596
+ getActiveViewOfType<T extends View>(type: Constructor<T>): T | null;
597
+ /**
598
+ * Iterate through all leaves in the main area of the workspace.
599
+ *
600
+ * @public
601
+ */
602
+ iterateRootLeaves(callback: (leaf: WorkspaceLeaf) => any): void;
603
+ /**
604
+ * Returns the file for the current view if it's a `FileView`. Otherwise, it
605
+ * will return the most recently active file.
606
+ *
607
+ * @public
608
+ */
609
+ getActiveFile(): TFile | null;
610
+ /**
611
+ * Iterate through all leaves, including main area leaves, floating leaves,
612
+ * and sidebar leaves.
613
+ *
614
+ * @public
615
+ */
616
+ iterateAllLeaves<T = any>(callback: (leaf: WorkspaceLeaf) => T): T | void;
617
+ getOpenLeafEntries(options?: WorkspaceOpenLeafEntryOptions): WorkspaceOpenLeafEntry[];
618
+ /**
619
+ * Remove all leaves of the given type.
620
+ *
621
+ * @public
622
+ */
623
+ detachLeavesOfType(viewType: string): void;
624
+ getLeavesOfType(viewType: string): WorkspaceLeaf[];
625
+ /** @public */
626
+ activateLeaf(leaf: WorkspaceLeaf | null, options?: WorkspaceActivateLeafOptions): boolean;
627
+ createLeafInParent(parent: WorkspaceSplit, index: number): WorkspaceLeaf;
628
+ createLeafBySplit(leaf: WorkspaceLeaf, direction?: SplitDirection, before?: boolean): WorkspaceLeaf;
629
+ splitActiveLeaf(direction?: SplitDirection): WorkspaceLeaf;
630
+ getUnpinnedLeaf(): WorkspaceLeaf;
631
+ getGroupLeaves(group: string): WorkspaceLeaf[];
632
+ private sideDock;
633
+ private tabsForLeaf;
634
+ private setFocusMode;
635
+ private selectedLeafForWindow;
636
+ getSidebarGroups(side?: SidebarSide): WorkspaceSidebarGroup[];
637
+ getSidebarGroup(side: SidebarSide, group: string): WorkspaceSidebarGroup | null;
638
+ getOrCreateSidebarGroup(side: SidebarSide, group: string, options?: SidebarGroupOptions): WorkspaceSidebarGroup;
639
+ getSidebarGroupLeaves(side: SidebarSide, group: string): WorkspaceLeaf[];
640
+ convertSidebarLeavesToGroup(side: SidebarSide, leaves: WorkspaceLeaf[], options?: SidebarGroupOptions & {
641
+ group?: string;
642
+ }): WorkspaceSidebarGroup;
643
+ convertSidebarGroupToLeaves(group: WorkspaceSidebarGroup): WorkspaceLeaf[];
644
+ getLastOpenFiles(): string[];
645
+ getRecentFiles(): TFile[];
646
+ openLinkText(linktext: string, sourcePath: string, newLeaf?: PaneType | boolean, openState?: OpenViewState): Promise<void>;
647
+ ensureSideLeaf(type: string, sideOrOptions?: SidebarSide | EnsureSideLeafOptions, options?: EnsureSideLeafOptions): WorkspaceLeaf;
648
+ handleLinkContextMenu(menu: Menu, linktext: string, sourcePath: string, event?: MouseEvent): void;
649
+ moveLeafToPopout(leaf: WorkspaceLeaf, data?: WorkspaceWindowInitData): WorkspaceWindow;
650
+ moveWorkspaceChildToPopout(item: WorkspaceTabsChild, data?: WorkspaceWindowInitData): WorkspaceWindow;
651
+ openPopoutLeaf(data?: WorkspaceWindowInitData): WorkspaceLeaf;
652
+ moveWorkspaceChildToFloating(item: WorkspaceTabsChild, data?: WorkspaceWindowInitData, options?: {
653
+ source?: WorkspaceLayoutDropSource;
654
+ operation?: string;
655
+ }): WorkspaceWindow;
656
+ supportsPopoutWindows(): boolean;
657
+ private createWorkspaceWindow;
658
+ private moveWorkspaceChildToWindow;
659
+ focusFloatingWindow(window: WorkspaceWindow): void;
660
+ setFloatingWindowDisplayState(window: WorkspaceWindow, displayState: WorkspaceWindowDisplayState, operation?: string): void;
661
+ collapseFloatingWindow(window: WorkspaceWindow): void;
662
+ minimizeFloatingWindow(window: WorkspaceWindow): void;
663
+ maximizeFloatingWindow(window: WorkspaceWindow): void;
664
+ restoreFloatingWindow(window: WorkspaceWindow): void;
665
+ setFloatingWindowBounds(window: WorkspaceWindow, bounds: Partial<Record<"x" | "y" | "width" | "height", number>>): void;
666
+ commitFloatingWindowBounds(window: WorkspaceWindow, bounds: Partial<Record<"x" | "y" | "width" | "height", number>>, operation?: string): void;
667
+ closeFloatingWindow(window: WorkspaceWindow, options?: {
668
+ closeHost?: boolean;
669
+ operation?: string;
670
+ }): void;
671
+ private createSideLeaf;
672
+ private findOrCreateTab;
673
+ /**
674
+ * Create a new leaf inside the right sidebar.
675
+ *
676
+ * @param split Should the existing split be split up?
677
+ * @public
678
+ */
679
+ getRightLeaf(split: boolean): WorkspaceLeaf | null;
680
+ /**
681
+ * Create a new leaf inside the left sidebar.
682
+ *
683
+ * @param split Should the existing split be split up?
684
+ * @public
685
+ */
686
+ getLeftLeaf(split: boolean): WorkspaceLeaf | null;
687
+ getBottomLeaf(): WorkspaceLeaf;
688
+ setBottomPanelOpen(open: boolean): void;
689
+ setBottomPanelSize(size: number): void;
690
+ toggleBottomPanel(): void;
691
+ get bottomPanelAlignment(): WorkspaceBottomPanelAlignment;
692
+ setBottomPanelAlignment(alignment: WorkspaceBottomPanelAlignment): boolean;
693
+ duplicateLeaf(leaf: WorkspaceLeaf, leafType: PaneType | boolean, direction?: SplitDirection): Promise<WorkspaceLeaf>;
694
+ /**
695
+ * If newLeaf is false (or not set) then an existing leaf which can be
696
+ * navigated is returned, or a new leaf will be created if there was no leaf
697
+ * available.
698
+ *
699
+ * If newLeaf is `'tab'` or `true` then a new leaf will be created in the
700
+ * preferred location within the root split and returned.
701
+ *
702
+ * If newLeaf is `'split'` then a new leaf will be created adjacent to the
703
+ * currently active leaf.
704
+ *
705
+ * If newLeaf is `'window'` then a popout window will be created with a new
706
+ * leaf inside.
707
+ *
708
+ * @public
709
+ */
710
+ getLeaf(newLeaf?: PaneType | boolean, direction?: SplitDirection): WorkspaceLeaf;
711
+ }
712
+ export interface OpenViewState {
713
+ /** @public */
714
+ state?: Record<string, unknown>;
715
+ /** @public */
716
+ eState?: Record<string, unknown>;
717
+ /** @public */
718
+ active?: boolean;
719
+ /** @public */
720
+ group?: WorkspaceLeaf;
721
+ }
722
+ type WorkspaceLeafJson = {
723
+ id: string;
724
+ type: "leaf";
725
+ state: {
726
+ type: string;
727
+ state: Record<string, unknown>;
728
+ icon: string;
729
+ title: string;
730
+ };
731
+ };
732
+ /**
733
+ * Single navigable pane in the workspace that hosts one {@link View} at a time.
734
+ *
735
+ * @public
736
+ */
737
+ export declare class WorkspaceLeaf extends WorkspaceItem<{
738
+ "pinned-change": [pinned: boolean];
739
+ "group-change": [pinned: boolean];
740
+ }> {
741
+ private _view;
742
+ hoverPopover: null;
743
+ pinned: boolean;
744
+ group: string | null;
745
+ private ephemeralState;
746
+ contentEl: HTMLElement;
747
+ containerEl: HTMLElement;
748
+ history: HistoryManager<ViewState>;
749
+ parent: WorkspaceTabs | WorkspaceSidebarGroup;
750
+ currentState: ViewState;
751
+ detach(softDelete?: boolean): WorkspaceTabsChild | undefined;
752
+ get state(): ViewState;
753
+ set state(value: ViewState);
754
+ constructor(view?: View);
755
+ updateHistory(state: ViewState): Promise<void>;
756
+ captureCurrentViewState(): ViewState;
757
+ private snapshotHistoryBeforeNavigation;
758
+ private pushHistoryAfterNavigation;
759
+ get view(): View;
760
+ set view(view: View);
761
+ open(view: View, result?: ViewStateResult, state?: ViewState): Promise<View>;
762
+ private ensureContentEl;
763
+ openFile(file: TFile, { view, result, state, }?: {
764
+ view?: View;
765
+ result?: ViewStateResult;
766
+ state?: ViewState;
767
+ }): Promise<void>;
768
+ setViewState(viewState: ViewState, eState?: any): Promise<void>;
769
+ getViewState(): ViewState;
770
+ get isDeferred(): boolean;
771
+ loadIfDeferred(): Promise<void>;
772
+ getEphemeralState(): any;
773
+ setEphemeralState(state: any): void;
774
+ togglePinned(): void;
775
+ setPinned(pinned: boolean): void;
776
+ setGroupMember(other: WorkspaceLeaf): void;
777
+ setGroup(group: string): void;
778
+ getIcon(): string;
779
+ getDisplayText(): string;
780
+ getContainer(): WorkspaceContainer;
781
+ onResize(): void;
782
+ close(): void;
783
+ loadJson(layout: WorkspaceLeafJson): Promise<void>;
784
+ reload(): void;
785
+ toJson(): WorkspaceLeafJson;
786
+ }
787
+ export declare class Notice {
788
+ id: string | number;
789
+ noticeEl: HTMLElement;
790
+ containerEl: HTMLElement;
791
+ messageEl: HTMLElement;
792
+ constructor(message: string, duration?: number);
793
+ setMessage(message: string): void;
794
+ hide(): void;
795
+ }
796
+ export {};