obsidian-dev-utils 84.4.0 → 84.5.1

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.
@@ -0,0 +1,164 @@
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 initEsm() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ if (globalThis.process) {
9
+ return;
10
+ }
11
+
12
+ const browserProcess = {
13
+ browser: true,
14
+ cwd() {
15
+ return '/';
16
+ },
17
+ env: {},
18
+ platform: 'android'
19
+ };
20
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
21
+ globalThis.process = browserProcess;
22
+ })();
23
+
24
+ import {
25
+ DropdownComponent,
26
+ Platform
27
+ } from "obsidian";
28
+ const KEYS_MAP = /* @__PURE__ */ new Map([
29
+ ["Enter", "\u21B5"],
30
+ ["UpDown", "\u2191\u2193"]
31
+ ]);
32
+ class SuggestModalCommandBuilder {
33
+ instructions = [];
34
+ /**
35
+ * Adds an interactive checkbox to the instruction bar, bound to a modifier+key shortcut that toggles
36
+ * it.
37
+ *
38
+ * @param command - The checkbox command to add.
39
+ * @returns The builder instance for chaining.
40
+ */
41
+ addCheckbox(command) {
42
+ this.instructions.push({
43
+ command: this.buildCommand(command),
44
+ init: (purposeEl, scope) => {
45
+ const checkboxEl = purposeEl.createEl("input", { type: "checkbox" });
46
+ command.onInit(checkboxEl);
47
+ checkboxEl.addEventListener("change", () => {
48
+ command.onChange(checkboxEl.checked);
49
+ });
50
+ scope.register(command.modifiers ?? [], command.key, () => {
51
+ if (checkboxEl.disabled) {
52
+ return;
53
+ }
54
+ checkboxEl.checked = !checkboxEl.checked;
55
+ checkboxEl.trigger("change");
56
+ });
57
+ },
58
+ purpose: command.purpose
59
+ });
60
+ return this;
61
+ }
62
+ /**
63
+ * Adds a dropdown to the instruction bar, bound to a modifier+key shortcut that cycles through its
64
+ * options.
65
+ *
66
+ * @param command - The dropdown command to add.
67
+ * @returns The builder instance for chaining.
68
+ */
69
+ addDropDown(command) {
70
+ this.instructions.push({
71
+ command: this.buildCommand(command),
72
+ init: (purposeEl, scope) => {
73
+ purposeEl.appendText(" ");
74
+ const dropdownComponent = new DropdownComponent(purposeEl);
75
+ command.onInit(dropdownComponent);
76
+ dropdownComponent.onChange((value) => {
77
+ command.onChange(value);
78
+ });
79
+ scope.register(command.modifiers ?? [], command.key, () => {
80
+ if (dropdownComponent.disabled) {
81
+ return;
82
+ }
83
+ const selectEl = dropdownComponent.selectEl;
84
+ selectEl.selectedIndex = (selectEl.selectedIndex + 1) % selectEl.options.length;
85
+ selectEl.trigger("change");
86
+ });
87
+ },
88
+ purpose: command.purpose
89
+ });
90
+ return this;
91
+ }
92
+ /**
93
+ * Adds a keyboard command to the instruction bar. When {@link KeyboardCommand.onKey} is provided, its
94
+ * handler is registered with the modal scope; otherwise the command is a hint only.
95
+ *
96
+ * @param command - The keyboard command to add.
97
+ * @returns The builder instance for chaining.
98
+ */
99
+ addKeyboardCommand(command) {
100
+ this.instructions.push({
101
+ command: this.buildCommand(command),
102
+ purpose: command.purpose,
103
+ registerScope: (scope) => {
104
+ if (command.onKey) {
105
+ scope.register(command.modifiers ?? [], command.key, command.onKey.bind(command));
106
+ }
107
+ }
108
+ });
109
+ return this;
110
+ }
111
+ /**
112
+ * Applies the accumulated commands to a modal. Always registers the essential navigation/action key
113
+ * handlers; only renders the instruction UI and registers the option-toggle shortcuts when
114
+ * {@link SuggestModalCommandBuilderBuildOptions.shouldShowInstructions} is `true`.
115
+ *
116
+ * @param modal - The modal to apply the commands to.
117
+ * @param options - The build options.
118
+ */
119
+ build(modal, options = {}) {
120
+ const { shouldShowInstructions = true } = options;
121
+ for (const instruction of this.instructions) {
122
+ instruction.registerScope?.(modal.scope);
123
+ }
124
+ if (!shouldShowInstructions) {
125
+ return;
126
+ }
127
+ modal.setInstructions(this.instructions);
128
+ const purposeEls = Array.from(modal.instructionsEl.findAll(".prompt-instruction > span:nth-child(2)"));
129
+ for (let i = 0; i < purposeEls.length; i++) {
130
+ const purposeEl = purposeEls[i];
131
+ if (!purposeEl) {
132
+ continue;
133
+ }
134
+ this.instructions[i]?.init?.(purposeEl, modal.scope);
135
+ }
136
+ }
137
+ buildCommand(entry) {
138
+ let command = KEYS_MAP.get(entry.key) ?? entry.key;
139
+ for (const modifier of entry.modifiers ?? []) {
140
+ command = `${this.getModifierString(modifier)} ${command}`;
141
+ }
142
+ return command;
143
+ }
144
+ getModifierString(modifier) {
145
+ switch (modifier) {
146
+ case "Alt":
147
+ return "alt";
148
+ case "Ctrl":
149
+ return "ctrl";
150
+ case "Meta":
151
+ return Platform.isMacOS ? "cmd" : "win";
152
+ case "Mod":
153
+ return Platform.isMacOS ? "cmd" : "ctrl";
154
+ case "Shift":
155
+ return "shift";
156
+ default:
157
+ return modifier;
158
+ }
159
+ }
160
+ }
161
+ export {
162
+ SuggestModalCommandBuilder
163
+ };
164
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9zdWdnZXN0LW1vZGFsLWNvbW1hbmQtYnVpbGRlci50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIEEgYnVpbGRlciBmb3IgYSB7QGxpbmsgU3VnZ2VzdE1vZGFsfSdzIGluc3RydWN0aW9uIGJhci5cbiAqXG4gKiB7QGxpbmsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXJ9IGFzc2VtYmxlcyB0aGUgaW5zdHJ1Y3Rpb24gYmFyIHNob3duIGF0IHRoZSBib3R0b20gb2YgYVxuICoge0BsaW5rIFN1Z2dlc3RNb2RhbH06IGtleWJvYXJkLWNvbW1hbmQgaGludHMgKHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlci5hZGRLZXlib2FyZENvbW1hbmR9KSxcbiAqIGludGVyYWN0aXZlIGNoZWNrYm94ZXMgYm91bmQgdG8gYSBtb2RpZmllcitrZXkgc2hvcnRjdXRcbiAqICh7QGxpbmsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIuYWRkQ2hlY2tib3h9KSwgYW5kIGRyb3Bkb3ducyBib3VuZCB0byBhIG1vZGlmaWVyK2tleSBzaG9ydGN1dFxuICogKHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlci5hZGREcm9wRG93bn0pLiBDaGFpbiB0aGUgYGFkZCpgIGNhbGxzLCB0aGVuIGFwcGx5IGV2ZXJ5dGhpbmcgdG8gYVxuICogbW9kYWwgd2l0aCB7QGxpbmsgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIuYnVpbGR9OlxuICpcbiAqIGBgYHRzXG4gKiBuZXcgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXIoKVxuICogICAuYWRkS2V5Ym9hcmRDb21tYW5kKHsga2V5OiAnRW50ZXInLCBtb2RpZmllcnM6IFsnTW9kJ10sIG9uS2V5LCBwdXJwb3NlOiAndG8gY3JlYXRlJyB9KVxuICogICAuYWRkQ2hlY2tib3goeyBrZXk6ICcxJywgbW9kaWZpZXJzOiBbJ0FsdCddLCBvbkNoYW5nZSwgb25Jbml0LCBwdXJwb3NlOiAnRml4IGZvb3Rub3RlcycgfSlcbiAqICAgLmJ1aWxkKG1vZGFsKTtcbiAqIGBgYFxuICpcbiAqIHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlci5idWlsZH0gYWx3YXlzIHJlZ2lzdGVycyB0aGUgZXNzZW50aWFsIG5hdmlnYXRpb24vYWN0aW9uIGtleVxuICogaGFuZGxlcnMsIGJ1dCBvbmx5IHJlbmRlcnMgdGhlIGluc3RydWN0aW9uIFVJIGFuZCByZWdpc3RlcnMgdGhlIG9wdGlvbi10b2dnbGUgc2hvcnRjdXRzIHdoZW5cbiAqIHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucy5zaG91bGRTaG93SW5zdHJ1Y3Rpb25zfSBpcyBgdHJ1ZWAgKHRoZSBkZWZhdWx0KS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEluc3RydWN0aW9uLFxuICBLZXltYXBDb250ZXh0LFxuICBNb2RpZmllcixcbiAgU2NvcGUsXG4gIFN1Z2dlc3RNb2RhbFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7XG4gIERyb3Bkb3duQ29tcG9uZW50LFxuICBQbGF0Zm9ybVxufSBmcm9tICdvYnNpZGlhbic7XG5cbmNvbnN0IEtFWVNfTUFQID0gbmV3IE1hcDxzdHJpbmcsIHN0cmluZz4oW1xuICBbJ0VudGVyJywgJ1x1MjFCNSddLFxuICBbJ1VwRG93bicsICdcdTIxOTFcdTIxOTMnXVxuXSk7XG5cbi8qKlxuICogQSBjaGVja2JveCBjb21tYW5kIHNob3duIGluIGEge0BsaW5rIFN1Z2dlc3RNb2RhbH0ncyBpbnN0cnVjdGlvbiBiYXIgYW5kIGJvdW5kIHRvIGEgbW9kaWZpZXIra2V5XG4gKiBzaG9ydGN1dCB0aGF0IHRvZ2dsZXMgaXQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tib3hDb21tYW5kIHtcbiAgLyoqXG4gICAqIFRoZSBrZXkgdGhhdCB0b2dnbGVzIHRoZSBjaGVja2JveC5cbiAgICovXG4gIGtleTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbW9kaWZpZXJzIGNvbWJpbmVkIHdpdGgge0BsaW5rIENoZWNrYm94Q29tbWFuZC5rZXl9IHRvIHRvZ2dsZSB0aGUgY2hlY2tib3guIFdoZW4gb21pdHRlZCwgbm9cbiAgICogbW9kaWZpZXJzIGFyZSByZXF1aXJlZC5cbiAgICovXG4gIG1vZGlmaWVycz86IE1vZGlmaWVyW107XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBjaGVja2JveCB2YWx1ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgbmV3IGNoZWNrZWQgc3RhdGUuXG4gICAqL1xuICBvbkNoYW5nZSh2YWx1ZTogYm9vbGVhbik6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIENhbGxlZCBvbmNlIHdpdGggdGhlIGNyZWF0ZWQgY2hlY2tib3ggZWxlbWVudCwgdG8gaW5pdGlhbGl6ZSBpdHMgc3RhdGUuXG4gICAqXG4gICAqIEBwYXJhbSBjaGVja2JveEVsIC0gVGhlIGNyZWF0ZWQgY2hlY2tib3ggZWxlbWVudC5cbiAgICovXG4gIG9uSW5pdChjaGVja2JveEVsOiBIVE1MSW5wdXRFbGVtZW50KTogdm9pZDtcblxuICAvKipcbiAgICogVGhlIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIHNob3duIG5leHQgdG8gdGhlIGNoZWNrYm94IGluIHRoZSBpbnN0cnVjdGlvbiBiYXIuXG4gICAqL1xuICBwdXJwb3NlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBkcm9wZG93biBjb21tYW5kIHNob3duIGluIGEge0BsaW5rIFN1Z2dlc3RNb2RhbH0ncyBpbnN0cnVjdGlvbiBiYXIgYW5kIGJvdW5kIHRvIGEgbW9kaWZpZXIra2V5XG4gKiBzaG9ydGN1dCB0aGF0IGN5Y2xlcyB0aHJvdWdoIGl0cyBvcHRpb25zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERyb3BEb3duQ29tbWFuZCB7XG4gIC8qKlxuICAgKiBUaGUga2V5IHRoYXQgY3ljbGVzIHRoZSBkcm9wZG93biB0byBpdHMgbmV4dCBvcHRpb24uXG4gICAqL1xuICBrZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vZGlmaWVycyBjb21iaW5lZCB3aXRoIHtAbGluayBEcm9wRG93bkNvbW1hbmQua2V5fSB0byBjeWNsZSB0aGUgZHJvcGRvd24uIFdoZW4gb21pdHRlZCwgbm9cbiAgICogbW9kaWZpZXJzIGFyZSByZXF1aXJlZC5cbiAgICovXG4gIG1vZGlmaWVycz86IE1vZGlmaWVyW107XG5cbiAgLyoqXG4gICAqIENhbGxlZCB3aGVuIHRoZSBkcm9wZG93biB2YWx1ZSBjaGFuZ2VzLlxuICAgKlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgbmV3bHkgc2VsZWN0ZWQgdmFsdWUuXG4gICAqL1xuICBvbkNoYW5nZSh2YWx1ZTogc3RyaW5nKTogdm9pZDtcblxuICAvKipcbiAgICogQ2FsbGVkIG9uY2Ugd2l0aCB0aGUgY3JlYXRlZCBkcm9wZG93biBjb21wb25lbnQsIHRvIGluaXRpYWxpemUgaXRzIG9wdGlvbnMgYW5kIHN0YXRlLlxuICAgKlxuICAgKiBAcGFyYW0gZHJvcGRvd25Db21wb25lbnQgLSBUaGUgY3JlYXRlZCBkcm9wZG93biBjb21wb25lbnQuXG4gICAqL1xuICBvbkluaXQoZHJvcGRvd25Db21wb25lbnQ6IERyb3Bkb3duQ29tcG9uZW50KTogdm9pZDtcblxuICAvKipcbiAgICogVGhlIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIHNob3duIG5leHQgdG8gdGhlIGRyb3Bkb3duIGluIHRoZSBpbnN0cnVjdGlvbiBiYXIuXG4gICAqL1xuICBwdXJwb3NlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogQSBrZXlib2FyZCBjb21tYW5kIHNob3duIGluIGEge0BsaW5rIFN1Z2dlc3RNb2RhbH0ncyBpbnN0cnVjdGlvbiBiYXIgYW5kIG9wdGlvbmFsbHkgYm91bmQgdG8gYVxuICogbW9kaWZpZXIra2V5IGhhbmRsZXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgS2V5Ym9hcmRDb21tYW5kIHtcbiAgLyoqXG4gICAqIFRoZSBrZXkgc2hvd24gaW4gdGhlIGluc3RydWN0aW9uIGJhciAoYW5kIHJlZ2lzdGVyZWQgd2l0aCB0aGUgbW9kYWwgc2NvcGUgd2hlblxuICAgKiB7QGxpbmsgS2V5Ym9hcmRDb21tYW5kLm9uS2V5fSBpcyBwcm92aWRlZCkuXG4gICAqL1xuICBrZXk6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG1vZGlmaWVycyBjb21iaW5lZCB3aXRoIHtAbGluayBLZXlib2FyZENvbW1hbmQua2V5fS4gV2hlbiBvbWl0dGVkLCBubyBtb2RpZmllcnMgYXJlIHJlcXVpcmVkLlxuICAgKi9cbiAgbW9kaWZpZXJzPzogTW9kaWZpZXJbXTtcblxuICAvKipcbiAgICogVGhlIGhhbmRsZXIgaW52b2tlZCB3aGVuIHRoZSBzaG9ydGN1dCBpcyBwcmVzc2VkLiBXaGVuIG9taXR0ZWQsIHRoZSBjb21tYW5kIGlzIGEgaGludCBvbmx5IGFuZCBub1xuICAgKiBzY29wZSBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQuXG4gICAqXG4gICAqIEBwYXJhbSBldnQgLSBUaGUga2V5Ym9hcmQgZXZlbnQuXG4gICAqIEBwYXJhbSBjdHggLSBUaGUga2V5bWFwIGNvbnRleHQuXG4gICAqIEByZXR1cm5zIGBmYWxzZWAgdG8gcHJldmVudCBPYnNpZGlhbidzIGRlZmF1bHQgaGFuZGxpbmcsIG9yIGB2b2lkYC9gdHJ1ZWAgb3RoZXJ3aXNlLlxuICAgKi9cbiAgb25LZXk/KGV2dDogS2V5Ym9hcmRFdmVudCwgY3R4OiBLZXltYXBDb250ZXh0KTogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIGh1bWFuLXJlYWRhYmxlIGRlc2NyaXB0aW9uIHNob3duIG5leHQgdG8gdGhlIGtleSBpbiB0aGUgaW5zdHJ1Y3Rpb24gYmFyLlxuICAgKi9cbiAgcHVycG9zZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlci5idWlsZH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXJCdWlsZE9wdGlvbnMge1xuICAvKipcbiAgICogV2hldGhlciB0byByZW5kZXIgdGhlIGluc3RydWN0aW9uIGJhciAoY2hlY2tib3hlcywgZHJvcGRvd25zLCBrZXlib2FyZCBoaW50cykgYW5kIHJlZ2lzdGVyIHRoZVxuICAgKiBvcHRpb24tdG9nZ2xlIGtleWJvYXJkIHNob3J0Y3V0cy4gV2hlbiBgZmFsc2VgLCBubyBpbnN0cnVjdGlvbiBVSSBpcyBzaG93biBhbmQgdGhlIG9wdGlvbi10b2dnbGVcbiAgICogc2hvcnRjdXRzIGFyZSBub3QgcmVnaXN0ZXJlZDsgb25seSB0aGUgZXNzZW50aWFsIG5hdmlnYXRpb24ga2V5IGhhbmRsZXJzIHJlbWFpbiBhY3RpdmUuXG4gICAqXG4gICAqIEBkZWZhdWx0IGB0cnVlYFxuICAgKi9cbiAgcmVhZG9ubHkgc2hvdWxkU2hvd0luc3RydWN0aW9ucz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBJbnN0cnVjdGlvbkV4IGV4dGVuZHMgSW5zdHJ1Y3Rpb24ge1xuICBpbml0PyhwdXJwb3NlRWw6IEhUTUxTcGFuRWxlbWVudCwgc2NvcGU6IFNjb3BlKTogdm9pZDtcbiAgcmVnaXN0ZXJTY29wZT8oc2NvcGU6IFNjb3BlKTogdm9pZDtcbn1cblxuLyoqXG4gKiBCdWlsZHMgYSB7QGxpbmsgU3VnZ2VzdE1vZGFsfSdzIGluc3RydWN0aW9uIGJhciBmcm9tIGtleWJvYXJkIGNvbW1hbmRzLCBpbnRlcmFjdGl2ZSBjaGVja2JveGVzLCBhbmRcbiAqIGRyb3Bkb3ducywgdGhlbiBhcHBsaWVzIHRoZW0gdG8gYSBtb2RhbCB2aWEge0BsaW5rIFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyLmJ1aWxkfS5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1Z2dlc3RNb2RhbENvbW1hbmRCdWlsZGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbnN0cnVjdGlvbnM6IEluc3RydWN0aW9uRXhbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBBZGRzIGFuIGludGVyYWN0aXZlIGNoZWNrYm94IHRvIHRoZSBpbnN0cnVjdGlvbiBiYXIsIGJvdW5kIHRvIGEgbW9kaWZpZXIra2V5IHNob3J0Y3V0IHRoYXQgdG9nZ2xlc1xuICAgKiBpdC5cbiAgICpcbiAgICogQHBhcmFtIGNvbW1hbmQgLSBUaGUgY2hlY2tib3ggY29tbWFuZCB0byBhZGQuXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHB1YmxpYyBhZGRDaGVja2JveChjb21tYW5kOiBDaGVja2JveENvbW1hbmQpOiB0aGlzIHtcbiAgICB0aGlzLmluc3RydWN0aW9ucy5wdXNoKHtcbiAgICAgIGNvbW1hbmQ6IHRoaXMuYnVpbGRDb21tYW5kKGNvbW1hbmQpLFxuICAgICAgaW5pdDogKHB1cnBvc2VFbCwgc2NvcGUpID0+IHtcbiAgICAgICAgY29uc3QgY2hlY2tib3hFbCA9IHB1cnBvc2VFbC5jcmVhdGVFbCgnaW5wdXQnLCB7IHR5cGU6ICdjaGVja2JveCcgfSk7XG4gICAgICAgIGNvbW1hbmQub25Jbml0KGNoZWNrYm94RWwpO1xuICAgICAgICBjaGVja2JveEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2NoYW5nZScsICgpID0+IHtcbiAgICAgICAgICBjb21tYW5kLm9uQ2hhbmdlKGNoZWNrYm94RWwuY2hlY2tlZCk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIHNjb3BlLnJlZ2lzdGVyKGNvbW1hbmQubW9kaWZpZXJzID8/IFtdLCBjb21tYW5kLmtleSwgKCkgPT4ge1xuICAgICAgICAgIGlmIChjaGVja2JveEVsLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICAgIGNoZWNrYm94RWwuY2hlY2tlZCA9ICFjaGVja2JveEVsLmNoZWNrZWQ7XG4gICAgICAgICAgY2hlY2tib3hFbC50cmlnZ2VyKCdjaGFuZ2UnKTtcbiAgICAgICAgfSk7XG4gICAgICB9LFxuICAgICAgcHVycG9zZTogY29tbWFuZC5wdXJwb3NlXG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcyBhIGRyb3Bkb3duIHRvIHRoZSBpbnN0cnVjdGlvbiBiYXIsIGJvdW5kIHRvIGEgbW9kaWZpZXIra2V5IHNob3J0Y3V0IHRoYXQgY3ljbGVzIHRocm91Z2ggaXRzXG4gICAqIG9wdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSBjb21tYW5kIC0gVGhlIGRyb3Bkb3duIGNvbW1hbmQgdG8gYWRkLlxuICAgKiBAcmV0dXJucyBUaGUgYnVpbGRlciBpbnN0YW5jZSBmb3IgY2hhaW5pbmcuXG4gICAqL1xuICBwdWJsaWMgYWRkRHJvcERvd24oY29tbWFuZDogRHJvcERvd25Db21tYW5kKTogdGhpcyB7XG4gICAgdGhpcy5pbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICBjb21tYW5kOiB0aGlzLmJ1aWxkQ29tbWFuZChjb21tYW5kKSxcbiAgICAgIGluaXQ6IChwdXJwb3NlRWwsIHNjb3BlKSA9PiB7XG4gICAgICAgIHB1cnBvc2VFbC5hcHBlbmRUZXh0KCcgJyk7XG4gICAgICAgIGNvbnN0IGRyb3Bkb3duQ29tcG9uZW50ID0gbmV3IERyb3Bkb3duQ29tcG9uZW50KHB1cnBvc2VFbCk7XG4gICAgICAgIGNvbW1hbmQub25Jbml0KGRyb3Bkb3duQ29tcG9uZW50KTtcbiAgICAgICAgZHJvcGRvd25Db21wb25lbnQub25DaGFuZ2UoKHZhbHVlKSA9PiB7XG4gICAgICAgICAgY29tbWFuZC5vbkNoYW5nZSh2YWx1ZSk7XG4gICAgICAgIH0pO1xuXG4gICAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBkZWZlbnNpdmUgPz8gb24gb3B0aW9uYWwgbW9kaWZpZXJzLiAqL1xuICAgICAgICBzY29wZS5yZWdpc3Rlcihjb21tYW5kLm1vZGlmaWVycyA/PyBbXSwgY29tbWFuZC5rZXksICgpID0+IHtcbiAgICAgICAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgICAgICAgIGlmIChkcm9wZG93bkNvbXBvbmVudC5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBjb25zdCBzZWxlY3RFbCA9IGRyb3Bkb3duQ29tcG9uZW50LnNlbGVjdEVsO1xuICAgICAgICAgIHNlbGVjdEVsLnNlbGVjdGVkSW5kZXggPSAoc2VsZWN0RWwuc2VsZWN0ZWRJbmRleCArIDEpICUgc2VsZWN0RWwub3B0aW9ucy5sZW5ndGg7XG4gICAgICAgICAgc2VsZWN0RWwudHJpZ2dlcignY2hhbmdlJyk7XG4gICAgICAgIH0pO1xuICAgICAgfSxcbiAgICAgIHB1cnBvc2U6IGNvbW1hbmQucHVycG9zZVxuICAgIH0pO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHMgYSBrZXlib2FyZCBjb21tYW5kIHRvIHRoZSBpbnN0cnVjdGlvbiBiYXIuIFdoZW4ge0BsaW5rIEtleWJvYXJkQ29tbWFuZC5vbktleX0gaXMgcHJvdmlkZWQsIGl0c1xuICAgKiBoYW5kbGVyIGlzIHJlZ2lzdGVyZWQgd2l0aCB0aGUgbW9kYWwgc2NvcGU7IG90aGVyd2lzZSB0aGUgY29tbWFuZCBpcyBhIGhpbnQgb25seS5cbiAgICpcbiAgICogQHBhcmFtIGNvbW1hbmQgLSBUaGUga2V5Ym9hcmQgY29tbWFuZCB0byBhZGQuXG4gICAqIEByZXR1cm5zIFRoZSBidWlsZGVyIGluc3RhbmNlIGZvciBjaGFpbmluZy5cbiAgICovXG4gIHB1YmxpYyBhZGRLZXlib2FyZENvbW1hbmQoY29tbWFuZDogS2V5Ym9hcmRDb21tYW5kKTogdGhpcyB7XG4gICAgdGhpcy5pbnN0cnVjdGlvbnMucHVzaCh7XG4gICAgICBjb21tYW5kOiB0aGlzLmJ1aWxkQ29tbWFuZChjb21tYW5kKSxcbiAgICAgIHB1cnBvc2U6IGNvbW1hbmQucHVycG9zZSxcbiAgICAgIHJlZ2lzdGVyU2NvcGU6IChzY29wZSkgPT4ge1xuICAgICAgICBpZiAoY29tbWFuZC5vbktleSkge1xuICAgICAgICAgIC8qIHY4IGlnbm9yZSBzdGFydCAtLSBkZWZlbnNpdmUgPz8gb24gb3B0aW9uYWwgbW9kaWZpZXJzLiAqL1xuICAgICAgICAgIHNjb3BlLnJlZ2lzdGVyKGNvbW1hbmQubW9kaWZpZXJzID8/IFtdLCBjb21tYW5kLmtleSwgY29tbWFuZC5vbktleS5iaW5kKGNvbW1hbmQpKTtcbiAgICAgICAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogQXBwbGllcyB0aGUgYWNjdW11bGF0ZWQgY29tbWFuZHMgdG8gYSBtb2RhbC4gQWx3YXlzIHJlZ2lzdGVycyB0aGUgZXNzZW50aWFsIG5hdmlnYXRpb24vYWN0aW9uIGtleVxuICAgKiBoYW5kbGVyczsgb25seSByZW5kZXJzIHRoZSBpbnN0cnVjdGlvbiBVSSBhbmQgcmVnaXN0ZXJzIHRoZSBvcHRpb24tdG9nZ2xlIHNob3J0Y3V0cyB3aGVuXG4gICAqIHtAbGluayBTdWdnZXN0TW9kYWxDb21tYW5kQnVpbGRlckJ1aWxkT3B0aW9ucy5zaG91bGRTaG93SW5zdHJ1Y3Rpb25zfSBpcyBgdHJ1ZWAuXG4gICAqXG4gICAqIEBwYXJhbSBtb2RhbCAtIFRoZSBtb2RhbCB0byBhcHBseSB0aGUgY29tbWFuZHMgdG8uXG4gICAqIEBwYXJhbSBvcHRpb25zIC0gVGhlIGJ1aWxkIG9wdGlvbnMuXG4gICAqL1xuICBwdWJsaWMgYnVpbGQobW9kYWw6IFN1Z2dlc3RNb2RhbDx1bmtub3duPiwgb3B0aW9uczogU3VnZ2VzdE1vZGFsQ29tbWFuZEJ1aWxkZXJCdWlsZE9wdGlvbnMgPSB7fSk6IHZvaWQge1xuICAgIGNvbnN0IHsgc2hvdWxkU2hvd0luc3RydWN0aW9ucyA9IHRydWUgfSA9IG9wdGlvbnM7XG5cbiAgICAvLyBFc3NlbnRpYWwgbmF2aWdhdGlvbi9hY3Rpb24ga2V5IGhhbmRsZXJzIG11c3Qgc3RheSBhY3RpdmUgZXZlbiB3aGVuIHRoZSBpbnN0cnVjdGlvbiBiYXIgaXMgaGlkZGVuLlxuICAgIGZvciAoY29uc3QgaW5zdHJ1Y3Rpb24gb2YgdGhpcy5pbnN0cnVjdGlvbnMpIHtcbiAgICAgIGluc3RydWN0aW9uLnJlZ2lzdGVyU2NvcGU/Lihtb2RhbC5zY29wZSk7XG4gICAgfVxuXG4gICAgaWYgKCFzaG91bGRTaG93SW5zdHJ1Y3Rpb25zKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbW9kYWwuc2V0SW5zdHJ1Y3Rpb25zKHRoaXMuaW5zdHJ1Y3Rpb25zKTtcbiAgICBjb25zdCBwdXJwb3NlRWxzID0gQXJyYXkuZnJvbShtb2RhbC5pbnN0cnVjdGlvbnNFbC5maW5kQWxsKCcucHJvbXB0LWluc3RydWN0aW9uID4gc3BhbjpudGgtY2hpbGQoMiknKSkgYXMgSFRNTFNwYW5FbGVtZW50W107XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBwdXJwb3NlRWxzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBjb25zdCBwdXJwb3NlRWwgPSBwdXJwb3NlRWxzW2ldO1xuICAgICAgLyogdjggaWdub3JlIHN0YXJ0IC0tIHB1cnBvc2VFbHNbaV0gaXMgYWx3YXlzIGRlZmluZWQgd2l0aGluIGxvb3AgYm91bmRzLiAqL1xuICAgICAgaWYgKCFwdXJwb3NlRWwpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICAvKiB2OCBpZ25vcmUgc3RvcCAqL1xuXG4gICAgICB0aGlzLmluc3RydWN0aW9uc1tpXT8uaW5pdD8uKHB1cnBvc2VFbCwgbW9kYWwuc2NvcGUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYnVpbGRDb21tYW5kKGVudHJ5OiBLZXlib2FyZENvbW1hbmQpOiBzdHJpbmcge1xuICAgIGxldCBjb21tYW5kID0gS0VZU19NQVAuZ2V0KGVudHJ5LmtleSkgPz8gZW50cnkua2V5O1xuXG4gICAgZm9yIChjb25zdCBtb2RpZmllciBvZiBlbnRyeS5tb2RpZmllcnMgPz8gW10pIHtcbiAgICAgIGNvbW1hbmQgPSBgJHt0aGlzLmdldE1vZGlmaWVyU3RyaW5nKG1vZGlmaWVyKX0gJHtjb21tYW5kfWA7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbW1hbmQ7XG4gIH1cblxuICBwcml2YXRlIGdldE1vZGlmaWVyU3RyaW5nKG1vZGlmaWVyOiBNb2RpZmllcik6IHN0cmluZyB7XG4gICAgc3dpdGNoIChtb2RpZmllcikge1xuICAgICAgY2FzZSAnQWx0JzpcbiAgICAgICAgcmV0dXJuICdhbHQnO1xuICAgICAgY2FzZSAnQ3RybCc6XG4gICAgICAgIHJldHVybiAnY3RybCc7XG4gICAgICBjYXNlICdNZXRhJzpcbiAgICAgICAgcmV0dXJuIFBsYXRmb3JtLmlzTWFjT1MgPyAnY21kJyA6ICd3aW4nO1xuICAgICAgY2FzZSAnTW9kJzpcbiAgICAgICAgcmV0dXJuIFBsYXRmb3JtLmlzTWFjT1MgPyAnY21kJyA6ICdjdHJsJztcbiAgICAgIGNhc2UgJ1NoaWZ0JzpcbiAgICAgICAgcmV0dXJuICdzaGlmdCc7XG4gICAgICBkZWZhdWx0OlxuICAgICAgICByZXR1cm4gbW9kaWZpZXI7XG4gICAgfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQWdDQTtBQUFBLEVBQ0U7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLE1BQU0sV0FBVyxvQkFBSSxJQUFvQjtBQUFBLEVBQ3ZDLENBQUMsU0FBUyxRQUFHO0FBQUEsRUFDYixDQUFDLFVBQVUsY0FBSTtBQUNqQixDQUFDO0FBaUlNLE1BQU0sMkJBQTJCO0FBQUEsRUFDckIsZUFBZ0MsQ0FBQztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFTM0MsWUFBWSxTQUFnQztBQUNqRCxTQUFLLGFBQWEsS0FBSztBQUFBLE1BQ3JCLFNBQVMsS0FBSyxhQUFhLE9BQU87QUFBQSxNQUNsQyxNQUFNLENBQUMsV0FBVyxVQUFVO0FBQzFCLGNBQU0sYUFBYSxVQUFVLFNBQVMsU0FB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
@@ -0,0 +1,6 @@
1
+ {
2
+ "main": "../../../dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.cjs",
3
+ "module": "../../../dist/lib/esm/obsidian/modals/suggest-modal-command-builder.mjs",
4
+ "type": "module",
5
+ "types": "../../../dist/lib/cjs/obsidian/modals/suggest-modal-command-builder.d.cts"
6
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "84.4.0",
3
+ "version": "84.5.1",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development.",
5
5
  "keywords": [
6
6
  "obsidian"