obsidian-dev-utils 59.0.2 → 61.0.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 (55) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/lib/cjs/library.cjs +1 -1
  3. package/dist/lib/cjs/obsidian/{command-handlers/app-active-file-provider.cjs → active-file-provider.cjs} +4 -4
  4. package/dist/lib/{esm/obsidian/command-handlers/app-active-file-provider.d.mts → cjs/obsidian/active-file-provider.d.cts} +13 -2
  5. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +1 -1
  6. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +15 -11
  7. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +11 -5
  8. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +1 -1
  9. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +3 -61
  10. package/dist/lib/cjs/obsidian/command-handlers/index.cjs +1 -7
  11. package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +0 -2
  12. package/dist/lib/cjs/obsidian/command-registrar.cjs +154 -0
  13. package/dist/lib/cjs/obsidian/command-registrar.d.cts +30 -0
  14. package/dist/lib/cjs/obsidian/data-handler.cjs +163 -0
  15. package/dist/lib/cjs/obsidian/data-handler.d.cts +48 -0
  16. package/dist/lib/cjs/obsidian/index.cjs +13 -1
  17. package/dist/lib/cjs/obsidian/index.d.cts +4 -0
  18. package/dist/lib/cjs/obsidian/menu-event-registrar.cjs +173 -0
  19. package/dist/lib/cjs/obsidian/menu-event-registrar.d.cts +90 -0
  20. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +32 -33
  21. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.d.cts +5 -24
  22. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +1 -12
  23. package/dist/lib/esm/library.mjs +1 -1
  24. package/dist/lib/{cjs/obsidian/command-handlers/app-active-file-provider.d.cts → esm/obsidian/active-file-provider.d.mts} +13 -2
  25. package/dist/lib/esm/obsidian/active-file-provider.mjs +46 -0
  26. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +1 -1
  27. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +11 -5
  28. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +15 -11
  29. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +3 -61
  30. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +1 -1
  31. package/dist/lib/esm/obsidian/command-handlers/index.d.mts +0 -2
  32. package/dist/lib/esm/obsidian/command-handlers/index.mjs +1 -5
  33. package/dist/lib/esm/obsidian/command-registrar.d.mts +30 -0
  34. package/dist/lib/esm/obsidian/command-registrar.mjs +46 -0
  35. package/dist/lib/esm/obsidian/data-handler.d.mts +48 -0
  36. package/dist/lib/esm/obsidian/data-handler.mjs +55 -0
  37. package/dist/lib/esm/obsidian/index.d.mts +4 -0
  38. package/dist/lib/esm/obsidian/index.mjs +9 -1
  39. package/dist/lib/esm/obsidian/menu-event-registrar.d.mts +90 -0
  40. package/dist/lib/esm/obsidian/menu-event-registrar.mjs +65 -0
  41. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.d.mts +5 -24
  42. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +32 -33
  43. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +1 -12
  44. package/obsidian/active-file-provider/package.json +6 -0
  45. package/obsidian/command-registrar/package.json +6 -0
  46. package/obsidian/data-handler/package.json +6 -0
  47. package/obsidian/menu-event-registrar/package.json +6 -0
  48. package/package.json +2 -1
  49. package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +0 -173
  50. package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.d.cts +0 -41
  51. package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +0 -46
  52. package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.d.mts +0 -41
  53. package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +0 -65
  54. package/obsidian/command-handlers/app-active-file-provider/package.json +0 -6
  55. package/obsidian/command-handlers/app-menu-event-registrar/package.json +0 -6
@@ -0,0 +1,30 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Registrar for commands.
5
+ */
6
+ import type { Command, Plugin } from 'obsidian';
7
+ /**
8
+ * A registrar for commands.
9
+ */
10
+ export interface CommandRegistrar {
11
+ addCommand(command: Command): void;
12
+ }
13
+ /**
14
+ * A command registrar that adds commands to a plugin.
15
+ */
16
+ export declare class PluginCommandRegistrar implements CommandRegistrar {
17
+ private readonly plugin;
18
+ /**
19
+ * Creates a new plugin command registrar.
20
+ *
21
+ * @param plugin - The plugin to add commands to.
22
+ */
23
+ constructor(plugin: Plugin);
24
+ /**
25
+ * Adds a command to the plugin.
26
+ *
27
+ * @param command - The command to add.
28
+ */
29
+ addCommand(command: Command): void;
30
+ }
@@ -0,0 +1,163 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initCjs() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ const globalThisRecord = globalThis;
9
+ globalThisRecord['__name'] ??= name;
10
+ const originalRequire = require;
11
+ if (originalRequire && !originalRequire.__isPatched) {
12
+ // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
+ require = Object.assign(
14
+ (id) => requirePatched(id),
15
+ originalRequire,
16
+ {
17
+ __isPatched: true
18
+ }
19
+ );
20
+ }
21
+
22
+ const newFuncs = {
23
+ __extractDefault() {
24
+ return extractDefault;
25
+ },
26
+ process() {
27
+ const browserProcess = {
28
+ browser: true,
29
+ cwd() {
30
+ return '/';
31
+ },
32
+ env: {},
33
+ platform: 'android'
34
+ };
35
+ return browserProcess;
36
+ }
37
+ };
38
+
39
+ for (const key of Object.keys(newFuncs)) {
40
+ globalThisRecord[key] ??= newFuncs[key]?.();
41
+ }
42
+
43
+ function name(obj) {
44
+ return obj;
45
+ }
46
+
47
+ function extractDefault(module) {
48
+ return module && module.__esModule && 'default' in module ? module.default : module;
49
+ }
50
+
51
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
+ 'obsidian',
53
+ '@codemirror/autocomplete',
54
+ '@codemirror/collab',
55
+ '@codemirror/commands',
56
+ '@codemirror/language',
57
+ '@codemirror/lint',
58
+ '@codemirror/search',
59
+ '@codemirror/state',
60
+ '@codemirror/text',
61
+ '@codemirror/view',
62
+ '@lezer/common',
63
+ '@lezer/lr',
64
+ '@lezer/highlight'];
65
+
66
+
67
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
+ '@codemirror/closebrackets',
69
+ '@codemirror/comment',
70
+ '@codemirror/fold',
71
+ '@codemirror/gutter',
72
+ '@codemirror/highlight',
73
+ '@codemirror/history',
74
+ '@codemirror/matchbrackets',
75
+ '@codemirror/panel',
76
+ '@codemirror/rangeset',
77
+ '@codemirror/rectangular-selection',
78
+ '@codemirror/stream-parser',
79
+ '@codemirror/tooltip'];
80
+
81
+
82
+ function requirePatched(id) {
83
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
+ return originalRequire?.(id);
85
+ }
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
+ if (globalThis.app.isMobile) {
89
+ if (id === 'process' || id === 'node:process') {
90
+ // eslint-disable-next-line no-console -- Valid usage.
91
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
+ return globalThis.process;
94
+ }
95
+ } else {
96
+ const module = originalRequire?.(id);
97
+ if (module) {
98
+ return extractDefault(module);
99
+ }
100
+ }
101
+
102
+ // eslint-disable-next-line no-console -- Valid usage.
103
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
+ return {};
105
+ }
106
+ })();
107
+
108
+ "use strict";
109
+ var __defProp = Object.defineProperty;
110
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
+ var __getOwnPropNames = Object.getOwnPropertyNames;
112
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
113
+ var __export = (target, all) => {
114
+ for (var name in all)
115
+ __defProp(target, name, { get: all[name], enumerable: true });
116
+ };
117
+ var __copyProps = (to, from, except, desc) => {
118
+ if (from && typeof from === "object" || typeof from === "function") {
119
+ for (let key of __getOwnPropNames(from))
120
+ if (!__hasOwnProp.call(to, key) && key !== except)
121
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
+ }
123
+ return to;
124
+ };
125
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
+ var data_handler_exports = {};
127
+ __export(data_handler_exports, {
128
+ PluginDataHandler: () => PluginDataHandler
129
+ });
130
+ module.exports = __toCommonJS(data_handler_exports);
131
+ class PluginDataHandler {
132
+ /**
133
+ * Creates a new plugin data handler.
134
+ *
135
+ * @param plugin - The plugin instance.
136
+ */
137
+ constructor(plugin) {
138
+ this.plugin = plugin;
139
+ }
140
+ plugin;
141
+ /**
142
+ * Loads data from the plugin's data file.
143
+ *
144
+ * @returns The loaded data.
145
+ */
146
+ async loadData() {
147
+ return this.plugin.loadData();
148
+ }
149
+ /**
150
+ * Saves data to the plugin's data file.
151
+ *
152
+ * @param data - The data to save.
153
+ * @returns A promise that resolves when the data is saved.
154
+ */
155
+ async saveData(data) {
156
+ return this.plugin.saveData(data);
157
+ }
158
+ }
159
+ // Annotate the CommonJS export names for ESM import in node:
160
+ 0 && (module.exports = {
161
+ PluginDataHandler
162
+ });
163
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2RhdGEtaGFuZGxlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgbW9kdWxlIGZvciBoYW5kbGluZyBkYXRhIGxvYWRpbmcgYW5kIHNhdmluZyB0byB0aGUgcGx1Z2luJ3MgZGF0YSBmaWxlLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEYXRhSGFuZGxlciB7XG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIGxvYWQgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIGxvYWREYXRhKCk6IFByb21pc2U8dW5rbm93bj47XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gc2F2ZSBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICovXG4gIHNhdmVEYXRhKGRhdGE6IHVua25vd24pOiBQcm9taXNlPHZvaWQ+O1xufVxuXG4vKipcbiAqIEEgaGFuZGxlciBmb3IgbG9hZGluZyBhbmQgc2F2aW5nIGRhdGEgdG8gdGhlIHBsdWdpbidzIGRhdGEgZmlsZS5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbkRhdGFIYW5kbGVyIGltcGxlbWVudHMgRGF0YUhhbmRsZXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBwbHVnaW4gZGF0YSBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luKSB7XG4gIH1cblxuICAvKipcbiAgICogTG9hZHMgZGF0YSBmcm9tIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBsb2FkZWQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBsb2FkRGF0YSgpOiBQcm9taXNlPHVua25vd24+IHtcbiAgICByZXR1cm4gdGhpcy5wbHVnaW4ubG9hZERhdGEoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTYXZlcyBkYXRhIHRvIHRoZSBwbHVnaW4ncyBkYXRhIGZpbGUuXG4gICAqXG4gICAqIEBwYXJhbSBkYXRhIC0gVGhlIGRhdGEgdG8gc2F2ZS5cbiAgICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgZGF0YSBpcyBzYXZlZC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzYXZlRGF0YShkYXRhOiB1bmtub3duKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuIHRoaXMucGx1Z2luLnNhdmVEYXRhKGRhdGEpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4Qk8sTUFBTSxrQkFBeUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFNN0MsWUFBNkIsUUFBZ0I7QUFBaEI7QUFBQSxFQUNwQztBQUFBLEVBRG9DO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUXBDLE1BQWEsV0FBNkI7QUFDeEMsV0FBTyxLQUFLLE9BQU8sU0FBUztBQUFBLEVBQzlCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRQSxNQUFhLFNBQVMsTUFBOEI7QUFDbEQsV0FBTyxLQUFLLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFDbEM7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,48 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * A module for handling data loading and saving to the plugin's data file.
5
+ */
6
+ import type { Plugin } from 'obsidian';
7
+ /**
8
+ * A handler for loading and saving data to the plugin's data file.
9
+ */
10
+ export interface DataHandler {
11
+ /**
12
+ * A function to load data from the plugin's data file.
13
+ *
14
+ * @returns The loaded data.
15
+ */
16
+ loadData(): Promise<unknown>;
17
+ /**
18
+ * A function to save data to the plugin's data file.
19
+ *
20
+ * @param data - The data to save.
21
+ */
22
+ saveData(data: unknown): Promise<void>;
23
+ }
24
+ /**
25
+ * A handler for loading and saving data to the plugin's data file.
26
+ */
27
+ export declare class PluginDataHandler implements DataHandler {
28
+ private readonly plugin;
29
+ /**
30
+ * Creates a new plugin data handler.
31
+ *
32
+ * @param plugin - The plugin instance.
33
+ */
34
+ constructor(plugin: Plugin);
35
+ /**
36
+ * Loads data from the plugin's data file.
37
+ *
38
+ * @returns The loaded data.
39
+ */
40
+ loadData(): Promise<unknown>;
41
+ /**
42
+ * Saves data to the plugin's data file.
43
+ *
44
+ * @param data - The data to save.
45
+ * @returns A promise that resolves when the data is saved.
46
+ */
47
+ saveData(data: unknown): Promise<void>;
48
+ }
@@ -135,6 +135,7 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
135
135
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
136
136
  var obsidian_exports = {};
137
137
  __export(obsidian_exports, {
138
+ active_file_provider: () => active_file_provider,
138
139
  app: () => app,
139
140
  async_with_notice: () => async_with_notice,
140
141
  attachment_path: () => attachment_path,
@@ -142,8 +143,10 @@ __export(obsidian_exports, {
142
143
  callout: () => callout,
143
144
  code_block_markdown_information: () => code_block_markdown_information,
144
145
  command_handlers: () => command_handlers,
146
+ command_registrar: () => command_registrar,
145
147
  components: () => components,
146
148
  constructors: () => constructors,
149
+ data_handler: () => data_handler,
147
150
  dataview: () => dataview,
148
151
  dataview_link: () => dataview_link,
149
152
  editor: () => editor,
@@ -160,6 +163,7 @@ __export(obsidian_exports, {
160
163
  markdown: () => markdown,
161
164
  markdown_code_block_processor: () => markdown_code_block_processor,
162
165
  markdown_view: () => markdown_view,
166
+ menu_event_registrar: () => menu_event_registrar,
163
167
  metadata_cache: () => metadata_cache,
164
168
  modals: () => modals,
165
169
  monkey_around: () => monkey_around,
@@ -179,6 +183,7 @@ __export(obsidian_exports, {
179
183
  workspace: () => workspace
180
184
  });
181
185
  module.exports = __toCommonJS(obsidian_exports);
186
+ var active_file_provider = __toESM(__extractDefault(require('./active-file-provider.cjs')), 1);
182
187
  var app = __toESM(__extractDefault(require('./app.cjs')), 1);
183
188
  var async_with_notice = __toESM(__extractDefault(require('./async-with-notice.cjs')), 1);
184
189
  var attachment_path = __toESM(__extractDefault(require('./attachment-path.cjs')), 1);
@@ -186,8 +191,10 @@ var backlink = __toESM(__extractDefault(require('./backlink.cjs')), 1);
186
191
  var callout = __toESM(__extractDefault(require('./callout.cjs')), 1);
187
192
  var code_block_markdown_information = __toESM(__extractDefault(require('./code-block-markdown-information.cjs')), 1);
188
193
  var command_handlers = __toESM(__extractDefault(require('./command-handlers/index.cjs')), 1);
194
+ var command_registrar = __toESM(__extractDefault(require('./command-registrar.cjs')), 1);
189
195
  var components = __toESM(__extractDefault(require('./components/index.cjs')), 1);
190
196
  var constructors = __toESM(__extractDefault(require('./constructors/index.cjs')), 1);
197
+ var data_handler = __toESM(__extractDefault(require('./data-handler.cjs')), 1);
191
198
  var dataview_link = __toESM(__extractDefault(require('./dataview-link.cjs')), 1);
192
199
  var dataview = __toESM(__extractDefault(require('./dataview.cjs')), 1);
193
200
  var editor = __toESM(__extractDefault(require('./editor.cjs')), 1);
@@ -204,6 +211,7 @@ var loop = __toESM(__extractDefault(require('./loop.cjs')), 1);
204
211
  var markdown_code_block_processor = __toESM(__extractDefault(require('./markdown-code-block-processor.cjs')), 1);
205
212
  var markdown_view = __toESM(__extractDefault(require('./markdown-view.cjs')), 1);
206
213
  var markdown = __toESM(__extractDefault(require('./markdown.cjs')), 1);
214
+ var menu_event_registrar = __toESM(__extractDefault(require('./menu-event-registrar.cjs')), 1);
207
215
  var metadata_cache = __toESM(__extractDefault(require('./metadata-cache.cjs')), 1);
208
216
  var modals = __toESM(__extractDefault(require('./modals/index.cjs')), 1);
209
217
  var monkey_around = __toESM(__extractDefault(require('./monkey-around.cjs')), 1);
@@ -223,6 +231,7 @@ var vault = __toESM(__extractDefault(require('./vault.cjs')), 1);
223
231
  var workspace = __toESM(__extractDefault(require('./workspace.cjs')), 1);
224
232
  // Annotate the CommonJS export names for ESM import in node:
225
233
  0 && (module.exports = {
234
+ active_file_provider,
226
235
  app,
227
236
  async_with_notice,
228
237
  attachment_path,
@@ -230,8 +239,10 @@ var workspace = __toESM(__extractDefault(require('./workspace.cjs')), 1);
230
239
  callout,
231
240
  code_block_markdown_information,
232
241
  command_handlers,
242
+ command_registrar,
233
243
  components,
234
244
  constructors,
245
+ data_handler,
235
246
  dataview,
236
247
  dataview_link,
237
248
  editor,
@@ -248,6 +259,7 @@ var workspace = __toESM(__extractDefault(require('./workspace.cjs')), 1);
248
259
  markdown,
249
260
  markdown_code_block_processor,
250
261
  markdown_view,
262
+ menu_event_registrar,
251
263
  metadata_cache,
252
264
  modals,
253
265
  monkey_around,
@@ -266,4 +278,4 @@ var workspace = __toESM(__extractDefault(require('./workspace.cjs')), 1);
266
278
  vault_delete,
267
279
  workspace
268
280
  });
269
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgYXBwIGZyb20gJy4vYXBwLnRzJztcbmV4cG9ydCAqIGFzIGFzeW5jX3dpdGhfbm90aWNlIGZyb20gJy4vYXN5bmMtd2l0aC1ub3RpY2UudHMnO1xuZXhwb3J0ICogYXMgYXR0YWNobWVudF9wYXRoIGZyb20gJy4vYXR0YWNobWVudC1wYXRoLnRzJztcbmV4cG9ydCAqIGFzIGJhY2tsaW5rIGZyb20gJy4vYmFja2xpbmsudHMnO1xuZXhwb3J0ICogYXMgY2FsbG91dCBmcm9tICcuL2NhbGxvdXQudHMnO1xuZXhwb3J0ICogYXMgY29kZV9ibG9ja19tYXJrZG93bl9pbmZvcm1hdGlvbiBmcm9tICcuL2NvZGUtYmxvY2stbWFya2Rvd24taW5mb3JtYXRpb24udHMnO1xuZXhwb3J0ICogYXMgY29tbWFuZF9oYW5kbGVycyBmcm9tICcuL2NvbW1hbmQtaGFuZGxlcnMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgY29tcG9uZW50cyBmcm9tICcuL2NvbXBvbmVudHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgY29uc3RydWN0b3JzIGZyb20gJy4vY29uc3RydWN0b3JzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIGRhdGF2aWV3X2xpbmsgZnJvbSAnLi9kYXRhdmlldy1saW5rLnRzJztcbmV4cG9ydCAqIGFzIGRhdGF2aWV3IGZyb20gJy4vZGF0YXZpZXcudHMnO1xuZXhwb3J0ICogYXMgZWRpdG9yIGZyb20gJy4vZWRpdG9yLnRzJztcbmV4cG9ydCAqIGFzIGZpbGVfY2hhbmdlIGZyb20gJy4vZmlsZS1jaGFuZ2UudHMnO1xuZXhwb3J0ICogYXMgZmlsZV9tYW5hZ2VyIGZyb20gJy4vZmlsZS1tYW5hZ2VyLnRzJztcbmV4cG9ydCAqIGFzIGZpbGVfc3lzdGVtIGZyb20gJy4vZmlsZS1zeXN0ZW0udHMnO1xuZXhwb3J0ICogYXMgZnJvbnRtYXR0ZXJfbGlua19jYWNoZV93aXRoX29mZnNldHMgZnJvbSAnLi9mcm9udG1hdHRlci1saW5rLWNhY2hlLXdpdGgtb2Zmc2V0cy50cyc7XG5leHBvcnQgKiBhcyBmcm9udG1hdHRlciBmcm9tICcuL2Zyb250bWF0dGVyLnRzJztcbmV4cG9ydCAqIGFzIGkxOG4gZnJvbSAnLi9pMThuL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIGlzX2luX29ic2lkaWFuIGZyb20gJy4vaXMtaW4tb2JzaWRpYW4udHMnO1xuZXhwb3J0ICogYXMgbGluayBmcm9tICcuL2xpbmsudHMnO1xuZXhwb3J0ICogYXMgbG9nZ2VyIGZyb20gJy4vbG9nZ2VyLnRzJztcbmV4cG9ydCAqIGFzIGxvb3AgZnJvbSAnLi9sb29wLnRzJztcbmV4cG9ydCAqIGFzIG1hcmtkb3duX2NvZGVfYmxvY2tfcHJvY2Vzc29yIGZyb20gJy4vbWFya2Rvd24tY29kZS1ibG9jay1wcm9jZXNzb3IudHMnO1xuZXhwb3J0ICogYXMgbWFya2Rvd25fdmlldyBmcm9tICcuL21hcmtkb3duLXZpZXcudHMnO1xuZXhwb3J0ICogYXMgbWFya2Rvd24gZnJvbSAnLi9tYXJrZG93bi50cyc7XG5leHBvcnQgKiBhcyBtZXRhZGF0YV9jYWNoZSBmcm9tICcuL21ldGFkYXRhLWNhY2hlLnRzJztcbmV4cG9ydCAqIGFzIG1vZGFscyBmcm9tICcuL21vZGFscy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBtb25rZXlfYXJvdW5kIGZyb20gJy4vbW9ua2V5LWFyb3VuZC50cyc7XG5leHBvcnQgKiBhcyBvYnNpZGlhbl9zZXR0aW5ncyBmcm9tICcuL29ic2lkaWFuLXNldHRpbmdzLnRzJztcbmV4cG9ydCAqIGFzIHBkZiBmcm9tICcuL3BkZi50cyc7XG5leHBvcnQgKiBhcyBwbHVnaW4gZnJvbSAnLi9wbHVnaW4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgcXVldWUgZnJvbSAnLi9xdWV1ZS50cyc7XG5leHBvcnQgKiBhcyByZWFjdCBmcm9tICcuL3JlYWN0L2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIHJlZmVyZW5jZSBmcm9tICcuL3JlZmVyZW5jZS50cyc7XG5leHBvcnQgKiBhcyByZW5hbWVfZGVsZXRlX2hhbmRsZXIgZnJvbSAnLi9yZW5hbWUtZGVsZXRlLWhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgcmVzb3VyY2VfdXJsIGZyb20gJy4vcmVzb3VyY2UtdXJsLnRzJztcbmV4cG9ydCAqIGFzIHNldHRpbmdfZXggZnJvbSAnLi9zZXR0aW5nLWV4LnRzJztcbmV4cG9ydCAqIGFzIHNldHRpbmdfZ3JvdXBfZXggZnJvbSAnLi9zZXR0aW5nLWdyb3VwLWV4LnRzJztcbmV4cG9ydCAqIGFzIHZhbGlkYXRpb24gZnJvbSAnLi92YWxpZGF0aW9uLnRzJztcbmV4cG9ydCAqIGFzIHZhdWx0X2RlbGV0ZSBmcm9tICcuL3ZhdWx0LWRlbGV0ZS50cyc7XG5leHBvcnQgKiBhcyB2YXVsdCBmcm9tICcuL3ZhdWx0LnRzJztcbmV4cG9ydCAqIGFzIHdvcmtzcGFjZSBmcm9tICcuL3dvcmtzcGFjZS50cyc7XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLFVBQXFCO0FBQ3JCLHdCQUFtQztBQUNuQyxzQkFBaUM7QUFDakMsZUFBMEI7QUFDMUIsY0FBeUI7QUFDekIsc0NBQWlEO0FBQ2pELHVCQUFrQztBQUNsQyxpQkFBNEI7QUFDNUIsbUJBQThCO0FBQzlCLG9CQUErQjtBQUMvQixlQUEwQjtBQUMxQixhQUF3QjtBQUN4QixrQkFBNkI7QUFDN0IsbUJBQThCO0FBQzlCLGtCQUE2QjtBQUM3QiwwQ0FBcUQ7QUFDckQsa0JBQTZCO0FBQzdCLFdBQXNCO0FBQ3RCLHFCQUFnQztBQUNoQyxXQUFzQjtBQUN0QixhQUF3QjtBQUN4QixXQUFzQjtBQUN0QixvQ0FBK0M7QUFDL0Msb0JBQStCO0FBQy9CLGVBQTBCO0FBQzFCLHFCQUFnQztBQUNoQyxhQUF3QjtBQUN4QixvQkFBK0I7QUFDL0Isd0JBQW1DO0FBQ25DLFVBQXFCO0FBQ3JCLGFBQXdCO0FBQ3hCLFlBQXVCO0FBQ3ZCLFlBQXVCO0FBQ3ZCLGdCQUEyQjtBQUMzQiw0QkFBdUM7QUFDdkMsbUJBQThCO0FBQzlCLGlCQUE0QjtBQUM1Qix1QkFBa0M7QUFDbEMsaUJBQTRCO0FBQzVCLG1CQUE4QjtBQUM5QixZQUF1QjtBQUN2QixnQkFBMkI7IiwKICAibmFtZXMiOiBbXQp9Cg==
281
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL2luZGV4LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKiBUSElTIElTIEEgR0VORVJBVEVEL0JVTkRMRUQgRklMRSBCWSBCVUlMRCBTQ1JJUFQgKi9cblxuZXhwb3J0ICogYXMgYWN0aXZlX2ZpbGVfcHJvdmlkZXIgZnJvbSAnLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5leHBvcnQgKiBhcyBhcHAgZnJvbSAnLi9hcHAudHMnO1xuZXhwb3J0ICogYXMgYXN5bmNfd2l0aF9ub3RpY2UgZnJvbSAnLi9hc3luYy13aXRoLW5vdGljZS50cyc7XG5leHBvcnQgKiBhcyBhdHRhY2htZW50X3BhdGggZnJvbSAnLi9hdHRhY2htZW50LXBhdGgudHMnO1xuZXhwb3J0ICogYXMgYmFja2xpbmsgZnJvbSAnLi9iYWNrbGluay50cyc7XG5leHBvcnQgKiBhcyBjYWxsb3V0IGZyb20gJy4vY2FsbG91dC50cyc7XG5leHBvcnQgKiBhcyBjb2RlX2Jsb2NrX21hcmtkb3duX2luZm9ybWF0aW9uIGZyb20gJy4vY29kZS1ibG9jay1tYXJrZG93bi1pbmZvcm1hdGlvbi50cyc7XG5leHBvcnQgKiBhcyBjb21tYW5kX2hhbmRsZXJzIGZyb20gJy4vY29tbWFuZC1oYW5kbGVycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBjb21tYW5kX3JlZ2lzdHJhciBmcm9tICcuL2NvbW1hbmQtcmVnaXN0cmFyLnRzJztcbmV4cG9ydCAqIGFzIGNvbXBvbmVudHMgZnJvbSAnLi9jb21wb25lbnRzL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIGNvbnN0cnVjdG9ycyBmcm9tICcuL2NvbnN0cnVjdG9ycy9pbmRleC50cyc7XG5leHBvcnQgKiBhcyBkYXRhX2hhbmRsZXIgZnJvbSAnLi9kYXRhLWhhbmRsZXIudHMnO1xuZXhwb3J0ICogYXMgZGF0YXZpZXdfbGluayBmcm9tICcuL2RhdGF2aWV3LWxpbmsudHMnO1xuZXhwb3J0ICogYXMgZGF0YXZpZXcgZnJvbSAnLi9kYXRhdmlldy50cyc7XG5leHBvcnQgKiBhcyBlZGl0b3IgZnJvbSAnLi9lZGl0b3IudHMnO1xuZXhwb3J0ICogYXMgZmlsZV9jaGFuZ2UgZnJvbSAnLi9maWxlLWNoYW5nZS50cyc7XG5leHBvcnQgKiBhcyBmaWxlX21hbmFnZXIgZnJvbSAnLi9maWxlLW1hbmFnZXIudHMnO1xuZXhwb3J0ICogYXMgZmlsZV9zeXN0ZW0gZnJvbSAnLi9maWxlLXN5c3RlbS50cyc7XG5leHBvcnQgKiBhcyBmcm9udG1hdHRlcl9saW5rX2NhY2hlX3dpdGhfb2Zmc2V0cyBmcm9tICcuL2Zyb250bWF0dGVyLWxpbmstY2FjaGUtd2l0aC1vZmZzZXRzLnRzJztcbmV4cG9ydCAqIGFzIGZyb250bWF0dGVyIGZyb20gJy4vZnJvbnRtYXR0ZXIudHMnO1xuZXhwb3J0ICogYXMgaTE4biBmcm9tICcuL2kxOG4vaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgaXNfaW5fb2JzaWRpYW4gZnJvbSAnLi9pcy1pbi1vYnNpZGlhbi50cyc7XG5leHBvcnQgKiBhcyBsaW5rIGZyb20gJy4vbGluay50cyc7XG5leHBvcnQgKiBhcyBsb2dnZXIgZnJvbSAnLi9sb2dnZXIudHMnO1xuZXhwb3J0ICogYXMgbG9vcCBmcm9tICcuL2xvb3AudHMnO1xuZXhwb3J0ICogYXMgbWFya2Rvd25fY29kZV9ibG9ja19wcm9jZXNzb3IgZnJvbSAnLi9tYXJrZG93bi1jb2RlLWJsb2NrLXByb2Nlc3Nvci50cyc7XG5leHBvcnQgKiBhcyBtYXJrZG93bl92aWV3IGZyb20gJy4vbWFya2Rvd24tdmlldy50cyc7XG5leHBvcnQgKiBhcyBtYXJrZG93biBmcm9tICcuL21hcmtkb3duLnRzJztcbmV4cG9ydCAqIGFzIG1lbnVfZXZlbnRfcmVnaXN0cmFyIGZyb20gJy4vbWVudS1ldmVudC1yZWdpc3RyYXIudHMnO1xuZXhwb3J0ICogYXMgbWV0YWRhdGFfY2FjaGUgZnJvbSAnLi9tZXRhZGF0YS1jYWNoZS50cyc7XG5leHBvcnQgKiBhcyBtb2RhbHMgZnJvbSAnLi9tb2RhbHMvaW5kZXgudHMnO1xuZXhwb3J0ICogYXMgbW9ua2V5X2Fyb3VuZCBmcm9tICcuL21vbmtleS1hcm91bmQudHMnO1xuZXhwb3J0ICogYXMgb2JzaWRpYW5fc2V0dGluZ3MgZnJvbSAnLi9vYnNpZGlhbi1zZXR0aW5ncy50cyc7XG5leHBvcnQgKiBhcyBwZGYgZnJvbSAnLi9wZGYudHMnO1xuZXhwb3J0ICogYXMgcGx1Z2luIGZyb20gJy4vcGx1Z2luL2luZGV4LnRzJztcbmV4cG9ydCAqIGFzIHF1ZXVlIGZyb20gJy4vcXVldWUudHMnO1xuZXhwb3J0ICogYXMgcmVhY3QgZnJvbSAnLi9yZWFjdC9pbmRleC50cyc7XG5leHBvcnQgKiBhcyByZWZlcmVuY2UgZnJvbSAnLi9yZWZlcmVuY2UudHMnO1xuZXhwb3J0ICogYXMgcmVuYW1lX2RlbGV0ZV9oYW5kbGVyIGZyb20gJy4vcmVuYW1lLWRlbGV0ZS1oYW5kbGVyLnRzJztcbmV4cG9ydCAqIGFzIHJlc291cmNlX3VybCBmcm9tICcuL3Jlc291cmNlLXVybC50cyc7XG5leHBvcnQgKiBhcyBzZXR0aW5nX2V4IGZyb20gJy4vc2V0dGluZy1leC50cyc7XG5leHBvcnQgKiBhcyBzZXR0aW5nX2dyb3VwX2V4IGZyb20gJy4vc2V0dGluZy1ncm91cC1leC50cyc7XG5leHBvcnQgKiBhcyB2YWxpZGF0aW9uIGZyb20gJy4vdmFsaWRhdGlvbi50cyc7XG5leHBvcnQgKiBhcyB2YXVsdF9kZWxldGUgZnJvbSAnLi92YXVsdC1kZWxldGUudHMnO1xuZXhwb3J0ICogYXMgdmF1bHQgZnJvbSAnLi92YXVsdC50cyc7XG5leHBvcnQgKiBhcyB3b3Jrc3BhY2UgZnJvbSAnLi93b3Jrc3BhY2UudHMnO1xuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUVBLDJCQUFzQztBQUN0QyxVQUFxQjtBQUNyQix3QkFBbUM7QUFDbkMsc0JBQWlDO0FBQ2pDLGVBQTBCO0FBQzFCLGNBQXlCO0FBQ3pCLHNDQUFpRDtBQUNqRCx1QkFBa0M7QUFDbEMsd0JBQW1DO0FBQ25DLGlCQUE0QjtBQUM1QixtQkFBOEI7QUFDOUIsbUJBQThCO0FBQzlCLG9CQUErQjtBQUMvQixlQUEwQjtBQUMxQixhQUF3QjtBQUN4QixrQkFBNkI7QUFDN0IsbUJBQThCO0FBQzlCLGtCQUE2QjtBQUM3QiwwQ0FBcUQ7QUFDckQsa0JBQTZCO0FBQzdCLFdBQXNCO0FBQ3RCLHFCQUFnQztBQUNoQyxXQUFzQjtBQUN0QixhQUF3QjtBQUN4QixXQUFzQjtBQUN0QixvQ0FBK0M7QUFDL0Msb0JBQStCO0FBQy9CLGVBQTBCO0FBQzFCLDJCQUFzQztBQUN0QyxxQkFBZ0M7QUFDaEMsYUFBd0I7QUFDeEIsb0JBQStCO0FBQy9CLHdCQUFtQztBQUNuQyxVQUFxQjtBQUNyQixhQUF3QjtBQUN4QixZQUF1QjtBQUN2QixZQUF1QjtBQUN2QixnQkFBMkI7QUFDM0IsNEJBQXVDO0FBQ3ZDLG1CQUE4QjtBQUM5QixpQkFBNEI7QUFDNUIsdUJBQWtDO0FBQ2xDLGlCQUE0QjtBQUM1QixtQkFBOEI7QUFDOUIsWUFBdUI7QUFDdkIsZ0JBQTJCOyIsCiAgIm5hbWVzIjogW10KfQo=
@@ -1,3 +1,4 @@
1
+ export * as active_file_provider from './active-file-provider.cjs';
1
2
  export * as app from './app.cjs';
2
3
  export * as async_with_notice from './async-with-notice.cjs';
3
4
  export * as attachment_path from './attachment-path.cjs';
@@ -5,8 +6,10 @@ export * as backlink from './backlink.cjs';
5
6
  export * as callout from './callout.cjs';
6
7
  export * as code_block_markdown_information from './code-block-markdown-information.cjs';
7
8
  export * as command_handlers from './command-handlers/index.cjs';
9
+ export * as command_registrar from './command-registrar.cjs';
8
10
  export * as components from './components/index.cjs';
9
11
  export * as constructors from './constructors/index.cjs';
12
+ export * as data_handler from './data-handler.cjs';
10
13
  export * as dataview_link from './dataview-link.cjs';
11
14
  export * as dataview from './dataview.cjs';
12
15
  export * as editor from './editor.cjs';
@@ -23,6 +26,7 @@ export * as loop from './loop.cjs';
23
26
  export * as markdown_code_block_processor from './markdown-code-block-processor.cjs';
24
27
  export * as markdown_view from './markdown-view.cjs';
25
28
  export * as markdown from './markdown.cjs';
29
+ export * as menu_event_registrar from './menu-event-registrar.cjs';
26
30
  export * as metadata_cache from './metadata-cache.cjs';
27
31
  export * as modals from './modals/index.cjs';
28
32
  export * as monkey_around from './monkey-around.cjs';
@@ -0,0 +1,173 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initCjs() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ const globalThisRecord = globalThis;
9
+ globalThisRecord['__name'] ??= name;
10
+ const originalRequire = require;
11
+ if (originalRequire && !originalRequire.__isPatched) {
12
+ // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
+ require = Object.assign(
14
+ (id) => requirePatched(id),
15
+ originalRequire,
16
+ {
17
+ __isPatched: true
18
+ }
19
+ );
20
+ }
21
+
22
+ const newFuncs = {
23
+ __extractDefault() {
24
+ return extractDefault;
25
+ },
26
+ process() {
27
+ const browserProcess = {
28
+ browser: true,
29
+ cwd() {
30
+ return '/';
31
+ },
32
+ env: {},
33
+ platform: 'android'
34
+ };
35
+ return browserProcess;
36
+ }
37
+ };
38
+
39
+ for (const key of Object.keys(newFuncs)) {
40
+ globalThisRecord[key] ??= newFuncs[key]?.();
41
+ }
42
+
43
+ function name(obj) {
44
+ return obj;
45
+ }
46
+
47
+ function extractDefault(module) {
48
+ return module && module.__esModule && 'default' in module ? module.default : module;
49
+ }
50
+
51
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
+ 'obsidian',
53
+ '@codemirror/autocomplete',
54
+ '@codemirror/collab',
55
+ '@codemirror/commands',
56
+ '@codemirror/language',
57
+ '@codemirror/lint',
58
+ '@codemirror/search',
59
+ '@codemirror/state',
60
+ '@codemirror/text',
61
+ '@codemirror/view',
62
+ '@lezer/common',
63
+ '@lezer/lr',
64
+ '@lezer/highlight'];
65
+
66
+
67
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
+ '@codemirror/closebrackets',
69
+ '@codemirror/comment',
70
+ '@codemirror/fold',
71
+ '@codemirror/gutter',
72
+ '@codemirror/highlight',
73
+ '@codemirror/history',
74
+ '@codemirror/matchbrackets',
75
+ '@codemirror/panel',
76
+ '@codemirror/rangeset',
77
+ '@codemirror/rectangular-selection',
78
+ '@codemirror/stream-parser',
79
+ '@codemirror/tooltip'];
80
+
81
+
82
+ function requirePatched(id) {
83
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
+ return originalRequire?.(id);
85
+ }
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
+ if (globalThis.app.isMobile) {
89
+ if (id === 'process' || id === 'node:process') {
90
+ // eslint-disable-next-line no-console -- Valid usage.
91
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
+ return globalThis.process;
94
+ }
95
+ } else {
96
+ const module = originalRequire?.(id);
97
+ if (module) {
98
+ return extractDefault(module);
99
+ }
100
+ }
101
+
102
+ // eslint-disable-next-line no-console -- Valid usage.
103
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
+ return {};
105
+ }
106
+ })();
107
+
108
+ "use strict";
109
+ var __defProp = Object.defineProperty;
110
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
+ var __getOwnPropNames = Object.getOwnPropertyNames;
112
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
113
+ var __export = (target, all) => {
114
+ for (var name in all)
115
+ __defProp(target, name, { get: all[name], enumerable: true });
116
+ };
117
+ var __copyProps = (to, from, except, desc) => {
118
+ if (from && typeof from === "object" || typeof from === "function") {
119
+ for (let key of __getOwnPropNames(from))
120
+ if (!__hasOwnProp.call(to, key) && key !== except)
121
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
+ }
123
+ return to;
124
+ };
125
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
+ var menu_event_registrar_exports = {};
127
+ __export(menu_event_registrar_exports, {
128
+ AppMenuEventRegistrar: () => AppMenuEventRegistrar
129
+ });
130
+ module.exports = __toCommonJS(menu_event_registrar_exports);
131
+ class AppMenuEventRegistrar {
132
+ /**
133
+ * Creates a new app-backed menu event registrar.
134
+ *
135
+ * @param app - The Obsidian app instance.
136
+ * @param component - The component for lifecycle management.
137
+ */
138
+ constructor(app, component) {
139
+ this.app = app;
140
+ this.component = component;
141
+ }
142
+ app;
143
+ component;
144
+ /**
145
+ * Registers a handler for the editor context menu event.
146
+ *
147
+ * @param handler - The handler to register.
148
+ */
149
+ registerEditorMenuEventHandler(handler) {
150
+ this.component.registerEvent(this.app.workspace.on("editor-menu", handler));
151
+ }
152
+ /**
153
+ * Registers a handler for the single-file context menu event.
154
+ *
155
+ * @param handler - The handler to register.
156
+ */
157
+ registerFileMenuEventHandler(handler) {
158
+ this.component.registerEvent(this.app.workspace.on("file-menu", handler));
159
+ }
160
+ /**
161
+ * Registers a handler for the multi-file context menu event.
162
+ *
163
+ * @param handler - The handler to register.
164
+ */
165
+ registerFilesMenuEventHandler(handler) {
166
+ this.component.registerEvent(this.app.workspace.on("files-menu", handler));
167
+ }
168
+ }
169
+ // Annotate the CommonJS export names for ESM import in node:
170
+ 0 && (module.exports = {
171
+ AppMenuEventRegistrar
172
+ });
173
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogTWVudSBldmVudCByZWdpc3RyYXIuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIENvbXBvbmVudCxcbiAgRWRpdG9yLFxuICBNYXJrZG93bkZpbGVJbmZvLFxuICBNZW51LFxuICBUQWJzdHJhY3RGaWxlLFxuICBXb3Jrc3BhY2VMZWFmXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBIYW5kbGVyIGZvciB0aGUgZWRpdG9yIGNvbnRleHQgbWVudSBldmVudC5cbiAqXG4gKiBAcGFyYW0gbWVudSAtIFRoZSBtZW51IHRvIGFkZCBpdGVtcyB0by5cbiAqIEBwYXJhbSBlZGl0b3IgLSBUaGUgZWRpdG9yIGluc3RhbmNlLlxuICogQHBhcmFtIGN0eCAtIFRoZSBtYXJrZG93biBmaWxlIGNvbnRleHQuXG4gKi9cbmV4cG9ydCB0eXBlIEVkaXRvck1lbnVFdmVudEhhbmRsZXIgPSAobWVudTogTWVudSwgZWRpdG9yOiBFZGl0b3IsIGN0eDogTWFya2Rvd25GaWxlSW5mbykgPT4gdm9pZDtcblxuLyoqXG4gKiBIYW5kbGVyIGZvciB0aGUgc2luZ2xlLWZpbGUgY29udGV4dCBtZW51IGV2ZW50LlxuICpcbiAqIEBwYXJhbSBtZW51IC0gVGhlIG1lbnUgdG8gYWRkIGl0ZW1zIHRvLlxuICogQHBhcmFtIGFic3RyYWN0RmlsZSAtIFRoZSBmaWxlIG9yIGZvbGRlci5cbiAqIEBwYXJhbSBzb3VyY2UgLSBUaGUgc291cmNlIG9mIHRoZSBldmVudC5cbiAqIEBwYXJhbSBsZWFmIC0gVGhlIHdvcmtzcGFjZSBsZWFmLCBpZiBhdmFpbGFibGUuXG4gKi9cbmV4cG9ydCB0eXBlIEZpbGVNZW51RXZlbnRIYW5kbGVyID0gKG1lbnU6IE1lbnUsIGFic3RyYWN0RmlsZTogVEFic3RyYWN0RmlsZSwgc291cmNlOiBzdHJpbmcsIGxlYWY/OiBXb3Jrc3BhY2VMZWFmKSA9PiB2b2lkO1xuXG4vKipcbiAqIEhhbmRsZXIgZm9yIHRoZSBtdWx0aS1maWxlIGNvbnRleHQgbWVudSBldmVudC5cbiAqXG4gKiBAcGFyYW0gbWVudSAtIFRoZSBtZW51IHRvIGFkZCBpdGVtcyB0by5cbiAqIEBwYXJhbSBhYnN0cmFjdEZpbGVzIC0gVGhlIGZpbGVzIG9yIGZvbGRlcnMuXG4gKiBAcGFyYW0gc291cmNlIC0gVGhlIHNvdXJjZSBvZiB0aGUgZXZlbnQuXG4gKiBAcGFyYW0gbGVhZiAtIFRoZSB3b3Jrc3BhY2UgbGVhZiwgaWYgYXZhaWxhYmxlLlxuICovXG5leHBvcnQgdHlwZSBGaWxlc01lbnVFdmVudEhhbmRsZXIgPSAobWVudTogTWVudSwgYWJzdHJhY3RGaWxlczogVEFic3RyYWN0RmlsZVtdLCBzb3VyY2U6IHN0cmluZywgbGVhZj86IFdvcmtzcGFjZUxlYWYpID0+IHZvaWQ7XG5cbi8qKlxuICogUmVnaXN0ZXJzIG1lbnUgZXZlbnQgaGFuZGxlcnMgd2l0aCBsaWZlY3ljbGUgbWFuYWdlbWVudC5cbiAqL1xuXG4vKiogKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVudUV2ZW50UmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBlZGl0b3IgY29udGV4dCBtZW51IGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcmVnaXN0ZXJFZGl0b3JNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEVkaXRvck1lbnVFdmVudEhhbmRsZXIpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBoYW5kbGVyIGZvciB0aGUgc2luZ2xlLWZpbGUgY29udGV4dCBtZW51IGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcmVnaXN0ZXJGaWxlTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlTWVudUV2ZW50SGFuZGxlcik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBtdWx0aS1maWxlIGNvbnRleHQgbWVudSBldmVudC5cbiAgICpcbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byByZWdpc3Rlci5cbiAgICovXG4gIHJlZ2lzdGVyRmlsZXNNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEZpbGVzTWVudUV2ZW50SGFuZGxlcik6IHZvaWQ7XG59XG5cbi8qKlxuICoge0BsaW5rIE1lbnVFdmVudFJlZ2lzdHJhcn0gYmFja2VkIGJ5IE9ic2lkaWFuJ3Mge0BsaW5rIEFwcH0gd29ya3NwYWNlIGV2ZW50cy5cbiAqXG4gKiBFdmVudCBoYW5kbGVycyBhcmUgcmVnaXN0ZXJlZCB3aXRoIHRoZSBwcm92aWRlZCB7QGxpbmsgQ29tcG9uZW50fSBmb3IgbGlmZWN5Y2xlIG1hbmFnZW1lbnQuXG4gKi9cbmV4cG9ydCBjbGFzcyBBcHBNZW51RXZlbnRSZWdpc3RyYXIgaW1wbGVtZW50cyBNZW51RXZlbnRSZWdpc3RyYXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBhcHAtYmFja2VkIG1lbnUgZXZlbnQgcmVnaXN0cmFyLlxuICAgKlxuICAgKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICogQHBhcmFtIGNvbXBvbmVudCAtIFRoZSBjb21wb25lbnQgZm9yIGxpZmVjeWNsZSBtYW5hZ2VtZW50LlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcmVhZG9ubHkgYXBwOiBBcHAsXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb21wb25lbnQ6IENvbXBvbmVudFxuICApIHt9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBlZGl0b3IgY29udGV4dCBtZW51IGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyRWRpdG9yTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBFZGl0b3JNZW51RXZlbnRIYW5kbGVyKTogdm9pZCB7XG4gICAgdGhpcy5jb21wb25lbnQucmVnaXN0ZXJFdmVudCh0aGlzLmFwcC53b3Jrc3BhY2Uub24oJ2VkaXRvci1tZW51JywgaGFuZGxlcikpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhIGhhbmRsZXIgZm9yIHRoZSBzaW5nbGUtZmlsZSBjb250ZXh0IG1lbnUgZXZlbnQuXG4gICAqXG4gICAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJGaWxlTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlTWVudUV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50LnJlZ2lzdGVyRXZlbnQodGhpcy5hcHAud29ya3NwYWNlLm9uKCdmaWxlLW1lbnUnLCBoYW5kbGVyKSk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGEgaGFuZGxlciBmb3IgdGhlIG11bHRpLWZpbGUgY29udGV4dCBtZW51IGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gaGFuZGxlciAtIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyRmlsZXNNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEZpbGVzTWVudUV2ZW50SGFuZGxlcik6IHZvaWQge1xuICAgIHRoaXMuY29tcG9uZW50LnJlZ2lzdGVyRXZlbnQodGhpcy5hcHAud29ya3NwYWNlLm9uKCdmaWxlcy1tZW51JywgaGFuZGxlcikpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUE4RU8sTUFBTSxzQkFBb0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU94RCxZQUNZLEtBQ0EsV0FDakI7QUFGaUI7QUFDQTtBQUFBLEVBQ2hCO0FBQUEsRUFGZ0I7QUFBQSxFQUNBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUVosK0JBQStCLFNBQXVDO0FBQzNFLFNBQUssVUFBVSxjQUFjLEtBQUssSUFBSSxVQUFVLEdBQUcsZUFBZSxPQUFPLENBQUM7QUFBQSxFQUM1RTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9PLDZCQUE2QixTQUFxQztBQUN2RSxTQUFLLFVBQVUsY0FBYyxLQUFLLElBQUksVUFBVSxHQUFHLGFBQWEsT0FBTyxDQUFDO0FBQUEsRUFDMUU7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPTyw4QkFBOEIsU0FBc0M7QUFDekUsU0FBSyxVQUFVLGNBQWMsS0FBSyxJQUFJLFVBQVUsR0FBRyxjQUFjLE9BQU8sQ0FBQztBQUFBLEVBQzNFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -0,0 +1,90 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Menu event registrar.
5
+ */
6
+ import type { App, Component, Editor, MarkdownFileInfo, Menu, TAbstractFile, WorkspaceLeaf } from 'obsidian';
7
+ /**
8
+ * Handler for the editor context menu event.
9
+ *
10
+ * @param menu - The menu to add items to.
11
+ * @param editor - The editor instance.
12
+ * @param ctx - The markdown file context.
13
+ */
14
+ export type EditorMenuEventHandler = (menu: Menu, editor: Editor, ctx: MarkdownFileInfo) => void;
15
+ /**
16
+ * Handler for the single-file context menu event.
17
+ *
18
+ * @param menu - The menu to add items to.
19
+ * @param abstractFile - The file or folder.
20
+ * @param source - The source of the event.
21
+ * @param leaf - The workspace leaf, if available.
22
+ */
23
+ export type FileMenuEventHandler = (menu: Menu, abstractFile: TAbstractFile, source: string, leaf?: WorkspaceLeaf) => void;
24
+ /**
25
+ * Handler for the multi-file context menu event.
26
+ *
27
+ * @param menu - The menu to add items to.
28
+ * @param abstractFiles - The files or folders.
29
+ * @param source - The source of the event.
30
+ * @param leaf - The workspace leaf, if available.
31
+ */
32
+ export type FilesMenuEventHandler = (menu: Menu, abstractFiles: TAbstractFile[], source: string, leaf?: WorkspaceLeaf) => void;
33
+ /**
34
+ * Registers menu event handlers with lifecycle management.
35
+ */
36
+ /** */
37
+ export interface MenuEventRegistrar {
38
+ /**
39
+ * Registers a handler for the editor context menu event.
40
+ *
41
+ * @param handler - The handler to register.
42
+ */
43
+ registerEditorMenuEventHandler(handler: EditorMenuEventHandler): void;
44
+ /**
45
+ * Registers a handler for the single-file context menu event.
46
+ *
47
+ * @param handler - The handler to register.
48
+ */
49
+ registerFileMenuEventHandler(handler: FileMenuEventHandler): void;
50
+ /**
51
+ * Registers a handler for the multi-file context menu event.
52
+ *
53
+ * @param handler - The handler to register.
54
+ */
55
+ registerFilesMenuEventHandler(handler: FilesMenuEventHandler): void;
56
+ }
57
+ /**
58
+ * {@link MenuEventRegistrar} backed by Obsidian's {@link App} workspace events.
59
+ *
60
+ * Event handlers are registered with the provided {@link Component} for lifecycle management.
61
+ */
62
+ export declare class AppMenuEventRegistrar implements MenuEventRegistrar {
63
+ private readonly app;
64
+ private readonly component;
65
+ /**
66
+ * Creates a new app-backed menu event registrar.
67
+ *
68
+ * @param app - The Obsidian app instance.
69
+ * @param component - The component for lifecycle management.
70
+ */
71
+ constructor(app: App, component: Component);
72
+ /**
73
+ * Registers a handler for the editor context menu event.
74
+ *
75
+ * @param handler - The handler to register.
76
+ */
77
+ registerEditorMenuEventHandler(handler: EditorMenuEventHandler): void;
78
+ /**
79
+ * Registers a handler for the single-file context menu event.
80
+ *
81
+ * @param handler - The handler to register.
82
+ */
83
+ registerFileMenuEventHandler(handler: FileMenuEventHandler): void;
84
+ /**
85
+ * Registers a handler for the multi-file context menu event.
86
+ *
87
+ * @param handler - The handler to register.
88
+ */
89
+ registerFilesMenuEventHandler(handler: FilesMenuEventHandler): void;
90
+ }