obsidian-dev-utils 77.0.0 → 78.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (142) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/dist/dev/main.js +588 -239
  3. package/dist/lib/cjs/async.cjs +15 -1
  4. package/dist/lib/cjs/async.d.cts +8 -0
  5. package/dist/lib/cjs/html-element.cjs +16 -3
  6. package/dist/lib/cjs/html-element.d.cts +7 -0
  7. package/dist/lib/cjs/library.cjs +1 -1
  8. package/dist/lib/cjs/obsidian/bases-view-registrar.cjs +155 -0
  9. package/dist/lib/cjs/obsidian/bases-view-registrar.d.cts +52 -0
  10. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +1 -1
  11. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +3 -3
  12. package/dist/lib/cjs/obsidian/components/rename-delete-handler-component.cjs +64 -53
  13. package/dist/lib/cjs/obsidian/editor-extension-registrar.cjs +155 -0
  14. package/dist/lib/cjs/obsidian/editor-extension-registrar.d.cts +37 -0
  15. package/dist/lib/cjs/obsidian/editor-suggest-registrar.cjs +155 -0
  16. package/dist/lib/cjs/obsidian/editor-suggest-registrar.d.cts +36 -0
  17. package/dist/lib/cjs/obsidian/extensions-registrar.cjs +155 -0
  18. package/dist/lib/cjs/obsidian/extensions-registrar.d.cts +51 -0
  19. package/dist/lib/cjs/obsidian/hover-link-source-registrar.cjs +155 -0
  20. package/dist/lib/cjs/obsidian/hover-link-source-registrar.d.cts +52 -0
  21. package/dist/lib/cjs/obsidian/index.cjs +28 -1
  22. package/dist/lib/cjs/obsidian/index.d.cts +9 -0
  23. package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.cjs +4 -6
  24. package/dist/lib/cjs/obsidian/markdown-code-block-processor-registrar.d.cts +24 -8
  25. package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.cjs +156 -0
  26. package/dist/lib/cjs/obsidian/markdown-post-processor-registrar.d.cts +57 -0
  27. package/dist/lib/cjs/obsidian/markdown.cjs +6 -8
  28. package/dist/lib/cjs/obsidian/modals/alert.cjs +11 -5
  29. package/dist/lib/cjs/obsidian/modals/confirm.cjs +11 -5
  30. package/dist/lib/cjs/obsidian/modals/confirm.d.cts +2 -10
  31. package/dist/lib/cjs/obsidian/modals/modal.cjs +16 -14
  32. package/dist/lib/cjs/obsidian/modals/modal.d.cts +22 -11
  33. package/dist/lib/cjs/obsidian/modals/prompt.cjs +11 -5
  34. package/dist/lib/cjs/obsidian/modals/prompt.d.cts +2 -6
  35. package/dist/lib/cjs/obsidian/modals/select-item.cjs +23 -16
  36. package/dist/lib/cjs/obsidian/modals/select-item.d.cts +3 -11
  37. package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.cjs +5 -6
  38. package/dist/lib/cjs/obsidian/obsidian-protocol-handler-registrar.d.cts +23 -10
  39. package/dist/lib/cjs/obsidian/plugin-cli-handler-registrar.cjs +156 -0
  40. package/dist/lib/cjs/obsidian/plugin-cli-handler-registrar.d.cts +64 -0
  41. package/dist/lib/cjs/obsidian/ribbon-icon-registrar.cjs +156 -0
  42. package/dist/lib/cjs/obsidian/ribbon-icon-registrar.d.cts +60 -0
  43. package/dist/lib/cjs/obsidian/setting-components/date-component.cjs +6 -2
  44. package/dist/lib/cjs/obsidian/setting-components/date-time-component.cjs +6 -2
  45. package/dist/lib/cjs/obsidian/setting-components/email-component.cjs +6 -2
  46. package/dist/lib/cjs/obsidian/setting-components/file-component.cjs +6 -2
  47. package/dist/lib/cjs/obsidian/setting-components/month-component.cjs +6 -2
  48. package/dist/lib/cjs/obsidian/setting-components/multiple-email-component.cjs +6 -2
  49. package/dist/lib/cjs/obsidian/setting-components/multiple-file-component.cjs +6 -2
  50. package/dist/lib/cjs/obsidian/setting-components/number-component.cjs +6 -2
  51. package/dist/lib/cjs/obsidian/setting-components/password-component.cjs +8 -4
  52. package/dist/lib/cjs/obsidian/setting-components/password-component.d.cts +2 -2
  53. package/dist/lib/cjs/obsidian/setting-components/telephone-component.cjs +8 -4
  54. package/dist/lib/cjs/obsidian/setting-components/telephone-component.d.cts +2 -2
  55. package/dist/lib/cjs/obsidian/setting-components/time-component.cjs +6 -2
  56. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.cjs +6 -8
  57. package/dist/lib/cjs/obsidian/setting-components/typed-text-component.d.cts +19 -4
  58. package/dist/lib/cjs/obsidian/setting-components/url-component.cjs +6 -2
  59. package/dist/lib/cjs/obsidian/setting-components/week-component.cjs +6 -2
  60. package/dist/lib/cjs/obsidian/status-bar-item-registrar.cjs +153 -0
  61. package/dist/lib/cjs/obsidian/status-bar-item-registrar.d.cts +32 -0
  62. package/dist/lib/cjs/obsidian/view-registrar.cjs +4 -5
  63. package/dist/lib/cjs/obsidian/view-registrar.d.cts +20 -7
  64. package/dist/lib/cjs/script-utils/linters/over-exposure.cjs +250 -72
  65. package/dist/lib/cjs/script-utils/linters/over-exposure.d.cts +71 -6
  66. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +10 -2
  67. package/dist/lib/esm/async.d.mts +8 -0
  68. package/dist/lib/esm/async.mjs +14 -1
  69. package/dist/lib/esm/html-element.d.mts +7 -0
  70. package/dist/lib/esm/html-element.mjs +14 -2
  71. package/dist/lib/esm/library.mjs +1 -1
  72. package/dist/lib/esm/obsidian/bases-view-registrar.d.mts +52 -0
  73. package/dist/lib/esm/obsidian/bases-view-registrar.mjs +47 -0
  74. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +3 -3
  75. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +1 -1
  76. package/dist/lib/esm/obsidian/components/rename-delete-handler-component.mjs +64 -53
  77. package/dist/lib/esm/obsidian/editor-extension-registrar.d.mts +37 -0
  78. package/dist/lib/esm/obsidian/editor-extension-registrar.mjs +47 -0
  79. package/dist/lib/esm/obsidian/editor-suggest-registrar.d.mts +36 -0
  80. package/dist/lib/esm/obsidian/editor-suggest-registrar.mjs +50 -0
  81. package/dist/lib/esm/obsidian/extensions-registrar.d.mts +51 -0
  82. package/dist/lib/esm/obsidian/extensions-registrar.mjs +47 -0
  83. package/dist/lib/esm/obsidian/hover-link-source-registrar.d.mts +52 -0
  84. package/dist/lib/esm/obsidian/hover-link-source-registrar.mjs +47 -0
  85. package/dist/lib/esm/obsidian/index.d.mts +9 -0
  86. package/dist/lib/esm/obsidian/index.mjs +19 -1
  87. package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.d.mts +24 -8
  88. package/dist/lib/esm/obsidian/markdown-code-block-processor-registrar.mjs +4 -6
  89. package/dist/lib/esm/obsidian/markdown-post-processor-registrar.d.mts +57 -0
  90. package/dist/lib/esm/obsidian/markdown-post-processor-registrar.mjs +48 -0
  91. package/dist/lib/esm/obsidian/markdown.mjs +10 -9
  92. package/dist/lib/esm/obsidian/modals/alert.mjs +11 -6
  93. package/dist/lib/esm/obsidian/modals/confirm.d.mts +2 -10
  94. package/dist/lib/esm/obsidian/modals/confirm.mjs +11 -6
  95. package/dist/lib/esm/obsidian/modals/modal.d.mts +22 -11
  96. package/dist/lib/esm/obsidian/modals/modal.mjs +16 -13
  97. package/dist/lib/esm/obsidian/modals/prompt.d.mts +2 -6
  98. package/dist/lib/esm/obsidian/modals/prompt.mjs +11 -6
  99. package/dist/lib/esm/obsidian/modals/select-item.d.mts +3 -11
  100. package/dist/lib/esm/obsidian/modals/select-item.mjs +23 -16
  101. package/dist/lib/esm/obsidian/obsidian-protocol-handler-registrar.d.mts +23 -10
  102. package/dist/lib/esm/obsidian/obsidian-protocol-handler-registrar.mjs +5 -6
  103. package/dist/lib/esm/obsidian/plugin-cli-handler-registrar.d.mts +64 -0
  104. package/dist/lib/esm/obsidian/plugin-cli-handler-registrar.mjs +48 -0
  105. package/dist/lib/esm/obsidian/ribbon-icon-registrar.d.mts +60 -0
  106. package/dist/lib/esm/obsidian/ribbon-icon-registrar.mjs +48 -0
  107. package/dist/lib/esm/obsidian/setting-components/date-component.mjs +6 -2
  108. package/dist/lib/esm/obsidian/setting-components/date-time-component.mjs +6 -2
  109. package/dist/lib/esm/obsidian/setting-components/email-component.mjs +6 -2
  110. package/dist/lib/esm/obsidian/setting-components/file-component.mjs +6 -2
  111. package/dist/lib/esm/obsidian/setting-components/month-component.mjs +6 -2
  112. package/dist/lib/esm/obsidian/setting-components/multiple-email-component.mjs +6 -2
  113. package/dist/lib/esm/obsidian/setting-components/multiple-file-component.mjs +6 -2
  114. package/dist/lib/esm/obsidian/setting-components/number-component.mjs +6 -2
  115. package/dist/lib/esm/obsidian/setting-components/password-component.d.mts +2 -2
  116. package/dist/lib/esm/obsidian/setting-components/password-component.mjs +8 -4
  117. package/dist/lib/esm/obsidian/setting-components/telephone-component.d.mts +2 -2
  118. package/dist/lib/esm/obsidian/setting-components/telephone-component.mjs +8 -4
  119. package/dist/lib/esm/obsidian/setting-components/time-component.mjs +6 -2
  120. package/dist/lib/esm/obsidian/setting-components/typed-text-component.d.mts +19 -4
  121. package/dist/lib/esm/obsidian/setting-components/typed-text-component.mjs +6 -8
  122. package/dist/lib/esm/obsidian/setting-components/url-component.mjs +6 -2
  123. package/dist/lib/esm/obsidian/setting-components/week-component.mjs +6 -2
  124. package/dist/lib/esm/obsidian/status-bar-item-registrar.d.mts +32 -0
  125. package/dist/lib/esm/obsidian/status-bar-item-registrar.mjs +45 -0
  126. package/dist/lib/esm/obsidian/view-registrar.d.mts +20 -7
  127. package/dist/lib/esm/obsidian/view-registrar.mjs +4 -5
  128. package/dist/lib/esm/script-utils/linters/over-exposure.d.mts +71 -6
  129. package/dist/lib/esm/script-utils/linters/over-exposure.mjs +251 -72
  130. package/dist/lib/esm/script-utils/nano-staged-config.mjs +10 -2
  131. package/dist/scripts/linters/over-exposure/find-overexposed-fix.ts +12 -0
  132. package/dist/scripts/linters/over-exposure/find-overexposed.ts +1 -1
  133. package/obsidian/bases-view-registrar/package.json +6 -0
  134. package/obsidian/editor-extension-registrar/package.json +6 -0
  135. package/obsidian/editor-suggest-registrar/package.json +6 -0
  136. package/obsidian/extensions-registrar/package.json +6 -0
  137. package/obsidian/hover-link-source-registrar/package.json +6 -0
  138. package/obsidian/markdown-post-processor-registrar/package.json +6 -0
  139. package/obsidian/plugin-cli-handler-registrar/package.json +6 -0
  140. package/obsidian/ribbon-icon-registrar/package.json +6 -0
  141. package/obsidian/status-bar-item-registrar/package.json +6 -0
  142. package/package.json +1 -1
@@ -142,8 +142,9 @@ class PromptModal extends import_modal.ModalBase {
142
142
  title;
143
143
  value;
144
144
  valueValidator;
145
- constructor(params, resolve) {
146
- super((0, import_modal.addCssClass)(params, import_css_class.CssClass.PromptModal), resolve);
145
+ constructor(params) {
146
+ super(params);
147
+ this.addCssClasses(import_css_class.CssClass.PromptModal);
147
148
  this.cancelButtonText = params.cancelButtonText ?? (0, import_i18n.t)(($) => $.obsidianDevUtils.buttons.cancel);
148
149
  this.okButtonText = params.okButtonText ?? (0, import_i18n.t)(($) => $.obsidianDevUtils.buttons.ok);
149
150
  this.placeholder = params.placeholder ?? "";
@@ -152,7 +153,7 @@ class PromptModal extends import_modal.ModalBase {
152
153
  this.value = params.defaultValue ?? "";
153
154
  }
154
155
  onClose() {
155
- this.resolve(this.isOkClicked ? this.value : null);
156
+ this.promiseResolve(this.isOkClicked ? this.value : null);
156
157
  }
157
158
  onOpen() {
158
159
  this.titleEl.setText(this.title);
@@ -202,10 +203,15 @@ class PromptModal extends import_modal.ModalBase {
202
203
  }
203
204
  }
204
205
  async function prompt(params) {
205
- return await (0, import_modal.showModal)((resolve) => new PromptModal(params, resolve));
206
+ return await (0, import_modal.showModal)(
207
+ (promiseResolve) => new PromptModal({
208
+ ...params,
209
+ promiseResolve
210
+ })
211
+ );
206
212
  }
207
213
  // Annotate the CommonJS export names for ESM import in node:
208
214
  0 && (module.exports = {
209
215
  prompt
210
216
  });
211
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgQXBwIH0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHtcbiAgQnV0dG9uQ29tcG9uZW50LFxuICBUZXh0Q29tcG9uZW50XG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHR5cGUgeyBQcm9taXNlUmVzb2x2ZSB9IGZyb20gJy4uLy4uL2FzeW5jLnRzJztcbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQge1xuICBhZGRDc3NDbGFzcyxcbiAgTW9kYWxCYXNlLFxuICBzaG93TW9kYWxcbn0gZnJvbSAnLi9tb2RhbC50cyc7XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIHByb21wdH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUHJvbXB0UGFyYW1zIHtcbiAgLyoqXG4gICAqIEFuIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIkNhbmNlbFwiIGJ1dHRvbi5cbiAgICovXG4gIHJlYWRvbmx5IGNhbmNlbEJ1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgZGVmYXVsdCB2YWx1ZSB0byBwcmUtZmlsbCB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICByZWFkb25seSBkZWZhdWx0VmFsdWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGV4dCBmb3IgdGhlIFwiT0tcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBva0J1dHRvblRleHQ/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgdGl0bGUgb2YgdGhlIG1vZGFsLlxuICAgKi9cbiAgcmVhZG9ubHkgdGl0bGU/OiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGZ1bmN0aW9uIHRvIHZhbGlkYXRlIHRoZSBpbnB1dCB2YWx1ZS5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIGlucHV0IHZhbHVlIHRvIHZhbGlkYXRlLlxuICAgKiBAcmV0dXJucyBhbiBlcnJvciBtZXNzYWdlIGlmIHRoZSB2YWx1ZSBpcyBpbnZhbGlkLCBvciBgbnVsbGAgaWYgdGhlIHZhbHVlIGlzIHZhbGlkLlxuICAgKi9cbiAgdmFsdWVWYWxpZGF0b3I/KHRoaXM6IHZvaWQsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xufVxuXG5jbGFzcyBQcm9tcHRNb2RhbCBleHRlbmRzIE1vZGFsQmFzZTxudWxsIHwgc3RyaW5nPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgY2FuY2VsQnV0dG9uVGV4dDogc3RyaW5nO1xuICBwcml2YXRlIGlzT2tDbGlja2VkID0gZmFsc2U7XG4gIHByaXZhdGUgcmVhZG9ubHkgb2tCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgcGxhY2Vob2xkZXI6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSB0aXRsZTogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcbiAgcHJpdmF0ZSB2YWx1ZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHZhbHVlVmFsaWRhdG9yOiAodmFsdWU6IHN0cmluZykgPT4gUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+PjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBQcm9tcHRQYXJhbXMsIHJlc29sdmU6IFByb21pc2VSZXNvbHZlPG51bGwgfCBzdHJpbmc+KSB7XG4gICAgc3VwZXIoYWRkQ3NzQ2xhc3MocGFyYW1zLCBDc3NDbGFzcy5Qcm9tcHRNb2RhbCksIHJlc29sdmUpO1xuICAgIHRoaXMuY2FuY2VsQnV0dG9uVGV4dCA9IHBhcmFtcy5jYW5jZWxCdXR0b25UZXh0ID8/IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLmNhbmNlbCk7XG4gICAgdGhpcy5va0J1dHRvblRleHQgPSBwYXJhbXMub2tCdXR0b25UZXh0ID8/IHQoKCQpID0+ICQub2JzaWRpYW5EZXZVdGlscy5idXR0b25zLm9rKTtcbiAgICB0aGlzLnBsYWNlaG9sZGVyID0gcGFyYW1zLnBsYWNlaG9sZGVyID8/ICcnO1xuICAgIHRoaXMudGl0bGUgPSBwYXJhbXMudGl0bGUgPz8gJyc7XG4gICAgdGhpcy52YWx1ZVZhbGlkYXRvciA9IHBhcmFtcy52YWx1ZVZhbGlkYXRvciA/PyBub29wO1xuICAgIHRoaXMudmFsdWUgPSBwYXJhbXMuZGVmYXVsdFZhbHVlID8/ICcnO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2xvc2UoKTogdm9pZCB7XG4gICAgdGhpcy5yZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY29uc3QgaW5wdXRFbCA9IHRleHRDb21wb25lbnQuaW5wdXRFbDtcblxuICAgIGNvbnN0IHZhbGlkYXRlID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgdGhpcy52YWx1ZVZhbGlkYXRvcihpbnB1dEVsLnZhbHVlKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBpbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyAnJyk7XG4gICAgICBpbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgfTtcblxuICAgIHRleHRDb21wb25lbnQuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnNlbGVjdCgpO1xuICAgIHRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlcik7XG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5UZXh0Qm94KTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyh2YWxpZGF0ZSkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmModmFsaWRhdGUpKTtcbiAgICBpbnZva2VBc3luY1NhZmVseSh2YWxpZGF0ZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlT2soZXZlbnQ6IEV2ZW50LCB0ZXh0Q29tcG9uZW50OiBUZXh0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXRleHRDb21wb25lbnQuaW5wdXRFbC5jaGVja1ZhbGlkaXR5KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2tDbGlja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIHByb21wdCBtb2RhbCBpbiBPYnNpZGlhbiB0byBnZXQgdXNlciBpbnB1dC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9tcHQgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVzZXIgaW5wdXQgb3IgYG51bGxgIGlmIHRoZSBwcm9tcHQgd2FzIGNhbmNlbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21wdChwYXJhbXM6IFByb21wdFBhcmFtcyk6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICByZXR1cm4gYXdhaXQgc2hvd01vZGFsPG51bGwgfCBzdHJpbmc+KChyZXNvbHZlKSA9PiBuZXcgUHJvbXB0TW9kYWwocGFyYW1zLCByZXNvbHZlKSk7XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFHTztBQUtQLG1CQUdPO0FBQ1AsdUJBQXlCO0FBQ3pCLHNCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsbUJBSU87QUE2Q1AsTUFBTSxvQkFBb0IsdUJBQXlCO0FBQUEsRUFDaEM7QUFBQSxFQUNULGNBQWM7QUFBQSxFQUNMO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNUO0FBQUEsRUFDUztBQUFBLEVBRVYsWUFBWSxRQUFzQixTQUF3QztBQUMvRSxjQUFN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
217
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9wcm9tcHQudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBVdGlsaXR5IGZvciBkaXNwbGF5aW5nIGEgcHJvbXB0IG1vZGFsIGluIE9ic2lkaWFuLlxuICpcbiAqIFRoaXMgbW9kdWxlIGV4cG9ydHMgYSBmdW5jdGlvbiB0byBkaXNwbGF5IGEgbW9kYWwgdGhhdCBwcm9tcHRzIHRoZSB1c2VyIGZvciBpbnB1dC4gVGhlIG1vZGFsIGluY2x1ZGVzIFwiT0tcIiBhbmQgXCJDYW5jZWxcIiBidXR0b25zLlxuICovXG5cbmltcG9ydCB0eXBlIHsgUHJvbWlzYWJsZSB9IGZyb20gJ3R5cGUtZmVzdCc7XG5cbmltcG9ydCB7XG4gIEJ1dHRvbkNvbXBvbmVudCxcbiAgVGV4dENvbXBvbmVudFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB0eXBlIHsgTWF5YmVSZXR1cm4gfSBmcm9tICcuLi8uLi90eXBlLnRzJztcbmltcG9ydCB0eXBlIHtcbiAgTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXMsXG4gIE1vZGFsUGFyYW1zQmFzZVxufSBmcm9tICcuL21vZGFsLnRzJztcblxuaW1wb3J0IHtcbiAgY29udmVydEFzeW5jVG9TeW5jLFxuICBpbnZva2VBc3luY1NhZmVseVxufSBmcm9tICcuLi8uLi9hc3luYy50cyc7XG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBub29wIH0gZnJvbSAnLi4vLi4vZnVuY3Rpb24udHMnO1xuaW1wb3J0IHsgdCB9IGZyb20gJy4uL2kxOG4vaTE4bi50cyc7XG5pbXBvcnQge1xuICBNb2RhbEJhc2UsXG4gIHNob3dNb2RhbFxufSBmcm9tICcuL21vZGFsLnRzJztcblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgcHJvbXB0fS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQcm9tcHRQYXJhbXMgZXh0ZW5kcyBNb2RhbFBhcmFtc0Jhc2Uge1xuICAvKipcbiAgICogQSB0ZXh0IGZvciB0aGUgXCJDYW5jZWxcIiBidXR0b24uXG4gICAqL1xuICByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGRlZmF1bHQgdmFsdWUgdG8gcHJlLWZpbGwgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRleHQgZm9yIHRoZSBcIk9LXCIgYnV0dG9uLlxuICAgKi9cbiAgcmVhZG9ubHkgb2tCdXR0b25UZXh0Pzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHBsYWNlaG9sZGVyIHRleHQgZm9yIHRoZSBpbnB1dCBmaWVsZC5cbiAgICovXG4gIHJlYWRvbmx5IHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHRpdGxlIG9mIHRoZSBtb2RhbC5cbiAgICovXG4gIHJlYWRvbmx5IHRpdGxlPzogRG9jdW1lbnRGcmFnbWVudCB8IHN0cmluZztcblxuICAvKipcbiAgICogQSBmdW5jdGlvbiB0byB2YWxpZGF0ZSB0aGUgaW5wdXQgdmFsdWUuXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBpbnB1dCB2YWx1ZSB0byB2YWxpZGF0ZS5cbiAgICogQHJldHVybnMgYW4gZXJyb3IgbWVzc2FnZSBpZiB0aGUgdmFsdWUgaXMgaW52YWxpZCwgb3IgYG51bGxgIGlmIHRoZSB2YWx1ZSBpcyB2YWxpZC5cbiAgICovXG4gIHZhbHVlVmFsaWRhdG9yPyh0aGlzOiB2b2lkLCB2YWx1ZTogc3RyaW5nKTogUHJvbWlzYWJsZTxNYXliZVJldHVybjxzdHJpbmc+Pjtcbn1cblxudHlwZSBQcm9tcHRNb2RhbENvbnN0cnVjdG9yUGFyYW1zID0gTW9kYWxCYXNlQ29uc3RydWN0b3JQYXJhbXM8bnVsbCB8IHN0cmluZz4gJiBQcm9tcHRQYXJhbXM7XG5cbmNsYXNzIFByb21wdE1vZGFsIGV4dGVuZHMgTW9kYWxCYXNlPG51bGwgfCBzdHJpbmc+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBjYW5jZWxCdXR0b25UZXh0OiBzdHJpbmc7XG4gIHByaXZhdGUgaXNPa0NsaWNrZWQgPSBmYWxzZTtcbiAgcHJpdmF0ZSByZWFkb25seSBva0J1dHRvblRleHQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwbGFjZWhvbGRlcjogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHRpdGxlOiBEb2N1bWVudEZyYWdtZW50IHwgc3RyaW5nO1xuICBwcml2YXRlIHZhbHVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgdmFsdWVWYWxpZGF0b3I6ICh2YWx1ZTogc3RyaW5nKSA9PiBQcm9taXNhYmxlPE1heWJlUmV0dXJuPHN0cmluZz4+O1xuXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwYXJhbXM6IFByb21wdE1vZGFsQ29uc3RydWN0b3JQYXJhbXMpIHtcbiAgICBzdXBlcihwYXJhbXMpO1xuICAgIHRoaXMuYWRkQ3NzQ2xhc3NlcyhDc3NDbGFzcy5Qcm9tcHRNb2RhbCk7XG4gICAgdGhpcy5jYW5jZWxCdXR0b25UZXh0ID0gcGFyYW1zLmNhbmNlbEJ1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMuY2FuY2VsKTtcbiAgICB0aGlzLm9rQnV0dG9uVGV4dCA9IHBhcmFtcy5va0J1dHRvblRleHQgPz8gdCgoJCkgPT4gJC5vYnNpZGlhbkRldlV0aWxzLmJ1dHRvbnMub2spO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwYXJhbXMucGxhY2Vob2xkZXIgPz8gJyc7XG4gICAgdGhpcy50aXRsZSA9IHBhcmFtcy50aXRsZSA/PyAnJztcbiAgICB0aGlzLnZhbHVlVmFsaWRhdG9yID0gcGFyYW1zLnZhbHVlVmFsaWRhdG9yID8/IG5vb3A7XG4gICAgdGhpcy52YWx1ZSA9IHBhcmFtcy5kZWZhdWx0VmFsdWUgPz8gJyc7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICB0aGlzLnByb21pc2VSZXNvbHZlKHRoaXMuaXNPa0NsaWNrZWQgPyB0aGlzLnZhbHVlIDogbnVsbCk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25PcGVuKCk6IHZvaWQge1xuICAgIHRoaXMudGl0bGVFbC5zZXRUZXh0KHRoaXMudGl0bGUpO1xuICAgIGNvbnN0IHRleHRDb21wb25lbnQgPSBuZXcgVGV4dENvbXBvbmVudCh0aGlzLmNvbnRlbnRFbCk7XG4gICAgY29uc3QgaW5wdXRFbCA9IHRleHRDb21wb25lbnQuaW5wdXRFbDtcblxuICAgIGNvbnN0IHZhbGlkYXRlID0gYXN5bmMgKCk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYXdhaXQgdGhpcy52YWx1ZVZhbGlkYXRvcihpbnB1dEVsLnZhbHVlKSBhcyBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgICBpbnB1dEVsLnNldEN1c3RvbVZhbGlkaXR5KGVycm9yTWVzc2FnZSA/PyAnJyk7XG4gICAgICBpbnB1dEVsLnJlcG9ydFZhbGlkaXR5KCk7XG4gICAgfTtcblxuICAgIHRleHRDb21wb25lbnQuc2V0VmFsdWUodGhpcy52YWx1ZSk7XG4gICAgdGV4dENvbXBvbmVudC5pbnB1dEVsLnNlbGVjdCgpO1xuICAgIHRleHRDb21wb25lbnQuc2V0UGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlcik7XG4gICAgaW5wdXRFbC5hZGRDbGFzcyhDc3NDbGFzcy5UZXh0Qm94KTtcbiAgICB0ZXh0Q29tcG9uZW50Lm9uQ2hhbmdlKChuZXdWYWx1ZSkgPT4ge1xuICAgICAgdGhpcy52YWx1ZSA9IG5ld1ZhbHVlO1xuICAgIH0pO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIChldmVudDogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgICAgaWYgKGV2ZW50LmtleSA9PT0gJ0VudGVyJykge1xuICAgICAgICB0aGlzLmhhbmRsZU9rKGV2ZW50LCB0ZXh0Q29tcG9uZW50KTtcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQua2V5ID09PSAnRXNjYXBlJykge1xuICAgICAgICB0aGlzLmNsb3NlKCk7XG4gICAgICB9XG4gICAgfSk7XG4gICAgaW5wdXRFbC5hZGRFdmVudExpc3RlbmVyKCdpbnB1dCcsIGNvbnZlcnRBc3luY1RvU3luYyh2YWxpZGF0ZSkpO1xuICAgIGlucHV0RWwuYWRkRXZlbnRMaXN0ZW5lcignZm9jdXMnLCBjb252ZXJ0QXN5bmNUb1N5bmModmFsaWRhdGUpKTtcbiAgICBpbnZva2VBc3luY1NhZmVseSh2YWxpZGF0ZSk7XG4gICAgY29uc3Qgb2tCdXR0b24gPSBuZXcgQnV0dG9uQ29tcG9uZW50KHRoaXMuY29udGVudEVsKTtcbiAgICBva0J1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMub2tCdXR0b25UZXh0KTtcbiAgICBva0J1dHRvbi5zZXRDdGEoKTtcbiAgICBva0J1dHRvbi5vbkNsaWNrKChldmVudCkgPT4ge1xuICAgICAgdGhpcy5oYW5kbGVPayhldmVudCwgdGV4dENvbXBvbmVudCk7XG4gICAgfSk7XG4gICAgb2tCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuT2tCdXR0b24pO1xuICAgIGNvbnN0IGNhbmNlbEJ1dHRvbiA9IG5ldyBCdXR0b25Db21wb25lbnQodGhpcy5jb250ZW50RWwpO1xuICAgIGNhbmNlbEJ1dHRvbi5zZXRCdXR0b25UZXh0KHRoaXMuY2FuY2VsQnV0dG9uVGV4dCk7XG4gICAgY2FuY2VsQnV0dG9uLm9uQ2xpY2sodGhpcy5jbG9zZS5iaW5kKHRoaXMpKTtcbiAgICBjYW5jZWxCdXR0b24uc2V0Q2xhc3MoQ3NzQ2xhc3MuQ2FuY2VsQnV0dG9uKTtcbiAgfVxuXG4gIHByaXZhdGUgaGFuZGxlT2soZXZlbnQ6IEV2ZW50LCB0ZXh0Q29tcG9uZW50OiBUZXh0Q29tcG9uZW50KTogdm9pZCB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBpZiAoIXRleHRDb21wb25lbnQuaW5wdXRFbC5jaGVja1ZhbGlkaXR5KCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLmlzT2tDbGlja2VkID0gdHJ1ZTtcbiAgICB0aGlzLmNsb3NlKCk7XG4gIH1cbn1cblxuLyoqXG4gKiBEaXNwbGF5cyBhIHByb21wdCBtb2RhbCBpbiBPYnNpZGlhbiB0byBnZXQgdXNlciBpbnB1dC5cbiAqXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBwcm9tcHQgbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHVzZXIgaW5wdXQgb3IgYG51bGxgIGlmIHRoZSBwcm9tcHQgd2FzIGNhbmNlbGxlZC5cbiAqL1xuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHByb21wdChwYXJhbXM6IFByb21wdFBhcmFtcyk6IFByb21pc2U8bnVsbCB8IHN0cmluZz4ge1xuICByZXR1cm4gYXdhaXQgc2hvd01vZGFsPG51bGwgfCBzdHJpbmc+KChwcm9taXNlUmVzb2x2ZSkgPT5cbiAgICBuZXcgUHJvbXB0TW9kYWwoe1xuICAgICAgLi4ucGFyYW1zLFxuICAgICAgcHJvbWlzZVJlc29sdmVcbiAgICB9KVxuICApO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBVUEsc0JBR087QUFRUCxtQkFHTztBQUNQLHVCQUF5QjtBQUN6QixzQkFBcUI7QUFDckIsa0JBQWtCO0FBQ2xCLG1CQUdPO0FBMENQLE1BQU0sb0JBQW9CLHVCQUF5QjtBQUFBLEVBQ2hDO0FBQUEsRUFDVCxjQUFjO0FBQUEsRUFDTDtBQUFBLEVBQ0E7QUFB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
@@ -6,17 +6,13 @@
6
6
  *
7
7
  * This module exports a function to display a modal that prompts the user for input. The modal includes "OK" and "Cancel" buttons.
8
8
  */
9
- import type { App } from 'obsidian';
10
9
  import type { Promisable } from 'type-fest';
11
10
  import type { MaybeReturn } from '../../type.cjs';
11
+ import type { ModalParamsBase } from './modal.cjs';
12
12
  /**
13
13
  * Options for {@link prompt}.
14
14
  */
15
- export interface PromptParams {
16
- /**
17
- * An Obsidian app instance.
18
- */
19
- readonly app: App;
15
+ export interface PromptParams extends ModalParamsBase {
20
16
  /**
21
17
  * A text for the "Cancel" button.
22
18
  */
@@ -133,31 +133,33 @@ var import_css_class = require('../../css-class.cjs');
133
133
  var import_plugin_context = require('../plugin/plugin-context.cjs');
134
134
  var import_modal = require('./modal.cjs');
135
135
  class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
136
- constructor(params, resolve) {
136
+ isSelected = false;
137
+ items;
138
+ itemTextFunc;
139
+ placeholder;
140
+ promiseResolve;
141
+ constructor(params) {
137
142
  super(params.app);
138
- this.params = params;
139
- this.resolve = resolve;
140
- this.setPlaceholder(params.placeholder ?? "");
143
+ this.items = params.items;
144
+ this.itemTextFunc = params.itemTextFunc;
145
+ this.placeholder = params.placeholder;
146
+ this.promiseResolve = params.promiseResolve;
147
+ this.setPlaceholder(this.placeholder ?? "");
148
+ (0, import_plugin_context.addPluginCssClasses)(this.containerEl, params.cssClasses);
141
149
  (0, import_plugin_context.addPluginCssClasses)(this.containerEl, import_css_class.CssClass.SelectItemModal);
142
- if (params.cssClass) {
143
- this.containerEl.addClass(params.cssClass);
144
- }
145
150
  }
146
- params;
147
- resolve;
148
- isSelected = false;
149
151
  getItems() {
150
- return this.params.items;
152
+ return this.items;
151
153
  }
152
154
  getItemText(item) {
153
- return this.params.itemTextFunc(item);
155
+ return this.itemTextFunc(item);
154
156
  }
155
157
  onChooseItem(item) {
156
- this.resolve(item);
158
+ this.promiseResolve(item);
157
159
  }
158
160
  onClose() {
159
161
  if (!this.isSelected) {
160
- this.resolve(null);
162
+ this.promiseResolve(null);
161
163
  }
162
164
  }
163
165
  selectSuggestion(value, evt) {
@@ -166,10 +168,15 @@ class ItemSelectModal extends import_obsidian.FuzzySuggestModal {
166
168
  }
167
169
  }
168
170
  async function selectItem(params) {
169
- return await (0, import_modal.showModal)((resolve) => new ItemSelectModal(params, resolve));
171
+ return await (0, import_modal.showModal)(
172
+ (promiseResolve) => new ItemSelectModal({
173
+ ...params,
174
+ promiseResolve
175
+ })
176
+ );
170
177
  }
171
178
  // Annotate the CommonJS export names for ESM import in node:
172
179
  0 && (module.exports = {
173
180
  selectItem
174
181
  });
175
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9zZWxlY3QtaXRlbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIEFwcCxcbiAgRnV6enlNYXRjaFxufSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IEZ1enp5U3VnZ2VzdE1vZGFsIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbmltcG9ydCB7IHNob3dNb2RhbCB9IGZyb20gJy4vbW9kYWwudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBzZWxlY3RJdGVtfS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgc2VsZWN0YWJsZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJdGVtUGFyYW1zPFQ+IHtcbiAgLyoqXG4gICAqIEFuIE9ic2lkaWFuIGFwcCBpbnN0YW5jZS5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBBIENTUyBjbGFzcyB0byBhcHBseSB0byB0aGUgbW9kYWwuXG4gICAqL1xuICByZWFkb25seSBjc3NDbGFzcz86IHN0cmluZztcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGl0ZW1zIHRvIGNob29zZSBmcm9tLlxuICAgKi9cbiAgcmVhZG9ubHkgaXRlbXM6IFRbXTtcblxuICAvKipcbiAgICogR2V0IHRoZSBkaXNwbGF5IHRleHQgZm9yIGVhY2ggaXRlbVxuICAgKlxuICAgKiBAcGFyYW0gaXRlbSAtIFRoZSBpdGVtIHRvIGdldCB0aGUgZGlzcGxheSB0ZXh0IGZvci5cbiAgICogQHJldHVybnMgVGhlIGRpc3BsYXkgdGV4dCBmb3IgdGhlIGl0ZW0uXG4gICAqL1xuICBpdGVtVGV4dEZ1bmMoaXRlbTogVCk6IHN0cmluZztcblxuICAvKipcbiAgICogQSBwbGFjZWhvbGRlciB0ZXh0IGZvciB0aGUgaW5wdXQgZmllbGQuXG4gICAqL1xuICByZWFkb25seSBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuY2xhc3MgSXRlbVNlbGVjdE1vZGFsPFQ+IGV4dGVuZHMgRnV6enlTdWdnZXN0TW9kYWw8VD4ge1xuICBwcml2YXRlIGlzU2VsZWN0ZWQgPSBmYWxzZTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBwYXJhbXM6IFNlbGVjdEl0ZW1QYXJhbXM8VD4sIHByaXZhdGUgcmVhZG9ubHkgcmVzb2x2ZTogUHJvbWlzZVJlc29sdmU8bnVsbCB8IFQ+KSB7XG4gICAgc3VwZXIocGFyYW1zLmFwcCk7XG4gICAgdGhpcy5zZXRQbGFjZWhvbGRlcihwYXJhbXMucGxhY2Vob2xkZXIgPz8gJycpO1xuICAgIGFkZFBsdWdpbkNzc0NsYXNzZXModGhpcy5jb250YWluZXJFbCwgQ3NzQ2xhc3MuU2VsZWN0SXRlbU1vZGFsKTtcbiAgICBpZiAocGFyYW1zLmNzc0NsYXNzKSB7XG4gICAgICB0aGlzLmNvbnRhaW5lckVsLmFkZENsYXNzKHBhcmFtcy5jc3NDbGFzcyk7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldEl0ZW1zKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMucGFyYW1zLml0ZW1zO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldEl0ZW1UZXh0KGl0ZW06IFQpOiBzdHJpbmcge1xuICAgIHJldHVybiB0aGlzLnBhcmFtcy5pdGVtVGV4dEZ1bmMoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DaG9vc2VJdGVtKGl0ZW06IFQpOiB2b2lkIHtcbiAgICB0aGlzLnJlc29sdmUoaXRlbSk7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgb25DbG9zZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuaXNTZWxlY3RlZCkge1xuICAgICAgdGhpcy5yZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKFxuICAgIHZhbHVlOiBGdXp6eU1hdGNoPFQ+LFxuICAgIGV2dDogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnRcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCBldnQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4gZm9yIGNob29zaW5nIGFuIGl0ZW0gZnJvbSBhIGxpc3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNlbGVjdGFibGUgaXRlbXMuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHNlbGVjdGVkIGl0ZW0gb3IgYG51bGxgIGlmIG5vIGl0ZW0gd2FzIHNlbGVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VsZWN0SXRlbTxUPihwYXJhbXM6IFNlbGVjdEl0ZW1QYXJhbXM8VD4pOiBQcm9taXNlPG51bGwgfCBUPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IFQ+KChyZXNvbHZlKSA9PiBuZXcgSXRlbVNlbGVjdE1vZGFsKHBhcmFtcywgcmVzb2x2ZSkpO1xufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBYUEsc0JBQWtDO0FBSWxDLHVCQUF5QjtBQUN6Qiw0QkFBb0M7QUFDcEMsbUJBQTBCO0FBcUMxQixNQUFNLHdCQUEyQixrQ0FBcUI7QUFBQSxFQUc3QyxZQUE2QixRQUE4QyxTQUFtQztBQUNuSCxVQUFNLE9BQU8sR0FBRztBQURrQjtBQUE4QztBQUVoRixTQUFLLGVBQWUsT0FBTyxlQUFlLEVBQUU7QUFDNUMsbURBQW9CLEtBQUssYUFBYSwwQkFBUyxlQUFlO0FBQzlELFFBQUksT0FBTyxVQUFVO0FBQ25CLFdBQUssWUFBWSxTQUFTLE9BQU8sUUFBUTtBQUFBLElBQzNDO0FBQUEsRUFDRjtBQUFBLEVBUG9DO0FBQUEsRUFBOEM7QUFBQSxFQUYxRSxhQUFhO0FBQUEsRUFXTCxXQUFnQjtBQUM5QixXQUFPLEtBQUssT0FBTztBQUFBLEVBQ3JCO0FBQUEsRUFFZ0IsWUFBWSxNQUFpQjtBQUMzQyxXQUFPLEtBQUssT0FBTyxhQUFhLElBQUk7QUFBQSxFQUN0QztBQUFBLEVBRWdCLGFBQWEsTUFBZTtBQUMxQyxTQUFLLFFBQVEsSUFBSTtBQUFBLEVBQ25CO0FBQUEsRUFFZ0IsVUFBZ0I7QUFDOUIsUUFBSSxDQUFDLEtBQUssWUFBWTtBQUNwQixXQUFLLFFBQVEsSUFBSTtBQUFBLElBQ25CO0FBQUEsRUFDRjtBQUFBLEVBRWdCLGlCQUNkLE9BQ0EsS0FDTTtBQUNOLFNBQUssYUFBYTtBQUNsQixVQUFNLGlCQUFpQixPQUFPLEdBQUc7QUFBQSxFQUNuQztBQUNGO0FBU0EsZUFBc0IsV0FBYyxRQUFnRDtBQUNsRixTQUFPLFVBQU0sd0JBQW9CLENBQUMsWUFBWSxJQUFJLGdCQUFnQixRQUFRLE9BQU8sQ0FBQztBQUNwRjsiLAogICJuYW1lcyI6IFtdCn0K
182
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL21vZGFscy9zZWxlY3QtaXRlbS50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFV0aWxpdHkgZm9yIGRpc3BsYXlpbmcgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4uXG4gKlxuICogVGhpcyBtb2R1bGUgZXhwb3J0cyBhIGZ1bmN0aW9uIHRvIGRpc3BsYXkgYSBtb2RhbCB0aGF0IGFsbG93cyB0aGUgdXNlciB0byBzZWxlY3QgYW4gaXRlbSBmcm9tIGEgbGlzdC4gVGhlIG1vZGFsIHVzZXMgZnV6enkgc2VhcmNoIHRvIGhlbHAgdGhlIHVzZXIgZmluZCB0aGUgaXRlbS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEZ1enp5TWF0Y2ggfSBmcm9tICdvYnNpZGlhbic7XG5cbmltcG9ydCB7IEZ1enp5U3VnZ2VzdE1vZGFsIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgdHlwZSB7IFByb21pc2VSZXNvbHZlIH0gZnJvbSAnLi4vLi4vYXN5bmMudHMnO1xuaW1wb3J0IHR5cGUge1xuICBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtcyxcbiAgTW9kYWxQYXJhbXNCYXNlXG59IGZyb20gJy4vbW9kYWwudHMnO1xuXG5pbXBvcnQgeyBDc3NDbGFzcyB9IGZyb20gJy4uLy4uL2Nzcy1jbGFzcy50cyc7XG5pbXBvcnQgeyBhZGRQbHVnaW5Dc3NDbGFzc2VzIH0gZnJvbSAnLi4vcGx1Z2luL3BsdWdpbi1jb250ZXh0LnRzJztcbmltcG9ydCB7IHNob3dNb2RhbCB9IGZyb20gJy4vbW9kYWwudHMnO1xuXG4vKipcbiAqIE9wdGlvbnMgZm9yIHtAbGluayBzZWxlY3RJdGVtfS5cbiAqXG4gKiBAdHlwZVBhcmFtIFQgLSBUaGUgdHlwZSBvZiB0aGUgc2VsZWN0YWJsZSBpdGVtcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZWxlY3RJdGVtUGFyYW1zPFQ+IGV4dGVuZHMgTW9kYWxQYXJhbXNCYXNlIHtcbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBpdGVtcyB0byBjaG9vc2UgZnJvbS5cbiAgICovXG4gIHJlYWRvbmx5IGl0ZW1zOiBUW107XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZGlzcGxheSB0ZXh0IGZvciBlYWNoIGl0ZW1cbiAgICpcbiAgICogQHBhcmFtIGl0ZW0gLSBUaGUgaXRlbSB0byBnZXQgdGhlIGRpc3BsYXkgdGV4dCBmb3IuXG4gICAqIEByZXR1cm5zIFRoZSBkaXNwbGF5IHRleHQgZm9yIHRoZSBpdGVtLlxuICAgKi9cbiAgaXRlbVRleHRGdW5jKHRoaXM6IHZvaWQsIGl0ZW06IFQpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEEgcGxhY2Vob2xkZXIgdGV4dCBmb3IgdGhlIGlucHV0IGZpZWxkLlxuICAgKi9cbiAgcmVhZG9ubHkgcGxhY2Vob2xkZXI/OiBzdHJpbmc7XG59XG5cbnR5cGUgSXRlbVNlbGVjdE1vZGFsQ29uc3RydWN0b3JQYXJhbXM8VD4gPSBNb2RhbEJhc2VDb25zdHJ1Y3RvclBhcmFtczxudWxsIHwgVD4gJiBTZWxlY3RJdGVtUGFyYW1zPFQ+O1xuXG5jbGFzcyBJdGVtU2VsZWN0TW9kYWw8VD4gZXh0ZW5kcyBGdXp6eVN1Z2dlc3RNb2RhbDxUPiB7XG4gIHByaXZhdGUgaXNTZWxlY3RlZCA9IGZhbHNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGl0ZW1zOiBUW107XG4gIHByaXZhdGUgcmVhZG9ubHkgaXRlbVRleHRGdW5jOiAodGhpczogdm9pZCwgaXRlbTogVCkgPT4gc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBsYWNlaG9sZGVyOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gIHByaXZhdGUgcmVhZG9ubHkgcHJvbWlzZVJlc29sdmU6IFByb21pc2VSZXNvbHZlPG51bGwgfCBUPjtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBJdGVtU2VsZWN0TW9kYWxDb25zdHJ1Y3RvclBhcmFtczxUPikge1xuICAgIHN1cGVyKHBhcmFtcy5hcHApO1xuICAgIHRoaXMuaXRlbXMgPSBwYXJhbXMuaXRlbXM7XG4gICAgdGhpcy5pdGVtVGV4dEZ1bmMgPSBwYXJhbXMuaXRlbVRleHRGdW5jO1xuICAgIHRoaXMucGxhY2Vob2xkZXIgPSBwYXJhbXMucGxhY2Vob2xkZXI7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZSA9IHBhcmFtcy5wcm9taXNlUmVzb2x2ZTtcblxuICAgIHRoaXMuc2V0UGxhY2Vob2xkZXIodGhpcy5wbGFjZWhvbGRlciA/PyAnJyk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh0aGlzLmNvbnRhaW5lckVsLCBwYXJhbXMuY3NzQ2xhc3Nlcyk7XG4gICAgYWRkUGx1Z2luQ3NzQ2xhc3Nlcyh0aGlzLmNvbnRhaW5lckVsLCBDc3NDbGFzcy5TZWxlY3RJdGVtTW9kYWwpO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIGdldEl0ZW1zKCk6IFRbXSB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbXM7XG4gIH1cblxuICBwdWJsaWMgb3ZlcnJpZGUgZ2V0SXRlbVRleHQoaXRlbTogVCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuaXRlbVRleHRGdW5jKGl0ZW0pO1xuICB9XG5cbiAgcHVibGljIG92ZXJyaWRlIG9uQ2hvb3NlSXRlbShpdGVtOiBUKTogdm9pZCB7XG4gICAgdGhpcy5wcm9taXNlUmVzb2x2ZShpdGVtKTtcbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBvbkNsb3NlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5pc1NlbGVjdGVkKSB7XG4gICAgICB0aGlzLnByb21pc2VSZXNvbHZlKG51bGwpO1xuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBvdmVycmlkZSBzZWxlY3RTdWdnZXN0aW9uKHZhbHVlOiBGdXp6eU1hdGNoPFQ+LCBldnQ6IEtleWJvYXJkRXZlbnQgfCBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgdGhpcy5pc1NlbGVjdGVkID0gdHJ1ZTtcbiAgICBzdXBlci5zZWxlY3RTdWdnZXN0aW9uKHZhbHVlLCBldnQpO1xuICB9XG59XG5cbi8qKlxuICogRGlzcGxheXMgYSBzZWxlY3Rpb24gbW9kYWwgaW4gT2JzaWRpYW4gZm9yIGNob29zaW5nIGFuIGl0ZW0gZnJvbSBhIGxpc3QuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgdGhlIHNlbGVjdGFibGUgaXRlbXMuXG4gKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBzZWxlY3Rpb24gbW9kYWwuXG4gKiBAcmV0dXJucyBBIHtAbGluayBQcm9taXNlfSB0aGF0IHJlc29sdmVzIHdpdGggdGhlIHNlbGVjdGVkIGl0ZW0gb3IgYG51bGxgIGlmIG5vIGl0ZW0gd2FzIHNlbGVjdGVkLlxuICovXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2VsZWN0SXRlbTxUPihwYXJhbXM6IFNlbGVjdEl0ZW1QYXJhbXM8VD4pOiBQcm9taXNlPG51bGwgfCBUPiB7XG4gIHJldHVybiBhd2FpdCBzaG93TW9kYWw8bnVsbCB8IFQ+KChwcm9taXNlUmVzb2x2ZSkgPT5cbiAgICBuZXcgSXRlbVNlbGVjdE1vZGFsKHtcbiAgICAgIC4uLnBhcmFtcyxcbiAgICAgIHByb21pc2VSZXNvbHZlXG4gICAgfSlcbiAgKTtcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQVVBLHNCQUFrQztBQVFsQyx1QkFBeUI7QUFDekIsNEJBQW9DO0FBQ3BDLG1CQUEwQjtBQTZCMUIsTUFBTSx3QkFBMkIsa0NBQXFCO0FBQUEsRUFDNUMsYUFBYTtBQUFBLEVBQ0o7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUVWLFlBQVksUUFBNkM7QUFDOUQsVUFBTSxPQUFPLEdBQUc7QUFDaEIsU0FBSyxRQUFRLE9BQU87QUFDcEIsU0FBSyxlQUFlLE9BQU87QUFDM0IsU0FBSyxjQUFjLE9BQU87QUFDMUIsU0FBSyxpQkFBaUIsT0FBTztBQUU3QixTQUFLLGVBQWUsS0FBSyxlQUFlLEVBQUU7QUFDMUMsbURBQW9CLEtBQUssYUFBYSxPQUFPLFVBQVU7QUFDdkQsbURBQW9CLEtBQUssYUFBYSwwQkFBUyxlQUFlO0FBQUEsRUFDaEU7QUFBQSxFQUVnQixXQUFnQjtBQUM5QixXQUFPLEtBQUs7QUFBQSxFQUNkO0FBQUEsRUFFZ0IsWUFBWSxNQUFpQjtBQUMzQyxXQUFPLEtBQUssYUFBYSxJQUFJO0FBQUEsRUFDL0I7QUFBQSxFQUVnQixhQUFhLE1BQWU7QUFDMUMsU0FBSyxlQUFlLElBQUk7QUFBQSxFQUMxQjtBQUFBLEVBRWdCLFVBQWdCO0FBQzlCLFFBQUksQ0FBQyxLQUFLLFlBQVk7QUFDcEIsV0FBSyxlQUFlLElBQUk7QUFBQSxJQUMxQjtBQUFBLEVBQ0Y7QUFBQSxFQUVnQixpQkFBaUIsT0FBc0IsS0FBdUM7QUFDNUYsU0FBSyxhQUFhO0FBQ2xCLFVBQU0saUJBQWlCLE9BQU8sR0FBRztBQUFBLEVBQ25DO0FBQ0Y7QUFTQSxlQUFzQixXQUFjLFFBQWdEO0FBQ2xGLFNBQU8sVUFBTTtBQUFBLElBQW9CLENBQUMsbUJBQ2hDLElBQUksZ0JBQWdCO0FBQUEsTUFDbEIsR0FBRztBQUFBLE1BQ0g7QUFBQSxJQUNGLENBQUM7QUFBQSxFQUNIO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -6,21 +6,13 @@
6
6
  *
7
7
  * This module exports a function to display a modal that allows the user to select an item from a list. The modal uses fuzzy search to help the user find the item.
8
8
  */
9
- import type { App } from 'obsidian';
9
+ import type { ModalParamsBase } from './modal.cjs';
10
10
  /**
11
11
  * Options for {@link selectItem}.
12
12
  *
13
13
  * @typeParam T - The type of the selectable items.
14
14
  */
15
- export interface SelectItemParams<T> {
16
- /**
17
- * An Obsidian app instance.
18
- */
19
- readonly app: App;
20
- /**
21
- * A CSS class to apply to the modal.
22
- */
23
- readonly cssClass?: string;
15
+ export interface SelectItemParams<T> extends ModalParamsBase {
24
16
  /**
25
17
  * A list of items to choose from.
26
18
  */
@@ -31,7 +23,7 @@ export interface SelectItemParams<T> {
31
23
  * @param item - The item to get the display text for.
32
24
  * @returns The display text for the item.
33
25
  */
34
- itemTextFunc(item: T): string;
26
+ itemTextFunc(this: void, item: T): string;
35
27
  /**
36
28
  * A placeholder text for the input field.
37
29
  */
@@ -131,7 +131,7 @@ module.exports = __toCommonJS(obsidian_protocol_handler_registrar_exports);
131
131
  class PluginObsidianProtocolHandlerRegistrar {
132
132
  plugin;
133
133
  /**
134
- * Creates a new Obsidian protocol handler registrar.
134
+ * Creates a new instance of the {@link PluginObsidianProtocolHandlerRegistrar} class.
135
135
  *
136
136
  * @param plugin - The plugin to register the protocol handler with.
137
137
  */
@@ -141,15 +141,14 @@ class PluginObsidianProtocolHandlerRegistrar {
141
141
  /**
142
142
  * Registers an Obsidian protocol handler.
143
143
  *
144
- * @param action - The action to register the handler for.
145
- * @param handler - The handler to register.
144
+ * @param params - The parameters for the Obsidian protocol handler registration.
146
145
  */
147
- registerObsidianProtocolHandler(action, handler) {
148
- this.plugin.registerObsidianProtocolHandler(action, handler);
146
+ registerObsidianProtocolHandler(params) {
147
+ this.plugin.registerObsidianProtocolHandler(params.action, params.handler);
149
148
  }
150
149
  }
151
150
  // Annotate the CommonJS export names for ESM import in node:
152
151
  0 && (module.exports = {
153
152
  PluginObsidianProtocolHandlerRegistrar
154
153
  });
155
- //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL29ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogUmVnaXN0ZXJzIGFuIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBPYnNpZGlhblByb3RvY29sSGFuZGxlcixcbiAgUGx1Z2luXG59IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBBIHJlZ2lzdHJhciBmb3IgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXIge1xuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb24gLSBUaGUgYWN0aW9uIHRvIHJlZ2lzdGVyIHRoZSBoYW5kbGVyIGZvci5cbiAgICogQHBhcmFtIGhhbmRsZXIgLSBUaGUgaGFuZGxlciB0byByZWdpc3Rlci5cbiAgICovXG4gIHJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIoYWN0aW9uOiBzdHJpbmcsIGhhbmRsZXI6IE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyKTogdm9pZDtcbn1cblxuLyoqXG4gKiBBIHJlZ2lzdHJhciBmb3IgT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBjbGFzcyBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhciBpbXBsZW1lbnRzIE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBwbHVnaW46IFBsdWdpbjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyIHJlZ2lzdHJhci5cbiAgICpcbiAgICogQHBhcmFtIHBsdWdpbiAtIFRoZSBwbHVnaW4gdG8gcmVnaXN0ZXIgdGhlIHByb3RvY29sIGhhbmRsZXIgd2l0aC5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3RvcihwbHVnaW46IFBsdWdpbikge1xuICAgIHRoaXMucGx1Z2luID0gcGx1Z2luO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhbiBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9uIC0gVGhlIGFjdGlvbiB0byByZWdpc3RlciB0aGUgaGFuZGxlciBmb3IuXG4gICAqIEBwYXJhbSBoYW5kbGVyIC0gVGhlIGhhbmRsZXIgdG8gcmVnaXN0ZXIuXG4gICAqL1xuICBwdWJsaWMgcmVnaXN0ZXJPYnNpZGlhblByb3RvY29sSGFuZGxlcihhY3Rpb246IHN0cmluZywgaGFuZGxlcjogT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyKGFjdGlvbiwgaGFuZGxlcik7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTJCTyxNQUFNLHVDQUFtRjtBQUFBLEVBQzdFO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT1YsWUFBWSxRQUFnQjtBQUNqQyxTQUFLLFNBQVM7QUFBQSxFQUNoQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUU8sZ0NBQWdDLFFBQWdCLFNBQXdDO0FBQzdGLFNBQUssT0FBTyxnQ0FBZ0MsUUFBUSxPQUFPO0FBQUEsRUFDN0Q7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
154
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL29ic2lkaWFuLXByb3RvY29sLWhhbmRsZXItcmVnaXN0cmFyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogT2JzaWRpYW4gcHJvdG9jb2wgaGFuZGxlciByZWdpc3RyYXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgT2JzaWRpYW5Qcm90b2NvbERhdGEsXG4gIFBsdWdpblxufSBmcm9tICdvYnNpZGlhbic7XG5cbi8qKlxuICogQSByZWdpc3RyYXIgZm9yIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXJzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIHtcbiAgLyoqXG4gICAqIFJlZ2lzdGVycyBhbiBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBPYnNpZGlhbiBwcm90b2NvbCBoYW5kbGVyIHJlZ2lzdHJhdGlvbi5cbiAgICovXG4gIHJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIocGFyYW1zOiBPYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhclJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJQYXJhbXMpOiB2b2lkO1xufVxuXG5pbnRlcmZhY2UgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBhY3Rpb24gdG8gcmVnaXN0ZXIgdGhlIGhhbmRsZXIgZm9yLlxuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gb2JzaWRpYW5Qcm90b2NvbERhdGEgLSBUaGUgZGF0YSBwYXNzZWQgdG8gdGhlIGhhbmRsZXIuXG4gICAqIEByZXR1cm5zIFRoZSByZXN1bHQgb2YgdGhlIGhhbmRsZXIuXG4gICAqL1xuICBoYW5kbGVyKHRoaXM6IHZvaWQsIG9ic2lkaWFuUHJvdG9jb2xEYXRhOiBPYnNpZGlhblByb3RvY29sRGF0YSk6IHVua25vd247XG59XG5cbnR5cGUgUGx1Z2luT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zID0gT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJSZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUGFyYW1zO1xuXG4vKipcbiAqIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIgcmVnaXN0cmFyIGluIGFuIE9ic2lkaWFuIHBsdWdpbi5cbiAqL1xuZXhwb3J0IGNsYXNzIFBsdWdpbk9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyUmVnaXN0cmFyIGltcGxlbWVudHMgT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luO1xuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIHRoZSB7QGxpbmsgUGx1Z2luT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJSZWdpc3RyYXJ9IGNsYXNzLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIHBsdWdpbiB0byByZWdpc3RlciB0aGUgcHJvdG9jb2wgaGFuZGxlciB3aXRoLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKHBsdWdpbjogUGx1Z2luKSB7XG4gICAgdGhpcy5wbHVnaW4gPSBwbHVnaW47XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGFuIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhlIE9ic2lkaWFuIHByb3RvY29sIGhhbmRsZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXIocGFyYW1zOiBQbHVnaW5PYnNpZGlhblByb3RvY29sSGFuZGxlclJlZ2lzdHJhclJlZ2lzdGVyT2JzaWRpYW5Qcm90b2NvbEhhbmRsZXJQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3Rlck9ic2lkaWFuUHJvdG9jb2xIYW5kbGVyKHBhcmFtcy5hY3Rpb24sIHBhcmFtcy5oYW5kbGVyKTtcbiAgfVxufVxuIl0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBMkNPLE1BQU0sdUNBQW1GO0FBQUEsRUFDN0U7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPVixZQUFZLFFBQWdCO0FBQ2pDLFNBQUssU0FBUztBQUFBLEVBQ2hCO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBT08sZ0NBQWdDLFFBQTJGO0FBQ2hJLFNBQUssT0FBTyxnQ0FBZ0MsT0FBTyxRQUFRLE9BQU8sT0FBTztBQUFBLEVBQzNFO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
@@ -2,9 +2,9 @@
2
2
  /**
3
3
  * @file
4
4
  *
5
- * Registers an Obsidian protocol handler.
5
+ * Obsidian protocol handler registrars.
6
6
  */
7
- import type { ObsidianProtocolHandler, Plugin } from 'obsidian';
7
+ import type { ObsidianProtocolData, Plugin } from 'obsidian';
8
8
  /**
9
9
  * A registrar for Obsidian protocol handlers.
10
10
  */
@@ -12,18 +12,31 @@ export interface ObsidianProtocolHandlerRegistrar {
12
12
  /**
13
13
  * Registers an Obsidian protocol handler.
14
14
  *
15
- * @param action - The action to register the handler for.
16
- * @param handler - The handler to register.
15
+ * @param params - The parameters for the Obsidian protocol handler registration.
17
16
  */
18
- registerObsidianProtocolHandler(action: string, handler: ObsidianProtocolHandler): void;
17
+ registerObsidianProtocolHandler(params: ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams): void;
19
18
  }
19
+ interface ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams {
20
+ /**
21
+ * The action to register the handler for.
22
+ */
23
+ readonly action: string;
24
+ /**
25
+ * The handler to register.
26
+ *
27
+ * @param obsidianProtocolData - The data passed to the handler.
28
+ * @returns The result of the handler.
29
+ */
30
+ handler(this: void, obsidianProtocolData: ObsidianProtocolData): unknown;
31
+ }
32
+ type PluginObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams = ObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams;
20
33
  /**
21
- * A registrar for Obsidian protocol handlers.
34
+ * Obsidian protocol handler registrar in an Obsidian plugin.
22
35
  */
23
36
  export declare class PluginObsidianProtocolHandlerRegistrar implements ObsidianProtocolHandlerRegistrar {
24
37
  private readonly plugin;
25
38
  /**
26
- * Creates a new Obsidian protocol handler registrar.
39
+ * Creates a new instance of the {@link PluginObsidianProtocolHandlerRegistrar} class.
27
40
  *
28
41
  * @param plugin - The plugin to register the protocol handler with.
29
42
  */
@@ -31,8 +44,8 @@ export declare class PluginObsidianProtocolHandlerRegistrar implements ObsidianP
31
44
  /**
32
45
  * Registers an Obsidian protocol handler.
33
46
  *
34
- * @param action - The action to register the handler for.
35
- * @param handler - The handler to register.
47
+ * @param params - The parameters for the Obsidian protocol handler registration.
36
48
  */
37
- registerObsidianProtocolHandler(action: string, handler: ObsidianProtocolHandler): void;
49
+ registerObsidianProtocolHandler(params: PluginObsidianProtocolHandlerRegistrarRegisterObsidianProtocolHandlerParams): void;
38
50
  }
51
+ export {};
@@ -0,0 +1,156 @@
1
+ /*
2
+ THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
3
+ if you want to view the source, please visit the github repository of this plugin
4
+ */
5
+
6
+ (function initCjs() {
7
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
8
+ const globalThisRecord = globalThis;
9
+ globalThisRecord['__name'] ??= name;
10
+ const originalRequire = require;
11
+ if (originalRequire && !originalRequire.__isPatched) {
12
+ // eslint-disable-next-line no-global-assign, no-implicit-globals -- We need to patch the `require()` function.
13
+ require = Object.assign(
14
+ (id) => requirePatched(id),
15
+ originalRequire,
16
+ {
17
+ __isPatched: true
18
+ }
19
+ );
20
+ }
21
+
22
+ const newFuncs = {
23
+ __extractDefault() {
24
+ return extractDefault;
25
+ },
26
+ process() {
27
+ const browserProcess = {
28
+ browser: true,
29
+ cwd() {
30
+ return '/';
31
+ },
32
+ env: {},
33
+ platform: 'android'
34
+ };
35
+ return browserProcess;
36
+ }
37
+ };
38
+
39
+ for (const key of Object.keys(newFuncs)) {
40
+ globalThisRecord[key] ??= newFuncs[key]?.();
41
+ }
42
+
43
+ function name(obj) {
44
+ return obj;
45
+ }
46
+
47
+ function extractDefault(module) {
48
+ return module && module.__esModule && 'default' in module ? module.default : module;
49
+ }
50
+
51
+ const OBSIDIAN_BUILT_IN_MODULE_NAMES = [
52
+ 'obsidian',
53
+ '@codemirror/autocomplete',
54
+ '@codemirror/collab',
55
+ '@codemirror/commands',
56
+ '@codemirror/language',
57
+ '@codemirror/lint',
58
+ '@codemirror/search',
59
+ '@codemirror/state',
60
+ '@codemirror/text',
61
+ '@codemirror/view',
62
+ '@lezer/common',
63
+ '@lezer/lr',
64
+ '@lezer/highlight'];
65
+
66
+
67
+ const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = [
68
+ '@codemirror/closebrackets',
69
+ '@codemirror/comment',
70
+ '@codemirror/fold',
71
+ '@codemirror/gutter',
72
+ '@codemirror/highlight',
73
+ '@codemirror/history',
74
+ '@codemirror/matchbrackets',
75
+ '@codemirror/panel',
76
+ '@codemirror/rangeset',
77
+ '@codemirror/rectangular-selection',
78
+ '@codemirror/stream-parser',
79
+ '@codemirror/tooltip'];
80
+
81
+
82
+ function requirePatched(id) {
83
+ if (OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.includes(id)) {
84
+ return originalRequire?.(id);
85
+ }
86
+
87
+ // eslint-disable-next-line @typescript-eslint/no-deprecated, obsidianmd/no-global-this -- Need access to app. Actively use globalThis.
88
+ if (globalThis.app.isMobile) {
89
+ if (id === 'process' || id === 'node:process') {
90
+ // eslint-disable-next-line no-console -- Valid usage.
91
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
92
+ // eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
93
+ return globalThis.process;
94
+ }
95
+ } else {
96
+ const module = originalRequire?.(id);
97
+ if (module) {
98
+ return extractDefault(module);
99
+ }
100
+ }
101
+
102
+ // eslint-disable-next-line no-console -- Valid usage.
103
+ console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
104
+ return {};
105
+ }
106
+ })();
107
+
108
+ "use strict";
109
+ var __defProp = Object.defineProperty;
110
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
111
+ var __getOwnPropNames = Object.getOwnPropertyNames;
112
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
113
+ var __export = (target, all) => {
114
+ for (var name in all)
115
+ __defProp(target, name, { get: all[name], enumerable: true });
116
+ };
117
+ var __copyProps = (to, from, except, desc) => {
118
+ if (from && typeof from === "object" || typeof from === "function") {
119
+ for (let key of __getOwnPropNames(from))
120
+ if (!__hasOwnProp.call(to, key) && key !== except)
121
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
122
+ }
123
+ return to;
124
+ };
125
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
126
+ var plugin_cli_handler_registrar_exports = {};
127
+ __export(plugin_cli_handler_registrar_exports, {
128
+ PluginCliHandlerRegistrar: () => PluginCliHandlerRegistrar
129
+ });
130
+ module.exports = __toCommonJS(plugin_cli_handler_registrar_exports);
131
+ var import_obsidian = require('obsidian');
132
+ var import_async = require('../async.cjs');
133
+ class PluginCliHandlerRegistrar {
134
+ /**
135
+ * Creates a new instance of the {@link PluginCliHandlerRegistrar} class.
136
+ *
137
+ * @param plugin - The Obsidian plugin instance.
138
+ */
139
+ constructor(plugin) {
140
+ this.plugin = plugin;
141
+ }
142
+ plugin;
143
+ /**
144
+ * Registers a CLI handler.
145
+ *
146
+ * @param params - The parameters for the CLI handler registration.
147
+ */
148
+ registerCliHandler(params) {
149
+ this.plugin.registerCliHandler(params.command, params.description, params.flags, (cliData) => (0, import_async.normalizePromisable)(params.handler(cliData)));
150
+ }
151
+ }
152
+ // Annotate the CommonJS export names for ESM import in node:
153
+ 0 && (module.exports = {
154
+ PluginCliHandlerRegistrar
155
+ });
156
+ //# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL29ic2lkaWFuL3BsdWdpbi1jbGktaGFuZGxlci1yZWdpc3RyYXIudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBDTEkgaGFuZGxlciByZWdpc3RyYXJzLlxuICovXG5cbmltcG9ydCB0eXBlIHtcbiAgQ2xpRGF0YSxcbiAgQ2xpRmxhZ3Ncbn0gZnJvbSAnb2JzaWRpYW4nO1xuaW1wb3J0IHR5cGUgeyBQcm9taXNhYmxlIH0gZnJvbSAndHlwZS1mZXN0JztcblxuaW1wb3J0IHsgUGx1Z2luIH0gZnJvbSAnb2JzaWRpYW4nO1xuXG5pbXBvcnQgeyBub3JtYWxpemVQcm9taXNhYmxlIH0gZnJvbSAnLi4vYXN5bmMudHMnO1xuXG4vKipcbiAqIFJlZ2lzdGVycyBDTEkgaGFuZGxlcnMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpSGFuZGxlclJlZ2lzdHJhciB7XG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBDTEkgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgQ0xJIGhhbmRsZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcmVnaXN0ZXJDbGlIYW5kbGVyKHBhcmFtczogQ2xpSGFuZGxlclJlZ2lzdHJhclJlZ2lzdGVyQ2xpSGFuZGxlclBhcmFtcyk6IHZvaWQ7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3IgcmVnaXN0ZXJpbmcgYSBDTEkgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDbGlIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJDbGlIYW5kbGVyUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBjb21tYW5kIHRvIHJlZ2lzdGVyIHRoZSBoYW5kbGVyIGZvci5cbiAgICovXG4gIHJlYWRvbmx5IGNvbW1hbmQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVzY3JpcHRpb246IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGZsYWdzIGZvciB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGZsYWdzOiBDbGlGbGFncyB8IG51bGw7XG5cbiAgLyoqXG4gICAqIFRoZSBoYW5kbGVyIHRvIHJlZ2lzdGVyLlxuICAgKlxuICAgKiBAcGFyYW0gY2xpRGF0YSAtIFRoZSBkYXRhIHBhc3NlZCB0byB0aGUgaGFuZGxlci5cbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgaGFuZGxlci5cbiAgICovXG4gIGhhbmRsZXIoY2xpRGF0YTogQ2xpRGF0YSk6IFByb21pc2FibGU8c3RyaW5nPjtcbn1cblxudHlwZSBQbHVnaW5DbGlIYW5kbGVyUmVnaXN0cmFyUmVnaXN0ZXJDbGlIYW5kbGVyUGFyYW1zID0gQ2xpSGFuZGxlclJlZ2lzdHJhclJlZ2lzdGVyQ2xpSGFuZGxlclBhcmFtcztcblxuLyoqXG4gKiBDTEkgaGFuZGxlciByZWdpc3RyYXIgaW4gYW4gT2JzaWRpYW4gcGx1Z2luLlxuICovXG5leHBvcnQgY2xhc3MgUGx1Z2luQ2xpSGFuZGxlclJlZ2lzdHJhciBpbXBsZW1lbnRzIENsaUhhbmRsZXJSZWdpc3RyYXIge1xuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBpbnN0YW5jZSBvZiB0aGUge0BsaW5rIFBsdWdpbkNsaUhhbmRsZXJSZWdpc3RyYXJ9IGNsYXNzLlxuICAgKlxuICAgKiBAcGFyYW0gcGx1Z2luIC0gVGhlIE9ic2lkaWFuIHBsdWdpbiBpbnN0YW5jZS5cbiAgICovXG4gIHB1YmxpYyBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IHBsdWdpbjogUGx1Z2luKSB7fVxuXG4gIC8qKlxuICAgKiBSZWdpc3RlcnMgYSBDTEkgaGFuZGxlci5cbiAgICpcbiAgICogQHBhcmFtIHBhcmFtcyAtIFRoZSBwYXJhbWV0ZXJzIGZvciB0aGUgQ0xJIGhhbmRsZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIHJlZ2lzdGVyQ2xpSGFuZGxlcihwYXJhbXM6IFBsdWdpbkNsaUhhbmRsZXJSZWdpc3RyYXJSZWdpc3RlckNsaUhhbmRsZXJQYXJhbXMpOiB2b2lkIHtcbiAgICB0aGlzLnBsdWdpbi5yZWdpc3RlckNsaUhhbmRsZXIocGFyYW1zLmNvbW1hbmQsIHBhcmFtcy5kZXNjcmlwdGlvbiwgcGFyYW1zLmZsYWdzLCAoY2xpRGF0YSkgPT4gbm9ybWFsaXplUHJvbWlzYWJsZShwYXJhbXMuaGFuZGxlcihjbGlEYXRhKSkpO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFZQSxzQkFBdUI7QUFFdkIsbUJBQW9DO0FBK0M3QixNQUFNLDBCQUF5RDtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU03RCxZQUE2QixRQUFnQjtBQUFoQjtBQUFBLEVBQWlCO0FBQUEsRUFBakI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFPN0IsbUJBQW1CLFFBQWlFO0FBQ3pGLFNBQUssT0FBTyxtQkFBbUIsT0FBTyxTQUFTLE9BQU8sYUFBYSxPQUFPLE9BQU8sQ0FBQyxnQkFBWSxrQ0FBb0IsT0FBTyxRQUFRLE9BQU8sQ0FBQyxDQUFDO0FBQUEsRUFDNUk7QUFDRjsiLAogICJuYW1lcyI6IFtdCn0K
@@ -0,0 +1,64 @@
1
+ /// <reference path="../library.d.cts" />
2
+ /**
3
+ * @file
4
+ *
5
+ * CLI handler registrars.
6
+ */
7
+ import type { CliData, CliFlags } from 'obsidian';
8
+ import type { Promisable } from 'type-fest';
9
+ import { Plugin } from 'obsidian';
10
+ /**
11
+ * Registers CLI handlers.
12
+ */
13
+ export interface CliHandlerRegistrar {
14
+ /**
15
+ * Registers a CLI handler.
16
+ *
17
+ * @param params - The parameters for the CLI handler registration.
18
+ */
19
+ registerCliHandler(params: CliHandlerRegistrarRegisterCliHandlerParams): void;
20
+ }
21
+ /**
22
+ * Parameters for registering a CLI handler.
23
+ */
24
+ export interface CliHandlerRegistrarRegisterCliHandlerParams {
25
+ /**
26
+ * The command to register the handler for.
27
+ */
28
+ readonly command: string;
29
+ /**
30
+ * The description of the command.
31
+ */
32
+ readonly description: string;
33
+ /**
34
+ * The flags for the command.
35
+ */
36
+ readonly flags: CliFlags | null;
37
+ /**
38
+ * The handler to register.
39
+ *
40
+ * @param cliData - The data passed to the handler.
41
+ * @returns The result of the handler.
42
+ */
43
+ handler(cliData: CliData): Promisable<string>;
44
+ }
45
+ type PluginCliHandlerRegistrarRegisterCliHandlerParams = CliHandlerRegistrarRegisterCliHandlerParams;
46
+ /**
47
+ * CLI handler registrar in an Obsidian plugin.
48
+ */
49
+ export declare class PluginCliHandlerRegistrar implements CliHandlerRegistrar {
50
+ private readonly plugin;
51
+ /**
52
+ * Creates a new instance of the {@link PluginCliHandlerRegistrar} class.
53
+ *
54
+ * @param plugin - The Obsidian plugin instance.
55
+ */
56
+ constructor(plugin: Plugin);
57
+ /**
58
+ * Registers a CLI handler.
59
+ *
60
+ * @param params - The parameters for the CLI handler registration.
61
+ */
62
+ registerCliHandler(params: PluginCliHandlerRegistrarRegisterCliHandlerParams): void;
63
+ }
64
+ export {};