obsidian-dev-utils 3.3.0 → 3.4.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 CHANGED
@@ -1,5 +1,9 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 3.4.0
4
+
5
+ - Refactor all modals
6
+
3
7
  ## 3.3.0
4
8
 
5
9
  - Add Confirm modal
@@ -38,28 +38,35 @@ var __process = globalThis["process"] ?? {
38
38
  "env": {},
39
39
  "platform": "android"
40
40
  };
41
- async function alert(app, message) {
41
+ async function alert(options) {
42
42
  return new Promise((resolve) => {
43
- const modal = new AlertModal(app, message, resolve);
43
+ const modal = new AlertModal(options, resolve);
44
44
  modal.open();
45
45
  });
46
46
  }
47
47
  class AlertModal extends import_obsidian.Modal {
48
- constructor(app, message, resolve) {
49
- super(app);
50
- this.message = message;
48
+ constructor(options, resolve) {
49
+ super(options.app);
51
50
  this.resolve = resolve;
51
+ const DEFAULT_OPTIONS = {
52
+ app: options.app,
53
+ title: "",
54
+ message: "",
55
+ okButtonText: "OK",
56
+ okButtonStyles: {}
57
+ };
58
+ this.options = { ...DEFAULT_OPTIONS, ...options };
52
59
  }
60
+ options;
53
61
  onOpen() {
54
- this.setContent(createFragment((fragment) => {
55
- const modalContent = fragment.createDiv({ cls: "mod-cta" });
56
- modalContent.createEl("p", { text: this.message });
57
- modalContent.createEl("button", {
58
- cls: "mod-cta",
59
- text: "OK",
60
- onclick: this.close.bind(this)
61
- });
62
- }));
62
+ this.titleEl.setText(this.options.title);
63
+ const paragraph = this.contentEl.createEl("p");
64
+ paragraph.setText(this.options.message);
65
+ const okButton = new import_obsidian.ButtonComponent(this.contentEl);
66
+ okButton.setButtonText(this.options.okButtonText);
67
+ okButton.setCta();
68
+ okButton.onClick(this.close.bind(this));
69
+ Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
63
70
  }
64
71
  onClose() {
65
72
  this.resolve();
@@ -69,4 +76,4 @@ class AlertModal extends import_obsidian.Modal {
69
76
  0 && (module.exports = {
70
77
  alert
71
78
  });
72
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0FsZXJ0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZSE9PVwic3RyaW5nXCIpe3JldHVybiBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKX1yZXR1cm4gcmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSl9KSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBBbGVydFxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhbGVydCBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIGFuIFwiT0tcIiBidXR0b24gdG8gY2xvc2UgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBhbGVydCBtb2RhbCBpbiBPYnNpZGlhbiB3aXRoIGEgc3BlY2lmaWVkIG1lc3NhZ2UuXG4gKlxuICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2UuXG4gKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIG1vZGFsLlxuICogQHJldHVybnMgQSBwcm9taXNlIHRoYXQgcmVzb2x2ZXMgd2hlbiB0aGUgbW9kYWwgaXMgY2xvc2VkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gYWxlcnQoYXBwOiBBcHAsIG1lc3NhZ2U6IHN0cmluZyk6IFByb21pc2U8dm9pZD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8dm9pZD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBBbGVydE1vZGFsKGFwcCwgbWVzc2FnZSwgcmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cblxuY2xhc3MgQWxlcnRNb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgcHVibGljIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwcml2YXRlIG1lc3NhZ2U6IHN0cmluZywgcHJpdmF0ZSByZXNvbHZlOiAoKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIoYXBwKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy5zZXRDb250ZW50KGNyZWF0ZUZyYWdtZW50KChmcmFnbWVudCkgPT4ge1xuICAgICAgY29uc3QgbW9kYWxDb250ZW50ID0gZnJhZ21lbnQuY3JlYXRlRGl2KHsgY2xzOiAnbW9kLWN0YScgfSk7XG4gICAgICBtb2RhbENvbnRlbnQuY3JlYXRlRWwoJ3AnLCB7IHRleHQ6IHRoaXMubWVzc2FnZSB9KTtcbiAgICAgIG1vZGFsQ29udGVudC5jcmVhdGVFbCgnYnV0dG9uJywge1xuICAgICAgICBjbHM6ICdtb2QtY3RhJyxcbiAgICAgICAgdGV4dDogJ09LJyxcbiAgICAgICAgb25jbGljazogdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gICAgICB9IGFzIERvbUVsZW1lbnRJbmZvKTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBQXNCO0FBZHRCLElBQUksb0JBQW9CLFdBQVcsaUJBQWlCLE1BQU0sTUFBSTtBQUFDLE1BQUcsT0FBTyxlQUFhLFVBQVM7QUFBQyxXQUFPLElBQUksSUFBSSxPQUFPLFNBQVMsSUFBSTtBQUFBLEVBQUM7QUFBQyxTQUFPLFFBQVEsVUFBVSxFQUFFLGNBQWMsVUFBVTtBQUFDLEdBQUc7QUFDNUwsSUFBSSxZQUFZLFdBQVcsU0FBUyxLQUFLO0FBQUEsRUFDdkMsT0FBTyxNQUFJO0FBQUEsRUFDWCxPQUFPLENBQUM7QUFBQSxFQUNSLFlBQVk7QUFDZDtBQWtCQSxlQUFzQixNQUFNLEtBQVUsU0FBZ0M7QUFDcEUsU0FBTyxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ3BDLFVBQU0sUUFBUSxJQUFJLFdBQVcsS0FBSyxTQUFTLE9BQU87QUFDbEQsVUFBTSxLQUFLO0FBQUEsRUFDYixDQUFDO0FBQ0g7QUFFQSxNQUFNLG1CQUFtQixzQkFBTTtBQUFBLEVBQ3RCLFlBQVksS0FBa0IsU0FBeUIsU0FBcUI7QUFDakYsVUFBTSxHQUFHO0FBRDBCO0FBQXlCO0FBQUEsRUFFOUQ7QUFBQSxFQUVnQixTQUFlO0FBQzdCLFNBQUssV0FBVyxlQUFlLENBQUMsYUFBYTtBQUMzQyxZQUFNLGVBQWUsU0FBUyxVQUFVLEVBQUUsS0FBSyxVQUFVLENBQUM7QUFDMUQsbUJBQWEsU0FBUyxLQUFLLEVBQUUsTUFBTSxLQUFLLFFBQVEsQ0FBQztBQUNqRCxtQkFBYSxTQUFTLFVBQVU7QUFBQSxRQUM5QixLQUFLO0FBQUEsUUFDTCxNQUFNO0FBQUEsUUFDTixTQUFTLEtBQUssTUFBTSxLQUFLLElBQUk7QUFBQSxNQUMvQixDQUFtQjtBQUFBLElBQ3JCLENBQUMsQ0FBQztBQUFBLEVBQ0o7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVE7QUFBQSxFQUNmO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
79
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0FsZXJ0LnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJ2YXIgX19pbXBvcnRfbWV0YV91cmwgPSBnbG9iYWxUaGlzWydpbXBvcnQubWV0YS51cmwnXSA/PyAoKCk9PntpZih0eXBlb2YgX19maWxlbmFtZSE9PVwic3RyaW5nXCIpe3JldHVybiBuZXcgVVJMKHdpbmRvdy5sb2NhdGlvbi5ocmVmKX1yZXR1cm4gcmVxdWlyZShcIm5vZGU6dXJsXCIpLnBhdGhUb0ZpbGVVUkwoX19maWxlbmFtZSl9KSgpO1xudmFyIF9fcHJvY2VzcyA9IGdsb2JhbFRoaXNbJ3Byb2Nlc3MnXSA/PyB7XG4gIFwiY3dkXCI6ICgpPT5cIi9cIixcbiAgXCJlbnZcIjoge30sXG4gIFwicGxhdGZvcm1cIjogXCJhbmRyb2lkXCJcbn07XG4vKipcbiAqIEBwYWNrYWdlRG9jdW1lbnRhdGlvbiBBbGVydFxuICogVXRpbGl0eSBmb3IgZGlzcGxheWluZyBhbGVydCBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIGFuIFwiT0tcIiBidXR0b24gdG8gY2xvc2UgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQge1xuICBCdXR0b25Db21wb25lbnQsXG4gIE1vZGFsXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIGFsZXJ0IG1vZGFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFsZXJ0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZyB8IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBtZXNzYWdlIHRvIGRpc3BsYXkgaW4gdGhlIG1vZGFsLlxuICAgKi9cbiAgbWVzc2FnZTogc3RyaW5nIHwgRG9jdW1lbnRGcmFnbWVudDtcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25TdHlsZXM/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xufVxuXG4vKipcbiAqIERpc3BsYXlzIGFuIGFsZXJ0IG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgYWxlcnQgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aGVuIHRoZSBtb2RhbCBpcyBjbG9zZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBhbGVydChvcHRpb25zOiBBbGVydE9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBuZXcgQWxlcnRNb2RhbChvcHRpb25zLCByZXNvbHZlKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuXG5jbGFzcyBBbGVydE1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBwcml2YXRlIG9wdGlvbnM6IFJlcXVpcmVkPEFsZXJ0T3B0aW9ucz47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IEFsZXJ0T3B0aW9ucywgcHJpdmF0ZSByZXNvbHZlOiAoKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8QWxlcnRPcHRpb25zPiA9IHtcbiAgICAgIGFwcDogb3B0aW9ucy5hcHAsXG4gICAgICB0aXRsZTogJycsXG4gICAgICBtZXNzYWdlOiAnJyxcbiAgICAgIG9rQnV0dG9uVGV4dDogJ09LJyxcbiAgICAgIG9rQnV0dG9uU3R5bGVzOiB7fVxuICAgIH07XG4gICAgdGhpcy5vcHRpb25zID0geyAuLi5ERUZBVUxUX09QVElPTlMsIC4uLm9wdGlvbnMgfTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbk9wZW4oKTogdm9pZCB7XG4gICAgdGhpcy50aXRsZUVsLnNldFRleHQodGhpcy5vcHRpb25zLnRpdGxlKTtcbiAgICBjb25zdCBwYXJhZ3JhcGggPSB0aGlzLmNvbnRlbnRFbC5jcmVhdGVFbCgncCcpO1xuICAgIHBhcmFncmFwaC5zZXRUZXh0KHRoaXMub3B0aW9ucy5tZXNzYWdlKTtcbiAgICBjb25zdCBva0J1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIG9rQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5vcHRpb25zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICAgIE9iamVjdC5hc3NpZ24ob2tCdXR0b24uYnV0dG9uRWwuc3R5bGUsIHRoaXMub3B0aW9ucy5va0J1dHRvblN0eWxlcyk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUoKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBR087QUFqQlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFdBQU8sSUFBSSxJQUFJLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFBQztBQUFDLFNBQU8sUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVO0FBQUMsR0FBRztBQUM1TCxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBa0RBLGVBQXNCLE1BQU0sU0FBc0M7QUFDaEUsU0FBTyxJQUFJLFFBQWMsQ0FBQyxZQUFZO0FBQ3BDLFVBQU0sUUFBUSxJQUFJLFdBQVcsU0FBUyxPQUFPO0FBQzdDLFVBQU0sS0FBSztBQUFBLEVBQ2IsQ0FBQztBQUNIO0FBRUEsTUFBTSxtQkFBbUIsc0JBQU07QUFBQSxFQUd0QixZQUFZLFNBQStCLFNBQXFCO0FBQ3JFLFVBQU0sUUFBUSxHQUFHO0FBRCtCO0FBRWhELFVBQU0sa0JBQTBDO0FBQUEsTUFDOUMsS0FBSyxRQUFRO0FBQUEsTUFDYixPQUFPO0FBQUEsTUFDUCxTQUFTO0FBQUEsTUFDVCxjQUFjO0FBQUEsTUFDZCxnQkFBZ0IsQ0FBQztBQUFBLElBQ25CO0FBQ0EsU0FBSyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxRQUFRO0FBQUEsRUFDbEQ7QUFBQSxFQVpRO0FBQUEsRUFjUSxTQUFlO0FBQzdCLFNBQUssUUFBUSxRQUFRLEtBQUssUUFBUSxLQUFLO0FBQ3ZDLFVBQU0sWUFBWSxLQUFLLFVBQVUsU0FBUyxHQUFHO0FBQzdDLGNBQVUsUUFBUSxLQUFLLFFBQVEsT0FBTztBQUN0QyxVQUFNLFdBQVcsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ25ELGFBQVMsY0FBYyxLQUFLLFFBQVEsWUFBWTtBQUNoRCxhQUFTLE9BQU87QUFDaEIsYUFBUyxRQUFRLEtBQUssTUFBTSxLQUFLLElBQUksQ0FBQztBQUN0QyxXQUFPLE9BQU8sU0FBUyxTQUFTLE9BQU8sS0FBSyxRQUFRLGNBQWM7QUFBQSxFQUNwRTtBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFNBQUssUUFBUTtBQUFBLEVBQ2Y7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -5,11 +5,35 @@
5
5
  * This module exports a function to display a modal with a message in Obsidian. The modal includes an "OK" button to close it.
6
6
  */
7
7
  import type { App } from 'obsidian';
8
+ /**
9
+ * The options for the alert modal.
10
+ */
11
+ export interface AlertOptions {
12
+ /**
13
+ * The Obsidian app instance.
14
+ */
15
+ app: App;
16
+ /**
17
+ * The title of the modal.
18
+ */
19
+ title?: string | DocumentFragment;
20
+ /**
21
+ * The message to display in the modal.
22
+ */
23
+ message: string | DocumentFragment;
24
+ /**
25
+ * The text for the "OK" button.
26
+ */
27
+ okButtonText?: string;
28
+ /**
29
+ * The styles to apply to the "OK" button.
30
+ */
31
+ okButtonStyles?: Partial<CSSStyleDeclaration>;
32
+ }
8
33
  /**
9
34
  * Displays an alert modal in Obsidian with a specified message.
10
35
  *
11
- * @param app - The Obsidian app instance.
12
- * @param message - The message to display in the modal.
36
+ * @param options - The options for the alert modal.
13
37
  * @returns A promise that resolves when the modal is closed.
14
38
  */
15
- export declare function alert(app: App, message: string): Promise<void>;
39
+ export declare function alert(options: AlertOptions): Promise<void>;
@@ -38,36 +38,48 @@ var __process = globalThis["process"] ?? {
38
38
  "env": {},
39
39
  "platform": "android"
40
40
  };
41
- async function confirm(app, message) {
41
+ async function confirm(options) {
42
42
  return new Promise((resolve) => {
43
- const modal = new ConfirmModal(app, message, resolve);
43
+ const modal = new ConfirmModal(options, resolve);
44
44
  modal.open();
45
45
  });
46
46
  }
47
47
  class ConfirmModal extends import_obsidian.Modal {
48
- constructor(app, message, resolve) {
49
- super(app);
50
- this.message = message;
48
+ constructor(options, resolve) {
49
+ super(options.app);
51
50
  this.resolve = resolve;
51
+ const DEFAULT_OPTIONS = {
52
+ app: options.app,
53
+ title: "",
54
+ message: "",
55
+ okButtonText: "OK",
56
+ cancelButtonText: "Cancel",
57
+ okButtonStyles: {
58
+ marginTop: "20px",
59
+ marginRight: "10px"
60
+ },
61
+ cancelButtonStyles: {}
62
+ };
63
+ this.options = { ...DEFAULT_OPTIONS, ...options };
52
64
  }
65
+ options;
53
66
  isConfirmed = false;
54
67
  onOpen() {
55
- this.setContent(createFragment((fragment) => {
56
- const modalContent = fragment.createDiv({ cls: "mod-cta" });
57
- modalContent.createEl("p", { text: this.message });
58
- modalContent.createEl("button", {
59
- cls: "mod-cta",
60
- text: "OK",
61
- onclick: () => {
62
- this.isConfirmed = true;
63
- this.close();
64
- }
65
- });
66
- modalContent.createEl("button", {
67
- text: "Cancel",
68
- onclick: this.close.bind(this)
69
- });
70
- }));
68
+ this.titleEl.setText(this.options.title);
69
+ const paragraph = this.contentEl.createEl("p");
70
+ paragraph.setText(this.options.message);
71
+ const okButton = new import_obsidian.ButtonComponent(this.contentEl);
72
+ okButton.setButtonText(this.options.okButtonText);
73
+ okButton.setCta();
74
+ okButton.onClick(() => {
75
+ this.isConfirmed = true;
76
+ this.close();
77
+ });
78
+ Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
79
+ const cancelButton = new import_obsidian.ButtonComponent(this.contentEl);
80
+ cancelButton.setButtonText(this.options.okButtonText);
81
+ cancelButton.onClick(this.close.bind(this));
82
+ Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
71
83
  }
72
84
  onClose() {
73
85
  this.resolve(this.isConfirmed);
@@ -77,4 +89,4 @@ class ConfirmModal extends import_obsidian.Modal {
77
89
  0 && (module.exports = {
78
90
  confirm
79
91
  });
80
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0NvbmZpcm0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lIT09XCJzdHJpbmdcIil7cmV0dXJuIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpfXJldHVybiByZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIENvbmZpcm1cbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgY29uZmlybSBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zIHRvIGNvbmZpcm0gb3IgY2FuY2VsIHRoZSBhY3Rpb24uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQgeyBNb2RhbCB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBjb25maXJtIG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gYXBwIC0gVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2UgdG8gZGlzcGxheSBpbiB0aGUgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHByb21pc2UgdGhhdCByZXNvbHZlcyB3aXRoIGEgYm9vbGVhbiBpbmRpY2F0aW5nIHdoZXRoZXIgdGhlIFwiT0tcIiBidXR0b24gd2FzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBjb25maXJtKGFwcDogQXBwLCBtZXNzYWdlOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKGFwcCwgbWVzc2FnZSwgcmVzb2x2ZSk7XG4gICAgbW9kYWwub3BlbigpO1xuICB9KTtcbn1cblxuY2xhc3MgQ29uZmlybU1vZGFsIGV4dGVuZHMgTW9kYWwge1xuICBwcml2YXRlIGlzQ29uZmlybWVkID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBwcml2YXRlIG1lc3NhZ2U6IHN0cmluZywgcHJpdmF0ZSByZXNvbHZlOiAodmFsdWU6IGJvb2xlYW4pID0+IHZvaWQpIHtcbiAgICBzdXBlcihhcHApO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLnNldENvbnRlbnQoY3JlYXRlRnJhZ21lbnQoKGZyYWdtZW50KSA9PiB7XG4gICAgICBjb25zdCBtb2RhbENvbnRlbnQgPSBmcmFnbWVudC5jcmVhdGVEaXYoeyBjbHM6ICdtb2QtY3RhJyB9KTtcbiAgICAgIG1vZGFsQ29udGVudC5jcmVhdGVFbCgncCcsIHsgdGV4dDogdGhpcy5tZXNzYWdlIH0pO1xuICAgICAgbW9kYWxDb250ZW50LmNyZWF0ZUVsKCdidXR0b24nLCB7XG4gICAgICAgIGNsczogJ21vZC1jdGEnLFxuICAgICAgICB0ZXh0OiAnT0snLFxuICAgICAgICBvbmNsaWNrOiAoKSA9PiB7XG4gICAgICAgICAgdGhpcy5pc0NvbmZpcm1lZCA9IHRydWU7XG4gICAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9IGFzIERvbUVsZW1lbnRJbmZvKTtcbiAgICAgIG1vZGFsQ29udGVudC5jcmVhdGVFbCgnYnV0dG9uJywge1xuICAgICAgICB0ZXh0OiAnQ2FuY2VsJyxcbiAgICAgICAgb25jbGljazogdGhpcy5jbG9zZS5iaW5kKHRoaXMpXG4gICAgICB9IGFzIERvbUVsZW1lbnRJbmZvKTtcbiAgICB9KSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUodGhpcy5pc0NvbmZpcm1lZCk7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQWNBLHNCQUFzQjtBQWR0QixJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxNQUFHLE9BQU8sZUFBYSxVQUFTO0FBQUMsV0FBTyxJQUFJLElBQUksT0FBTyxTQUFTLElBQUk7QUFBQSxFQUFDO0FBQUMsU0FBTyxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVU7QUFBQyxHQUFHO0FBQzVMLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFrQkEsZUFBc0IsUUFBUSxLQUFVLFNBQW1DO0FBQ3pFLFNBQU8sSUFBSSxRQUFpQixDQUFDLFlBQVk7QUFDdkMsVUFBTSxRQUFRLElBQUksYUFBYSxLQUFLLFNBQVMsT0FBTztBQUNwRCxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDtBQUVBLE1BQU0scUJBQXFCLHNCQUFNO0FBQUEsRUFHeEIsWUFBWSxLQUFrQixTQUF5QixTQUFtQztBQUMvRixVQUFNLEdBQUc7QUFEMEI7QUFBeUI7QUFBQSxFQUU5RDtBQUFBLEVBSlEsY0FBYztBQUFBLEVBTU4sU0FBZTtBQUM3QixTQUFLLFdBQVcsZUFBZSxDQUFDLGFBQWE7QUFDM0MsWUFBTSxlQUFlLFNBQVMsVUFBVSxFQUFFLEtBQUssVUFBVSxDQUFDO0FBQzFELG1CQUFhLFNBQVMsS0FBSyxFQUFFLE1BQU0sS0FBSyxRQUFRLENBQUM7QUFDakQsbUJBQWEsU0FBUyxVQUFVO0FBQUEsUUFDOUIsS0FBSztBQUFBLFFBQ0wsTUFBTTtBQUFBLFFBQ04sU0FBUyxNQUFNO0FBQ2IsZUFBSyxjQUFjO0FBQ25CLGVBQUssTUFBTTtBQUFBLFFBQ2I7QUFBQSxNQUNGLENBQW1CO0FBQ25CLG1CQUFhLFNBQVMsVUFBVTtBQUFBLFFBQzlCLE1BQU07QUFBQSxRQUNOLFNBQVMsS0FBSyxNQUFNLEtBQUssSUFBSTtBQUFBLE1BQy9CLENBQW1CO0FBQUEsSUFDckIsQ0FBQyxDQUFDO0FBQUEsRUFDSjtBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFNBQUssUUFBUSxLQUFLLFdBQVc7QUFBQSxFQUMvQjtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
92
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL0NvbmZpcm0udHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbInZhciBfX2ltcG9ydF9tZXRhX3VybCA9IGdsb2JhbFRoaXNbJ2ltcG9ydC5tZXRhLnVybCddID8/ICgoKT0+e2lmKHR5cGVvZiBfX2ZpbGVuYW1lIT09XCJzdHJpbmdcIil7cmV0dXJuIG5ldyBVUkwod2luZG93LmxvY2F0aW9uLmhyZWYpfXJldHVybiByZXF1aXJlKFwibm9kZTp1cmxcIikucGF0aFRvRmlsZVVSTChfX2ZpbGVuYW1lKX0pKCk7XG52YXIgX19wcm9jZXNzID0gZ2xvYmFsVGhpc1sncHJvY2VzcyddID8/IHtcbiAgXCJjd2RcIjogKCk9PlwiL1wiLFxuICBcImVudlwiOiB7fSxcbiAgXCJwbGF0Zm9ybVwiOiBcImFuZHJvaWRcIlxufTtcbi8qKlxuICogQHBhY2thZ2VEb2N1bWVudGF0aW9uIENvbmZpcm1cbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgY29uZmlybSBtb2RhbHMgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB3aXRoIGEgbWVzc2FnZSBpbiBPYnNpZGlhbi4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zIHRvIGNvbmZpcm0gb3IgY2FuY2VsIHRoZSBhY3Rpb24uXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBBcHAgfSBmcm9tICdvYnNpZGlhbic7XG5pbXBvcnQge1xuICBCdXR0b25Db21wb25lbnQsXG4gIE1vZGFsXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgb3B0aW9ucyBmb3IgdGhlIGNvbmZpcm0gbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybU9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgdGl0bGU/OiBzdHJpbmcgfCBEb2N1bWVudEZyYWdtZW50O1xuXG4gIC8qKlxuICAgKiBUaGUgbWVzc2FnZSB0byBkaXNwbGF5IGluIHRoZSBtb2RhbC5cbiAgICovXG4gIG1lc3NhZ2U6IHN0cmluZyB8IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJPS1wiIGJ1dHRvbi5cbiAgICovXG4gIG9rQnV0dG9uVGV4dD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICBva0J1dHRvblN0eWxlcz86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG5cbiAgLyoqXG4gICAqIFRoZSBzdHlsZXMgdG8gYXBwbHkgdG8gdGhlIFwiQ2FuY2VsXCIgYnV0dG9uLlxuICAgKi9cbiAgY2FuY2VsQnV0dG9uU3R5bGVzPzogUGFydGlhbDxDU1NTdHlsZURlY2xhcmF0aW9uPjtcbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhbiBjb25maXJtIG1vZGFsIGluIE9ic2lkaWFuIHdpdGggYSBzcGVjaWZpZWQgbWVzc2FnZS5cbiAqXG4gKiBAcGFyYW0gb3B0aW9ucyAtIFRoZSBvcHRpb25zIGZvciB0aGUgY29uZmlybSBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggYSBib29sZWFuIGluZGljYXRpbmcgd2hldGhlciB0aGUgXCJPS1wiIGJ1dHRvbiB3YXMgY2xpY2tlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGNvbmZpcm0ob3B0aW9uczogQ29uZmlybU9wdGlvbnMpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPGJvb2xlYW4+KChyZXNvbHZlKSA9PiB7XG4gICAgY29uc3QgbW9kYWwgPSBuZXcgQ29uZmlybU1vZGFsKG9wdGlvbnMsIHJlc29sdmUpO1xuICAgIG1vZGFsLm9wZW4oKTtcbiAgfSk7XG59XG5cbmNsYXNzIENvbmZpcm1Nb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgcHJpdmF0ZSBvcHRpb25zOiBSZXF1aXJlZDxDb25maXJtT3B0aW9ucz47XG4gIHByaXZhdGUgaXNDb25maXJtZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3Iob3B0aW9uczogQ29uZmlybU9wdGlvbnMsIHByaXZhdGUgcmVzb2x2ZTogKHZhbHVlOiBib29sZWFuKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8Q29uZmlybU9wdGlvbnM+ID0ge1xuICAgICAgYXBwOiBvcHRpb25zLmFwcCxcbiAgICAgIHRpdGxlOiAnJyxcbiAgICAgIG1lc3NhZ2U6ICcnLFxuICAgICAgb2tCdXR0b25UZXh0OiAnT0snLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICBva0J1dHRvblN0eWxlczoge1xuICAgICAgICBtYXJnaW5Ub3A6ICcyMHB4JyxcbiAgICAgICAgbWFyZ2luUmlnaHQ6ICcxMHB4J1xuICAgICAgfSxcbiAgICAgIGNhbmNlbEJ1dHRvblN0eWxlczoge31cbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMub3B0aW9ucy50aXRsZSk7XG4gICAgY29uc3QgcGFyYWdyYXBoID0gdGhpcy5jb250ZW50RWwuY3JlYXRlRWwoJ3AnKTtcbiAgICBwYXJhZ3JhcGguc2V0VGV4dCh0aGlzLm9wdGlvbnMubWVzc2FnZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIG9rQnV0dG9uLnNldEN0YSgpO1xuICAgIG9rQnV0dG9uLm9uQ2xpY2soKCkgPT4ge1xuICAgICAgdGhpcy5pc0NvbmZpcm1lZCA9IHRydWU7XG4gICAgICB0aGlzLmNsb3NlKCk7XG4gICAgfSk7XG4gICAgT2JqZWN0LmFzc2lnbihva0J1dHRvbi5idXR0b25FbC5zdHlsZSwgdGhpcy5vcHRpb25zLm9rQnV0dG9uU3R5bGVzKTtcblxuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub3B0aW9ucy5va0J1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgT2JqZWN0LmFzc2lnbihva0J1dHRvbi5idXR0b25FbC5zdHlsZSwgdGhpcy5vcHRpb25zLm9rQnV0dG9uU3R5bGVzKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucmVzb2x2ZSh0aGlzLmlzQ29uZmlybWVkKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBY0Esc0JBR087QUFqQlAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFdBQU8sSUFBSSxJQUFJLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFBQztBQUFDLFNBQU8sUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVO0FBQUMsR0FBRztBQUM1TCxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBNERBLGVBQXNCLFFBQVEsU0FBMkM7QUFDdkUsU0FBTyxJQUFJLFFBQWlCLENBQUMsWUFBWTtBQUN2QyxVQUFNLFFBQVEsSUFBSSxhQUFhLFNBQVMsT0FBTztBQUMvQyxVQUFNLEtBQUs7QUFBQSxFQUNiLENBQUM7QUFDSDtBQUVBLE1BQU0scUJBQXFCLHNCQUFNO0FBQUEsRUFJeEIsWUFBWSxTQUFpQyxTQUFtQztBQUNyRixVQUFNLFFBQVEsR0FBRztBQURpQztBQUVsRCxVQUFNLGtCQUE0QztBQUFBLE1BQ2hELEtBQUssUUFBUTtBQUFBLE1BQ2IsT0FBTztBQUFBLE1BQ1AsU0FBUztBQUFBLE1BQ1QsY0FBYztBQUFBLE1BQ2Qsa0JBQWtCO0FBQUEsTUFDbEIsZ0JBQWdCO0FBQUEsUUFDZCxXQUFXO0FBQUEsUUFDWCxhQUFhO0FBQUEsTUFDZjtBQUFBLE1BQ0Esb0JBQW9CLENBQUM7QUFBQSxJQUN2QjtBQUNBLFNBQUssVUFBVSxFQUFFLEdBQUcsaUJBQWlCLEdBQUcsUUFBUTtBQUFBLEVBQ2xEO0FBQUEsRUFsQlE7QUFBQSxFQUNBLGNBQWM7QUFBQSxFQW1CTixTQUFlO0FBQzdCLFNBQUssUUFBUSxRQUFRLEtBQUssUUFBUSxLQUFLO0FBQ3ZDLFVBQU0sWUFBWSxLQUFLLFVBQVUsU0FBUyxHQUFHO0FBQzdDLGNBQVUsUUFBUSxLQUFLLFFBQVEsT0FBTztBQUN0QyxVQUFNLFdBQVcsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ25ELGFBQVMsY0FBYyxLQUFLLFFBQVEsWUFBWTtBQUNoRCxhQUFTLE9BQU87QUFDaEIsYUFBUyxRQUFRLE1BQU07QUFDckIsV0FBSyxjQUFjO0FBQ25CLFdBQUssTUFBTTtBQUFBLElBQ2IsQ0FBQztBQUNELFdBQU8sT0FBTyxTQUFTLFNBQVMsT0FBTyxLQUFLLFFBQVEsY0FBYztBQUVsRSxVQUFNLGVBQWUsSUFBSSxnQ0FBZ0IsS0FBSyxTQUFTO0FBQ3ZELGlCQUFhLGNBQWMsS0FBSyxRQUFRLFlBQVk7QUFDcEQsaUJBQWEsUUFBUSxLQUFLLE1BQU0sS0FBSyxJQUFJLENBQUM7QUFDMUMsV0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLEtBQUssUUFBUSxjQUFjO0FBQUEsRUFDcEU7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVEsS0FBSyxXQUFXO0FBQUEsRUFDL0I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -5,11 +5,43 @@
5
5
  * This module exports a function to display a modal with a message in Obsidian. The modal includes "OK" and "Cancel" buttons to confirm or cancel the action.
6
6
  */
7
7
  import type { App } from 'obsidian';
8
+ /**
9
+ * The options for the confirm modal.
10
+ */
11
+ export interface ConfirmOptions {
12
+ /**
13
+ * The Obsidian app instance.
14
+ */
15
+ app: App;
16
+ /**
17
+ * The title of the modal.
18
+ */
19
+ title?: string | DocumentFragment;
20
+ /**
21
+ * The message to display in the modal.
22
+ */
23
+ message: string | DocumentFragment;
24
+ /**
25
+ * The text for the "OK" button.
26
+ */
27
+ okButtonText?: string;
28
+ /**
29
+ * The text for the "Cancel" button.
30
+ */
31
+ cancelButtonText?: string;
32
+ /**
33
+ * The styles to apply to the "OK" button.
34
+ */
35
+ okButtonStyles?: Partial<CSSStyleDeclaration>;
36
+ /**
37
+ * The styles to apply to the "Cancel" button.
38
+ */
39
+ cancelButtonStyles?: Partial<CSSStyleDeclaration>;
40
+ }
8
41
  /**
9
42
  * Displays an confirm modal in Obsidian with a specified message.
10
43
  *
11
- * @param app - The Obsidian app instance.
12
- * @param message - The message to display in the modal.
44
+ * @param options - The options for the confirm modal.
13
45
  * @returns A promise that resolves with a boolean indicating whether the "OK" button was clicked.
14
46
  */
15
- export declare function confirm(app: App, message: string): Promise<boolean>;
47
+ export declare function confirm(options: ConfirmOptions): Promise<boolean>;
@@ -47,18 +47,35 @@ async function prompt(options) {
47
47
  class PromptModal extends import_obsidian.Modal {
48
48
  constructor(options, resolve) {
49
49
  super(options.app);
50
- this.options = options;
51
50
  this.resolve = resolve;
51
+ const DEFAULT_OPTIONS = {
52
+ app: options.app,
53
+ title: "",
54
+ defaultValue: "",
55
+ valueValidator: () => null,
56
+ okButtonText: "OK",
57
+ cancelButtonText: "Cancel",
58
+ textBoxStyles: {
59
+ width: "100%"
60
+ },
61
+ okButtonStyles: {
62
+ marginTop: "20px",
63
+ marginRight: "10px"
64
+ },
65
+ cancelButtonStyles: {}
66
+ };
67
+ this.options = { ...DEFAULT_OPTIONS, ...options };
52
68
  this.value = options.defaultValue ?? "";
53
69
  }
54
70
  value;
55
71
  isOkClicked = false;
72
+ options;
56
73
  onOpen() {
57
- this.titleEl.setText(this.options.title ?? "");
74
+ this.titleEl.setText(this.options.title);
58
75
  const textComponent = new import_obsidian.TextComponent(this.contentEl);
59
76
  textComponent.setValue(this.value);
60
77
  textComponent.setPlaceholder(this.value);
61
- textComponent.inputEl.style.width = "100%";
78
+ Object.assign(textComponent.inputEl.style, this.options.textBoxStyles);
62
79
  textComponent.onChange((newValue) => this.value = newValue);
63
80
  textComponent.inputEl.addEventListener("keydown", (event) => {
64
81
  if (event.key === "Enter") {
@@ -67,25 +84,22 @@ class PromptModal extends import_obsidian.Modal {
67
84
  this.close();
68
85
  }
69
86
  });
70
- const valueValidator = this.options.valueValidator;
71
- if (valueValidator) {
72
- textComponent.inputEl.addEventListener("input", () => {
73
- const errorMessage = valueValidator(textComponent.inputEl.value);
74
- textComponent.inputEl.setCustomValidity(errorMessage ?? "");
75
- textComponent.inputEl.reportValidity();
76
- });
77
- }
87
+ textComponent.inputEl.addEventListener("input", () => {
88
+ const errorMessage = this.options.valueValidator(textComponent.inputEl.value);
89
+ textComponent.inputEl.setCustomValidity(errorMessage ?? "");
90
+ textComponent.inputEl.reportValidity();
91
+ });
78
92
  const okButton = new import_obsidian.ButtonComponent(this.contentEl);
79
- okButton.setButtonText("OK");
80
- okButton.setClass("mod-cta");
93
+ okButton.setButtonText(this.options.okButtonText);
94
+ okButton.setCta();
81
95
  okButton.onClick((event) => {
82
96
  this.handleOk(event, textComponent);
83
97
  });
84
- okButton.buttonEl.style.marginTop = "20px";
85
- okButton.buttonEl.style.marginRight = "10px";
98
+ Object.assign(okButton.buttonEl.style, this.options.okButtonStyles);
86
99
  const cancelButton = new import_obsidian.ButtonComponent(this.contentEl);
87
- cancelButton.setButtonText("Cancel");
100
+ cancelButton.setButtonText(this.options.cancelButtonText);
88
101
  cancelButton.onClick(this.close.bind(this));
102
+ Object.assign(cancelButton.buttonEl.style, this.options.cancelButtonStyles);
89
103
  }
90
104
  onClose() {
91
105
  this.resolve(this.isOkClicked ? this.value : null);
@@ -103,4 +117,4 @@ class PromptModal extends import_obsidian.Modal {
103
117
  0 && (module.exports = {
104
118
  prompt
105
119
  });
106
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1Byb21wdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpPT57aWYodHlwZW9mIF9fZmlsZW5hbWUhPT1cInN0cmluZ1wiKXtyZXR1cm4gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZil9cmV0dXJuIHJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gUHJvbXB0XG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBNb2RhbCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIHRoZSBwcm9tcHQgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdmFsdWUgdG8gcHJlLWZpbGwgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIHRoZSBpbnB1dCB2YWx1ZS5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGlucHV0IHZhbHVlIHRvIHZhbGlkYXRlLlxuICAgKiBAcmV0dXJucyBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZSB2YWx1ZSBpcyBpbnZhbGlkLCBvciBudWxsIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZC5cbiAgICovXG4gIHZhbHVlVmFsaWRhdG9yPzogKHZhbHVlOiBzdHJpbmcpID0+IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVzZXIgaW5wdXQgb3IgbnVsbCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQob3B0aW9uczogUHJvbXB0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nIHwgbnVsbD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBQcm9tcHRNb2RhbChvcHRpb25zLCByZXNvbHZlKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuXG5jbGFzcyBQcm9tcHRNb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgb3B0aW9uczogUHJvbXB0T3B0aW9ucywgcHJpdmF0ZSByZXNvbHZlOiAodmFsdWU6IHN0cmluZyB8IG51bGwpID0+IHZvaWQpIHtcbiAgICBzdXBlcihvcHRpb25zLmFwcCk7XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMuZGVmYXVsdFZhbHVlID8/ICcnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlRWwuc2V0VGV4dCh0aGlzLm9wdGlvbnMudGl0bGUgPz8gJycpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHRoaXMudmFsdWUpO1xuICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5zdHlsZS53aWR0aCA9ICcxMDAlJztcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4gdGhpcy52YWx1ZSA9IG5ld1ZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgY29uc3QgdmFsdWVWYWxpZGF0b3IgPSB0aGlzLm9wdGlvbnMudmFsdWVWYWxpZGF0b3I7XG4gICAgaWYgKHZhbHVlVmFsaWRhdG9yKSB7XG4gICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignaW5wdXQnLCAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHZhbHVlVmFsaWRhdG9yKHRleHRDb21wb25lbnQuaW5wdXRFbC52YWx1ZSk7XG4gICAgICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBjb25zdCBva0J1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIG9rQnV0dG9uLnNldEJ1dHRvblRleHQoJ09LJyk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoJ21vZC1jdGEnKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uYnV0dG9uRWwuc3R5bGUubWFyZ2luVG9wID0gJzIwcHgnO1xuICAgIG9rQnV0dG9uLmJ1dHRvbkVsLnN0eWxlLm1hcmdpblJpZ2h0ID0gJzEwcHgnO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KCdDYW5jZWwnKTtcbiAgICBjYW5jZWxCdXR0b24ub25DbGljayh0aGlzLmNsb3NlLmJpbmQodGhpcykpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc09rQ2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxzQkFLTztBQWxCUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxNQUFHLE9BQU8sZUFBYSxVQUFTO0FBQUMsV0FBTyxJQUFJLElBQUksT0FBTyxTQUFTLElBQUk7QUFBQSxFQUFDO0FBQUMsU0FBTyxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVU7QUFBQyxHQUFHO0FBQzVMLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUFnREEsZUFBc0IsT0FBTyxTQUFnRDtBQUMzRSxTQUFPLElBQUksUUFBdUIsQ0FBQyxZQUFZO0FBQzdDLFVBQU0sUUFBUSxJQUFJLFlBQVksU0FBUyxPQUFPO0FBQzlDLFVBQU0sS0FBSztBQUFBLEVBQ2IsQ0FBQztBQUNIO0FBRUEsTUFBTSxvQkFBb0Isc0JBQU07QUFBQSxFQUl2QixZQUFvQixTQUFnQyxTQUF5QztBQUNsRyxVQUFNLFFBQVEsR0FBRztBQURRO0FBQWdDO0FBRXpELFNBQUssUUFBUSxRQUFRLGdCQUFnQjtBQUFBLEVBQ3ZDO0FBQUEsRUFOUTtBQUFBLEVBQ0EsY0FBYztBQUFBLEVBT04sU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsU0FBUyxFQUFFO0FBQzdDLFVBQU0sZ0JBQWdCLElBQUksOEJBQWMsS0FBSyxTQUFTO0FBQ3RELGtCQUFjLFNBQVMsS0FBSyxLQUFLO0FBQ2pDLGtCQUFjLGVBQWUsS0FBSyxLQUFLO0FBQ3ZDLGtCQUFjLFFBQVEsTUFBTSxRQUFRO0FBQ3BDLGtCQUFjLFNBQVMsQ0FBQyxhQUFhLEtBQUssUUFBUSxRQUFRO0FBQzFELGtCQUFjLFFBQVEsaUJBQWlCLFdBQVcsQ0FBQyxVQUF5QjtBQUMxRSxVQUFJLE1BQU0sUUFBUSxTQUFTO0FBQ3pCLGFBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxNQUNwQyxXQUFXLE1BQU0sUUFBUSxVQUFVO0FBQ2pDLGFBQUssTUFBTTtBQUFBLE1BQ2I7QUFBQSxJQUNGLENBQUM7QUFDRCxVQUFNLGlCQUFpQixLQUFLLFFBQVE7QUFDcEMsUUFBSSxnQkFBZ0I7QUFDbEIsb0JBQWMsUUFBUSxpQkFBaUIsU0FBUyxNQUFNO0FBQ3BELGNBQU0sZUFBZSxlQUFlLGNBQWMsUUFBUSxLQUFLO0FBQy9ELHNCQUFjLFFBQVEsa0JBQWtCLGdCQUFnQixFQUFFO0FBQzFELHNCQUFjLFFBQVEsZUFBZTtBQUFBLE1BQ3ZDLENBQUM7QUFBQSxJQUNIO0FBQ0EsVUFBTSxXQUFXLElBQUksZ0NBQWdCLEtBQUssU0FBUztBQUNuRCxhQUFTLGNBQWMsSUFBSTtBQUMzQixhQUFTLFNBQVMsU0FBUztBQUMzQixhQUFTLFFBQVEsQ0FBQyxVQUFVO0FBQzFCLFdBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxJQUNwQyxDQUFDO0FBQ0QsYUFBUyxTQUFTLE1BQU0sWUFBWTtBQUNwQyxhQUFTLFNBQVMsTUFBTSxjQUFjO0FBQ3RDLFVBQU0sZUFBZSxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDdkQsaUJBQWEsY0FBYyxRQUFRO0FBQ25DLGlCQUFhLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQUEsRUFDNUM7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVEsS0FBSyxjQUFjLEtBQUssUUFBUSxJQUFJO0FBQUEsRUFDbkQ7QUFBQSxFQUVRLFNBQVMsT0FBYyxlQUFvQztBQUNqRSxVQUFNLGVBQWU7QUFDckIsUUFBSSxDQUFDLGNBQWMsUUFBUSxjQUFjLEdBQUc7QUFDMUM7QUFBQSxJQUNGO0FBRUEsU0FBSyxjQUFjO0FBQ25CLFNBQUssTUFBTTtBQUFBLEVBQ2I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
120
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL01vZGFsL1Byb21wdC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpPT57aWYodHlwZW9mIF9fZmlsZW5hbWUhPT1cInN0cmluZ1wiKXtyZXR1cm4gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZil9cmV0dXJuIHJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuLyoqXG4gKiBAcGFja2FnZURvY3VtZW50YXRpb24gUHJvbXB0XG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB7XG4gIEFwcCxcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBNb2RhbCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogVGhlIG9wdGlvbnMgZm9yIHRoZSBwcm9tcHQgbW9kYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0T3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgT2JzaWRpYW4gYXBwIGluc3RhbmNlLlxuICAgKi9cbiAgYXBwOiBBcHA7XG5cbiAgLyoqXG4gICAqIFRoZSB0aXRsZSBvZiB0aGUgbW9kYWwuXG4gICAqL1xuICB0aXRsZT86IHN0cmluZyB8IERvY3VtZW50RnJhZ21lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBkZWZhdWx0IHZhbHVlIHRvIHByZS1maWxsIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgbnVsbCBpZiB0aGUgdmFsdWUgaXMgdmFsaWQuXG4gICAqL1xuICB2YWx1ZVZhbGlkYXRvcj86ICh2YWx1ZTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsO1xuXG4gIC8qKlxuICAgKiBUaGUgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHRleHRCb3hTdHlsZXM/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgb2tCdXR0b25TdHlsZXM/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuXG4gIC8qKlxuICAgKiBUaGUgc3R5bGVzIHRvIGFwcGx5IHRvIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIGNhbmNlbEJ1dHRvblN0eWxlcz86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBwcm9tcHQgbW9kYWwgaW4gT2JzaWRpYW4gdG8gZ2V0IHVzZXIgaW5wdXQuXG4gKlxuICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgb3B0aW9ucyBmb3IgdGhlIHByb21wdCBtb2RhbC5cbiAqIEByZXR1cm5zIEEgcHJvbWlzZSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVzZXIgaW5wdXQgb3IgbnVsbCBpZiB0aGUgcHJvbXB0IHdhcyBjYW5jZWxsZWQuXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBwcm9tcHQob3B0aW9uczogUHJvbXB0T3B0aW9ucyk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD4ge1xuICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nIHwgbnVsbD4oKHJlc29sdmUpID0+IHtcbiAgICBjb25zdCBtb2RhbCA9IG5ldyBQcm9tcHRNb2RhbChvcHRpb25zLCByZXNvbHZlKTtcbiAgICBtb2RhbC5vcGVuKCk7XG4gIH0pO1xufVxuXG5jbGFzcyBQcm9tcHRNb2RhbCBleHRlbmRzIE1vZGFsIHtcbiAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgb3B0aW9uczogUmVxdWlyZWQ8UHJvbXB0T3B0aW9ucz47XG5cbiAgcHVibGljIGNvbnN0cnVjdG9yKG9wdGlvbnM6IFByb21wdE9wdGlvbnMsIHByaXZhdGUgcmVzb2x2ZTogKHZhbHVlOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkKSB7XG4gICAgc3VwZXIob3B0aW9ucy5hcHApO1xuICAgIGNvbnN0IERFRkFVTFRfT1BUSU9OUzogUmVxdWlyZWQ8UHJvbXB0T3B0aW9ucz4gPSB7XG4gICAgICBhcHA6IG9wdGlvbnMuYXBwLFxuICAgICAgdGl0bGU6ICcnLFxuICAgICAgZGVmYXVsdFZhbHVlOiAnJyxcbiAgICAgIHZhbHVlVmFsaWRhdG9yOiAoKSA9PiBudWxsLFxuICAgICAgb2tCdXR0b25UZXh0OiAnT0snLFxuICAgICAgY2FuY2VsQnV0dG9uVGV4dDogJ0NhbmNlbCcsXG4gICAgICB0ZXh0Qm94U3R5bGVzOiB7XG4gICAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICAgIH0sXG4gICAgICBva0J1dHRvblN0eWxlczoge1xuICAgICAgICBtYXJnaW5Ub3A6ICcyMHB4JyxcbiAgICAgICAgbWFyZ2luUmlnaHQ6ICcxMHB4J1xuICAgICAgfSxcbiAgICAgIGNhbmNlbEJ1dHRvblN0eWxlczoge31cbiAgICB9O1xuICAgIHRoaXMub3B0aW9ucyA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gICAgdGhpcy52YWx1ZSA9IG9wdGlvbnMuZGVmYXVsdFZhbHVlID8/ICcnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uT3BlbigpOiB2b2lkIHtcbiAgICB0aGlzLnRpdGxlRWwuc2V0VGV4dCh0aGlzLm9wdGlvbnMudGl0bGUpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgdGV4dENvbXBvbmVudC5zZXRWYWx1ZSh0aGlzLnZhbHVlKTtcbiAgICB0ZXh0Q29tcG9uZW50LnNldFBsYWNlaG9sZGVyKHRoaXMudmFsdWUpO1xuICAgIE9iamVjdC5hc3NpZ24odGV4dENvbXBvbmVudC5pbnB1dEVsLnN0eWxlLCB0aGlzLm9wdGlvbnMudGV4dEJveFN0eWxlcyk7XG4gICAgdGV4dENvbXBvbmVudC5vbkNoYW5nZSgobmV3VmFsdWUpID0+IHRoaXMudmFsdWUgPSBuZXdWYWx1ZSk7XG4gICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLmFkZEV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCAoZXZlbnQ6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICAgIGlmIChldmVudC5rZXkgPT09ICdFbnRlcicpIHtcbiAgICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgICB9IGVsc2UgaWYgKGV2ZW50LmtleSA9PT0gJ0VzY2FwZScpIHtcbiAgICAgICAgdGhpcy5jbG9zZSgpO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRleHRDb21wb25lbnQuaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IHRoaXMub3B0aW9ucy52YWx1ZVZhbGlkYXRvcih0ZXh0Q29tcG9uZW50LmlucHV0RWwudmFsdWUpO1xuICAgICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyAnJyk7XG4gICAgICB0ZXh0Q29tcG9uZW50LmlucHV0RWwucmVwb3J0VmFsaWRpdHkoKTtcbiAgICB9KTtcbiAgICBjb25zdCBva0J1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIG9rQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5vcHRpb25zLm9rQnV0dG9uVGV4dCk7XG4gICAgb2tCdXR0b24uc2V0Q3RhKCk7XG4gICAgb2tCdXR0b24ub25DbGljaygoZXZlbnQpID0+IHtcbiAgICAgIHRoaXMuaGFuZGxlT2soZXZlbnQsIHRleHRDb21wb25lbnQpO1xuICAgIH0pO1xuICAgIE9iamVjdC5hc3NpZ24ob2tCdXR0b24uYnV0dG9uRWwuc3R5bGUsIHRoaXMub3B0aW9ucy5va0J1dHRvblN0eWxlcyk7XG4gICAgY29uc3QgY2FuY2VsQnV0dG9uID0gbmV3IEJ1dHRvbkNvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY2FuY2VsQnV0dG9uLnNldEJ1dHRvblRleHQodGhpcy5vcHRpb25zLmNhbmNlbEJ1dHRvblRleHQpO1xuICAgIGNhbmNlbEJ1dHRvbi5vbkNsaWNrKHRoaXMuY2xvc2UuYmluZCh0aGlzKSk7XG4gICAgT2JqZWN0LmFzc2lnbihjYW5jZWxCdXR0b24uYnV0dG9uRWwuc3R5bGUsIHRoaXMub3B0aW9ucy5jYW5jZWxCdXR0b25TdHlsZXMpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwcml2YXRlIGhhbmRsZU9rKGV2ZW50OiBFdmVudCwgdGV4dENvbXBvbmVudDogVGV4dENvbXBvbmVudCk6IHZvaWQge1xuICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgaWYgKCF0ZXh0Q29tcG9uZW50LmlucHV0RWwuY2hlY2tWYWxpZGl0eSgpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pc09rQ2xpY2tlZCA9IHRydWU7XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFhQSxzQkFLTztBQWxCUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxNQUFHLE9BQU8sZUFBYSxVQUFTO0FBQUMsV0FBTyxJQUFJLElBQUksT0FBTyxTQUFTLElBQUk7QUFBQSxFQUFDO0FBQUMsU0FBTyxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVU7QUFBQyxHQUFHO0FBQzVMLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUF5RUEsZUFBc0IsT0FBTyxTQUFnRDtBQUMzRSxTQUFPLElBQUksUUFBdUIsQ0FBQyxZQUFZO0FBQzdDLFVBQU0sUUFBUSxJQUFJLFlBQVksU0FBUyxPQUFPO0FBQzlDLFVBQU0sS0FBSztBQUFBLEVBQ2IsQ0FBQztBQUNIO0FBRUEsTUFBTSxvQkFBb0Isc0JBQU07QUFBQSxFQUt2QixZQUFZLFNBQWdDLFNBQXlDO0FBQzFGLFVBQU0sUUFBUSxHQUFHO0FBRGdDO0FBRWpELFVBQU0sa0JBQTJDO0FBQUEsTUFDL0MsS0FBSyxRQUFRO0FBQUEsTUFDYixPQUFPO0FBQUEsTUFDUCxjQUFjO0FBQUEsTUFDZCxnQkFBZ0IsTUFBTTtBQUFBLE1BQ3RCLGNBQWM7QUFBQSxNQUNkLGtCQUFrQjtBQUFBLE1BQ2xCLGVBQWU7QUFBQSxRQUNiLE9BQU87QUFBQSxNQUNUO0FBQUEsTUFDQSxnQkFBZ0I7QUFBQSxRQUNkLFdBQVc7QUFBQSxRQUNYLGFBQWE7QUFBQSxNQUNmO0FBQUEsTUFDQSxvQkFBb0IsQ0FBQztBQUFBLElBQ3ZCO0FBQ0EsU0FBSyxVQUFVLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxRQUFRO0FBQ2hELFNBQUssUUFBUSxRQUFRLGdCQUFnQjtBQUFBLEVBQ3ZDO0FBQUEsRUF4QlE7QUFBQSxFQUNBLGNBQWM7QUFBQSxFQUNkO0FBQUEsRUF3QlEsU0FBZTtBQUM3QixTQUFLLFFBQVEsUUFBUSxLQUFLLFFBQVEsS0FBSztBQUN2QyxVQUFNLGdCQUFnQixJQUFJLDhCQUFjLEtBQUssU0FBUztBQUN0RCxrQkFBYyxTQUFTLEtBQUssS0FBSztBQUNqQyxrQkFBYyxlQUFlLEtBQUssS0FBSztBQUN2QyxXQUFPLE9BQU8sY0FBYyxRQUFRLE9BQU8sS0FBSyxRQUFRLGFBQWE7QUFDckUsa0JBQWMsU0FBUyxDQUFDLGFBQWEsS0FBSyxRQUFRLFFBQVE7QUFDMUQsa0JBQWMsUUFBUSxpQkFBaUIsV0FBVyxDQUFDLFVBQXlCO0FBQzFFLFVBQUksTUFBTSxRQUFRLFNBQVM7QUFDekIsYUFBSyxTQUFTLE9BQU8sYUFBYTtBQUFBLE1BQ3BDLFdBQVcsTUFBTSxRQUFRLFVBQVU7QUFDakMsYUFBSyxNQUFNO0FBQUEsTUFDYjtBQUFBLElBQ0YsQ0FBQztBQUNELGtCQUFjLFFBQVEsaUJBQWlCLFNBQVMsTUFBTTtBQUNwRCxZQUFNLGVBQWUsS0FBSyxRQUFRLGVBQWUsY0FBYyxRQUFRLEtBQUs7QUFDNUUsb0JBQWMsUUFBUSxrQkFBa0IsZ0JBQWdCLEVBQUU7QUFDMUQsb0JBQWMsUUFBUSxlQUFlO0FBQUEsSUFDdkMsQ0FBQztBQUNELFVBQU0sV0FBVyxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDbkQsYUFBUyxjQUFjLEtBQUssUUFBUSxZQUFZO0FBQ2hELGFBQVMsT0FBTztBQUNoQixhQUFTLFFBQVEsQ0FBQyxVQUFVO0FBQzFCLFdBQUssU0FBUyxPQUFPLGFBQWE7QUFBQSxJQUNwQyxDQUFDO0FBQ0QsV0FBTyxPQUFPLFNBQVMsU0FBUyxPQUFPLEtBQUssUUFBUSxjQUFjO0FBQ2xFLFVBQU0sZUFBZSxJQUFJLGdDQUFnQixLQUFLLFNBQVM7QUFDdkQsaUJBQWEsY0FBYyxLQUFLLFFBQVEsZ0JBQWdCO0FBQ3hELGlCQUFhLFFBQVEsS0FBSyxNQUFNLEtBQUssSUFBSSxDQUFDO0FBQzFDLFdBQU8sT0FBTyxhQUFhLFNBQVMsT0FBTyxLQUFLLFFBQVEsa0JBQWtCO0FBQUEsRUFDNUU7QUFBQSxFQUVnQixVQUFnQjtBQUM5QixTQUFLLFFBQVEsS0FBSyxjQUFjLEtBQUssUUFBUSxJQUFJO0FBQUEsRUFDbkQ7QUFBQSxFQUVRLFNBQVMsT0FBYyxlQUFvQztBQUNqRSxVQUFNLGVBQWU7QUFDckIsUUFBSSxDQUFDLGNBQWMsUUFBUSxjQUFjLEdBQUc7QUFDMUM7QUFBQSxJQUNGO0FBRUEsU0FBSyxjQUFjO0FBQ25CLFNBQUssTUFBTTtBQUFBLEVBQ2I7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -16,7 +16,7 @@ export interface PromptOptions {
16
16
  /**
17
17
  * The title of the modal.
18
18
  */
19
- title?: string;
19
+ title?: string | DocumentFragment;
20
20
  /**
21
21
  * The default value to pre-fill the input field.
22
22
  */
@@ -27,6 +27,26 @@ export interface PromptOptions {
27
27
  * @returns an error message if the value is invalid, or null if the value is valid.
28
28
  */
29
29
  valueValidator?: (value: string) => string | null;
30
+ /**
31
+ * The text for the "OK" button.
32
+ */
33
+ okButtonText?: string;
34
+ /**
35
+ * The text for the "Cancel" button.
36
+ */
37
+ cancelButtonText?: string;
38
+ /**
39
+ * The styles to apply to the input field.
40
+ */
41
+ textBoxStyles?: Partial<CSSStyleDeclaration>;
42
+ /**
43
+ * The styles to apply to the "OK" button.
44
+ */
45
+ okButtonStyles?: Partial<CSSStyleDeclaration>;
46
+ /**
47
+ * The styles to apply to the "Cancel" button.
48
+ */
49
+ cancelButtonStyles?: Partial<CSSStyleDeclaration>;
30
50
  }
31
51
  /**
32
52
  * Displays a prompt modal in Obsidian to get user input.
@@ -44,7 +44,7 @@ function bindUiComponent(plugin, uiComponent, property, options) {
44
44
  settingToUIValueConverter: (value) => value,
45
45
  uiToSettingValueConverter: (value) => value
46
46
  };
47
- const optionsExt = Object.assign({}, options, DEFAULT_OPTIONS);
47
+ const optionsExt = { ...DEFAULT_OPTIONS, ...options };
48
48
  const pluginExt = plugin;
49
49
  const uiComponentExt = uiComponent;
50
50
  const pluginSettingsFn = () => optionsExt.pluginSettings ?? pluginExt.settingsCopy;
@@ -87,4 +87,4 @@ function getValidatorElement(uiComponent) {
87
87
  0 && (module.exports = {
88
88
  bindUiComponent
89
89
  });
90
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9VSUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpPT57aWYodHlwZW9mIF9fZmlsZW5hbWUhPT1cInN0cmluZ1wiKXtyZXR1cm4gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZil9cmV0dXJuIHJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuaW1wb3J0IHtcbiAgRHJvcGRvd25Db21wb25lbnQsXG4gIFNsaWRlckNvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEtleXNNYXRjaGluZyB9IGZyb20gJy4uLy4uL0B0eXBlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbkJhc2UgfSBmcm9tICcuL1BsdWdpbkJhc2UudHMnO1xuXG4vKipcbiAqIEEgVUkgY29tcG9uZW50IHRoYXQgY2FuIGJlIGJvdW5kIHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVUlDb21wb25lbnQ8VUlWYWx1ZT4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgc2V0VmFsdWUodmFsdWU6IFVJVmFsdWUpOiB0aGlzO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gQSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBVSVZhbHVlKSA9PiBQcm9taXNlPHZvaWQ+KTogdGhpcztcbn1cblxuLyoqXG4gKiBBIFVJIGNvbXBvbmVudCB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQuXG4gKi9cbmludGVyZmFjZSBWYWxpZGF0b3JFbGVtZW50IHtcbiAgLyoqXG4gICAqIFNldHMgYSBjdXN0b20gZXJyb3IgbWVzc2FnZSBvbiB0aGUgZWxlbWVudC5cbiAgICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2V0IG9uIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3I6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgdGhlIHZhbGlkaXR5IG9mIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcmVwb3J0VmFsaWRpdHkoKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmludGVyZmFjZSBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4ge1xuICAvLyBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgYXV0b1NhdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdCB0byBiaW5kIHRoZSBjb21wb25lbnQgdG8uIERlZmF1bHQgaXMgdGhlIHBsdWdpbidzIGN1cnJlbnQgc2V0dGluZ3MuXG4gICAqL1xuICBwbHVnaW5TZXR0aW5ncz86IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIFVJIHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIEFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiBpdCBpcyB2YWxpZC5cbiAgICovXG4gIHVpVmFsdWVWYWxpZGF0b3I/OiAodWlWYWx1ZTogVUlWYWx1ZVR5cGUpID0+IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgb3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFVJQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZSwgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5ncz4gZXh0ZW5kcyBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4ge1xuICAvKipcbiAqIENvbnZlcnRzIHRoZSBzZXR0aW5nIHZhbHVlIHRvIHRoZSB2YWx1ZSB1c2VkIGJ5IHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gcHJvcGVydHlWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIFVJIGNvbXBvbmVudC5cbiAqL1xuICBzZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyOiAocHJvcGVydHlWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlVHlwZTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIFVJIGNvbXBvbmVudCdzIHZhbHVlIGJhY2sgdG8gdGhlIHNldHRpbmcgdmFsdWUuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXI6ICh1aVZhbHVlOiBVSVZhbHVlVHlwZSkgPT4gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xufVxuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gIFByb3BlcnR5IGV4dGVuZHMgS2V5c01hdGNoaW5nPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4sXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlclxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9ucz86IEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlclxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9uczogQmluZFVJQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZSwgUHJvcGVydHk+XG4pOiBUVUlDb21wb25lbnQ7XG5cbi8qKlxuICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzIHdpdGggb3B0aW9uYWwgYXV0b21hdGljIHNhdmluZyBhbmQgdmFsdWUgY29udmVyc2lvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCBleHRlbmRzIGBQbHVnaW5CYXNlYC5cbiAqIEB0eXBlUGFyYW0gVFVJQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudCBleHRlbmRpbmcgYFVJQ29tcG9uZW50YC5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gc2V0dGluZyB0aGF0IHRoZSBjb21wb25lbnQgaXMgYm91bmQgdG8uXG4gKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgYmFzZWQgb24gdGhlIFVJIGNvbXBvbmVudCdzIHR5cGUuXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gdWlDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgVUlDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmRVaUNvbXBvbmVudDxcbiAgUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxvYmplY3Q+LFxuICBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDx1bmtub3duPixcbiAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5ncyxcbiAgVUlWYWx1ZVR5cGUgPSBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyXG4+KFxuICBwbHVnaW46IFBsdWdpbixcbiAgdWlDb21wb25lbnQ6IFRVSUNvbXBvbmVudCxcbiAgcHJvcGVydHk6IFByb3BlcnR5LFxuICBvcHRpb25zPzogQmluZFVJQ29tcG9uZW50T3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGU+IHwgQmluZFVJQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZSwgUHJvcGVydHk+XG4pOiBUVUlDb21wb25lbnQge1xuICB0eXBlIFByb3BlcnR5VHlwZSA9IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eT4gPSB7XG4gICAgYXV0b1NhdmU6IHRydWUsXG4gICAgc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcjogKHZhbHVlKTogVUlWYWx1ZVR5cGUgPT4gdmFsdWUgYXMgVUlWYWx1ZVR5cGUsXG4gICAgdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcjogKHZhbHVlKTogUHJvcGVydHlUeXBlID0+IHZhbHVlIGFzIFByb3BlcnR5VHlwZVxuICB9O1xuXG4gIGNvbnN0IG9wdGlvbnNFeHQgPSBPYmplY3QuYXNzaWduKHt9LCBvcHRpb25zLCBERUZBVUxUX09QVElPTlMpO1xuICBjb25zdCBwbHVnaW5FeHQgPSBwbHVnaW4gYXMgdW5rbm93biBhcyBQbHVnaW5CYXNlPFBsdWdpblNldHRpbmdzPjtcbiAgY29uc3QgdWlDb21wb25lbnRFeHQgPSB1aUNvbXBvbmVudCBhcyBVSUNvbXBvbmVudDxVSVZhbHVlVHlwZT47XG4gIGNvbnN0IHBsdWdpblNldHRpbmdzRm4gPSAoKTogUGx1Z2luU2V0dGluZ3MgPT4gb3B0aW9uc0V4dC5wbHVnaW5TZXR0aW5ncyA/PyBwbHVnaW5FeHQuc2V0dGluZ3NDb3B5O1xuICB1aUNvbXBvbmVudEV4dFxuICAgIC5zZXRWYWx1ZShvcHRpb25zRXh0LnNldHRpbmdUb1VJVmFsdWVDb252ZXJ0ZXIocGx1Z2luU2V0dGluZ3NGbigpW3Byb3BlcnR5XSkpXG4gICAgLm9uQ2hhbmdlKGFzeW5jICh1aVZhbHVlKSA9PiB7XG4gICAgICBpZiAob3B0aW9uc0V4dC51aVZhbHVlVmFsaWRhdG9yKSB7XG4gICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IG9wdGlvbnNFeHQudWlWYWx1ZVZhbGlkYXRvcih1aVZhbHVlKTtcbiAgICAgICAgY29uc3QgdmFsaWRhdG9yRWxlbWVudCA9IGdldFZhbGlkYXRvckVsZW1lbnQodWlDb21wb25lbnQpO1xuICAgICAgICBpZiAodmFsaWRhdG9yRWxlbWVudCkge1xuICAgICAgICAgIHZhbGlkYXRvckVsZW1lbnQuc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3JNZXNzYWdlID8/ICcnKTtcbiAgICAgICAgICB2YWxpZGF0b3JFbGVtZW50LnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGVycm9yTWVzc2FnZSkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgY29uc3QgcGx1Z2luU2V0dGluZ3MgPSBwbHVnaW5TZXR0aW5nc0ZuKCk7XG4gICAgICBwbHVnaW5TZXR0aW5nc1twcm9wZXJ0eV0gPSBvcHRpb25zRXh0LnVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXIodWlWYWx1ZSk7XG4gICAgICBpZiAob3B0aW9uc0V4dC5hdXRvU2F2ZSkge1xuICAgICAgICBhd2FpdCBwbHVnaW5FeHQuc2F2ZVNldHRpbmdzKHBsdWdpblNldHRpbmdzKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgcmV0dXJuIHVpQ29tcG9uZW50O1xufVxuXG4vKipcbiAqIEdldHMgdGhlIHZhbGlkYXRvciBlbGVtZW50IGZyb20gYSBVSSBjb21wb25lbnQgaWYgaXQgZXhpc3RzLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIFVJIGNvbXBvbmVudCB0byBnZXQgdGhlIHZhbGlkYXRvciBlbGVtZW50IGZyb20uXG4gKiBAcmV0dXJucyBUaGUgdmFsaWRhdG9yIGVsZW1lbnQgaWYgaXQgZXhpc3RzLCBvciBgbnVsbGAgaWYgaXQgZG9lcyBub3QuXG4gKi9cbmZ1bmN0aW9uIGdldFZhbGlkYXRvckVsZW1lbnQodWlDb21wb25lbnQ6IFVJQ29tcG9uZW50PHVua25vd24+KTogVmFsaWRhdG9yRWxlbWVudCB8IG51bGwge1xuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBEcm9wZG93bkNvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5zZWxlY3RFbDtcbiAgfVxuXG4gIGlmICh1aUNvbXBvbmVudCBpbnN0YW5jZW9mIFNsaWRlckNvbXBvbmVudCkge1xuICAgIHJldHVybiB1aUNvbXBvbmVudC5zbGlkZXJFbDtcbiAgfVxuXG4gIGlmICh1aUNvbXBvbmVudCBpbnN0YW5jZW9mIFRleHRBcmVhQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHVpQ29tcG9uZW50LmlucHV0RWw7XG4gIH1cblxuICBpZiAodWlDb21wb25lbnQgaW5zdGFuY2VvZiBUZXh0Q29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHVpQ29tcG9uZW50LmlucHV0RWw7XG4gIH1cblxuICByZXR1cm4gbnVsbDtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQU1BLHNCQUtPO0FBWFAsSUFBSSxvQkFBb0IsV0FBVyxpQkFBaUIsTUFBTSxNQUFJO0FBQUMsTUFBRyxPQUFPLGVBQWEsVUFBUztBQUFDLFdBQU8sSUFBSSxJQUFJLE9BQU8sU0FBUyxJQUFJO0FBQUEsRUFBQztBQUFDLFNBQU8sUUFBUSxVQUFVLEVBQUUsY0FBYyxVQUFVO0FBQUMsR0FBRztBQUM1TCxJQUFJLFlBQVksV0FBVyxTQUFTLEtBQUs7QUFBQSxFQUN2QyxPQUFPLE1BQUk7QUFBQSxFQUNYLE9BQU8sQ0FBQztBQUFBLEVBQ1IsWUFBWTtBQUNkO0FBK0pPLFNBQVMsZ0JBT2QsUUFDQSxhQUNBLFVBQ0EsU0FDYztBQUVkLFFBQU0sa0JBQXlGO0FBQUEsSUFDN0YsVUFBVTtBQUFBLElBQ1YsMkJBQTJCLENBQUMsVUFBdUI7QUFBQSxJQUNuRCwyQkFBMkIsQ0FBQyxVQUF3QjtBQUFBLEVBQ3REO0FBRUEsUUFBTSxhQUFhLE9BQU8sT0FBTyxDQUFDLEdBQUcsU0FBUyxlQUFlO0FBQzdELFFBQU0sWUFBWTtBQUNsQixRQUFNLGlCQUFpQjtBQUN2QixRQUFNLG1CQUFtQixNQUFzQixXQUFXLGtCQUFrQixVQUFVO0FBQ3RGLGlCQUNHLFNBQVMsV0FBVywwQkFBMEIsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFDM0UsU0FBUyxPQUFPLFlBQVk7QUFDM0IsUUFBSSxXQUFXLGtCQUFrQjtBQUMvQixZQUFNLGVBQWUsV0FBVyxpQkFBaUIsT0FBTztBQUN4RCxZQUFNLG1CQUFtQixvQkFBb0IsV0FBVztBQUN4RCxVQUFJLGtCQUFrQjtBQUNwQix5QkFBaUIsa0JBQWtCLGdCQUFnQixFQUFFO0FBQ3JELHlCQUFpQixlQUFlO0FBQUEsTUFDbEM7QUFDQSxVQUFJLGNBQWM7QUFDaEI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUNBLFVBQU0saUJBQWlCLGlCQUFpQjtBQUN4QyxtQkFBZSxRQUFRLElBQUksV0FBVywwQkFBMEIsT0FBTztBQUN2RSxRQUFJLFdBQVcsVUFBVTtBQUN2QixZQUFNLFVBQVUsYUFBYSxjQUFjO0FBQUEsSUFDN0M7QUFBQSxFQUNGLENBQUM7QUFDSCxTQUFPO0FBQ1Q7QUFPQSxTQUFTLG9CQUFvQixhQUE0RDtBQUN2RixNQUFJLHVCQUF1QixtQ0FBbUI7QUFDNUMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxNQUFJLHVCQUF1QixpQ0FBaUI7QUFDMUMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxNQUFJLHVCQUF1QixtQ0FBbUI7QUFDNUMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxNQUFJLHVCQUF1QiwrQkFBZTtBQUN4QyxXQUFPLFlBQVk7QUFBQSxFQUNyQjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
90
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL1BsdWdpbi9VSUNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsidmFyIF9faW1wb3J0X21ldGFfdXJsID0gZ2xvYmFsVGhpc1snaW1wb3J0Lm1ldGEudXJsJ10gPz8gKCgpPT57aWYodHlwZW9mIF9fZmlsZW5hbWUhPT1cInN0cmluZ1wiKXtyZXR1cm4gbmV3IFVSTCh3aW5kb3cubG9jYXRpb24uaHJlZil9cmV0dXJuIHJlcXVpcmUoXCJub2RlOnVybFwiKS5wYXRoVG9GaWxlVVJMKF9fZmlsZW5hbWUpfSkoKTtcbnZhciBfX3Byb2Nlc3MgPSBnbG9iYWxUaGlzWydwcm9jZXNzJ10gPz8ge1xuICBcImN3ZFwiOiAoKT0+XCIvXCIsXG4gIFwiZW52XCI6IHt9LFxuICBcInBsYXRmb3JtXCI6IFwiYW5kcm9pZFwiXG59O1xuaW1wb3J0IHtcbiAgRHJvcGRvd25Db21wb25lbnQsXG4gIFNsaWRlckNvbXBvbmVudCxcbiAgVGV4dEFyZWFDb21wb25lbnQsXG4gIFRleHRDb21wb25lbnRcbn0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IEtleXNNYXRjaGluZyB9IGZyb20gJy4uLy4uL0B0eXBlcy50cyc7XG5pbXBvcnQgdHlwZSB7IFBsdWdpbkJhc2UgfSBmcm9tICcuL1BsdWdpbkJhc2UudHMnO1xuXG4vKipcbiAqIEEgVUkgY29tcG9uZW50IHRoYXQgY2FuIGJlIGJvdW5kIHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVUlDb21wb25lbnQ8VUlWYWx1ZT4ge1xuICAvKipcbiAgICogU2V0cyB0aGUgdmFsdWUgb2YgdGhlIGNvbXBvbmVudC5cbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHZhbHVlIHRvIHNldCBvbiB0aGUgY29tcG9uZW50LlxuICAgKi9cbiAgc2V0VmFsdWUodmFsdWU6IFVJVmFsdWUpOiB0aGlzO1xuXG4gIC8qKlxuICAgKiBTZXRzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gYmUgY2FsbGVkIHdoZW4gdGhlIHZhbHVlIG9mIHRoZSBjb21wb25lbnQgY2hhbmdlcy5cbiAgICogQHBhcmFtIGNhbGxiYWNrIC0gQSBjYWxsYmFjayBmdW5jdGlvbiB0aGF0IGlzIGNhbGxlZCB3aGVuIHRoZSB2YWx1ZSBvZiB0aGUgY29tcG9uZW50IGNoYW5nZXMuXG4gICAqL1xuICBvbkNoYW5nZShjYWxsYmFjazogKG5ld1ZhbHVlOiBVSVZhbHVlKSA9PiBQcm9taXNlPHZvaWQ+KTogdGhpcztcbn1cblxuLyoqXG4gKiBBIFVJIGNvbXBvbmVudCB0aGF0IGNhbiBiZSB2YWxpZGF0ZWQuXG4gKi9cbmludGVyZmFjZSBWYWxpZGF0b3JFbGVtZW50IHtcbiAgLyoqXG4gICAqIFNldHMgYSBjdXN0b20gZXJyb3IgbWVzc2FnZSBvbiB0aGUgZWxlbWVudC5cbiAgICogQHBhcmFtIGVycm9yIC0gVGhlIGVycm9yIG1lc3NhZ2UgdG8gc2V0IG9uIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgc2V0Q3VzdG9tVmFsaWRpdHkoZXJyb3I6IHN0cmluZyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJlcG9ydHMgdGhlIHZhbGlkaXR5IG9mIHRoZSBlbGVtZW50LlxuICAgKi9cbiAgcmVwb3J0VmFsaWRpdHkoKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciBiaW5kaW5nIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcGx1Z2luIHNldHRpbmcuXG4gKi9cbmludGVyZmFjZSBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4ge1xuICAvLyBJZiB0cnVlLCBzYXZlcyB0aGUgcGx1Z2luIHNldHRpbmdzIGF1dG9tYXRpY2FsbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCB2YWx1ZSBjaGFuZ2VzLiBEZWZhdWx0IGlzIGB0cnVlYC5cbiAgYXV0b1NhdmU/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBUaGUgcGx1Z2luIHNldHRpbmdzIG9iamVjdCB0byBiaW5kIHRoZSBjb21wb25lbnQgdG8uIERlZmF1bHQgaXMgdGhlIHBsdWdpbidzIGN1cnJlbnQgc2V0dGluZ3MuXG4gICAqL1xuICBwbHVnaW5TZXR0aW5ncz86IFBsdWdpblNldHRpbmdzO1xuXG4gIC8qKlxuICAgKiBWYWxpZGF0ZXMgdGhlIFVJIHZhbHVlIGJlZm9yZSBzZXR0aW5nIGl0IG9uIHRoZSBwbHVnaW4gc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIEFuIGVycm9yIG1lc3NhZ2UgaWYgdGhlIHZhbHVlIGlzIGludmFsaWQsIG9yIGBudWxsYCBpZiBpdCBpcyB2YWxpZC5cbiAgICovXG4gIHVpVmFsdWVWYWxpZGF0b3I/OiAodWlWYWx1ZTogVUlWYWx1ZVR5cGUpID0+IHN0cmluZyB8IG51bGw7XG59XG5cbi8qKlxuICogRXh0ZW5kZWQgb3B0aW9ucyBmb3IgYmluZGluZyBhIHZhbHVlIGNvbXBvbmVudCB0byBhIHBsdWdpbiBzZXR0aW5nLlxuICovXG5pbnRlcmZhY2UgQmluZFVJQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZSwgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5ncz4gZXh0ZW5kcyBCaW5kVUlDb21wb25lbnRPcHRpb25zPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4ge1xuICAvKipcbiAqIENvbnZlcnRzIHRoZSBzZXR0aW5nIHZhbHVlIHRvIHRoZSB2YWx1ZSB1c2VkIGJ5IHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gcHJvcGVydHlWYWx1ZSAtIFRoZSB2YWx1ZSBvZiB0aGUgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIFVJIGNvbXBvbmVudC5cbiAqL1xuICBzZXR0aW5nVG9VSVZhbHVlQ29udmVydGVyOiAocHJvcGVydHlWYWx1ZTogUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldKSA9PiBVSVZhbHVlVHlwZTtcblxuICAvKipcbiAgICogQ29udmVydHMgdGhlIFVJIGNvbXBvbmVudCdzIHZhbHVlIGJhY2sgdG8gdGhlIHNldHRpbmcgdmFsdWUuXG4gICAqIEBwYXJhbSB1aVZhbHVlIC0gVGhlIHZhbHVlIG9mIHRoZSBVSSBjb21wb25lbnQuXG4gICAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBzZXQgb24gdGhlIHBsdWdpbiBzZXR0aW5ncy5cbiAgICovXG4gIHVpVG9TZXR0aW5nVmFsdWVDb252ZXJ0ZXI6ICh1aVZhbHVlOiBVSVZhbHVlVHlwZSkgPT4gUGx1Z2luU2V0dGluZ3NbUHJvcGVydHldO1xufVxuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gIFByb3BlcnR5IGV4dGVuZHMgS2V5c01hdGNoaW5nPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZT4sXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlclxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9ucz86IEJpbmRVSUNvbXBvbmVudE9wdGlvbnM8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlPlxuKTogVFVJQ29tcG9uZW50O1xuXG4vKipcbiAqIEJpbmRzIGEgdmFsdWUgY29tcG9uZW50IHRvIGEgcHJvcGVydHkgaW4gdGhlIHBsdWdpbiBzZXR0aW5ncyB3aXRoIG9wdGlvbmFsIGF1dG9tYXRpYyBzYXZpbmcgYW5kIHZhbHVlIGNvbnZlcnNpb24uXG4gKlxuICogQHR5cGVQYXJhbSBQbHVnaW4gLSBUaGUgdHlwZSBvZiB0aGUgcGx1Z2luIHRoYXQgZXh0ZW5kcyBgUGx1Z2luQmFzZWAuXG4gKiBAdHlwZVBhcmFtIFRVSUNvbXBvbmVudCAtIFRoZSB0eXBlIG9mIHRoZSB2YWx1ZSBjb21wb25lbnQgZXh0ZW5kaW5nIGBVSUNvbXBvbmVudGAuXG4gKiBAdHlwZVBhcmFtIFByb3BlcnR5IC0gVGhlIGtleSBvZiB0aGUgcGx1Z2luIHNldHRpbmcgdGhhdCB0aGUgY29tcG9uZW50IGlzIGJvdW5kIHRvLlxuICogQHR5cGVQYXJhbSBVSVZhbHVlVHlwZSAtIFRoZSBpbmZlcnJlZCB0eXBlIGJhc2VkIG9uIHRoZSBVSSBjb21wb25lbnQncyB0eXBlLlxuICogQHR5cGVQYXJhbSBQbHVnaW5TZXR0aW5ncyAtIFRoZSBpbmZlcnJlZCB0eXBlIG9mIHRoZSBwbHVnaW4gc2V0dGluZ3Mgb2JqZWN0LlxuICpcbiAqIEBwYXJhbSBwbHVnaW4gLSBUaGUgcGx1Z2luLlxuICogQHBhcmFtIHVpQ29tcG9uZW50IC0gVGhlIGNvbXBvbmVudCB0aGF0IHdpbGwgZGlzcGxheSBhbmQgaW50ZXJhY3Qgd2l0aCB0aGUgc2V0dGluZyB2YWx1ZS5cbiAqIEBwYXJhbSBwcm9wZXJ0eSAtIFRoZSBwcm9wZXJ0eSBrZXkgaW4gYFBsdWdpblNldHRpbmdzYCB0byBiaW5kIHRvIHRoZSBVSSBjb21wb25lbnQuXG4gKiBAcGFyYW0gb3B0aW9ucyAtIENvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmV0dXJucyBUaGUgYFVJQ29tcG9uZW50YCBpbnN0YW5jZSB0aGF0IHdhcyBib3VuZCB0byB0aGUgcHJvcGVydHkuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBiaW5kVWlDb21wb25lbnQ8XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gIFBsdWdpbiBleHRlbmRzIFBsdWdpbkJhc2U8b2JqZWN0PixcbiAgVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8dW5rbm93bj4sXG4gIFByb3BlcnR5IGV4dGVuZHMga2V5b2YgUGx1Z2luU2V0dGluZ3MsXG4gIFVJVmFsdWVUeXBlID0gVFVJQ29tcG9uZW50IGV4dGVuZHMgVUlDb21wb25lbnQ8aW5mZXIgUD4gPyBQIDogbmV2ZXIsXG4gIFBsdWdpblNldHRpbmdzIGV4dGVuZHMgb2JqZWN0ID0gUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxpbmZlciBQPiA/IFAgOiBuZXZlclxuPihcbiAgcGx1Z2luOiBQbHVnaW4sXG4gIHVpQ29tcG9uZW50OiBUVUlDb21wb25lbnQsXG4gIHByb3BlcnR5OiBQcm9wZXJ0eSxcbiAgb3B0aW9uczogQmluZFVJQ29tcG9uZW50T3B0aW9uc0V4dGVuZGVkPFBsdWdpblNldHRpbmdzLCBVSVZhbHVlVHlwZSwgUHJvcGVydHk+XG4pOiBUVUlDb21wb25lbnQ7XG5cbi8qKlxuICogQmluZHMgYSB2YWx1ZSBjb21wb25lbnQgdG8gYSBwcm9wZXJ0eSBpbiB0aGUgcGx1Z2luIHNldHRpbmdzIHdpdGggb3B0aW9uYWwgYXV0b21hdGljIHNhdmluZyBhbmQgdmFsdWUgY29udmVyc2lvbi5cbiAqXG4gKiBAdHlwZVBhcmFtIFBsdWdpbiAtIFRoZSB0eXBlIG9mIHRoZSBwbHVnaW4gdGhhdCBleHRlbmRzIGBQbHVnaW5CYXNlYC5cbiAqIEB0eXBlUGFyYW0gVFVJQ29tcG9uZW50IC0gVGhlIHR5cGUgb2YgdGhlIHZhbHVlIGNvbXBvbmVudCBleHRlbmRpbmcgYFVJQ29tcG9uZW50YC5cbiAqIEB0eXBlUGFyYW0gUHJvcGVydHkgLSBUaGUga2V5IG9mIHRoZSBwbHVnaW4gc2V0dGluZyB0aGF0IHRoZSBjb21wb25lbnQgaXMgYm91bmQgdG8uXG4gKiBAdHlwZVBhcmFtIFVJVmFsdWVUeXBlIC0gVGhlIGluZmVycmVkIHR5cGUgYmFzZWQgb24gdGhlIFVJIGNvbXBvbmVudCdzIHR5cGUuXG4gKiBAdHlwZVBhcmFtIFBsdWdpblNldHRpbmdzIC0gVGhlIGluZmVycmVkIHR5cGUgb2YgdGhlIHBsdWdpbiBzZXR0aW5ncyBvYmplY3QuXG4gKlxuICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4uXG4gKiBAcGFyYW0gdWlDb21wb25lbnQgLSBUaGUgY29tcG9uZW50IHRoYXQgd2lsbCBkaXNwbGF5IGFuZCBpbnRlcmFjdCB3aXRoIHRoZSBzZXR0aW5nIHZhbHVlLlxuICogQHBhcmFtIHByb3BlcnR5IC0gVGhlIHByb3BlcnR5IGtleSBpbiBgUGx1Z2luU2V0dGluZ3NgIHRvIGJpbmQgdG8gdGhlIFVJIGNvbXBvbmVudC5cbiAqIEBwYXJhbSBvcHRpb25zIC0gQ29uZmlndXJhdGlvbiBvcHRpb25zLlxuICpcbiAqIEByZXR1cm5zIFRoZSBgVUlDb21wb25lbnRgIGluc3RhbmNlIHRoYXQgd2FzIGJvdW5kIHRvIHRoZSBwcm9wZXJ0eS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGJpbmRVaUNvbXBvbmVudDxcbiAgUGx1Z2luIGV4dGVuZHMgUGx1Z2luQmFzZTxvYmplY3Q+LFxuICBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDx1bmtub3duPixcbiAgUHJvcGVydHkgZXh0ZW5kcyBrZXlvZiBQbHVnaW5TZXR0aW5ncyxcbiAgVUlWYWx1ZVR5cGUgPSBUVUlDb21wb25lbnQgZXh0ZW5kcyBVSUNvbXBvbmVudDxpbmZlciBQPiA/IFAgOiBuZXZlcixcbiAgUGx1Z2luU2V0dGluZ3MgZXh0ZW5kcyBvYmplY3QgPSBQbHVnaW4gZXh0ZW5kcyBQbHVnaW5CYXNlPGluZmVyIFA+ID8gUCA6IG5ldmVyXG4+KFxuICBwbHVnaW46IFBsdWdpbixcbiAgdWlDb21wb25lbnQ6IFRVSUNvbXBvbmVudCxcbiAgcHJvcGVydHk6IFByb3BlcnR5LFxuICBvcHRpb25zPzogQmluZFVJQ29tcG9uZW50T3B0aW9uczxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGU+XG4pOiBUVUlDb21wb25lbnQge1xuICB0eXBlIFByb3BlcnR5VHlwZSA9IFBsdWdpblNldHRpbmdzW1Byb3BlcnR5XTtcbiAgY29uc3QgREVGQVVMVF9PUFRJT05TOiBCaW5kVUlDb21wb25lbnRPcHRpb25zRXh0ZW5kZWQ8UGx1Z2luU2V0dGluZ3MsIFVJVmFsdWVUeXBlLCBQcm9wZXJ0eT4gPSB7XG4gICAgYXV0b1NhdmU6IHRydWUsXG4gICAgc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcjogKHZhbHVlKTogVUlWYWx1ZVR5cGUgPT4gdmFsdWUgYXMgVUlWYWx1ZVR5cGUsXG4gICAgdWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcjogKHZhbHVlKTogUHJvcGVydHlUeXBlID0+IHZhbHVlIGFzIFByb3BlcnR5VHlwZVxuICB9O1xuXG4gIGNvbnN0IG9wdGlvbnNFeHQ6IEJpbmRVSUNvbXBvbmVudE9wdGlvbnNFeHRlbmRlZDxQbHVnaW5TZXR0aW5ncywgVUlWYWx1ZVR5cGUsIFByb3BlcnR5PiA9IHsgLi4uREVGQVVMVF9PUFRJT05TLCAuLi5vcHRpb25zIH07XG4gIGNvbnN0IHBsdWdpbkV4dCA9IHBsdWdpbiBhcyB1bmtub3duIGFzIFBsdWdpbkJhc2U8UGx1Z2luU2V0dGluZ3M+O1xuICBjb25zdCB1aUNvbXBvbmVudEV4dCA9IHVpQ29tcG9uZW50IGFzIFVJQ29tcG9uZW50PFVJVmFsdWVUeXBlPjtcbiAgY29uc3QgcGx1Z2luU2V0dGluZ3NGbiA9ICgpOiBQbHVnaW5TZXR0aW5ncyA9PiBvcHRpb25zRXh0LnBsdWdpblNldHRpbmdzID8/IHBsdWdpbkV4dC5zZXR0aW5nc0NvcHk7XG4gIHVpQ29tcG9uZW50RXh0XG4gICAgLnNldFZhbHVlKG9wdGlvbnNFeHQuc2V0dGluZ1RvVUlWYWx1ZUNvbnZlcnRlcihwbHVnaW5TZXR0aW5nc0ZuKClbcHJvcGVydHldKSlcbiAgICAub25DaGFuZ2UoYXN5bmMgKHVpVmFsdWUpID0+IHtcbiAgICAgIGlmIChvcHRpb25zRXh0LnVpVmFsdWVWYWxpZGF0b3IpIHtcbiAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gb3B0aW9uc0V4dC51aVZhbHVlVmFsaWRhdG9yKHVpVmFsdWUpO1xuICAgICAgICBjb25zdCB2YWxpZGF0b3JFbGVtZW50ID0gZ2V0VmFsaWRhdG9yRWxlbWVudCh1aUNvbXBvbmVudCk7XG4gICAgICAgIGlmICh2YWxpZGF0b3JFbGVtZW50KSB7XG4gICAgICAgICAgdmFsaWRhdG9yRWxlbWVudC5zZXRDdXN0b21WYWxpZGl0eShlcnJvck1lc3NhZ2UgPz8gJycpO1xuICAgICAgICAgIHZhbGlkYXRvckVsZW1lbnQucmVwb3J0VmFsaWRpdHkoKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZXJyb3JNZXNzYWdlKSB7XG4gICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb25zdCBwbHVnaW5TZXR0aW5ncyA9IHBsdWdpblNldHRpbmdzRm4oKTtcbiAgICAgIHBsdWdpblNldHRpbmdzW3Byb3BlcnR5XSA9IG9wdGlvbnNFeHQudWlUb1NldHRpbmdWYWx1ZUNvbnZlcnRlcih1aVZhbHVlKTtcbiAgICAgIGlmIChvcHRpb25zRXh0LmF1dG9TYXZlKSB7XG4gICAgICAgIGF3YWl0IHBsdWdpbkV4dC5zYXZlU2V0dGluZ3MocGx1Z2luU2V0dGluZ3MpO1xuICAgICAgfVxuICAgIH0pO1xuICByZXR1cm4gdWlDb21wb25lbnQ7XG59XG5cbi8qKlxuICogR2V0cyB0aGUgdmFsaWRhdG9yIGVsZW1lbnQgZnJvbSBhIFVJIGNvbXBvbmVudCBpZiBpdCBleGlzdHMuXG4gKiBAcGFyYW0gdWlDb21wb25lbnQgLSBUaGUgVUkgY29tcG9uZW50IHRvIGdldCB0aGUgdmFsaWRhdG9yIGVsZW1lbnQgZnJvbS5cbiAqIEByZXR1cm5zIFRoZSB2YWxpZGF0b3IgZWxlbWVudCBpZiBpdCBleGlzdHMsIG9yIGBudWxsYCBpZiBpdCBkb2VzIG5vdC5cbiAqL1xuZnVuY3Rpb24gZ2V0VmFsaWRhdG9yRWxlbWVudCh1aUNvbXBvbmVudDogVUlDb21wb25lbnQ8dW5rbm93bj4pOiBWYWxpZGF0b3JFbGVtZW50IHwgbnVsbCB7XG4gIGlmICh1aUNvbXBvbmVudCBpbnN0YW5jZW9mIERyb3Bkb3duQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHVpQ29tcG9uZW50LnNlbGVjdEVsO1xuICB9XG5cbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgU2xpZGVyQ29tcG9uZW50KSB7XG4gICAgcmV0dXJuIHVpQ29tcG9uZW50LnNsaWRlckVsO1xuICB9XG5cbiAgaWYgKHVpQ29tcG9uZW50IGluc3RhbmNlb2YgVGV4dEFyZWFDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuaW5wdXRFbDtcbiAgfVxuXG4gIGlmICh1aUNvbXBvbmVudCBpbnN0YW5jZW9mIFRleHRDb21wb25lbnQpIHtcbiAgICByZXR1cm4gdWlDb21wb25lbnQuaW5wdXRFbDtcbiAgfVxuXG4gIHJldHVybiBudWxsO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBTUEsc0JBS087QUFYUCxJQUFJLG9CQUFvQixXQUFXLGlCQUFpQixNQUFNLE1BQUk7QUFBQyxNQUFHLE9BQU8sZUFBYSxVQUFTO0FBQUMsV0FBTyxJQUFJLElBQUksT0FBTyxTQUFTLElBQUk7QUFBQSxFQUFDO0FBQUMsU0FBTyxRQUFRLFVBQVUsRUFBRSxjQUFjLFVBQVU7QUFBQyxHQUFHO0FBQzVMLElBQUksWUFBWSxXQUFXLFNBQVMsS0FBSztBQUFBLEVBQ3ZDLE9BQU8sTUFBSTtBQUFBLEVBQ1gsT0FBTyxDQUFDO0FBQUEsRUFDUixZQUFZO0FBQ2Q7QUErSk8sU0FBUyxnQkFPZCxRQUNBLGFBQ0EsVUFDQSxTQUNjO0FBRWQsUUFBTSxrQkFBeUY7QUFBQSxJQUM3RixVQUFVO0FBQUEsSUFDViwyQkFBMkIsQ0FBQyxVQUF1QjtBQUFBLElBQ25ELDJCQUEyQixDQUFDLFVBQXdCO0FBQUEsRUFDdEQ7QUFFQSxRQUFNLGFBQW9GLEVBQUUsR0FBRyxpQkFBaUIsR0FBRyxRQUFRO0FBQzNILFFBQU0sWUFBWTtBQUNsQixRQUFNLGlCQUFpQjtBQUN2QixRQUFNLG1CQUFtQixNQUFzQixXQUFXLGtCQUFrQixVQUFVO0FBQ3RGLGlCQUNHLFNBQVMsV0FBVywwQkFBMEIsaUJBQWlCLEVBQUUsUUFBUSxDQUFDLENBQUMsRUFDM0UsU0FBUyxPQUFPLFlBQVk7QUFDM0IsUUFBSSxXQUFXLGtCQUFrQjtBQUMvQixZQUFNLGVBQWUsV0FBVyxpQkFBaUIsT0FBTztBQUN4RCxZQUFNLG1CQUFtQixvQkFBb0IsV0FBVztBQUN4RCxVQUFJLGtCQUFrQjtBQUNwQix5QkFBaUIsa0JBQWtCLGdCQUFnQixFQUFFO0FBQ3JELHlCQUFpQixlQUFlO0FBQUEsTUFDbEM7QUFDQSxVQUFJLGNBQWM7QUFDaEI7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUNBLFVBQU0saUJBQWlCLGlCQUFpQjtBQUN4QyxtQkFBZSxRQUFRLElBQUksV0FBVywwQkFBMEIsT0FBTztBQUN2RSxRQUFJLFdBQVcsVUFBVTtBQUN2QixZQUFNLFVBQVUsYUFBYSxjQUFjO0FBQUEsSUFDN0M7QUFBQSxFQUNGLENBQUM7QUFDSCxTQUFPO0FBQ1Q7QUFPQSxTQUFTLG9CQUFvQixhQUE0RDtBQUN2RixNQUFJLHVCQUF1QixtQ0FBbUI7QUFDNUMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxNQUFJLHVCQUF1QixpQ0FBaUI7QUFDMUMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxNQUFJLHVCQUF1QixtQ0FBbUI7QUFDNUMsV0FBTyxZQUFZO0FBQUEsRUFDckI7QUFFQSxNQUFJLHVCQUF1QiwrQkFBZTtBQUN4QyxXQUFPLFlBQVk7QUFBQSxFQUNyQjtBQUVBLFNBQU87QUFDVDsiLAogICJuYW1lcyI6IFtdCn0K
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "obsidian-dev-utils",
3
- "version": "3.3.0",
3
+ "version": "3.4.0",
4
4
  "description": "This is the collection of useful functions that you can use for your Obsidian plugin development",
5
5
  "main": "./dist/lib/index.cjs",
6
6
  "types": "./dist/lib/index.d.ts",