@mnaoumov/obsidian-lib 10.10.0 → 10.12.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.
- package/README.md +26 -0
- package/components/all-windows-status-bar-item-component/package.json +6 -0
- package/components/shared-component-pool-component/package.json +6 -0
- package/components/workspace-layout-state-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +90 -1
- package/dist/lib/cjs/__merged.d.cts +13 -4
- package/dist/lib/cjs/bug-report-diagnostics.cjs +222 -0
- package/dist/lib/cjs/bug-report-diagnostics.d.cts +186 -0
- package/dist/lib/cjs/bug-report.cjs +36 -10
- package/dist/lib/cjs/bug-report.d.cts +65 -0
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +93 -2
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.d.cts +34 -2
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +245 -0
- package/dist/lib/cjs/components/all-windows-status-bar-item-component.d.cts +146 -0
- package/dist/lib/cjs/components/embed-extensions-component.cjs +20 -3
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +8 -0
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +16 -2
- package/dist/lib/cjs/components/embeddable-markdown-editor-component.d.cts +9 -0
- package/dist/lib/cjs/components/index.cjs +12 -3
- package/dist/lib/cjs/components/index.d.cts +3 -0
- package/dist/lib/cjs/components/plugin-gate-component.cjs +2 -9
- package/dist/lib/cjs/components/plugin-settings-component.cjs +7 -2
- package/dist/lib/cjs/components/shared-component-pool-component.cjs +368 -0
- package/dist/lib/cjs/components/shared-component-pool-component.d.cts +129 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.cjs +495 -0
- package/dist/lib/cjs/components/workspace-layout-state-component.d.cts +239 -0
- package/dist/lib/cjs/css-class.cjs +5 -1
- package/dist/lib/cjs/css-class.d.cts +16 -0
- package/dist/lib/cjs/data-handler.cjs +156 -5
- package/dist/lib/cjs/data-handler.d.cts +128 -2
- package/dist/lib/cjs/desktop-git-runner.cjs +4 -14
- package/dist/lib/cjs/desktop-git-runner.d.cts +8 -2
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/git-rename-history.cjs +1 -1
- package/dist/lib/cjs/git-rename-history.d.cts +2 -2
- package/dist/lib/cjs/i18n/locales/en.cjs +29 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +28 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +28 -0
- package/dist/lib/cjs/index.cjs +10 -1
- package/dist/lib/cjs/index.d.cts +3 -0
- package/dist/lib/cjs/link.cjs +40 -1
- package/dist/lib/cjs/link.d.cts +37 -1
- package/dist/lib/cjs/markdown-view.cjs +191 -3
- package/dist/lib/cjs/markdown-view.d.cts +48 -1
- package/dist/lib/cjs/modals/copy-text-manually.cjs +181 -0
- package/dist/lib/cjs/modals/copy-text-manually.d.cts +38 -0
- package/dist/lib/cjs/modals/index.cjs +7 -1
- package/dist/lib/cjs/modals/index.d.cts +2 -0
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +202 -0
- package/dist/lib/cjs/modals/review-bug-report-diagnostics.d.cts +30 -0
- package/dist/lib/cjs/plugin/index.cjs +4 -1
- package/dist/lib/cjs/plugin/index.d.cts +1 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +13 -4
- package/dist/lib/cjs/plugin/plugin-api.d.cts +5 -1
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +46 -1
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +30 -0
- package/dist/lib/cjs/plugin/plugin-instance.cjs +448 -0
- package/dist/lib/cjs/plugin/plugin-instance.d.cts +251 -0
- package/dist/lib/cjs/plugin/plugin.cjs +16 -1
- package/dist/lib/cjs/plugin/plugin.d.cts +7 -0
- package/dist/lib/cjs/reference-definition.cjs +234 -0
- package/dist/lib/cjs/reference-definition.d.cts +47 -0
- package/dist/lib/cjs/release-asset.cjs +279 -0
- package/dist/lib/cjs/release-asset.d.cts +190 -0
- package/dist/lib/cjs/workspace.cjs +3 -2
- package/dist/lib/cjs/workspace.d.cts +6 -0
- package/dist/lib/esm/__merged.d.mts +13 -4
- package/dist/lib/esm/__merged.mjs +97 -3
- package/dist/lib/esm/bug-report-diagnostics.d.mts +186 -0
- package/dist/lib/esm/bug-report-diagnostics.mjs +127 -0
- package/dist/lib/esm/bug-report.d.mts +65 -0
- package/dist/lib/esm/bug-report.mjs +33 -10
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.d.mts +34 -2
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.mjs +99 -3
- package/dist/lib/esm/components/all-windows-status-bar-item-component.d.mts +146 -0
- package/dist/lib/esm/components/all-windows-status-bar-item-component.mjs +154 -0
- package/dist/lib/esm/components/embed-extensions-component.d.mts +8 -0
- package/dist/lib/esm/components/embed-extensions-component.mjs +20 -3
- package/dist/lib/esm/components/embeddable-markdown-editor-component.d.mts +9 -0
- package/dist/lib/esm/components/embeddable-markdown-editor-component.mjs +16 -2
- package/dist/lib/esm/components/index.d.mts +3 -0
- package/dist/lib/esm/components/index.mjs +8 -2
- package/dist/lib/esm/components/plugin-gate-component.mjs +5 -13
- package/dist/lib/esm/components/plugin-settings-component.mjs +7 -2
- package/dist/lib/esm/components/shared-component-pool-component.d.mts +129 -0
- package/dist/lib/esm/components/shared-component-pool-component.mjs +280 -0
- package/dist/lib/esm/components/workspace-layout-state-component.d.mts +239 -0
- package/dist/lib/esm/components/workspace-layout-state-component.mjs +404 -0
- package/dist/lib/esm/css-class.d.mts +16 -0
- package/dist/lib/esm/css-class.mjs +5 -1
- package/dist/lib/esm/data-handler.d.mts +128 -2
- package/dist/lib/esm/data-handler.mjs +152 -4
- package/dist/lib/esm/desktop-git-runner.d.mts +8 -2
- package/dist/lib/esm/desktop-git-runner.mjs +3 -3
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/git-rename-history.d.mts +2 -2
- package/dist/lib/esm/git-rename-history.mjs +1 -1
- package/dist/lib/esm/i18n/locales/en.d.mts +28 -0
- package/dist/lib/esm/i18n/locales/en.mjs +29 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +28 -0
- package/dist/lib/esm/index.d.mts +3 -0
- package/dist/lib/esm/index.mjs +7 -1
- package/dist/lib/esm/link.d.mts +37 -1
- package/dist/lib/esm/link.mjs +40 -1
- package/dist/lib/esm/markdown-view.d.mts +48 -1
- package/dist/lib/esm/markdown-view.mjs +192 -2
- package/dist/lib/esm/modals/copy-text-manually.d.mts +38 -0
- package/dist/lib/esm/modals/copy-text-manually.mjs +99 -0
- package/dist/lib/esm/modals/index.d.mts +2 -0
- package/dist/lib/esm/modals/index.mjs +5 -1
- package/dist/lib/esm/modals/review-bug-report-diagnostics.d.mts +30 -0
- package/dist/lib/esm/modals/review-bug-report-diagnostics.mjs +120 -0
- package/dist/lib/esm/plugin/index.d.mts +1 -0
- package/dist/lib/esm/plugin/index.mjs +3 -1
- package/dist/lib/esm/plugin/plugin-api.d.mts +5 -1
- package/dist/lib/esm/plugin/plugin-api.mjs +13 -4
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +30 -0
- package/dist/lib/esm/plugin/plugin-install-state.mjs +44 -1
- package/dist/lib/esm/plugin/plugin-instance.d.mts +251 -0
- package/dist/lib/esm/plugin/plugin-instance.mjs +366 -0
- package/dist/lib/esm/plugin/plugin.d.mts +7 -0
- package/dist/lib/esm/plugin/plugin.mjs +16 -1
- package/dist/lib/esm/reference-definition.d.mts +47 -0
- package/dist/lib/esm/reference-definition.mjs +146 -0
- package/dist/lib/esm/release-asset.d.mts +190 -0
- package/dist/lib/esm/release-asset.mjs +187 -0
- package/dist/lib/esm/workspace.d.mts +6 -0
- package/dist/lib/esm/workspace.mjs +3 -2
- package/dist/styles.css +16 -1
- package/modals/copy-text-manually/package.json +6 -0
- package/modals/review-bug-report-diagnostics/package.json +6 -0
- package/package.json +2 -1
- package/plugin/plugin-instance/package.json +6 -0
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
/// <reference path="./library-references.d.cts" />
|
|
2
|
+
/// <reference lib="dom" />
|
|
3
|
+
/**
|
|
4
|
+
* @file
|
|
5
|
+
*
|
|
6
|
+
* Downloads an optional data asset of a plugin release on demand: it asks the user first, verifies an expected SHA-256
|
|
7
|
+
* before anything is written or exposed, keeps the verified file in a local cache folder and hands back the adapter
|
|
8
|
+
* resource URL.
|
|
9
|
+
*
|
|
10
|
+
* It uses only cross-platform APIs ({@link requestUrlEx}, the vault adapter and `crypto.subtle`), so it works on desktop
|
|
11
|
+
* and mobile alike.
|
|
12
|
+
*
|
|
13
|
+
* Behavior that is part of the contract:
|
|
14
|
+
*
|
|
15
|
+
* - A cached file is hashed on every call. When its hash matches, it is reused without asking or downloading. When it
|
|
16
|
+
* does not, it is removed and treated as missing, so a corrupt or truncated cache recovers by itself.
|
|
17
|
+
* - The user is asked only when a download is needed. Declining resolves with `null` and writes nothing.
|
|
18
|
+
* - Downloaded bytes are verified before they are written. A mismatch throws {@link ReleaseAssetChecksumError} and
|
|
19
|
+
* writes nothing.
|
|
20
|
+
* - The file is written to a temporary sibling and then renamed into place, so an interrupted write never leaves a
|
|
21
|
+
* partial file under the cached name.
|
|
22
|
+
* - An abort (pass the plugin's abort signal, so a plugin unload counts) rejects with the signal's reason. Once the
|
|
23
|
+
* download has finished, the signal is checked again before writing, so nothing is written after an unload.
|
|
24
|
+
* - Concurrent calls for the same cache path share one operation, so the user is asked once.
|
|
25
|
+
*/
|
|
26
|
+
import type { App } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
27
|
+
/**
|
|
28
|
+
* Parameters for {@link ensureReleaseAsset}.
|
|
29
|
+
*/
|
|
30
|
+
export interface EnsureReleaseAssetParams {
|
|
31
|
+
/**
|
|
32
|
+
* Aborts the operation. Pass the plugin's abort signal, so an unload stops it.
|
|
33
|
+
*/
|
|
34
|
+
readonly abortSignal?: AbortSignal | undefined;
|
|
35
|
+
/**
|
|
36
|
+
* The Obsidian application instance.
|
|
37
|
+
*/
|
|
38
|
+
readonly app: App;
|
|
39
|
+
/**
|
|
40
|
+
* The vault-relative folder that holds the cached file, typically `${plugin.manifest.dir}/assets`.
|
|
41
|
+
*
|
|
42
|
+
* A folder inside the config folder is not synced, so each device downloads the asset once.
|
|
43
|
+
*/
|
|
44
|
+
readonly cacheFolderPath: string;
|
|
45
|
+
/**
|
|
46
|
+
* The name of the cached file. It must not contain a path separator.
|
|
47
|
+
*/
|
|
48
|
+
readonly fileName: string;
|
|
49
|
+
/**
|
|
50
|
+
* The expected SHA-256 of the asset, as 64 hexadecimal digits.
|
|
51
|
+
*/
|
|
52
|
+
readonly sha256: string;
|
|
53
|
+
/**
|
|
54
|
+
* Asks the user whether to download the asset. Defaults to a confirmation modal.
|
|
55
|
+
*
|
|
56
|
+
* Pass `() => Promise.resolve(true)` when the user has already agreed, for example through a setting.
|
|
57
|
+
*/
|
|
58
|
+
readonly shouldDownload?: ((request: ReleaseAssetConsentRequest) => Promise<boolean>) | undefined;
|
|
59
|
+
/**
|
|
60
|
+
* The size of the asset in bytes, shown to the user when asking.
|
|
61
|
+
*/
|
|
62
|
+
readonly sizeInBytes?: number | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* The download timeout in milliseconds.
|
|
65
|
+
*/
|
|
66
|
+
readonly timeoutInMilliseconds?: number | undefined;
|
|
67
|
+
/**
|
|
68
|
+
* The URL to download the asset from. Only `http:` and `https:` URLs are accepted.
|
|
69
|
+
*/
|
|
70
|
+
readonly url: string;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Parameters for {@link getGitHubReleaseAssetUrl}.
|
|
74
|
+
*/
|
|
75
|
+
export interface GetGitHubReleaseAssetUrlParams {
|
|
76
|
+
/**
|
|
77
|
+
* The name of the release asset.
|
|
78
|
+
*/
|
|
79
|
+
readonly fileName: string;
|
|
80
|
+
/**
|
|
81
|
+
* The repository, as `<owner>/<name>`.
|
|
82
|
+
*/
|
|
83
|
+
readonly repository: string;
|
|
84
|
+
/**
|
|
85
|
+
* The release tag, typically the plugin version.
|
|
86
|
+
*/
|
|
87
|
+
readonly tag: string;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* A verified release asset.
|
|
91
|
+
*/
|
|
92
|
+
export interface ReleaseAsset {
|
|
93
|
+
/**
|
|
94
|
+
* The vault-relative path of the cached file.
|
|
95
|
+
*/
|
|
96
|
+
readonly path: string;
|
|
97
|
+
/**
|
|
98
|
+
* The resource URL of the cached file, from the adapter's `getResourcePath`.
|
|
99
|
+
*/
|
|
100
|
+
readonly resourceUrl: string;
|
|
101
|
+
/**
|
|
102
|
+
* Whether the file was already cached, so nothing was downloaded.
|
|
103
|
+
*/
|
|
104
|
+
readonly wasCached: boolean;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Parameters for {@link ReleaseAssetChecksumError}.
|
|
108
|
+
*/
|
|
109
|
+
export interface ReleaseAssetChecksumErrorConstructorParams {
|
|
110
|
+
/**
|
|
111
|
+
* The SHA-256 of the downloaded bytes.
|
|
112
|
+
*/
|
|
113
|
+
readonly actualSha256: string;
|
|
114
|
+
/**
|
|
115
|
+
* The expected SHA-256.
|
|
116
|
+
*/
|
|
117
|
+
readonly expectedSha256: string;
|
|
118
|
+
/**
|
|
119
|
+
* The URL the asset was downloaded from.
|
|
120
|
+
*/
|
|
121
|
+
readonly url: string;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* What the user is asked to agree to.
|
|
125
|
+
*/
|
|
126
|
+
export interface ReleaseAssetConsentRequest {
|
|
127
|
+
/**
|
|
128
|
+
* The name of the asset.
|
|
129
|
+
*/
|
|
130
|
+
readonly fileName: string;
|
|
131
|
+
/**
|
|
132
|
+
* The size of the asset in bytes, when known.
|
|
133
|
+
*/
|
|
134
|
+
readonly sizeInBytes?: number | undefined;
|
|
135
|
+
/**
|
|
136
|
+
* The URL the asset is downloaded from.
|
|
137
|
+
*/
|
|
138
|
+
readonly url: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Thrown when downloaded bytes do not match the expected SHA-256. Nothing was written.
|
|
142
|
+
*/
|
|
143
|
+
export declare class ReleaseAssetChecksumError extends Error {
|
|
144
|
+
/**
|
|
145
|
+
* The SHA-256 of the downloaded bytes.
|
|
146
|
+
*/
|
|
147
|
+
readonly actualSha256: string;
|
|
148
|
+
/**
|
|
149
|
+
* The expected SHA-256.
|
|
150
|
+
*/
|
|
151
|
+
readonly expectedSha256: string;
|
|
152
|
+
/**
|
|
153
|
+
* The URL the asset was downloaded from.
|
|
154
|
+
*/
|
|
155
|
+
readonly url: string;
|
|
156
|
+
/**
|
|
157
|
+
* Creates the error.
|
|
158
|
+
*
|
|
159
|
+
* @param params - The parameters.
|
|
160
|
+
*/
|
|
161
|
+
constructor(params: ReleaseAssetChecksumErrorConstructorParams);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Computes the SHA-256 of the given bytes.
|
|
165
|
+
*
|
|
166
|
+
* @param data - The bytes.
|
|
167
|
+
* @returns The SHA-256 as 64 lowercase hexadecimal digits.
|
|
168
|
+
*/
|
|
169
|
+
export declare function computeSha256(data: ArrayBuffer): Promise<string>;
|
|
170
|
+
/**
|
|
171
|
+
* Returns the cached, verified asset, downloading it first, with the user's consent, when it is missing or corrupt.
|
|
172
|
+
*
|
|
173
|
+
* @param params - The parameters.
|
|
174
|
+
* @returns The verified asset, or `null` when the user declined the download.
|
|
175
|
+
*/
|
|
176
|
+
export declare function ensureReleaseAsset(params: EnsureReleaseAssetParams): Promise<null | ReleaseAsset>;
|
|
177
|
+
/**
|
|
178
|
+
* Formats a byte size for a person to read.
|
|
179
|
+
*
|
|
180
|
+
* @param sizeInBytes - The size in bytes.
|
|
181
|
+
* @returns The formatted size, such as `12.3 MB`.
|
|
182
|
+
*/
|
|
183
|
+
export declare function formatByteSize(sizeInBytes: number): string;
|
|
184
|
+
/**
|
|
185
|
+
* Builds the download URL of a GitHub release asset.
|
|
186
|
+
*
|
|
187
|
+
* @param params - The parameters.
|
|
188
|
+
* @returns The URL.
|
|
189
|
+
*/
|
|
190
|
+
export declare function getGitHubReleaseAssetUrl(params: GetGitHubReleaseAssetUrlParams): string;
|
|
@@ -139,7 +139,8 @@ function getAllDomWindows(app) {
|
|
|
139
139
|
return getAllContainers(app).map((container) => container.win);
|
|
140
140
|
}
|
|
141
141
|
function getMainWindow(app) {
|
|
142
|
-
|
|
142
|
+
const rootSplit = app.workspace.rootSplit;
|
|
143
|
+
return rootSplit?.win ?? window;
|
|
143
144
|
}
|
|
144
145
|
function switchToMainWindow(app) {
|
|
145
146
|
return switchToWindow(getMainWindow(app));
|
|
@@ -165,4 +166,4 @@ function switchToWindow(win) {
|
|
|
165
166
|
switchToMainWindow,
|
|
166
167
|
switchToWindow
|
|
167
168
|
});
|
|
168
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
169
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy93b3Jrc3BhY2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoaXMgbW9kdWxlIHByb3ZpZGVzIGFkZGl0aW9uYWwgdXRpbGl0aWVzIGZvciB3b3JraW5nIHdpdGggdGhlIE9ic2lkaWFuIHtAbGluayBXb3Jrc3BhY2V9LlxuICovXG5cbmltcG9ydCB0eXBlIHsgRGlzcG9zYWJsZUV4IH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Rpc3Bvc2FibGUnO1xuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgLS0gV2UgbmVlZCB0byBpbXBvcnQgYFdvcmtzcGFjZWAgdG8gdXNlIGl0IGluIHRoZSB0c2RvY3MuXG4gIFdvcmtzcGFjZSxcbiAgV29ya3NwYWNlQ29udGFpbmVyLFxuICBXb3Jrc3BhY2VSb290LFxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzIC0tIFdlIG5lZWQgdG8gaW1wb3J0IGBXb3Jrc3BhY2VXaW5kb3dgIHRvIHVzZSBpdCBpbiB0aGUgdHNkb2NzLlxuICBXb3Jrc3BhY2VXaW5kb3dcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBDYWxsYmFja0Rpc3Bvc2FibGUgfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5cbi8qKlxuICogV2FpdHMgdW50aWwgdGhlIHdvcmtzcGFjZSBsYXlvdXQgaXMgcmVhZHkuXG4gKlxuICogUmVzb2x2ZXMgaW1tZWRpYXRlbHkgd2hlbiB0aGUgbGF5b3V0IGlzIGFscmVhZHkgcmVhZHk7IG90aGVyd2lzZSByZXNvbHZlcyBvbmNlIE9ic2lkaWFuIGZpcmVzIHRoZVxuICogbGF5b3V0LXJlYWR5IGV2ZW50LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQSB7QGxpbmsgUHJvbWlzZX0gdGhhdCByZXNvbHZlcyBvbmNlIHRoZSB3b3Jrc3BhY2UgbGF5b3V0IGlzIHJlYWR5LlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZW5zdXJlTGF5b3V0UmVhZHkoYXBwOiBBcHApOiBQcm9taXNlPHZvaWQ+IHtcbiAgYXdhaXQgbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICBhcHAud29ya3NwYWNlLm9uTGF5b3V0UmVhZHkocmVzb2x2ZSk7XG4gIH0pO1xufVxuXG4vKipcbiAqIFJldHVybnMgYWxsIGNvbnRhaW5lcnMgaW4gdGhlIHdvcmtzcGFjZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcC5cbiAqIEByZXR1cm5zIEFsbCBjb250YWluZXJzIGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxDb250YWluZXJzKGFwcDogQXBwKTogV29ya3NwYWNlQ29udGFpbmVyW10ge1xuICBjb25zdCBjb250YWluZXJzID0gbmV3IFNldDxXb3Jrc3BhY2VDb250YWluZXI+KCk7XG4gIGFwcC53b3Jrc3BhY2UuaXRlcmF0ZUFsbExlYXZlcygobGVhZikgPT4ge1xuICAgIGNvbnRhaW5lcnMuYWRkKGxlYWYuZ2V0Q29udGFpbmVyKCkpO1xuICB9KTtcbiAgcmV0dXJuIFsuLi5jb250YWluZXJzXTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIGFsbCBET00gd2luZG93cyBpbiB0aGUgd29ya3NwYWNlLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQWxsIERPTSB3aW5kb3dzIGluIHRoZSB3b3Jrc3BhY2UuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRBbGxEb21XaW5kb3dzKGFwcDogQXBwKTogV2luZG93W10ge1xuICByZXR1cm4gZ2V0QWxsQ29udGFpbmVycyhhcHApLm1hcCgoY29udGFpbmVyKSA9PiBjb250YWluZXIud2luKTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBhcHAncyBtYWluIHdpbmRvdyDigJQgdGhlIG9uZSB0aGUgdmF1bHQgb3BlbmVkIGluLCBhcyBvcHBvc2VkIHRvIGFueSBwb3BvdXQgd2luZG93LlxuICpcbiAqIFJlYWQgZnJvbSB0aGUgcm9vdCBzcGxpdCwgd2hpY2ggaXMgdGhlIG9uZSB3b3Jrc3BhY2UgY29udGFpbmVyIHRoYXQgYWx3YXlzIGxpdmVzIGluIHRoZSBtYWluIHdpbmRvd1xuICogKGV2ZXJ5IHBvcG91dCBpcyBhIHtAbGluayBXb3Jrc3BhY2VXaW5kb3d9IHVuZGVyIGBmbG9hdGluZ1NwbGl0YCkuIFByZWZlciB0aGlzIG92ZXIgdGhlIGdsb2JhbFxuICogYHdpbmRvd2AsIHdoaWNoIG9ubHkgaGFwcGVucyB0byBiZSB0aGUgbWFpbiB3aW5kb3cgYmVjYXVzZSBwbHVnaW4gY29kZSBydW5zIGluIGl0cyBjb250ZXh0LlxuICpcbiAqIEJlZm9yZSB0aGUgd29ya3NwYWNlIGxheW91dCBsb2FkcywgdGhlcmUgaXMgbm8gcm9vdCBzcGxpdCB5ZXQ6IE9ic2lkaWFuIGAxLjE1LjFgIGxvYWRzIGNvbW11bml0eVxuICogcGx1Z2lucyAoYGFwcC5wbHVnaW5zLmluaXRpYWxpemUoKWApIGJlZm9yZSBgd29ya3NwYWNlLmxvYWRMYXlvdXQoKWAgYnVpbGRzIGByb290U3BsaXRgLCBzbyBhIHBsdWdpblxuICogZW5hYmxlZCBhdCBzdGFydHVwIHJ1bnMgaXRzIGBvbmxvYWRgIHdoaWxlIGByb290U3BsaXRgIGlzIHN0aWxsIGBudWxsYC4gTm8gcG9wb3V0IGV4aXN0cyBhdCB0aGF0XG4gKiBwb2ludCBlaXRoZXIsIHNvIHRoZSBnbG9iYWwgYHdpbmRvd2AsIHRoZSB3aW5kb3cgcGx1Z2luIGNvZGUgcnVucyBpbiwgaXMgdGhlIG1haW4gd2luZG93LCBhbmQgdGhhdFxuICogaXMgd2hhdCBpcyByZXR1cm5lZCB0aGVuLiBgV29ya3NwYWNlUm9vdGAgaXRzZWxmIGlzIGJ1aWx0IHdpdGggdGhhdCBzYW1lIGB3aW5kb3dgLlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgVGhlIGFwcCdzIG1haW4gd2luZG93LlxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFpbldpbmRvdyhhcHA6IEFwcCk6IFdpbmRvdyB7XG4gIC8vIGBvYnNpZGlhbi5kLnRzYCBkZWNsYXJlcyBgcm9vdFNwbGl0YCBub24tbnVsbCwgd2hpY2ggaXMgbm90IHRydWUgYmVmb3JlIHRoZSBsYXlvdXQgbG9hZHMuXG4gIGNvbnN0IHJvb3RTcGxpdCA9IGFwcC53b3Jrc3BhY2Uucm9vdFNwbGl0IGFzIG51bGwgfCBXb3Jrc3BhY2VSb290O1xuICByZXR1cm4gcm9vdFNwbGl0Py53aW4gPz8gd2luZG93O1xufVxuXG4vKipcbiAqIE1ha2VzIHRoZSBhcHAncyBtYWluIHdpbmRvdyB0aGUgYWN0aXZlIG9uZSB1bnRpbCB0aGUgcmV0dXJuZWQge0BsaW5rIERpc3Bvc2FibGVFeH0gaXMgZGlzcG9zZWQuXG4gKlxuICogU2VlIHtAbGluayBzd2l0Y2hUb1dpbmRvd30gZm9yIHdoeSB0aGlzIGlzIG5lZWRlZCBhbmQgd2hhdCBpdCBjaGFuZ2VzLCBhbmQge0BsaW5rIGdldE1haW5XaW5kb3d9IGZvclxuICogd2hhdCBjb3VudHMgYXMgdGhlIG1haW4gd2luZG93LlxuICpcbiAqIEBwYXJhbSBhcHAgLSBUaGUgT2JzaWRpYW4gYXBwLlxuICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IHJlc3RvcmVzIHRoZSBwcmV2aW91c2x5IGFjdGl2ZSB3aW5kb3cgd2hlbiBkaXNwb3NlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogLy8gUmFpc2UgYSBub3RpY2UgaW4gdGhlIG1haW4gd2luZG93IGV2ZW4gd2hpbGUgdGhlIHNldHRpbmdzIHdpbmRvdyBpcyBvcGVuLlxuICogdXNpbmcgX21haW5XaW5kb3dTd2l0Y2ggPSBzd2l0Y2hUb01haW5XaW5kb3coYXBwKTtcbiAqIG5ldyBOb3RpY2UoJ1RoaXMgdmF1bHQgaXMgYSB0ZW1wb3Jhcnkgc2FuZGJveC4nKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoVG9NYWluV2luZG93KGFwcDogQXBwKTogRGlzcG9zYWJsZUV4IHtcbiAgcmV0dXJuIHN3aXRjaFRvV2luZG93KGdldE1haW5XaW5kb3coYXBwKSk7XG59XG5cbi8qKlxuICogTWFrZXMgdGhlIGdpdmVuIHdpbmRvdyB0aGUgYWN0aXZlIG9uZSB1bnRpbCB0aGUgcmV0dXJuZWQge0BsaW5rIERpc3Bvc2FibGVFeH0gaXMgZGlzcG9zZWQuXG4gKlxuICogT2JzaWRpYW4gdHJhY2tzIHRoZSBmb2N1c2VkIHdpbmRvdyBpbiB0aGUgYGFjdGl2ZVdpbmRvd2AgLyBgYWN0aXZlRG9jdW1lbnRgIGdsb2JhbHMgYW5kIHVwZGF0ZXMgdGhlbVxuICogd2hlbmV2ZXIgYSB3aW5kb3cgdGFrZXMgZm9jdXMg4oCUIGluY2x1ZGluZyB3aGVuIGEgcG9wb3V0IHN1Y2ggYXMgdGhlIHNldHRpbmdzIHdpbmRvdyBvcGVucy4gVUkgaXRcbiAqIGNyZWF0ZXMgZm9yIFwidGhlIGN1cnJlbnQgd2luZG93XCIgcmVhZHMgdGhvc2UgZ2xvYmFscyBhdCBjcmVhdGlvbiB0aW1lIGFuZCBvZmZlcnMgbm8gd2F5IHRvIG5hbWUgYVxuICogd2luZG93OiBgbmV3IE5vdGljZSguLi4pYCwgZm9yIGluc3RhbmNlLCBpcyBidWlsdCBpbnNpZGUgd2hhdGV2ZXIgd2luZG93IGBhY3RpdmVXaW5kb3dgIHBvaW50cyBhdCxcbiAqIGFuZCBjYW5ub3QgYmUgbW92ZWQgYWZ0ZXJ3YXJkcy4gUG9pbnRpbmcgdGhlIGdsb2JhbHMgYXQgdGhlIHdhbnRlZCB3aW5kb3cgZm9yIGV4YWN0bHkgdGhhdCBjcmVhdGlvbixcbiAqIHRoZW4gcHV0dGluZyB0aGVtIGJhY2ssIGlzIHdoYXQgdGhpcyBkb2VzLlxuICpcbiAqIFJlc3RvcmUgaXMgd2hhdCBtYWtlcyBpdCBzYWZlLCBzbyBhbHdheXMgYmluZCBpdCB3aXRoIGB1c2luZ2AgKG9yIGRpc3Bvc2UgaXQgaW4gYSBgZmluYWxseWApOiBsZWF2aW5nXG4gKiB0aGUgZ2xvYmFscyBwb2ludGVkIGF0IHRoZSB3cm9uZyB3aW5kb3cgd291bGQgbWlzcGxhY2UgZXZlcnkgbGF0ZXIgd2luZG93LXNlbnNpdGl2ZSBPYnNpZGlhbiBjYWxsLlxuICpcbiAqIEBwYXJhbSB3aW4gLSBUaGUgd2luZG93IHRvIG1ha2UgYWN0aXZlLlxuICogQHJldHVybnMgQSB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0aGF0IHJlc3RvcmVzIHRoZSBwcmV2aW91c2x5IGFjdGl2ZSB3aW5kb3cgd2hlbiBkaXNwb3NlZC5cbiAqIEBleGFtcGxlXG4gKiBgYGB0c1xuICogdXNpbmcgX3dpbmRvd1N3aXRjaCA9IHN3aXRjaFRvV2luZG93KG90aGVyV2luZG93KTtcbiAqIG5ldyBOb3RpY2UoJ1RoaXMgbm90aWNlIGJlbG9uZ3MgdG8gdGhlIG90aGVyIHdpbmRvdy4nKTtcbiAqIGBgYFxuICovXG5leHBvcnQgZnVuY3Rpb24gc3dpdGNoVG9XaW5kb3cod2luOiBXaW5kb3cpOiBEaXNwb3NhYmxlRXgge1xuICBjb25zdCBwcmV2aW91c0FjdGl2ZVdpbmRvdyA9IGFjdGl2ZVdpbmRvdztcbiAgY29uc3QgcHJldmlvdXNBY3RpdmVEb2N1bWVudCA9IGFjdGl2ZURvY3VtZW50O1xuICB3aW5kb3cuYWN0aXZlV2luZG93ID0gd2luO1xuICB3aW5kb3cuYWN0aXZlRG9jdW1lbnQgPSB3aW4uZG9jdW1lbnQ7XG5cbiAgcmV0dXJuIG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgIGNhbGxiYWNrOiAoKTogdm9pZCA9PiB7XG4gICAgICB3aW5kb3cuYWN0aXZlV2luZG93ID0gcHJldmlvdXNBY3RpdmVXaW5kb3c7XG4gICAgICB3aW5kb3cuYWN0aXZlRG9jdW1lbnQgPSBwcmV2aW91c0FjdGl2ZURvY3VtZW50O1xuICAgIH1cbiAgfSk7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBaUJBLHdCQUFtQztBQVduQyxlQUFzQixrQkFBa0IsS0FBeUI7QUFDL0QsUUFBTSxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ25DLFFBQUksVUFBVSxjQUFjLE9BQU87QUFBQSxFQUNyQyxDQUFDO0FBQ0g7QUFRTyxTQUFTLGlCQUFpQixLQUFnQztBQUMvRCxRQUFNLGFBQWEsb0JBQUksSUFBd0I7QUFDL0MsTUFBSSxVQUFVLGlCQUFpQixDQUFDLFNBQVM7QUFDdkMsZUFBVyxJQUFJLEtBQUssYUFBYSxDQUFDO0FBQUEsRUFDcEMsQ0FBQztBQUNELFNBQU8sQ0FBQyxHQUFHLFVBQVU7QUFDdkI7QUFRTyxTQUFTLGlCQUFpQixLQUFvQjtBQUNuRCxTQUFPLGlCQUFpQixHQUFHLEVBQUUsSUFBSSxDQUFDLGNBQWMsVUFBVSxHQUFHO0FBQy9EO0FBa0JPLFNBQVMsY0FBYyxLQUFrQjtBQUU5QyxRQUFNLFlBQVksSUFBSSxVQUFVO0FBQ2hDLFNBQU8sV0FBVyxPQUFPO0FBQzNCO0FBaUJPLFNBQVMsbUJBQW1CLEtBQXdCO0FBQ3pELFNBQU8sZUFBZSxjQUFjLEdBQUcsQ0FBQztBQUMxQztBQXVCTyxTQUFTLGVBQWUsS0FBMkI7QUFDeEQsUUFBTSx1QkFBdUI7QUFDN0IsUUFBTSx5QkFBeUI7QUFDL0IsU0FBTyxlQUFlO0FBQ3RCLFNBQU8saUJBQWlCLElBQUk7QUFFNUIsU0FBTyxJQUFJLHFDQUFtQjtBQUFBLElBQzVCLFVBQVUsTUFBWTtBQUNwQixhQUFPLGVBQWU7QUFDdEIsYUFBTyxpQkFBaUI7QUFBQSxJQUMxQjtBQUFBLEVBQ0YsQ0FBQztBQUNIOyIsIm5hbWVzIjpbXX0=
|
|
@@ -38,6 +38,12 @@ export declare function getAllDomWindows(app: App): Window[];
|
|
|
38
38
|
* (every popout is a {@link WorkspaceWindow} under `floatingSplit`). Prefer this over the global
|
|
39
39
|
* `window`, which only happens to be the main window because plugin code runs in its context.
|
|
40
40
|
*
|
|
41
|
+
* Before the workspace layout loads, there is no root split yet: Obsidian `1.15.1` loads community
|
|
42
|
+
* plugins (`app.plugins.initialize()`) before `workspace.loadLayout()` builds `rootSplit`, so a plugin
|
|
43
|
+
* enabled at startup runs its `onload` while `rootSplit` is still `null`. No popout exists at that
|
|
44
|
+
* point either, so the global `window`, the window plugin code runs in, is the main window, and that
|
|
45
|
+
* is what is returned then. `WorkspaceRoot` itself is built with that same `window`.
|
|
46
|
+
*
|
|
41
47
|
* @param app - The Obsidian app.
|
|
42
48
|
* @returns The app's main window.
|
|
43
49
|
*/
|
|
@@ -9,7 +9,8 @@ export { getIndexedBacklinksForFile, iterateReferencesAffectedByRename } from '.
|
|
|
9
9
|
export { renderBacklinksTable, renderDelayedBacklinks, renderDelayedBacklinksForFolder } from './backlink.mjs';
|
|
10
10
|
export { PluginBasesViewRegistrar } from './bases-view-registrar.mjs';
|
|
11
11
|
export { BrokenLinkCandidateFinder, BrokenLinkEvidenceKind, getParentPath, getPathMapping } from './broken-link-candidates.mjs';
|
|
12
|
-
export {
|
|
12
|
+
export { BugReportLogBuffer, createSettingsDiagnosticSection, DEFAULT_BUG_REPORT_LOG_MAX_ENTRIES, DEFAULT_BUG_REPORT_LOG_MAX_ENTRY_LENGTH, formatBugReportDiagnostics, getMarkdownFence, REDACTED_VALUE, redactSettings } from './bug-report-diagnostics.mjs';
|
|
13
|
+
export { BUG_REPORT_ISSUE_FORM_TEMPLATE, BUG_REPORT_PASTE_INSTRUCTIONS, BugReportIssueFormFieldId, buildBugReportIssueFormLink, DEFAULT_BUG_REPORT_MAX_URL_LENGTH, formatBugReportEnvironment, getBugReportEnvironment, getBugReportIssueFormUrl, getGitHubIssueFormUrl } from './bug-report.mjs';
|
|
13
14
|
export { BULK_OPERATION_HOLD_INTERVAL_IN_MILLISECONDS, holdBulkOperationWhile, registerBulkOperationProgressListener, reportBulkOperationProgress } from './bulk-operation-progress.mjs';
|
|
14
15
|
export { buildBeforeOperationCommitSubject, buildOperationCommitMessage, BULK_OPERATION_LOCK_FILE_NAME, BULK_OPERATION_LOCK_STALE_AFTER_IN_MILLISECONDS, formatOperationId, getNextOperationId, isBulkOperationLock, isBulkOperationLockStale, OPERATION_TRAILER_KEY, parseBulkOperationCommit, parseOperationNumber, PLUGIN_TRAILER_KEY } from './bulk-operation.mjs';
|
|
15
16
|
export { CalloutMode, renderCallout, wrapForCallout } from './callout.mjs';
|
|
@@ -42,6 +43,7 @@ export { PluginCommandRegistrar } from './command-registrar.mjs';
|
|
|
42
43
|
export { configureCommunityPlugin, ConfigureCommunityPluginResult, disableCommunityPlugin, enableCommunityPlugin, getCommunityPluginRepo, getLatestReleaseVersion, installCommunityPlugin, installConfigureEnableCommunityPlugin, PluginEnableRefusedError, searchCommunityPlugins, toggleEnableCommunityPlugin, toggleInstallCommunityPlugin, uninstallCommunityPlugin, updateCommunityPlugin, UpdateCommunityPluginResult } from './community-plugins.mjs';
|
|
43
44
|
export { AbortSignalComponent } from './components/abort-signal-component.mjs';
|
|
44
45
|
export { AllWindowsEventComponent, forEachWindow, registerBodyClass } from './components/all-windows-event-component.mjs';
|
|
46
|
+
export { AllWindowsStatusBarItemComponent, getPluginStatusBarItemCssClass, registerAllWindowsStatusBarItem, WINDOW_STATUS_BAR_CSS_CLASS } from './components/all-windows-status-bar-item-component.mjs';
|
|
45
47
|
export { AsyncErrorHandlerComponent } from './components/async-error-handler-component.mjs';
|
|
46
48
|
export { registerAsyncEvent } from './components/async-events-component.mjs';
|
|
47
49
|
export { BulkOperationCommitComponent } from './components/bulk-operation-commit-component.mjs';
|
|
@@ -73,12 +75,14 @@ export { EmptyFolderBehavior, RenameDeleteHandlerComponent } from './components/
|
|
|
73
75
|
export { NOT_EMPTY_DIRECTORY_ERROR_CODE, RmdirGuardComponent } from './components/rmdir-guard-component.mjs';
|
|
74
76
|
export { SettingsFacetComponent } from './components/settings-facet-component.mjs';
|
|
75
77
|
export { SettingsMigrationComponent } from './components/settings-migration-component.mjs';
|
|
78
|
+
export { SharedComponentPoolComponent } from './components/shared-component-pool-component.mjs';
|
|
76
79
|
export { registerStyle, StyleSheetComponent } from './components/style-sheet-component.mjs';
|
|
77
80
|
export { SyntaxHighlightingComponent } from './components/syntax-highlighting-component.mjs';
|
|
78
81
|
export { TemplatesLanguageComponent } from './components/templates-language-component.mjs';
|
|
82
|
+
export { parseWorkspaceLayoutStateRecord, serializeWorkspaceLayoutStateRecord, WORKSPACE_LAYOUT_STATE_LAYOUT_KEY, WorkspaceLayoutStateComponent } from './components/workspace-layout-state-component.mjs';
|
|
79
83
|
export { getDomEventsHandlersConstructor } from './constructors/get-dom-events-handlers-constructor.mjs';
|
|
80
84
|
export { CssClass } from './css-class.mjs';
|
|
81
|
-
export { PluginDataHandler } from './data-handler.mjs';
|
|
85
|
+
export { DEFAULT_PLUGIN_DATA_MAX_SIZE_IN_BYTES, PluginDataHandler, PluginDataOperation, PluginDataSizeLimitExceededError } from './data-handler.mjs';
|
|
82
86
|
export { DataStoreLocations } from './data-stores/data-store-locations.mjs';
|
|
83
87
|
export { DataStoreReplica, isDataStoreJsonValue, isDataStoreOperation } from './data-stores/data-store-replica.mjs';
|
|
84
88
|
export { DataStoreSeeds, validateDataStoreSeed } from './data-stores/data-store-seeds.mjs';
|
|
@@ -132,7 +136,7 @@ export { loop } from './loop.mjs';
|
|
|
132
136
|
export { PluginMarkdownCodeBlockProcessorRegistrar } from './markdown-code-block-processor-registrar.mjs';
|
|
133
137
|
export { getCodeBlockMarkdownInfo, insertAfterCodeBlock, insertBeforeCodeBlock, removeCodeBlock, replaceCodeBlock } from './markdown-code-block-processor.mjs';
|
|
134
138
|
export { PluginMarkdownPostProcessorRegistrar } from './markdown-post-processor-registrar.mjs';
|
|
135
|
-
export { getFullContentHtml } from './markdown-view.mjs';
|
|
139
|
+
export { getFullContentHtml, rerenderPreviews } from './markdown-view.mjs';
|
|
136
140
|
export { fullRender, markdownToHtml, registerLinkHandlers, renderExternalLink, renderInternalLink } from './markdown.mjs';
|
|
137
141
|
export { addSingleChoiceMenuItems } from './menu.mjs';
|
|
138
142
|
export { ADVANCED_METADATA_CACHE_PLUGIN_ID, BACKLINK_CACHE_PLUGIN_ID, CachedMetadataExFeature, ensureMetadataCacheReady, getBacklinksForFileOrPath, getBacklinksForFileSafe, getCacheSafe, getFrontmatterSafe, getReferences, hasBacklinkCachePlugin, isCachedMetadataEx, parseMetadata, registerFileCacheForNonExistingFile, registerFiles, unregisterFileCacheForNonExistingFile, unregisterFiles } from './metadata-cache.mjs';
|
|
@@ -140,10 +144,12 @@ export { getMobileAppInfo } from './mobile-app-info.mjs';
|
|
|
140
144
|
export { alert } from './modals/alert.mjs';
|
|
141
145
|
export { formatCodeBlock, showCodeBlockBuilder } from './modals/code-block-builder.mjs';
|
|
142
146
|
export { confirm } from './modals/confirm.mjs';
|
|
147
|
+
export { copyTextManually } from './modals/copy-text-manually.mjs';
|
|
143
148
|
export { MinimizableModal } from './modals/minimizable-modal.mjs';
|
|
144
149
|
export { ModalCommandBuilder, ModalCommandsRenderMode } from './modals/modal-command-builder.mjs';
|
|
145
150
|
export { ModalBase, showModal } from './modals/modal.mjs';
|
|
146
151
|
export { prompt } from './modals/prompt.mjs';
|
|
152
|
+
export { reviewBugReportDiagnostics } from './modals/review-bug-report-diagnostics.mjs';
|
|
147
153
|
export { selectItem } from './modals/select-item.mjs';
|
|
148
154
|
export { selectOption } from './modals/select-option.mjs';
|
|
149
155
|
export { SuggestModalCommandBuilder } from './modals/suggest-modal-command-builder.mjs';
|
|
@@ -161,7 +167,8 @@ export { findPluginApi, getValidatePluginApiPayloadsDebugSwitch, PluginApiPayloa
|
|
|
161
167
|
export { DEFAULT_PLUGIN_ASYNC_CLEANUP_TIMEOUT_IN_MILLISECONDS, didPluginAsyncCleanupsSettle, hasPendingPluginAsyncCleanups, PLUGIN_ASYNC_CLEANUPS_STATE_KEY, registerPluginAsyncCleanup, trackPluginAsyncCleanup } from './plugin/plugin-async-cleanup.mjs';
|
|
162
168
|
export { addPluginCssClasses, initDebugController, initPluginContext } from './plugin/plugin-context.mjs';
|
|
163
169
|
export { PluginEventSourceImpl } from './plugin/plugin-event-source.mjs';
|
|
164
|
-
export { getInstalledPluginState, getInstalledPluginVersion, installAndEnablePlugin, InstalledPluginState, updatePlugin } from './plugin/plugin-install-state.mjs';
|
|
170
|
+
export { comparePluginVersionWithMinimum, getInstalledPluginState, getInstalledPluginVersion, installAndEnablePlugin, InstalledPluginState, PluginVersionComparison, updatePlugin } from './plugin/plugin-install-state.mjs';
|
|
171
|
+
export { getLoadedPlugin, getPluginAvailability, PluginAvailability, PluginInstanceUnavailableError, requirePlugin, waitForPlugin } from './plugin/plugin-instance.mjs';
|
|
165
172
|
export { PLUGIN_LOADED_EVENT_NAME, PLUGIN_UNLOADED_EVENT_NAME, triggerPluginLifecycleEvent } from './plugin/plugin-lifecycle-events.mjs';
|
|
166
173
|
export { PluginSettingsTabBase, SAVE_TO_FILE_CONTEXT } from './plugin/plugin-settings-tab.mjs';
|
|
167
174
|
export { PluginBase, reloadPlugin, showErrorAndDisablePlugin } from './plugin/plugin.mjs';
|
|
@@ -173,7 +180,9 @@ export { isPositionInOffsetRange, isPositionInside, isPositionInsideSome } from
|
|
|
173
180
|
export { checkPropertyEntryMatches, isPropertyEntry, PROPERTY_ENTRY_PREFIX } from './property-entry.mjs';
|
|
174
181
|
export { addToQueue, addToQueueAndWait, flushQueue } from './queue.mjs';
|
|
175
182
|
export { AppContext, useApp } from './react/app-context.mjs';
|
|
183
|
+
export { referenceDefinitionToFileChange } from './reference-definition.mjs';
|
|
176
184
|
export { getReferenceLinkText, isCanvasFileNodeReference, isCanvasReference, isCanvasTextNodeReference, isReferenceInHeading, isReferenceInOffsetRange, referenceToFileChange, sortReferences } from './reference.mjs';
|
|
185
|
+
export { computeSha256, ensureReleaseAsset, formatByteSize, getGitHubReleaseAssetUrl, ReleaseAssetChecksumError } from './release-asset.mjs';
|
|
177
186
|
export { isOwnedByRenderedMarkdown, registerFoldHandlers, registerFootnoteLinkHandler } from './rendered-markdown.mjs';
|
|
178
187
|
export { createRequestUrlFetch, encodeRequestUrlRequest, RequestUrlError, requestUrlEx, requestUrlStream } from './request-url.mjs';
|
|
179
188
|
export { isResourceLockedForPath, isResourceLockedForPathByAncestor, lockResourceForPath, requestResourceUnlockForPath, ResourceLockComponent, ResourceLockedError, unlockResourceForPath } from './resource-lock.mjs';
|