obsidian-dev-utils 18.0.5 → 18.2.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/CHANGELOG.md +10 -0
- package/dist/lib/Async.cjs +1 -1
- package/dist/lib/Async.d.ts +6 -0
- package/dist/lib/Async.mjs +1 -1
- package/dist/lib/CssClass.cjs +4 -1
- package/dist/lib/CssClass.d.ts +12 -0
- package/dist/lib/CssClass.mjs +4 -1
- package/dist/lib/Library.cjs +2 -2
- package/dist/lib/Library.mjs +2 -2
- package/dist/lib/obsidian/Modals/Alert.cjs +10 -16
- package/dist/lib/obsidian/Modals/Alert.d.ts +4 -4
- package/dist/lib/obsidian/Modals/Alert.mjs +14 -20
- package/dist/lib/obsidian/Modals/Confirm.cjs +12 -22
- package/dist/lib/obsidian/Modals/Confirm.d.ts +4 -8
- package/dist/lib/obsidian/Modals/Confirm.mjs +16 -26
- package/dist/lib/obsidian/Modals/ModalBase.cjs +56 -0
- package/dist/lib/obsidian/Modals/ModalBase.d.ts +35 -0
- package/dist/lib/obsidian/Modals/ModalBase.mjs +31 -0
- package/dist/lib/obsidian/Modals/Prompt.cjs +22 -30
- package/dist/lib/obsidian/Modals/Prompt.d.ts +2 -13
- package/dist/lib/obsidian/Modals/Prompt.mjs +25 -31
- package/dist/lib/obsidian/Modals/SelectItem.cjs +6 -5
- package/dist/lib/obsidian/Modals/SelectItem.d.ts +4 -0
- package/dist/lib/obsidian/Modals/SelectItem.mjs +6 -5
- package/dist/styles.css +14 -3
- package/package.json +2 -2
|
@@ -30,35 +30,28 @@ __export(Confirm_exports, {
|
|
|
30
30
|
module.exports = __toCommonJS(Confirm_exports);
|
|
31
31
|
var import_obsidian = require('obsidian');
|
|
32
32
|
var import_CssClass = require('../../CssClass.cjs');
|
|
33
|
-
var
|
|
34
|
-
class ConfirmModal extends
|
|
33
|
+
var import_ModalBase = require('./ModalBase.cjs');
|
|
34
|
+
class ConfirmModal extends import_ModalBase.ModalBase {
|
|
35
|
+
isConfirmed = false;
|
|
36
|
+
options;
|
|
35
37
|
constructor(options, resolve) {
|
|
36
|
-
super(options.
|
|
37
|
-
this.resolve = resolve;
|
|
38
|
+
super(options, resolve, import_CssClass.CssClass.ConfirmModal);
|
|
38
39
|
const DEFAULT_OPTIONS = {
|
|
39
40
|
app: options.app,
|
|
40
|
-
cancelButtonStyles: {},
|
|
41
41
|
cancelButtonText: "Cancel",
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
marginRight: "10px",
|
|
45
|
-
marginTop: "20px"
|
|
46
|
-
},
|
|
42
|
+
cssClass: "",
|
|
43
|
+
message: options.message,
|
|
47
44
|
okButtonText: "OK",
|
|
48
45
|
title: ""
|
|
49
46
|
};
|
|
50
47
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
51
|
-
this.containerEl.addClass(import_CssClass.CssClass.LibraryName, (0, import_PluginId.getPluginId)(), import_CssClass.CssClass.ConfirmModal);
|
|
52
48
|
}
|
|
53
|
-
isConfirmed = false;
|
|
54
|
-
options;
|
|
55
49
|
onClose() {
|
|
56
50
|
this.resolve(this.isConfirmed);
|
|
57
51
|
}
|
|
58
52
|
onOpen() {
|
|
59
53
|
this.titleEl.setText(this.options.title);
|
|
60
|
-
|
|
61
|
-
paragraph.setText(this.options.message);
|
|
54
|
+
this.contentEl.createEl("p", { text: this.options.message });
|
|
62
55
|
const okButton = new import_obsidian.ButtonComponent(this.contentEl);
|
|
63
56
|
okButton.setButtonText(this.options.okButtonText);
|
|
64
57
|
okButton.setCta();
|
|
@@ -66,21 +59,18 @@ class ConfirmModal extends import_obsidian.Modal {
|
|
|
66
59
|
this.isConfirmed = true;
|
|
67
60
|
this.close();
|
|
68
61
|
});
|
|
69
|
-
|
|
62
|
+
okButton.setClass(import_CssClass.CssClass.OkButton);
|
|
70
63
|
const cancelButton = new import_obsidian.ButtonComponent(this.contentEl);
|
|
71
64
|
cancelButton.setButtonText(this.options.cancelButtonText);
|
|
72
65
|
cancelButton.onClick(this.close.bind(this));
|
|
73
|
-
|
|
66
|
+
cancelButton.setClass(import_CssClass.CssClass.CancelButton);
|
|
74
67
|
}
|
|
75
68
|
}
|
|
76
69
|
async function confirm(options) {
|
|
77
|
-
return await
|
|
78
|
-
const modal = new ConfirmModal(options, resolve);
|
|
79
|
-
modal.open();
|
|
80
|
-
});
|
|
70
|
+
return await (0, import_ModalBase.showModal)((resolve) => new ConfirmModal(options, resolve));
|
|
81
71
|
}
|
|
82
72
|
// Annotate the CommonJS export names for ESM import in node:
|
|
83
73
|
0 && (module.exports = {
|
|
84
74
|
confirm
|
|
85
75
|
});
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9Db25maXJtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBDb25maXJtXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGNvbmZpcm0gbW9kYWxzIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgd2l0aCBhIG1lc3NhZ2UgaW4gT2JzaWRpYW4uIFRoZSBtb2RhbCBpbmNsdWRlcyBcIk9LXCIgYW5kIFwiQ2FuY2VsXCIgYnV0dG9ucyB0byBjb25maXJtIG9yIGNhbmNlbCB0aGUgYWN0aW9uLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzZVJlc29sdmUgfSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9Nb2RhbEJhc2UudHMnO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maXJtT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBtb2RhbC5cbiAgICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcbn1cblxuY2xhc3MgQ29uZmlybU1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPGJvb2xlYW4sIENvbmZpcm1PcHRpb25zPiB7XG4gIHByaXZhdGUgaXNDb25maXJtZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvcHRpb25zOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENvbmZpcm1PcHRpb25zLCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxib29sZWFuPikge1xuICAgIHN1cGVyKG9wdGlvbnMsIHJlc29sdmUsIENzc0NsYXNzLkNvbmZpcm1Nb2RhbCk7XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz4gPSB7XG4gICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBjc3NDbGFzczogJycsXG4gICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsXG4gICAgICBva0J1dHRvblRleHQ6ICdPSycsXG4gICAgICB0aXRsZTogJydcbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUodGhpcy5pc0NvbmZpcm1lZCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMub3B0aW9ucy5tZXNzYWdlIH0pO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgb2tCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLm9wdGlvbnMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKCgpID0+IHtcbiAgICAgIHRoaXMuaXNDb25maXJtZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcblxuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5DYW5jZWxCdXR0b24pO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gY29uZmlybSBtb2RhbCBpbiBPYnNpZGlhbiB3aXRoIGEgc3BlY2lmaWVkIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIFwiT0tcIiBidXR0b24gd2FzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb25maXJtKG9wdGlvbnM6IENvbmZpcm1PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8Ym9vbGVhbj4oKHJlc29sdmUpID0+IG5ldyBDb25maXJtTW9kYWwob3B0aW9ucywgcmVzb2x2ZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFTQSxzQkFBZ0M7QUFJaEMsc0JBQXlCO0FBQ3pCLHVCQUdPO0FBcUNQLE1BQU0scUJBQXFCLDJCQUFtQztBQUFBLEVBQ3BELGNBQWM7QUFBQSxFQUNkO0FBQUEsRUFFRCxZQUFZLFNBQXlCLFNBQWtDO0FBQzVFLFVBQU0sU0FBUyxTQUFTLHlCQUFTLFlBQVk7QUFDN0MsVUFBTSxrQkFBNEM7QUFBQSxNQUNoRCxLQUFLLFFBQVE7QUFBQSxNQUNiLGtCQUFrQjtBQUFBLE1BQ2xCLFVBQVU7QUFBQSxNQUNWLFNBQVMsUUFBUTtBQUFBLE1BQ2pCLGNBQWM7QUFBQSxNQUNkLE9BQU87QUFBQSxJQUNUO0FBQ0EsU0FBSyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxRQUFRO0FBQUEsRUFDbEQ7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVEsS0FBSyxXQUFXO0FBQUEsRUFDL0I7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFNBQUssUUFBUSxRQUFRLEtBQUssUUFBUSxLQUFLO0FBQ3ZDLFNBQUssVUFBVSxTQUFTLEtBQUssRUFBRSxNQUFNLEtBQUssUUFBUSxRQUFRLENBQUM7QUFDM0QsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDaEQsYUFBUyxPQUFPO0FBQ2hCLGFBQVMsUUFBUSxNQUFNO0FBQ3JCLFdBQUssY0FBYztBQUNuQixXQUFLLE1BQU07QUFBQSxJQUNiLENBQUM7QUFDRCxhQUFTLFNBQVMseUJBQVMsUUFBUTtBQUVuQyxVQUFNLGVBQWUsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ3ZELGlCQUFhLGNBQWMsS0FBSyxRQUFRLGdCQUFnQjtBQUN4RCxpQkFBYSxRQUFRLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQztBQUMxQyxpQkFBYSxTQUFTLHlCQUFTLFlBQVk7QUFBQSxFQUM3QztBQUNGO0FBUUEsZUFBc0IsUUFBUSxTQUEyQztBQUN2RSxTQUFPLFVBQU0sNEJBQW1CLENBQUMsWUFBWSxJQUFJLGFBQWEsU0FBUyxPQUFPLENBQUM7QUFDakY7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -13,22 +13,18 @@ export interface ConfirmOptions {
|
|
|
13
13
|
* The Obsidian app instance.
|
|
14
14
|
*/
|
|
15
15
|
app: App;
|
|
16
|
-
/**
|
|
17
|
-
* The styles to apply to the "Cancel" button.
|
|
18
|
-
*/
|
|
19
|
-
cancelButtonStyles?: Partial<CSSStyleDeclaration>;
|
|
20
16
|
/**
|
|
21
17
|
* The text for the "Cancel" button.
|
|
22
18
|
*/
|
|
23
19
|
cancelButtonText?: string;
|
|
24
20
|
/**
|
|
25
|
-
* The
|
|
21
|
+
* The CSS class to apply to the modal.
|
|
26
22
|
*/
|
|
27
|
-
|
|
23
|
+
cssClass?: string;
|
|
28
24
|
/**
|
|
29
|
-
* The
|
|
25
|
+
* The message to display in the modal.
|
|
30
26
|
*/
|
|
31
|
-
|
|
27
|
+
message: DocumentFragment | string;
|
|
32
28
|
/**
|
|
33
29
|
* The text for the "OK" button.
|
|
34
30
|
*/
|
|
@@ -5,40 +5,33 @@ if you want to view the source, please visit the github repository of this plugi
|
|
|
5
5
|
|
|
6
6
|
(function initEsm(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
|
7
7
|
|
|
8
|
-
import {
|
|
9
|
-
ButtonComponent,
|
|
10
|
-
Modal
|
|
11
|
-
} from "obsidian";
|
|
8
|
+
import { ButtonComponent } from "obsidian";
|
|
12
9
|
import { CssClass } from "../../CssClass.mjs";
|
|
13
|
-
import {
|
|
14
|
-
|
|
10
|
+
import {
|
|
11
|
+
ModalBase,
|
|
12
|
+
showModal
|
|
13
|
+
} from "./ModalBase.mjs";
|
|
14
|
+
class ConfirmModal extends ModalBase {
|
|
15
|
+
isConfirmed = false;
|
|
16
|
+
options;
|
|
15
17
|
constructor(options, resolve) {
|
|
16
|
-
super(options.
|
|
17
|
-
this.resolve = resolve;
|
|
18
|
+
super(options, resolve, CssClass.ConfirmModal);
|
|
18
19
|
const DEFAULT_OPTIONS = {
|
|
19
20
|
app: options.app,
|
|
20
|
-
cancelButtonStyles: {},
|
|
21
21
|
cancelButtonText: "Cancel",
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
marginRight: "10px",
|
|
25
|
-
marginTop: "20px"
|
|
26
|
-
},
|
|
22
|
+
cssClass: "",
|
|
23
|
+
message: options.message,
|
|
27
24
|
okButtonText: "OK",
|
|
28
25
|
title: ""
|
|
29
26
|
};
|
|
30
27
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
31
|
-
this.containerEl.addClass(CssClass.LibraryName, getPluginId(), CssClass.ConfirmModal);
|
|
32
28
|
}
|
|
33
|
-
isConfirmed = false;
|
|
34
|
-
options;
|
|
35
29
|
onClose() {
|
|
36
30
|
this.resolve(this.isConfirmed);
|
|
37
31
|
}
|
|
38
32
|
onOpen() {
|
|
39
33
|
this.titleEl.setText(this.options.title);
|
|
40
|
-
|
|
41
|
-
paragraph.setText(this.options.message);
|
|
34
|
+
this.contentEl.createEl("p", { text: this.options.message });
|
|
42
35
|
const okButton = new ButtonComponent(this.contentEl);
|
|
43
36
|
okButton.setButtonText(this.options.okButtonText);
|
|
44
37
|
okButton.setCta();
|
|
@@ -46,20 +39,17 @@ class ConfirmModal extends Modal {
|
|
|
46
39
|
this.isConfirmed = true;
|
|
47
40
|
this.close();
|
|
48
41
|
});
|
|
49
|
-
|
|
42
|
+
okButton.setClass(CssClass.OkButton);
|
|
50
43
|
const cancelButton = new ButtonComponent(this.contentEl);
|
|
51
44
|
cancelButton.setButtonText(this.options.cancelButtonText);
|
|
52
45
|
cancelButton.onClick(this.close.bind(this));
|
|
53
|
-
|
|
46
|
+
cancelButton.setClass(CssClass.CancelButton);
|
|
54
47
|
}
|
|
55
48
|
}
|
|
56
49
|
async function confirm(options) {
|
|
57
|
-
return await
|
|
58
|
-
const modal = new ConfirmModal(options, resolve);
|
|
59
|
-
modal.open();
|
|
60
|
-
});
|
|
50
|
+
return await showModal((resolve) => new ConfirmModal(options, resolve));
|
|
61
51
|
}
|
|
62
52
|
export {
|
|
63
53
|
confirm
|
|
64
54
|
};
|
|
65
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
55
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9Db25maXJtLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBDb25maXJtXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGNvbmZpcm0gbW9kYWxzIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgd2l0aCBhIG1lc3NhZ2UgaW4gT2JzaWRpYW4uIFRoZSBtb2RhbCBpbmNsdWRlcyBcIk9LXCIgYW5kIFwiQ2FuY2VsXCIgYnV0dG9ucyB0byBjb25maXJtIG9yIGNhbmNlbCB0aGUgYWN0aW9uLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBCdXR0b25Db21wb25lbnQgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzZVJlc29sdmUgfSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHtcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9Nb2RhbEJhc2UudHMnO1xuXG4vKipcbiAqIFRoZSBvcHRpb25zIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb25maXJtT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgQ1NTIGNsYXNzIHRvIGFwcGx5IHRvIHRoZSBtb2RhbC5cbiAgICovXG4gIGNzc0NsYXNzPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIG1lc3NhZ2U6IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcbn1cblxuY2xhc3MgQ29uZmlybU1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPGJvb2xlYW4sIENvbmZpcm1PcHRpb25zPiB7XG4gIHByaXZhdGUgaXNDb25maXJtZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSBvcHRpb25zOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IENvbmZpcm1PcHRpb25zLCByZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxib29sZWFuPikge1xuICAgIHN1cGVyKG9wdGlvbnMsIHJlc29sdmUsIENzc0NsYXNzLkNvbmZpcm1Nb2RhbCk7XG4gICAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz4gPSB7XG4gICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBjc3NDbGFzczogJycsXG4gICAgICBtZXNzYWdlOiBvcHRpb25zLm1lc3NhZ2UsXG4gICAgICBva0J1dHRvblRleHQ6ICdPSycsXG4gICAgICB0aXRsZTogJydcbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUodGhpcy5pc0NvbmZpcm1lZCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMub3B0aW9ucy5tZXNzYWdlIH0pO1xuICAgIGNvbnN0IG9rQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgb2tCdXR0b24uc2V0QnV0dG9uVGV4dCh0aGlzLm9wdGlvbnMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKCgpID0+IHtcbiAgICAgIHRoaXMuaXNDb25maXJtZWQgPSB0cnVlO1xuICAgICAgdGhpcy5jbG9zZSgpO1xuICAgIH0pO1xuICAgIG9rQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLk9rQnV0dG9uKTtcblxuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5jYW5jZWxCdXR0b25UZXh0KTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5DYW5jZWxCdXR0b24pO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYW4gY29uZmlybSBtb2RhbCBpbiBPYnNpZGlhbiB3aXRoIGEgc3BlY2lmaWVkIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIFwiT0tcIiBidXR0b24gd2FzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb25maXJtKG9wdGlvbnM6IENvbmZpcm1PcHRpb25zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8Ym9vbGVhbj4oKHJlc29sdmUpID0+IG5ldyBDb25maXJtTW9kYWwob3B0aW9ucywgcmVzb2x2ZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7OztBQVNBLFNBQVMsdUJBQXVCO0FBSWhDLFNBQVMsZ0JBQWdCO0FBQ3pCO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBcUNQLE1BQU0scUJBQXFCLFVBQW1DO0FBQUEsRUFDcEQsY0FBYztBQUFBLEVBQ2Q7QUFBQSxFQUVELFlBQVksU0FBeUIsU0FBa0M7QUFDNUUsVUFBTSxTQUFTLFNBQVMsU0FBUyxZQUFZO0FBQzdDLFVBQU0sa0JBQTRDO0FBQUEsTUFDaEQsS0FBSyxRQUFRO0FBQUEsTUFDYixrQkFBa0I7QUFBQSxNQUNsQixVQUFVO0FBQUEsTUFDVixTQUFTLFFBQVE7QUFBQSxNQUNqQixjQUFjO0FBQUEsTUFDZCxPQUFPO0FBQUEsSUFDVDtBQUNBLFNBQUssVUFBVSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUFBLEVBQ2xEO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsU0FBSyxRQUFRLEtBQUssV0FBVztBQUFBLEVBQy9CO0FBQUEsRUFFZ0IsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsS0FBSztBQUN2QyxTQUFLLFVBQVUsU0FBUyxLQUFLLEVBQUUsTUFBTSxLQUFLLFFBQVEsUUFBUSxDQUFDO0FBQzNELFVBQU0sV0FBVyxJQUFJLGdCQUFnQixLQUFLLFNBQVM7QUFDbkQsYUFBUyxjQUFjLEtBQUssUUFBUSxZQUFZO0FBQ2hELGFBQVMsT0FBTztBQUNoQixhQUFTLFFBQVEsTUFBTTtBQUNyQixXQUFLLGNBQWM7QUFDbkIsV0FBSyxNQUFNO0FBQUEsSUFDYixDQUFDO0FBQ0QsYUFBUyxTQUFTLFNBQVMsUUFBUTtBQUVuQyxVQUFNLGVBQWUsSUFBSSxnQkFBZ0IsS0FBSyxTQUFTO0FBQ3ZELGlCQUFhLGNBQWMsS0FBSyxRQUFRLGdCQUFnQjtBQUN4RCxpQkFBYSxRQUFRLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQztBQUMxQyxpQkFBYSxTQUFTLFNBQVMsWUFBWTtBQUFBLEVBQzdDO0FBQ0Y7QUFRQSxlQUFzQixRQUFRLFNBQTJDO0FBQ3ZFLFNBQU8sTUFBTSxVQUFtQixDQUFDLFlBQVksSUFBSSxhQUFhLFNBQVMsT0FBTyxDQUFDO0FBQ2pGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,56 @@
|
|
|
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(){const globalThisRecord=globalThis;globalThisRecord["__name"]??=name;const originalRequire=require;if(originalRequire&&!originalRequire.__isPatched){require=Object.assign(id=>requirePatched(id),originalRequire,{__isPatched:true})}const newFuncs={__extractDefault:__name(()=>extractDefault,"__extractDefault"),process:__name(()=>{const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};return browserProcess},"process")};for(const key of Object.keys(newFuncs)){globalThisRecord[key]??=newFuncs[key]?.()}function name(obj){return obj}__name(name,"name");function extractDefault(module){return module&&module.__esModule&&module.default?module.default:module}__name(extractDefault,"extractDefault");function requirePatched(id){const module=originalRequire?.(id);if(module){return extractDefault(module)}if(id==="process"||id==="node:process"){console.error(`Module not found: ${id}. Fake process object is returned instead.`);return globalThis.process}console.error(`Module not found: ${id}. Empty object is returned instead.`);return{}}__name(requirePatched,"requirePatched")})();
|
|
7
|
+
|
|
8
|
+
"use strict";
|
|
9
|
+
var __defProp = Object.defineProperty;
|
|
10
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
11
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
12
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
13
|
+
var __export = (target, all) => {
|
|
14
|
+
for (var name in all)
|
|
15
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
16
|
+
};
|
|
17
|
+
var __copyProps = (to, from, except, desc) => {
|
|
18
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
19
|
+
for (let key of __getOwnPropNames(from))
|
|
20
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
21
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
22
|
+
}
|
|
23
|
+
return to;
|
|
24
|
+
};
|
|
25
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
26
|
+
var ModalBase_exports = {};
|
|
27
|
+
__export(ModalBase_exports, {
|
|
28
|
+
ModalBase: () => ModalBase,
|
|
29
|
+
showModal: () => showModal
|
|
30
|
+
});
|
|
31
|
+
module.exports = __toCommonJS(ModalBase_exports);
|
|
32
|
+
var import_obsidian = require('obsidian');
|
|
33
|
+
var import_CssClass = require('../../CssClass.cjs');
|
|
34
|
+
var import_PluginId = require('../Plugin/PluginId.cjs');
|
|
35
|
+
class ModalBase extends import_obsidian.Modal {
|
|
36
|
+
constructor(options, resolve, modalCssClass) {
|
|
37
|
+
super(options.app);
|
|
38
|
+
this.resolve = resolve;
|
|
39
|
+
this.containerEl.addClass(import_CssClass.CssClass.LibraryName, (0, import_PluginId.getPluginId)(), modalCssClass);
|
|
40
|
+
if (options.cssClass) {
|
|
41
|
+
this.containerEl.addClass(options.cssClass);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
async function showModal(modalCreator) {
|
|
46
|
+
return await new Promise((resolve) => {
|
|
47
|
+
const modal = modalCreator(resolve);
|
|
48
|
+
modal.open();
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
52
|
+
0 && (module.exports = {
|
|
53
|
+
ModalBase,
|
|
54
|
+
showModal
|
|
55
|
+
});
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9Nb2RhbEJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE1vZGFsQmFzZVxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzZVJlc29sdmUgfSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luSWQudHMnO1xuXG4vKipcbiAqIFRoZSBiYXNlIG9wdGlvbnMgZm9yIGEgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxPcHRpb25zQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgbW9kYWwuXG4gICAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGRpc3BsYXlpbmcgbW9kYWxzIGluIE9ic2lkaWFuLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kYWxCYXNlPFZhbHVlLCBPcHRpb25zIGV4dGVuZHMgTW9kYWxPcHRpb25zQmFzZT4gZXh0ZW5kcyBNb2RhbCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBPcHRpb25zLCBwcm90ZWN0ZWQgcmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8VmFsdWU+LCBtb2RhbENzc0NsYXNzOiBzdHJpbmcpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgdGhpcy5jb250YWluZXJFbC5hZGRDbGFzcyhDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgZ2V0UGx1Z2luSWQoKSwgbW9kYWxDc3NDbGFzcyk7XG4gICAgaWYgKG9wdGlvbnMuY3NzQ2xhc3MpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuYWRkQ2xhc3Mob3B0aW9ucy5jc3NDbGFzcyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBpbiBPYnNpZGlhbi5cbiAqXG4gKiBAcGFyYW0gbW9kYWxDcmVhdG9yIC0gQSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYSBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dNb2RhbDxUPihtb2RhbENyZWF0b3I6IChyZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxUPikgPT4gTW9kYWwpOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBtb2RhbENyZWF0b3IocmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFRQSxzQkFBc0I7QUFJdEIsc0JBQXlCO0FBQ3pCLHNCQUE0QjtBQW9CckIsTUFBZSxrQkFBMkQsc0JBQU07QUFBQSxFQUM5RSxZQUFZLFNBQTRCLFNBQWdDLGVBQXVCO0FBQ3BHLFVBQU0sUUFBUSxHQUFHO0FBRDRCO0FBRTdDLFNBQUssWUFBWSxTQUFTLHlCQUFTLGlCQUFhLDZCQUFZLEdBQUcsYUFBYTtBQUM1RSxRQUFJLFFBQVEsVUFBVTtBQUNwQixXQUFLLFlBQVksU0FBUyxRQUFRLFFBQVE7QUFBQSxJQUM1QztBQUFBLEVBQ0Y7QUFDRjtBQVFBLGVBQXNCLFVBQWEsY0FBaUU7QUFDbEcsU0FBTyxNQUFNLElBQUksUUFBVyxDQUFDLFlBQVk7QUFDdkMsVUFBTSxRQUFRLGFBQWEsT0FBTztBQUNsQyxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @packageDocumentation ModalBase
|
|
3
|
+
*
|
|
4
|
+
* This module exports a base class for displaying modals in Obsidian.
|
|
5
|
+
*/
|
|
6
|
+
import type { App } from 'obsidian';
|
|
7
|
+
import { Modal } from 'obsidian';
|
|
8
|
+
import type { PromiseResolve } from '../../Async.ts';
|
|
9
|
+
/**
|
|
10
|
+
* The base options for a modal.
|
|
11
|
+
*/
|
|
12
|
+
export interface ModalOptionsBase {
|
|
13
|
+
/**
|
|
14
|
+
* The application instance.
|
|
15
|
+
*/
|
|
16
|
+
app: App;
|
|
17
|
+
/**
|
|
18
|
+
* The CSS class to apply to the modal.
|
|
19
|
+
*/
|
|
20
|
+
cssClass?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* A base class for displaying modals in Obsidian.
|
|
24
|
+
*/
|
|
25
|
+
export declare abstract class ModalBase<Value, Options extends ModalOptionsBase> extends Modal {
|
|
26
|
+
protected resolve: PromiseResolve<Value>;
|
|
27
|
+
constructor(options: Options, resolve: PromiseResolve<Value>, modalCssClass: string);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Displays a modal in Obsidian.
|
|
31
|
+
*
|
|
32
|
+
* @param modalCreator - A function that creates a modal.
|
|
33
|
+
* @returns A promise that resolves when the modal is closed.
|
|
34
|
+
*/
|
|
35
|
+
export declare function showModal<T>(modalCreator: (resolve: PromiseResolve<T>) => Modal): Promise<T>;
|
|
@@ -0,0 +1,31 @@
|
|
|
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(){if(globalThis.process){return}const browserProcess={browser:true,cwd:__name(()=>"/","cwd"),env:{},platform:"android"};globalThis.process=browserProcess})();
|
|
7
|
+
|
|
8
|
+
import { Modal } from "obsidian";
|
|
9
|
+
import { CssClass } from "../../CssClass.mjs";
|
|
10
|
+
import { getPluginId } from "../Plugin/PluginId.mjs";
|
|
11
|
+
class ModalBase extends Modal {
|
|
12
|
+
constructor(options, resolve, modalCssClass) {
|
|
13
|
+
super(options.app);
|
|
14
|
+
this.resolve = resolve;
|
|
15
|
+
this.containerEl.addClass(CssClass.LibraryName, getPluginId(), modalCssClass);
|
|
16
|
+
if (options.cssClass) {
|
|
17
|
+
this.containerEl.addClass(options.cssClass);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
async function showModal(modalCreator) {
|
|
22
|
+
return await new Promise((resolve) => {
|
|
23
|
+
const modal = modalCreator(resolve);
|
|
24
|
+
modal.open();
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
export {
|
|
28
|
+
ModalBase,
|
|
29
|
+
showModal
|
|
30
|
+
};
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9Nb2RhbEJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIE1vZGFsQmFzZVxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBiYXNlIGNsYXNzIGZvciBkaXNwbGF5aW5nIG1vZGFscyBpbiBPYnNpZGlhbi5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgTW9kYWwgfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzZVJlc29sdmUgfSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgZ2V0UGx1Z2luSWQgfSBmcm9tICcuLi9QbHVnaW4vUGx1Z2luSWQudHMnO1xuXG4vKipcbiAqIFRoZSBiYXNlIG9wdGlvbnMgZm9yIGEgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTW9kYWxPcHRpb25zQmFzZSB7XG4gIC8qKlxuICAgKiBUaGUgYXBwbGljYXRpb24gaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIENTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgbW9kYWwuXG4gICAqL1xuICBjc3NDbGFzcz86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIGJhc2UgY2xhc3MgZm9yIGRpc3BsYXlpbmcgbW9kYWxzIGluIE9ic2lkaWFuLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgTW9kYWxCYXNlPFZhbHVlLCBPcHRpb25zIGV4dGVuZHMgTW9kYWxPcHRpb25zQmFzZT4gZXh0ZW5kcyBNb2RhbCB7XG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihvcHRpb25zOiBPcHRpb25zLCBwcm90ZWN0ZWQgcmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8VmFsdWU+LCBtb2RhbENzc0NsYXNzOiBzdHJpbmcpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgdGhpcy5jb250YWluZXJFbC5hZGRDbGFzcyhDc3NDbGFzcy5MaWJyYXJ5TmFtZSwgZ2V0UGx1Z2luSWQoKSwgbW9kYWxDc3NDbGFzcyk7XG4gICAgaWYgKG9wdGlvbnMuY3NzQ2xhc3MpIHtcbiAgICAgIHRoaXMuY29udGFpbmVyRWwuYWRkQ2xhc3Mob3B0aW9ucy5jc3NDbGFzcyk7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBtb2RhbCBpbiBPYnNpZGlhbi5cbiAqXG4gKiBAcGFyYW0gbW9kYWxDcmVhdG9yIC0gQSBmdW5jdGlvbiB0aGF0IGNyZWF0ZXMgYSBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdoZW4gdGhlIG1vZGFsIGlzIGNsb3NlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHNob3dNb2RhbDxUPihtb2RhbENyZWF0b3I6IChyZXNvbHZlOiBQcm9taXNlUmVzb2x2ZTxUPikgPT4gTW9kYWwpOiBQcm9taXNlPFQ+IHtcbiAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlPFQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBtb2RhbENyZWF0b3IocmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7QUFRQSxTQUFTLGFBQWE7QUFJdEIsU0FBUyxnQkFBZ0I7QUFDekIsU0FBUyxtQkFBbUI7QUFvQnJCLE1BQWUsa0JBQTJELE1BQU07QUFBQSxFQUM5RSxZQUFZLFNBQTRCLFNBQWdDLGVBQXVCO0FBQ3BHLFVBQU0sUUFBUSxHQUFHO0FBRDRCO0FBRTdDLFNBQUssWUFBWSxTQUFTLFNBQVMsYUFBYSxZQUFZLEdBQUcsYUFBYTtBQUM1RSxRQUFJLFFBQVEsVUFBVTtBQUNwQixXQUFLLFlBQVksU0FBUyxRQUFRLFFBQVE7QUFBQSxJQUM1QztBQUFBLEVBQ0Y7QUFDRjtBQVFBLGVBQXNCLFVBQWEsY0FBaUU7QUFDbEcsU0FBTyxNQUFNLElBQUksUUFBVyxDQUFDLFlBQVk7QUFDdkMsVUFBTSxRQUFRLGFBQWEsT0FBTztBQUNsQyxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDsiLAogICJuYW1lcyI6IFtdCn0K
|
|
@@ -29,36 +29,28 @@ __export(Prompt_exports, {
|
|
|
29
29
|
});
|
|
30
30
|
module.exports = __toCommonJS(Prompt_exports);
|
|
31
31
|
var import_obsidian = require('obsidian');
|
|
32
|
+
var import_Async = require('../../Async.cjs');
|
|
32
33
|
var import_CssClass = require('../../CssClass.cjs');
|
|
33
|
-
var
|
|
34
|
-
|
|
34
|
+
var import_Function = require('../../Function.cjs');
|
|
35
|
+
var import_ModalBase = require('./ModalBase.cjs');
|
|
36
|
+
class PromptModal extends import_ModalBase.ModalBase {
|
|
37
|
+
isOkClicked = false;
|
|
38
|
+
options;
|
|
39
|
+
value;
|
|
35
40
|
constructor(options, resolve) {
|
|
36
|
-
super(options.
|
|
37
|
-
this.resolve = resolve;
|
|
41
|
+
super(options, resolve, import_CssClass.CssClass.PromptModal);
|
|
38
42
|
const DEFAULT_OPTIONS = {
|
|
39
43
|
app: options.app,
|
|
40
|
-
cancelButtonStyles: {},
|
|
41
44
|
cancelButtonText: "Cancel",
|
|
42
45
|
defaultValue: "",
|
|
43
|
-
okButtonStyles: {
|
|
44
|
-
marginRight: "10px",
|
|
45
|
-
marginTop: "20px"
|
|
46
|
-
},
|
|
47
46
|
okButtonText: "OK",
|
|
48
47
|
placeholder: "",
|
|
49
|
-
textBoxStyles: {
|
|
50
|
-
width: "100%"
|
|
51
|
-
},
|
|
52
48
|
title: "",
|
|
53
|
-
valueValidator:
|
|
49
|
+
valueValidator: import_Function.noop
|
|
54
50
|
};
|
|
55
51
|
this.options = { ...DEFAULT_OPTIONS, ...options };
|
|
56
52
|
this.value = options.defaultValue ?? "";
|
|
57
|
-
this.containerEl.addClass(import_CssClass.CssClass.LibraryName, (0, import_PluginId.getPluginId)(), import_CssClass.CssClass.PromptModal);
|
|
58
53
|
}
|
|
59
|
-
isOkClicked = false;
|
|
60
|
-
options;
|
|
61
|
-
value;
|
|
62
54
|
onClose() {
|
|
63
55
|
this.resolve(this.isOkClicked ? this.value : null);
|
|
64
56
|
}
|
|
@@ -67,7 +59,7 @@ class PromptModal extends import_obsidian.Modal {
|
|
|
67
59
|
const textComponent = new import_obsidian.TextComponent(this.contentEl);
|
|
68
60
|
textComponent.setValue(this.value);
|
|
69
61
|
textComponent.setPlaceholder(this.options.placeholder);
|
|
70
|
-
|
|
62
|
+
textComponent.inputEl.addClass(import_CssClass.CssClass.TextBox);
|
|
71
63
|
textComponent.onChange((newValue) => {
|
|
72
64
|
this.value = newValue;
|
|
73
65
|
});
|
|
@@ -78,22 +70,25 @@ class PromptModal extends import_obsidian.Modal {
|
|
|
78
70
|
this.close();
|
|
79
71
|
}
|
|
80
72
|
});
|
|
81
|
-
textComponent.inputEl.addEventListener(
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
73
|
+
textComponent.inputEl.addEventListener(
|
|
74
|
+
"input",
|
|
75
|
+
(0, import_Async.convertAsyncToSync)(async () => {
|
|
76
|
+
const errorMessage = await this.options.valueValidator(textComponent.inputEl.value);
|
|
77
|
+
textComponent.inputEl.setCustomValidity(errorMessage ?? "");
|
|
78
|
+
textComponent.inputEl.reportValidity();
|
|
79
|
+
})
|
|
80
|
+
);
|
|
86
81
|
const okButton = new import_obsidian.ButtonComponent(this.contentEl);
|
|
87
82
|
okButton.setButtonText(this.options.okButtonText);
|
|
88
83
|
okButton.setCta();
|
|
89
84
|
okButton.onClick((event) => {
|
|
90
85
|
this.handleOk(event, textComponent);
|
|
91
86
|
});
|
|
92
|
-
|
|
87
|
+
okButton.setClass(import_CssClass.CssClass.OkButton);
|
|
93
88
|
const cancelButton = new import_obsidian.ButtonComponent(this.contentEl);
|
|
94
89
|
cancelButton.setButtonText(this.options.cancelButtonText);
|
|
95
90
|
cancelButton.onClick(this.close.bind(this));
|
|
96
|
-
|
|
91
|
+
cancelButton.setClass(import_CssClass.CssClass.CancelButton);
|
|
97
92
|
}
|
|
98
93
|
handleOk(event, textComponent) {
|
|
99
94
|
event.preventDefault();
|
|
@@ -105,13 +100,10 @@ class PromptModal extends import_obsidian.Modal {
|
|
|
105
100
|
}
|
|
106
101
|
}
|
|
107
102
|
async function prompt(options) {
|
|
108
|
-
return await
|
|
109
|
-
const modal = new PromptModal(options, resolve);
|
|
110
|
-
modal.open();
|
|
111
|
-
});
|
|
103
|
+
return await (0, import_ModalBase.showModal)((resolve) => new PromptModal(options, resolve));
|
|
112
104
|
}
|
|
113
105
|
// Annotate the CommonJS export names for ESM import in node:
|
|
114
106
|
0 && (module.exports = {
|
|
115
107
|
prompt
|
|
116
108
|
});
|
|
117
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
109
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFscy9Qcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIFByb21wdFxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhIHByb21wdCBtb2RhbCBpbiBPYnNpZGlhbi5cbiAqXG4gKiBUaGlzIG1vZHVsZSBleHBvcnRzIGEgZnVuY3Rpb24gdG8gZGlzcGxheSBhIG1vZGFsIHRoYXQgcHJvbXB0cyB0aGUgdXNlciBmb3IgaW5wdXQuIFRoZSBtb2RhbCBpbmNsdWRlcyBcIk9LXCIgYW5kIFwiQ2FuY2VsXCIgYnV0dG9ucy5cbiAqL1xuXG5pbXBvcnQge1xuICBBcHAsXG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHtcbiAgTWF5YmVQcm9taXNlLFxuICBQcm9taXNlUmVzb2x2ZVxufSBmcm9tICcuLi8uLi9Bc3luYy50cyc7XG5cbmltcG9ydCB7IGNvbnZlcnRBc3luY1RvU3luYyB9IGZyb20gJy4uLy4uL0FzeW5jLnRzJztcbmltcG9ydCB7IENzc0NsYXNzIH0gZnJvbSAnLi4vLi4vQ3NzQ2xhc3MudHMnO1xuaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4uLy4uL0Z1bmN0aW9uLnRzJztcbmltcG9ydCB7XG4gIE1vZGFsQmFzZSxcbiAgc2hvd01vZGFsXG59IGZyb20gJy4vTW9kYWxCYXNlLnRzJztcblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9tcHRPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gICAqL1xuICBhcHA6IEFwcDtcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICB0aXRsZT86IERvY3VtZW50RnJhZ21lbnQgfCBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZnVuY3Rpb24gdG8gdmFsaWRhdGUgdGhlIGlucHV0IHZhbHVlLlxuICAgKiBAcGFyYW0gdmFsdWUgLSBUaGUgaW5wdXQgdmFsdWUgdG8gdmFsaWRhdGUuXG4gICAqIEByZXR1cm5zIGFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIG51bGwgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLlxuICAgKi9cbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby1pbnZhbGlkLXZvaWQtdHlwZVxuICB2YWx1ZVZhbGlkYXRvcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBNYXliZVByb21pc2U8c3RyaW5nIHwgdm9pZD47XG59XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBzdHJpbmcsIFByb21wdE9wdGlvbnM+IHtcbiAgcHJpdmF0ZSBpc09rQ2xpY2tlZCA9IGZhbHNlO1xuICBwcml2YXRlIG9wdGlvbnM6IFJlcXVpcmVkPFByb21wdE9wdGlvbnM+O1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFByb21wdE9wdGlvbnMsIHJlc29sdmU6IFByb21pc2VSZXNvbHZlPG51bGwgfCBzdHJpbmc+KSB7XG4gICAgc3VwZXIob3B0aW9ucywgcmVzb2x2ZSwgQ3NzQ2xhc3MuUHJvbXB0TW9kYWwpO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8UHJvbXB0T3B0aW9ucz4gPSB7XG4gICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBkZWZhdWx0VmFsdWU6ICcnLFxuICAgICAgb2tCdXR0b25UZXh0OiAnT0snLFxuICAgICAgcGxhY2Vob2xkZXI6ICcnLFxuICAgICAgdGl0bGU6ICcnLFxuICAgICAgdmFsdWVWYWxpZGF0b3I6IG5vb3BcbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMuZGVmYXVsdFZhbHVlID8/ICcnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgY29uc3QgdGV4dENvbXBvbmVudCA9IG5ldyBUZXh0Q29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICB0ZXh0Q29tcG9uZW50LnNldFZhbHVlKHRoaXMudmFsdWUpO1xuICAgIHRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy5vcHRpb25zLnBsYWNlaG9sZGVyKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuYWRkQ2xhc3MoQ3NzQ2xhc3MuVGV4dEJveCk7XG4gICAgdGV4dENvbXBvbmVudC5vbkNoYW5nZSgobmV3VmFsdWUpID0+IHtcbiAgICAgIHRoaXMudmFsdWUgPSBuZXdWYWx1ZTtcbiAgICB9KTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoXG4gICAgICAnaW5wdXQnLFxuICAgICAgY29udmVydEFzeW5jVG9TeW5jKGFzeW5jICgpID0+IHtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgdGhpcy5vcHRpb25zLnZhbHVlVmFsaWRhdG9yKHRleHRDb21wb25lbnQuaW5wdXRFbC52YWx1ZSkgYXMgc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICB9KVxuICAgICk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKGV2ZW50KSA9PiB7XG4gICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICB9KTtcbiAgICBva0J1dHRvbi5zZXRDbGFzcyhDc3NDbGFzcy5Pa0J1dHRvbik7XG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY2FuY2VsQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5vcHRpb25zLmNhbmNlbEJ1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgY2FuY2VsQnV0dG9uLnNldENsYXNzKENzc0NsYXNzLkNhbmNlbEJ1dHRvbik7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc09rQ2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVzZXIgaW5wdXQgb3IgbnVsbCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQob3B0aW9uczogUHJvbXB0T3B0aW9ucyk6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICByZXR1cm4gYXdhaXQgc2hvd01vZGFsPG51bGwgfCBzdHJpbmc+KChyZXNvbHZlKSA9PiBuZXcgUHJvbXB0TW9kYWwob3B0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
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* This module exports a function to display a modal that prompts the user for input. The modal includes "OK" and "Cancel" buttons.
|
|
6
6
|
*/
|
|
7
7
|
import { App } from 'obsidian';
|
|
8
|
+
import type { MaybePromise } from '../../Async.ts';
|
|
8
9
|
/**
|
|
9
10
|
* The options for the prompt modal.
|
|
10
11
|
*/
|
|
@@ -13,10 +14,6 @@ export interface PromptOptions {
|
|
|
13
14
|
* The Obsidian app instance.
|
|
14
15
|
*/
|
|
15
16
|
app: App;
|
|
16
|
-
/**
|
|
17
|
-
* The styles to apply to the "Cancel" button.
|
|
18
|
-
*/
|
|
19
|
-
cancelButtonStyles?: Partial<CSSStyleDeclaration>;
|
|
20
17
|
/**
|
|
21
18
|
* The text for the "Cancel" button.
|
|
22
19
|
*/
|
|
@@ -25,10 +22,6 @@ export interface PromptOptions {
|
|
|
25
22
|
* The default value to pre-fill the input field.
|
|
26
23
|
*/
|
|
27
24
|
defaultValue?: string;
|
|
28
|
-
/**
|
|
29
|
-
* The styles to apply to the "OK" button.
|
|
30
|
-
*/
|
|
31
|
-
okButtonStyles?: Partial<CSSStyleDeclaration>;
|
|
32
25
|
/**
|
|
33
26
|
* The text for the "OK" button.
|
|
34
27
|
*/
|
|
@@ -37,10 +30,6 @@ export interface PromptOptions {
|
|
|
37
30
|
* The placeholder text for the input field.
|
|
38
31
|
*/
|
|
39
32
|
placeholder?: string;
|
|
40
|
-
/**
|
|
41
|
-
* The styles to apply to the input field.
|
|
42
|
-
*/
|
|
43
|
-
textBoxStyles?: Partial<CSSStyleDeclaration>;
|
|
44
33
|
/**
|
|
45
34
|
* The title of the modal.
|
|
46
35
|
*/
|
|
@@ -50,7 +39,7 @@ export interface PromptOptions {
|
|
|
50
39
|
* @param value - The input value to validate.
|
|
51
40
|
* @returns an error message if the value is invalid, or null if the value is valid.
|
|
52
41
|
*/
|
|
53
|
-
valueValidator?: (value: string) =>
|
|
42
|
+
valueValidator?: (value: string) => MaybePromise<string | void>;
|
|
54
43
|
}
|
|
55
44
|
/**
|
|
56
45
|
* Displays a prompt modal in Obsidian to get user input.
|