@mnaoumov/obsidian-lib 10.11.0 → 11.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 (460) hide show
  1. package/README.md +26 -0
  2. package/components/all-windows-status-bar-item-component/package.json +6 -0
  3. package/components/shared-component-pool-component/package.json +6 -0
  4. package/components/worker-component/package.json +6 -0
  5. package/components/worker-pool-component/package.json +6 -0
  6. package/components/workspace-layout-state-component/package.json +6 -0
  7. package/dist/lib/cjs/__merged.cjs +477 -285
  8. package/dist/lib/cjs/__merged.d.cts +26 -10
  9. package/dist/lib/cjs/anchored-suggest.cjs +1 -1
  10. package/dist/lib/cjs/app.cjs +2 -2
  11. package/dist/lib/cjs/async-with-notice.cjs +4 -4
  12. package/dist/lib/cjs/attachment-path.cjs +9 -9
  13. package/dist/lib/cjs/attachment-path.d.cts +3 -3
  14. package/dist/lib/cjs/attachment-unit-folder.cjs +2 -2
  15. package/dist/lib/cjs/backlink-index.cjs +5 -5
  16. package/dist/lib/cjs/backlink.cjs +7 -7
  17. package/dist/lib/cjs/bases-view-registrar.cjs +1 -1
  18. package/dist/lib/cjs/broken-link-candidates.cjs +1 -1
  19. package/dist/lib/cjs/bug-report-diagnostics.cjs +222 -0
  20. package/dist/lib/cjs/bug-report-diagnostics.d.cts +186 -0
  21. package/dist/lib/cjs/bug-report.cjs +38 -12
  22. package/dist/lib/cjs/bug-report.d.cts +65 -0
  23. package/dist/lib/cjs/bulk-operation-progress.cjs +1 -1
  24. package/dist/lib/cjs/bulk-operation.cjs +2 -2
  25. package/dist/lib/cjs/callout.cjs +6 -6
  26. package/dist/lib/cjs/canvas.cjs +11 -9
  27. package/dist/lib/cjs/canvas.d.cts +13 -0
  28. package/dist/lib/cjs/case-insensitive-file-index.cjs +3 -3
  29. package/dist/lib/cjs/code-block-render-handoff.cjs +5 -5
  30. package/dist/lib/cjs/codemirror/editor-mode-extension.cjs +4 -4
  31. package/dist/lib/cjs/codemirror/incremental-parse-state-field.cjs +2 -2
  32. package/dist/lib/cjs/codemirror/index.cjs +7 -7
  33. package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +5 -5
  34. package/dist/lib/cjs/codemirror/markdown-editor-views.cjs +2 -2
  35. package/dist/lib/cjs/codemirror/settings-facet.cjs +1 -1
  36. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +17 -17
  37. package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +13 -13
  38. package/dist/lib/cjs/command-handlers/command-handler-component.cjs +2 -2
  39. package/dist/lib/cjs/command-handlers/command-handler.cjs +2 -2
  40. package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +10 -10
  41. package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +7 -7
  42. package/dist/lib/cjs/command-handlers/file-command-handler.cjs +3 -3
  43. package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +3 -3
  44. package/dist/lib/cjs/command-handlers/global-command-handler.cjs +2 -2
  45. package/dist/lib/cjs/command-handlers/index.cjs +15 -15
  46. package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +95 -4
  47. package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.d.cts +34 -2
  48. package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +2 -2
  49. package/dist/lib/cjs/command-handlers/open-discussion-command-handler.cjs +2 -2
  50. package/dist/lib/cjs/command-handlers/open-feature-request-command-handler.cjs +2 -2
  51. package/dist/lib/cjs/command-handlers/open-git-hub-command-handler.cjs +1 -1
  52. package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +2 -2
  53. package/dist/lib/cjs/command-handlers/undo-bulk-operation-command-handler.cjs +2 -2
  54. package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +1 -1
  55. package/dist/lib/cjs/community-plugins.cjs +3 -3
  56. package/dist/lib/cjs/components/abort-signal-component.cjs +2 -2
  57. package/dist/lib/cjs/components/all-windows-event-component.cjs +5 -5
  58. package/dist/lib/cjs/components/all-windows-status-bar-item-component.cjs +245 -0
  59. package/dist/lib/cjs/components/all-windows-status-bar-item-component.d.cts +146 -0
  60. package/dist/lib/cjs/components/async-error-handler-component.cjs +5 -5
  61. package/dist/lib/cjs/components/async-events-component.cjs +1 -1
  62. package/dist/lib/cjs/components/bulk-operation-commit-component.cjs +12 -12
  63. package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +2 -2
  64. package/dist/lib/cjs/components/component-ex.cjs +21 -11
  65. package/dist/lib/cjs/components/component-ex.d.cts +11 -0
  66. package/dist/lib/cjs/components/console-debug-component.cjs +2 -2
  67. package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +2 -2
  68. package/dist/lib/cjs/components/disposable-component.cjs +2 -2
  69. package/dist/lib/cjs/components/embed-extensions-component.cjs +21 -4
  70. package/dist/lib/cjs/components/embed-extensions-component.d.cts +8 -0
  71. package/dist/lib/cjs/components/embeddable-markdown-editor-component.cjs +24 -10
  72. package/dist/lib/cjs/components/embeddable-markdown-editor-component.d.cts +9 -0
  73. package/dist/lib/cjs/components/file-explorer-root-menu-component.cjs +7 -7
  74. package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +2 -2
  75. package/dist/lib/cjs/components/incremental-file-index-component.cjs +4 -4
  76. package/dist/lib/cjs/components/index.cjs +54 -39
  77. package/dist/lib/cjs/components/index.d.cts +5 -0
  78. package/dist/lib/cjs/components/layout-ready-component.cjs +3 -3
  79. package/dist/lib/cjs/components/menu-event-registrar-component.cjs +2 -2
  80. package/dist/lib/cjs/components/monkey-around-component.cjs +3 -3
  81. package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +5 -5
  82. package/dist/lib/cjs/components/plugin-context-component.cjs +5 -5
  83. package/dist/lib/cjs/components/plugin-gate-component.cjs +69 -36
  84. package/dist/lib/cjs/components/plugin-gate-component.d.cts +36 -13
  85. package/dist/lib/cjs/components/plugin-notice-component.cjs +39 -33
  86. package/dist/lib/cjs/components/plugin-notice-component.d.cts +4 -3
  87. package/dist/lib/cjs/components/plugin-settings-component.cjs +119 -18
  88. package/dist/lib/cjs/components/plugin-settings-component.d.cts +35 -5
  89. package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +2 -2
  90. package/dist/lib/cjs/components/plugin-suggestion-component.cjs +8 -8
  91. package/dist/lib/cjs/components/pointer-position-component.cjs +2 -2
  92. package/dist/lib/cjs/components/reconfigurable-editor-extension-component.cjs +3 -3
  93. package/dist/lib/cjs/components/registry-component.cjs +2 -2
  94. package/dist/lib/cjs/components/release-notes-component.cjs +6 -6
  95. package/dist/lib/cjs/components/rename-delete-handler-component.cjs +25 -25
  96. package/dist/lib/cjs/components/rmdir-guard-component.cjs +2 -2
  97. package/dist/lib/cjs/components/settings-facet-component.cjs +1 -1
  98. package/dist/lib/cjs/components/settings-migration-component.cjs +5 -5
  99. package/dist/lib/cjs/components/shared-component-pool-component.cjs +368 -0
  100. package/dist/lib/cjs/components/shared-component-pool-component.d.cts +129 -0
  101. package/dist/lib/cjs/components/style-sheet-component.cjs +3 -3
  102. package/dist/lib/cjs/components/syntax-highlighting-component.cjs +3 -3
  103. package/dist/lib/cjs/components/templates-language-component.cjs +1 -1
  104. package/dist/lib/cjs/components/worker-component.cjs +363 -0
  105. package/dist/lib/cjs/components/worker-component.d.cts +156 -0
  106. package/dist/lib/cjs/components/worker-pool-component.cjs +185 -0
  107. package/dist/lib/cjs/components/worker-pool-component.d.cts +102 -0
  108. package/dist/lib/cjs/components/workspace-layout-state-component.cjs +495 -0
  109. package/dist/lib/cjs/components/workspace-layout-state-component.d.cts +239 -0
  110. package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +5 -5
  111. package/dist/lib/cjs/constructors/index.cjs +1 -1
  112. package/dist/lib/cjs/css-class.cjs +5 -1
  113. package/dist/lib/cjs/css-class.d.cts +16 -0
  114. package/dist/lib/cjs/data-handler.cjs +264 -6
  115. package/dist/lib/cjs/data-handler.d.cts +219 -2
  116. package/dist/lib/cjs/data-stores/data-store-locations.cjs +82 -24
  117. package/dist/lib/cjs/data-stores/data-store-locations.d.cts +15 -0
  118. package/dist/lib/cjs/data-stores/data-store-replica.cjs +33 -5
  119. package/dist/lib/cjs/data-stores/data-store-seeds.cjs +6 -6
  120. package/dist/lib/cjs/data-stores/data-store-seeds.d.cts +2 -2
  121. package/dist/lib/cjs/data-stores/data-store-transport.cjs +81 -8
  122. package/dist/lib/cjs/data-stores/data-store-transport.d.cts +30 -1
  123. package/dist/lib/cjs/data-stores/index.cjs +6 -6
  124. package/dist/lib/cjs/data-stores/local-data-store.cjs +74 -10
  125. package/dist/lib/cjs/data-stores/local-data-store.d.cts +58 -1
  126. package/dist/lib/cjs/data-stores/shared-data-store.cjs +76 -19
  127. package/dist/lib/cjs/data-stores/shared-data-store.d.cts +18 -1
  128. package/dist/lib/cjs/dataview-link.cjs +2 -2
  129. package/dist/lib/cjs/dataview.cjs +27 -7
  130. package/dist/lib/cjs/dataview.d.cts +14 -0
  131. package/dist/lib/cjs/debug.cjs +3 -3
  132. package/dist/lib/cjs/demo-vault-helper.cjs +34 -6
  133. package/dist/lib/cjs/demo-vault-helper.d.cts +6 -2
  134. package/dist/lib/cjs/desktop-bulk-operation-git.cjs +10 -10
  135. package/dist/lib/cjs/desktop-demo-vault-opener.cjs +13 -13
  136. package/dist/lib/cjs/desktop-git-runner.cjs +4 -14
  137. package/dist/lib/cjs/desktop-git-runner.d.cts +8 -2
  138. package/dist/lib/cjs/desktop-operating-system.cjs +1 -1
  139. package/dist/lib/cjs/desktop-request-url-stream.cjs +8 -14
  140. package/dist/lib/cjs/desktop-trusted-input.cjs +2 -2
  141. package/dist/lib/cjs/disposable.cjs +150 -0
  142. package/dist/lib/cjs/disposable.d.cts +39 -0
  143. package/dist/lib/cjs/editor-extension-registrar.cjs +1 -1
  144. package/dist/lib/cjs/editor-suggest-registrar.cjs +2 -2
  145. package/dist/lib/cjs/editor-suggest.cjs +1 -1
  146. package/dist/lib/cjs/editor.cjs +6 -6
  147. package/dist/lib/cjs/events.cjs +2 -2
  148. package/dist/lib/cjs/extensions-registrar.cjs +1 -1
  149. package/dist/lib/cjs/feature-request.cjs +1 -1
  150. package/dist/lib/cjs/file-change.cjs +10 -10
  151. package/dist/lib/cjs/file-explorer.cjs +2 -2
  152. package/dist/lib/cjs/file-manager.cjs +5 -5
  153. package/dist/lib/cjs/file-system.cjs +10 -10
  154. package/dist/lib/cjs/folder-note.cjs +4 -4
  155. package/dist/lib/cjs/frontmatter-formatting.cjs +7 -6
  156. package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +1 -1
  157. package/dist/lib/cjs/frontmatter.cjs +5 -5
  158. package/dist/lib/cjs/generated-during-build.cjs +2 -2
  159. package/dist/lib/cjs/git-rename-history.cjs +1 -1
  160. package/dist/lib/cjs/git-rename-history.d.cts +2 -2
  161. package/dist/lib/cjs/hotkey.cjs +1 -1
  162. package/dist/lib/cjs/hover-link-source-registrar.cjs +1 -1
  163. package/dist/lib/cjs/html-element.cjs +2 -2
  164. package/dist/lib/cjs/i18n/custom-type-options.cjs +1 -1
  165. package/dist/lib/cjs/i18n/default-translations.cjs +1 -1
  166. package/dist/lib/cjs/i18n/i18n.cjs +7 -7
  167. package/dist/lib/cjs/i18n/index.cjs +4 -4
  168. package/dist/lib/cjs/i18n/locales/en.cjs +27 -1
  169. package/dist/lib/cjs/i18n/locales/en.d.cts +26 -0
  170. package/dist/lib/cjs/i18n/locales/index.cjs +2 -2
  171. package/dist/lib/cjs/i18n/locales/translations-map.cjs +1 -1
  172. package/dist/lib/cjs/i18n/locales/translations-map.d.cts +26 -0
  173. package/dist/lib/cjs/index.cjs +147 -126
  174. package/dist/lib/cjs/index.d.cts +7 -0
  175. package/dist/lib/cjs/inline-token-renderer.cjs +2 -2
  176. package/dist/lib/cjs/is-in-obsidian.cjs +1 -1
  177. package/dist/lib/cjs/library-styles.cjs +3 -3
  178. package/dist/lib/cjs/link-and-tag-input-suggest.cjs +2 -2
  179. package/dist/lib/cjs/link.cjs +76 -56
  180. package/dist/lib/cjs/link.d.cts +20 -14
  181. package/dist/lib/cjs/logger.cjs +4 -4
  182. package/dist/lib/cjs/loop.cjs +10 -16
  183. package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +17 -2
  184. package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +7 -0
  185. package/dist/lib/cjs/markdown-code-block-processor.cjs +13 -13
  186. package/dist/lib/cjs/markdown-post-processor-registrar.cjs +2 -2
  187. package/dist/lib/cjs/markdown-view.cjs +191 -3
  188. package/dist/lib/cjs/markdown-view.d.cts +48 -1
  189. package/dist/lib/cjs/markdown.cjs +12 -12
  190. package/dist/lib/cjs/metadata-cache.cjs +23 -23
  191. package/dist/lib/cjs/metadata-cache.d.cts +5 -4
  192. package/dist/lib/cjs/misplaced-attachment.cjs +297 -0
  193. package/dist/lib/cjs/misplaced-attachment.d.cts +228 -0
  194. package/dist/lib/cjs/mobile-app-info.cjs +1 -1
  195. package/dist/lib/cjs/modals/alert.cjs +4 -4
  196. package/dist/lib/cjs/modals/code-block-builder.cjs +7 -7
  197. package/dist/lib/cjs/modals/confirm.cjs +4 -4
  198. package/dist/lib/cjs/modals/copy-text-manually.cjs +181 -0
  199. package/dist/lib/cjs/modals/copy-text-manually.d.cts +38 -0
  200. package/dist/lib/cjs/modals/index.cjs +17 -11
  201. package/dist/lib/cjs/modals/index.d.cts +2 -0
  202. package/dist/lib/cjs/modals/minimizable-modal.cjs +6 -6
  203. package/dist/lib/cjs/modals/modal-command-builder.cjs +3 -3
  204. package/dist/lib/cjs/modals/modal.cjs +3 -3
  205. package/dist/lib/cjs/modals/prompt.cjs +10 -10
  206. package/dist/lib/cjs/modals/prompt.d.cts +1 -1
  207. package/dist/lib/cjs/modals/review-bug-report-diagnostics.cjs +202 -0
  208. package/dist/lib/cjs/modals/review-bug-report-diagnostics.d.cts +30 -0
  209. package/dist/lib/cjs/modals/select-item.cjs +6 -6
  210. package/dist/lib/cjs/modals/select-option.cjs +3 -3
  211. package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +1 -1
  212. package/dist/lib/cjs/note-priority.cjs +2 -2
  213. package/dist/lib/cjs/notebook-navigator.cjs +12 -2
  214. package/dist/lib/cjs/notebook-navigator.d.cts +6 -0
  215. package/dist/lib/cjs/obsidian-lib-state.cjs +1 -1
  216. package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +1 -1
  217. package/dist/lib/cjs/obsidian-settings.cjs +1 -1
  218. package/dist/lib/cjs/obsidian-word-characters.cjs +1 -1
  219. package/dist/lib/cjs/parse-link.cjs +14 -14
  220. package/dist/lib/cjs/path-compatibility.cjs +368 -0
  221. package/dist/lib/cjs/path-compatibility.d.cts +263 -0
  222. package/dist/lib/cjs/path-settings.cjs +3 -3
  223. package/dist/lib/cjs/pdf.cjs +2 -2
  224. package/dist/lib/cjs/plugin/index.cjs +18 -12
  225. package/dist/lib/cjs/plugin/index.d.cts +2 -0
  226. package/dist/lib/cjs/plugin/plugin-api.cjs +21 -12
  227. package/dist/lib/cjs/plugin/plugin-api.d.cts +5 -1
  228. package/dist/lib/cjs/plugin/plugin-async-cleanup.cjs +6 -3
  229. package/dist/lib/cjs/plugin/plugin-async-cleanup.d.cts +5 -0
  230. package/dist/lib/cjs/plugin/plugin-context.cjs +10 -9
  231. package/dist/lib/cjs/plugin/plugin-event-source.cjs +1 -1
  232. package/dist/lib/cjs/plugin/plugin-event-source.d.cts +4 -4
  233. package/dist/lib/cjs/plugin/plugin-install-state.cjs +49 -4
  234. package/dist/lib/cjs/plugin/plugin-install-state.d.cts +30 -0
  235. package/dist/lib/cjs/plugin/plugin-instance.cjs +450 -0
  236. package/dist/lib/cjs/plugin/plugin-instance.d.cts +258 -0
  237. package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +1 -1
  238. package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +6 -4
  239. package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +15 -15
  240. package/dist/lib/cjs/plugin/plugin.cjs +133 -34
  241. package/dist/lib/cjs/plugin/plugin.d.cts +35 -5
  242. package/dist/lib/cjs/plugin/settings-migration-api.cjs +1 -1
  243. package/dist/lib/cjs/plugin/third-party-plugin.cjs +231 -0
  244. package/dist/lib/cjs/plugin/third-party-plugin.d.cts +244 -0
  245. package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +2 -2
  246. package/dist/lib/cjs/popovers/field-popover.cjs +4 -4
  247. package/dist/lib/cjs/popovers/index.cjs +3 -3
  248. package/dist/lib/cjs/popovers/popover-anchor.cjs +1 -1
  249. package/dist/lib/cjs/popovers/popover.cjs +5 -5
  250. package/dist/lib/cjs/queue.cjs +8 -8
  251. package/dist/lib/cjs/react/app-context.cjs +3 -3
  252. package/dist/lib/cjs/react/index.cjs +1 -1
  253. package/dist/lib/cjs/reference-definition.cjs +1 -1
  254. package/dist/lib/cjs/reference.cjs +3 -3
  255. package/dist/lib/cjs/release-asset.cjs +5 -5
  256. package/dist/lib/cjs/rendered-markdown.cjs +4 -4
  257. package/dist/lib/cjs/request-url.cjs +4 -4
  258. package/dist/lib/cjs/resource-lock.cjs +46 -42
  259. package/dist/lib/cjs/resource-lock.d.cts +8 -7
  260. package/dist/lib/cjs/resource-url.cjs +3 -3
  261. package/dist/lib/cjs/ribbon-icon-registrar.cjs +1 -1
  262. package/dist/lib/cjs/setting-components/checkbox-component.cjs +3 -3
  263. package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +7 -7
  264. package/dist/lib/cjs/setting-components/date-component.cjs +4 -4
  265. package/dist/lib/cjs/setting-components/date-time-component.cjs +4 -4
  266. package/dist/lib/cjs/setting-components/email-component.cjs +2 -2
  267. package/dist/lib/cjs/setting-components/file-component.cjs +2 -2
  268. package/dist/lib/cjs/setting-components/folder-list-component.cjs +3 -3
  269. package/dist/lib/cjs/setting-components/hotkey-component.cjs +5 -5
  270. package/dist/lib/cjs/setting-components/index.cjs +30 -30
  271. package/dist/lib/cjs/setting-components/list-component.cjs +5 -5
  272. package/dist/lib/cjs/setting-components/month-component.cjs +4 -4
  273. package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +3 -3
  274. package/dist/lib/cjs/setting-components/multiple-email-component.cjs +2 -2
  275. package/dist/lib/cjs/setting-components/multiple-file-component.cjs +3 -3
  276. package/dist/lib/cjs/setting-components/multiple-text-component.cjs +9 -6
  277. package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +4 -1
  278. package/dist/lib/cjs/setting-components/number-component.cjs +2 -2
  279. package/dist/lib/cjs/setting-components/password-component.cjs +2 -2
  280. package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +3 -3
  281. package/dist/lib/cjs/setting-components/tag-list-component.cjs +4 -4
  282. package/dist/lib/cjs/setting-components/telephone-component.cjs +2 -2
  283. package/dist/lib/cjs/setting-components/text-based-component.cjs +1 -1
  284. package/dist/lib/cjs/setting-components/time-component.cjs +3 -3
  285. package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +3 -3
  286. package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +3 -3
  287. package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +4 -4
  288. package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +1 -1
  289. package/dist/lib/cjs/setting-components/typed-text-component.cjs +3 -3
  290. package/dist/lib/cjs/setting-components/url-component.cjs +2 -2
  291. package/dist/lib/cjs/setting-components/validator-component.cjs +4 -4
  292. package/dist/lib/cjs/setting-components/week-component.cjs +4 -4
  293. package/dist/lib/cjs/setting-ex.cjs +26 -26
  294. package/dist/lib/cjs/setting-group-ex.cjs +2 -2
  295. package/dist/lib/cjs/settings-recovery.cjs +217 -0
  296. package/dist/lib/cjs/settings-recovery.d.cts +178 -0
  297. package/dist/lib/cjs/settings-tabs.cjs +5 -5
  298. package/dist/lib/cjs/status-bar-item-registrar.cjs +1 -1
  299. package/dist/lib/cjs/templater.cjs +14 -4
  300. package/dist/lib/cjs/templater.d.cts +6 -0
  301. package/dist/lib/cjs/transformers/duration-transformer.cjs +2 -2
  302. package/dist/lib/cjs/transformers/index.cjs +1 -1
  303. package/dist/lib/cjs/trusted-input.cjs +1 -1
  304. package/dist/lib/cjs/validation.cjs +4 -4
  305. package/dist/lib/cjs/vault-delete.cjs +6 -6
  306. package/dist/lib/cjs/vault-transaction.cjs +5 -5
  307. package/dist/lib/cjs/vault.cjs +12 -12
  308. package/dist/lib/cjs/view-registrar.cjs +1 -1
  309. package/dist/lib/cjs/virtual-file.cjs +16 -14
  310. package/dist/lib/cjs/virtual-file.d.cts +2 -1
  311. package/dist/lib/cjs/wasm.cjs +119 -0
  312. package/dist/lib/cjs/wasm.d.cts +54 -0
  313. package/dist/lib/cjs/worker-protocol.cjs +209 -0
  314. package/dist/lib/cjs/worker-protocol.d.cts +282 -0
  315. package/dist/lib/cjs/workspace.cjs +1 -1
  316. package/dist/lib/esm/__merged.d.mts +26 -10
  317. package/dist/lib/esm/__merged.mjs +215 -5
  318. package/dist/lib/esm/app.mjs +2 -2
  319. package/dist/lib/esm/attachment-path.d.mts +3 -3
  320. package/dist/lib/esm/attachment-path.mjs +2 -2
  321. package/dist/lib/esm/backlink-index.mjs +2 -2
  322. package/dist/lib/esm/bug-report-diagnostics.d.mts +186 -0
  323. package/dist/lib/esm/bug-report-diagnostics.mjs +127 -0
  324. package/dist/lib/esm/bug-report.d.mts +65 -0
  325. package/dist/lib/esm/bug-report.mjs +33 -10
  326. package/dist/lib/esm/canvas.d.mts +13 -0
  327. package/dist/lib/esm/canvas.mjs +6 -5
  328. package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +13 -13
  329. package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +14 -14
  330. package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +7 -7
  331. package/dist/lib/esm/command-handlers/editor-command-handler.mjs +8 -8
  332. package/dist/lib/esm/command-handlers/open-bug-report-command-handler.d.mts +34 -2
  333. package/dist/lib/esm/command-handlers/open-bug-report-command-handler.mjs +99 -3
  334. package/dist/lib/esm/components/all-windows-status-bar-item-component.d.mts +146 -0
  335. package/dist/lib/esm/components/all-windows-status-bar-item-component.mjs +154 -0
  336. package/dist/lib/esm/components/component-ex.d.mts +11 -0
  337. package/dist/lib/esm/components/component-ex.mjs +19 -6
  338. package/dist/lib/esm/components/disposable-component.mjs +1 -1
  339. package/dist/lib/esm/components/embed-extensions-component.d.mts +8 -0
  340. package/dist/lib/esm/components/embed-extensions-component.mjs +20 -3
  341. package/dist/lib/esm/components/embeddable-markdown-editor-component.d.mts +9 -0
  342. package/dist/lib/esm/components/embeddable-markdown-editor-component.mjs +16 -2
  343. package/dist/lib/esm/components/index.d.mts +5 -0
  344. package/dist/lib/esm/components/index.mjs +12 -2
  345. package/dist/lib/esm/components/plugin-gate-component.d.mts +36 -13
  346. package/dist/lib/esm/components/plugin-gate-component.mjs +61 -26
  347. package/dist/lib/esm/components/plugin-notice-component.d.mts +4 -3
  348. package/dist/lib/esm/components/plugin-notice-component.mjs +30 -21
  349. package/dist/lib/esm/components/plugin-settings-component.d.mts +35 -5
  350. package/dist/lib/esm/components/plugin-settings-component.mjs +105 -4
  351. package/dist/lib/esm/components/rename-delete-handler-component.mjs +2 -2
  352. package/dist/lib/esm/components/shared-component-pool-component.d.mts +129 -0
  353. package/dist/lib/esm/components/shared-component-pool-component.mjs +280 -0
  354. package/dist/lib/esm/components/worker-component.d.mts +156 -0
  355. package/dist/lib/esm/components/worker-component.mjs +279 -0
  356. package/dist/lib/esm/components/worker-pool-component.d.mts +102 -0
  357. package/dist/lib/esm/components/worker-pool-component.mjs +95 -0
  358. package/dist/lib/esm/components/workspace-layout-state-component.d.mts +239 -0
  359. package/dist/lib/esm/components/workspace-layout-state-component.mjs +404 -0
  360. package/dist/lib/esm/css-class.d.mts +16 -0
  361. package/dist/lib/esm/css-class.mjs +5 -1
  362. package/dist/lib/esm/data-handler.d.mts +219 -2
  363. package/dist/lib/esm/data-handler.mjs +262 -5
  364. package/dist/lib/esm/data-stores/data-store-locations.d.mts +15 -0
  365. package/dist/lib/esm/data-stores/data-store-locations.mjs +80 -22
  366. package/dist/lib/esm/data-stores/data-store-replica.mjs +33 -5
  367. package/dist/lib/esm/data-stores/data-store-seeds.d.mts +2 -2
  368. package/dist/lib/esm/data-stores/data-store-seeds.mjs +4 -4
  369. package/dist/lib/esm/data-stores/data-store-transport.d.mts +30 -1
  370. package/dist/lib/esm/data-stores/data-store-transport.mjs +78 -5
  371. package/dist/lib/esm/data-stores/local-data-store.d.mts +58 -1
  372. package/dist/lib/esm/data-stores/local-data-store.mjs +71 -9
  373. package/dist/lib/esm/data-stores/shared-data-store.d.mts +18 -1
  374. package/dist/lib/esm/data-stores/shared-data-store.mjs +72 -15
  375. package/dist/lib/esm/dataview.d.mts +14 -0
  376. package/dist/lib/esm/dataview.mjs +19 -1
  377. package/dist/lib/esm/demo-vault-helper.d.mts +6 -2
  378. package/dist/lib/esm/demo-vault-helper.mjs +29 -1
  379. package/dist/lib/esm/desktop-demo-vault-opener.mjs +1 -1
  380. package/dist/lib/esm/desktop-git-runner.d.mts +8 -2
  381. package/dist/lib/esm/desktop-git-runner.mjs +3 -3
  382. package/dist/lib/esm/desktop-request-url-stream.mjs +4 -10
  383. package/dist/lib/esm/disposable.d.mts +39 -0
  384. package/dist/lib/esm/disposable.mjs +64 -0
  385. package/dist/lib/esm/file-system.mjs +2 -2
  386. package/dist/lib/esm/frontmatter-formatting.mjs +2 -1
  387. package/dist/lib/esm/generated-during-build.mjs +2 -2
  388. package/dist/lib/esm/git-rename-history.d.mts +2 -2
  389. package/dist/lib/esm/git-rename-history.mjs +1 -1
  390. package/dist/lib/esm/i18n/locales/en.d.mts +26 -0
  391. package/dist/lib/esm/i18n/locales/en.mjs +27 -1
  392. package/dist/lib/esm/i18n/locales/translations-map.d.mts +26 -0
  393. package/dist/lib/esm/index.d.mts +7 -0
  394. package/dist/lib/esm/index.mjs +15 -1
  395. package/dist/lib/esm/link.d.mts +20 -14
  396. package/dist/lib/esm/link.mjs +57 -38
  397. package/dist/lib/esm/loop.mjs +2 -8
  398. package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +7 -0
  399. package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +16 -1
  400. package/dist/lib/esm/markdown-view.d.mts +48 -1
  401. package/dist/lib/esm/markdown-view.mjs +192 -2
  402. package/dist/lib/esm/metadata-cache.d.mts +5 -4
  403. package/dist/lib/esm/metadata-cache.mjs +6 -6
  404. package/dist/lib/esm/misplaced-attachment.d.mts +228 -0
  405. package/dist/lib/esm/misplaced-attachment.mjs +212 -0
  406. package/dist/lib/esm/modals/copy-text-manually.d.mts +38 -0
  407. package/dist/lib/esm/modals/copy-text-manually.mjs +99 -0
  408. package/dist/lib/esm/modals/index.d.mts +2 -0
  409. package/dist/lib/esm/modals/index.mjs +5 -1
  410. package/dist/lib/esm/modals/prompt.d.mts +1 -1
  411. package/dist/lib/esm/modals/prompt.mjs +1 -1
  412. package/dist/lib/esm/modals/review-bug-report-diagnostics.d.mts +30 -0
  413. package/dist/lib/esm/modals/review-bug-report-diagnostics.mjs +120 -0
  414. package/dist/lib/esm/notebook-navigator.d.mts +6 -0
  415. package/dist/lib/esm/notebook-navigator.mjs +11 -2
  416. package/dist/lib/esm/parse-link.mjs +4 -4
  417. package/dist/lib/esm/path-compatibility.d.mts +263 -0
  418. package/dist/lib/esm/path-compatibility.mjs +277 -0
  419. package/dist/lib/esm/plugin/index.d.mts +2 -0
  420. package/dist/lib/esm/plugin/index.mjs +6 -2
  421. package/dist/lib/esm/plugin/plugin-api.d.mts +5 -1
  422. package/dist/lib/esm/plugin/plugin-api.mjs +13 -4
  423. package/dist/lib/esm/plugin/plugin-async-cleanup.d.mts +5 -0
  424. package/dist/lib/esm/plugin/plugin-async-cleanup.mjs +3 -1
  425. package/dist/lib/esm/plugin/plugin-context.mjs +2 -1
  426. package/dist/lib/esm/plugin/plugin-event-source.d.mts +4 -4
  427. package/dist/lib/esm/plugin/plugin-event-source.mjs +1 -1
  428. package/dist/lib/esm/plugin/plugin-install-state.d.mts +30 -0
  429. package/dist/lib/esm/plugin/plugin-install-state.mjs +44 -1
  430. package/dist/lib/esm/plugin/plugin-instance.d.mts +258 -0
  431. package/dist/lib/esm/plugin/plugin-instance.mjs +367 -0
  432. package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +6 -4
  433. package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +1 -1
  434. package/dist/lib/esm/plugin/plugin.d.mts +35 -5
  435. package/dist/lib/esm/plugin/plugin.mjs +118 -9
  436. package/dist/lib/esm/plugin/third-party-plugin.d.mts +244 -0
  437. package/dist/lib/esm/plugin/third-party-plugin.mjs +147 -0
  438. package/dist/lib/esm/release-asset.mjs +1 -1
  439. package/dist/lib/esm/resource-lock.d.mts +8 -7
  440. package/dist/lib/esm/resource-lock.mjs +31 -26
  441. package/dist/lib/esm/setting-components/multiple-text-component.d.mts +4 -1
  442. package/dist/lib/esm/setting-components/multiple-text-component.mjs +6 -3
  443. package/dist/lib/esm/settings-recovery.d.mts +178 -0
  444. package/dist/lib/esm/settings-recovery.mjs +125 -0
  445. package/dist/lib/esm/settings-tabs.mjs +2 -2
  446. package/dist/lib/esm/templater.d.mts +6 -0
  447. package/dist/lib/esm/templater.mjs +11 -2
  448. package/dist/lib/esm/vault.mjs +1 -1
  449. package/dist/lib/esm/virtual-file.d.mts +2 -1
  450. package/dist/lib/esm/virtual-file.mjs +7 -5
  451. package/dist/lib/esm/wasm.d.mts +54 -0
  452. package/dist/lib/esm/wasm.mjs +30 -0
  453. package/dist/lib/esm/worker-protocol.d.mts +282 -0
  454. package/dist/lib/esm/worker-protocol.mjs +113 -0
  455. package/dist/styles.css +16 -1
  456. package/modals/copy-text-manually/package.json +6 -0
  457. package/modals/review-bug-report-diagnostics/package.json +6 -0
  458. package/package.json +10 -8
  459. package/plugin/plugin-instance/package.json +6 -0
  460. package/plugin/third-party-plugin/package.json +6 -0
@@ -0,0 +1,258 @@
1
+ /// <reference path="../library-references.d.cts" />
2
+ /// <reference lib="dom" />
3
+ /**
4
+ * @file
5
+ *
6
+ * Another plugin's INSTANCE: whether it is there, waiting for it, and asking the user to bring it in.
7
+ *
8
+ * This is the path for a plugin that publishes nothing through the library's registry, which is most of
9
+ * them. A provider that does publish is better reached through `watchPluginApi` (`./plugin-api.ts`): its
10
+ * reference is live, version-negotiated and revoked when the provider goes away, none of which a bare
11
+ * instance offers. And a plugin that must STOP running when another one goes away declares it through
12
+ * `PluginBase.getPluginDependencies()`, whose gate owns that teardown — {@link requirePlugin} is a one-shot
13
+ * wait, not a second dependency system.
14
+ *
15
+ * What "loaded" can and cannot mean, read from Obsidian `1.15.1`:
16
+ *
17
+ * - `Plugins.loadPlugin` stores the instance in `app.plugins.plugins` BEFORE it awaits `plugin.load()`, and
18
+ * `Plugin.load` sets `_loaded` before it awaits `onload()`. So `app.plugins.getPlugin(id)` can return a
19
+ * plugin whose `onload` is still running, and `_loaded` cannot tell the two apart.
20
+ * `Plugins.enablePlugin` brackets the load with `loadingPluginId`, which is the one signal that does, so
21
+ * an instance whose id is `loadingPluginId` reads as {@link PluginAvailability.Loading}.
22
+ * - `onload` having settled is the most anything can promise. A plugin that starts further work from
23
+ * `onload` without awaiting it, or waits for layout-ready, is "loaded" before that work is done, and
24
+ * Obsidian has no hook saying every plugin has finished initializing. A plugin built on this library
25
+ * says more through the `obsidian-lib:plugin-loaded` broadcast, which follows its published APIs.
26
+ * - `app.plugins` is an `Events` source that triggers `changed`, debounced by one macrotask, after every
27
+ * enable, disable, install, uninstall and manifest reload. That is what a wait subscribes to, so nothing
28
+ * here polls. It fires after `enablePlugin` returned, when `loadingPluginId` is `null` again.
29
+ *
30
+ * A type argument alone is a caller's ASSERTION about the instance, not a check: nothing at runtime knows
31
+ * what `TPlugin` is. Pass `isPlugin` to have the shape verified; an instance failing it reads as
32
+ * {@link PluginAvailability.ShapeMismatch}, the usual sign of a release that renamed what the caller uses.
33
+ */
34
+ import type { App, Plugin } from 'obsidian' with { 'resolution-mode': 'import' };
35
+ import { Component } from 'obsidian';
36
+ import type { PluginNoticeComponent } from '../components/plugin-notice-component.cjs';
37
+ /**
38
+ * The event `app.plugins` triggers after every enable, disable, install, uninstall and manifest reload.
39
+ *
40
+ * Read from Obsidian `1.15.1`: `didChange` triggers it debounced by one macrotask, so several changes in one
41
+ * task arrive as one event, after `enablePlugin` / `disablePlugin` returned.
42
+ */
43
+ export declare const PLUGINS_CHANGED_EVENT_NAME = "changed";
44
+ /**
45
+ * Whether another plugin's instance can be used right now, and if not, why.
46
+ */
47
+ export declare enum PluginAvailability {
48
+ /**
49
+ * Loaded, `onload` settled, and every declared requirement met.
50
+ */
51
+ Available = "available",
52
+ /**
53
+ * Running at a release whose `manifest.version` cannot be parsed, while the caller declared a
54
+ * {@link GetPluginAvailabilityParams.minPluginVersion}. Counts as unavailable, because failing closed is the
55
+ * safe direction.
56
+ */
57
+ InvalidVersion = "invalidVersion",
58
+ /**
59
+ * The instance exists but its `onload` has not settled yet.
60
+ */
61
+ Loading = "loading",
62
+ /**
63
+ * Installed but neither enabled nor running.
64
+ */
65
+ NotEnabled = "notEnabled",
66
+ /**
67
+ * Not installed in this vault.
68
+ */
69
+ NotInstalled = "notInstalled",
70
+ /**
71
+ * Installed and enabled in the configuration, but no instance is running. At startup that is a plugin
72
+ * Obsidian has not reached yet; later it is one that failed to load, or one switched off by a disable that
73
+ * does not touch the configuration.
74
+ */
75
+ NotLoaded = "notLoaded",
76
+ /**
77
+ * Running at a release older than the caller's {@link GetPluginAvailabilityParams.minPluginVersion}.
78
+ */
79
+ Outdated = "outdated",
80
+ /**
81
+ * Running, but the caller's {@link GetPluginAvailabilityParams.isPlugin} rejected the instance.
82
+ */
83
+ ShapeMismatch = "shapeMismatch"
84
+ }
85
+ /**
86
+ * Parameters for {@link getLoadedPlugin}.
87
+ *
88
+ * @typeParam TPlugin - The plugin type the caller expects.
89
+ */
90
+ export type GetLoadedPluginParams<TPlugin extends Plugin = Plugin> = GetPluginAvailabilityParams<TPlugin>;
91
+ /**
92
+ * Parameters for {@link getPluginAvailability}.
93
+ *
94
+ * @typeParam TPlugin - The plugin type the caller expects.
95
+ */
96
+ export interface GetPluginAvailabilityParams<TPlugin extends Plugin = Plugin> {
97
+ /**
98
+ * The Obsidian app instance.
99
+ */
100
+ readonly app: App;
101
+ /**
102
+ * Verifies that the running instance is the shape the caller uses. Without it, `TPlugin` is an
103
+ * assertion nothing checks.
104
+ *
105
+ * @param plugin - The running instance.
106
+ * @returns Whether the instance is a `TPlugin`.
107
+ */
108
+ readonly isPlugin?: (plugin: Plugin) => plugin is TPlugin;
109
+ /**
110
+ * The oldest release of the plugin the caller works with, compared with its `manifest.version`. This is
111
+ * a plugin RELEASE, never an API contract version: a provider publishing a versioned contract is reached
112
+ * through `watchPluginApi`'s `apiVersionRange` instead.
113
+ */
114
+ readonly minPluginVersion?: string;
115
+ /**
116
+ * The `manifest.id` of the plugin.
117
+ */
118
+ readonly pluginId: string;
119
+ }
120
+ /**
121
+ * Parameters for the {@link PluginInstanceUnavailableError} constructor.
122
+ */
123
+ export interface PluginInstanceUnavailableErrorConstructorParams {
124
+ /**
125
+ * Why the plugin was unavailable when the wait gave up.
126
+ */
127
+ readonly availability: PluginAvailability;
128
+ /**
129
+ * The `manifest.id` of the plugin.
130
+ */
131
+ readonly pluginId: string;
132
+ }
133
+ /**
134
+ * Parameters for {@link requirePlugin}.
135
+ *
136
+ * @typeParam TPlugin - The plugin type the caller expects.
137
+ */
138
+ export interface RequirePluginParams<TPlugin extends Plugin = Plugin> extends GetPluginAvailabilityParams<TPlugin> {
139
+ /**
140
+ * Ends the wait early; the promise rejects with the signal's reason.
141
+ */
142
+ readonly abortSignal?: AbortSignal;
143
+ /**
144
+ * The component owning the wait and its notice. Its unload ends both, rejecting the promise.
145
+ */
146
+ readonly component: Component;
147
+ /**
148
+ * The display name of the required plugin, shown to the user.
149
+ */
150
+ readonly pluginName: string;
151
+ /**
152
+ * The asking plugin's notice component, which shows what is missing and the button that fixes it.
153
+ */
154
+ readonly pluginNoticeComponent: PluginNoticeComponent;
155
+ /**
156
+ * The display name of the asking plugin, named in the notice.
157
+ */
158
+ readonly requestingPluginName: string;
159
+ /**
160
+ * How long to wait before giving up. By default the wait lasts until the user repairs the plugin, the
161
+ * {@link RequirePluginParams.abortSignal} aborts or the {@link RequirePluginParams.component} unloads.
162
+ */
163
+ readonly timeoutInMilliseconds?: number;
164
+ }
165
+ /**
166
+ * Parameters for {@link waitForPlugin}.
167
+ *
168
+ * @typeParam TPlugin - The plugin type the caller expects.
169
+ */
170
+ export interface WaitForPluginParams<TPlugin extends Plugin = Plugin> extends GetPluginAvailabilityParams<TPlugin> {
171
+ /**
172
+ * Ends the wait early; the promise rejects with the signal's reason.
173
+ */
174
+ readonly abortSignal?: AbortSignal;
175
+ /**
176
+ * A component whose unload ends the wait, rejecting the promise. Pass the waiting plugin, or the
177
+ * component that will use the instance, so a wait never outlives its consumer.
178
+ */
179
+ readonly component?: Component;
180
+ /**
181
+ * How long to wait before rejecting with a {@link PluginInstanceUnavailableError}.
182
+ *
183
+ * @default 10000
184
+ */
185
+ readonly timeoutInMilliseconds?: number;
186
+ }
187
+ /**
188
+ * Thrown when a plugin did not become available before a wait gave up.
189
+ */
190
+ export declare class PluginInstanceUnavailableError extends Error {
191
+ /**
192
+ * Why the plugin was unavailable when the wait gave up.
193
+ */
194
+ readonly availability: PluginAvailability;
195
+ /**
196
+ * The `manifest.id` of the plugin.
197
+ */
198
+ readonly pluginId: string;
199
+ /**
200
+ * Creates an instance of {@link PluginInstanceUnavailableError}.
201
+ *
202
+ * @param params - The constructor parameters.
203
+ */
204
+ constructor(params: PluginInstanceUnavailableErrorConstructorParams);
205
+ }
206
+ /**
207
+ * Returns another plugin's instance when it is {@link PluginAvailability.Available}, and `null` otherwise.
208
+ *
209
+ * Unlike `app.plugins.getPlugin`, it never returns an instance whose `onload` is still running.
210
+ *
211
+ * @typeParam TPlugin - The plugin type the caller expects; checked only through `isPlugin`.
212
+ * @param params - The {@link GetPluginAvailabilityParams}.
213
+ * @returns The instance, or `null`.
214
+ */
215
+ export declare function getLoadedPlugin<TPlugin extends Plugin = Plugin>(params: GetLoadedPluginParams<NoInfer<TPlugin>>): null | TPlugin;
216
+ /**
217
+ * Reads whether another plugin's instance can be used right now, and if not, why.
218
+ *
219
+ * @typeParam TPlugin - The plugin type the caller expects.
220
+ * @param params - The {@link GetPluginAvailabilityParams}.
221
+ * @returns The {@link PluginAvailability}.
222
+ */
223
+ export declare function getPluginAvailability<TPlugin extends Plugin = Plugin>(params: GetPluginAvailabilityParams<NoInfer<TPlugin>>): PluginAvailability;
224
+ /**
225
+ * Waits for another plugin to become {@link PluginAvailability.Available}, asking the user to repair it
226
+ * while it is not.
227
+ *
228
+ * Resolves at once when it already is. Otherwise, once the workspace layout is ready — before that, a
229
+ * plugin Obsidian has not loaded yet is indistinguishable from a missing one — a notice says what is wrong
230
+ * and offers the matching repair: install, enable, or update, plus a way to the community plugins list.
231
+ * The notice follows the state as it changes and goes away when the wait settles. A repair that fails is
232
+ * reported and leaves the wait running, so the user can try again or fix it by hand.
233
+ *
234
+ * The promise settles ONCE. It does not watch the plugin afterwards: a consumer that must stop when the
235
+ * plugin goes away declares a dependency through `PluginBase.getPluginDependencies()` instead.
236
+ *
237
+ * @typeParam TPlugin - The plugin type the caller expects; checked only through `isPlugin`.
238
+ * @param params - The {@link RequirePluginParams}.
239
+ * @returns A {@link Promise} resolving with the instance.
240
+ * @throws The abort reason, or an error naming the unloaded component, when the wait is ended early.
241
+ * @throws {@link PluginInstanceUnavailableError} When {@link RequirePluginParams.timeoutInMilliseconds} elapses.
242
+ */
243
+ export declare function requirePlugin<TPlugin extends Plugin = Plugin>(params: RequirePluginParams<NoInfer<TPlugin>>): Promise<TPlugin>;
244
+ /**
245
+ * Waits for another plugin to become {@link PluginAvailability.Available}.
246
+ *
247
+ * Resolves at once when it already is, which covers a consumer reloaded after its dependency. Otherwise it
248
+ * re-reads the state on every `app.plugins` `changed` and every `obsidian-lib:plugin-loaded` broadcast, so a
249
+ * plugin enabled, updated or reloaded later is picked up with no polling. It subscribes before its first
250
+ * read, so a change landing in between cannot be missed. Every listener and timer is removed when it settles.
251
+ *
252
+ * @typeParam TPlugin - The plugin type the caller expects; checked only through `isPlugin`.
253
+ * @param params - The {@link WaitForPluginParams}.
254
+ * @returns A {@link Promise} resolving with the instance.
255
+ * @throws The abort reason, or an error naming the unloaded component, when the wait is ended early.
256
+ * @throws {@link PluginInstanceUnavailableError} When the timeout elapses, carrying the availability at that moment.
257
+ */
258
+ export declare function waitForPlugin<TPlugin extends Plugin = Plugin>(params: WaitForPluginParams<NoInfer<TPlugin>>): Promise<TPlugin>;
@@ -104,4 +104,4 @@ function triggerPluginLifecycleEvent(params) {
104
104
  PLUGIN_UNLOADED_EVENT_NAME,
105
105
  triggerPluginLifecycleEvent
106
106
  });
107
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBsaWZlY3ljbGUgYnJvYWRjYXN0IGV2ZXJ5IHtAbGluayBQbHVnaW5CYXNlfSBtYWtlczogYG9ic2lkaWFuLWxpYjpwbHVnaW4tbG9hZGVkYCB3aGVuIGl0IGhhc1xuICogZmluaXNoZWQgbG9hZGluZyBhbmQgYG9ic2lkaWFuLWxpYjpwbHVnaW4tdW5sb2FkZWRgIHdoZW4gaXQgZ29lcyBhd2F5LlxuICpcbiAqIE9ic2lkaWFuIGdpdmVzIGEgcGx1Z2luIG5vIHdheSB0byBsZWFybiB0aGF0IEFOT1RIRVIgcGx1Z2luIHdhcyBlbmFibGVkIG9yIGRpc2FibGVkIOKAlCB0aGVyZSBpcyBubyBzdWNoXG4gKiBldmVudCBvbiBgYXBwLnBsdWdpbnNgLCBhbmQgYSBwbHVnaW4ncyBvd24gYEV2ZW50c2Agc291cmNlIGNhbm5vdCBoZWxwIGEgbGlzdGVuZXIgdGhhdCBkb2VzIG5vdCB5ZXQgaG9sZFxuICogdGhlIGluc3RhbmNlLiBTbyB0aGUgYnJvYWRjYXN0IGdvZXMgdGhyb3VnaCBgYXBwLndvcmtzcGFjZWAsIHdoaWNoIGlzIG9uZSBvYmplY3QgZXZlcnkgcGx1Z2luIGluIHRoZVxuICogdmF1bHQgY2FuIHJlYWNoLiBEZWxpYmVyYXRlbHkgTk9UIHRoZSBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYCBiYWcgdGhlIHJlc3Qgb2YgdGhlIGxpYnJhcnkgc2hhcmVzXG4gKiBpdHMgc3RhdGUgdGhyb3VnaDogYSBsaXN0ZW5lciB0aGVyZSBuZWVkcyBpdHMgb3duIGNvcHkgb2YgdGhpcyBsaWJyYXJ5LCBhbmQgdGhlc2UgZXZlbnRzIGFyZSBtZWFudCB0byBiZVxuICogY29uc3VtYWJsZSBieSBhbnkgcGx1Z2luIGF0IGFsbC5cbiAqXG4gKiBUaGUgbmFtZXMgYXJlIHBhc3QgdGVuc2UgYmVjYXVzZSBhIGJyb2FkY2FzdCBzdGF0ZXMgc29tZXRoaW5nIHRoYXQgaGFzIGFscmVhZHkgaGFwcGVuZWQuIGBsb2FkZWRgIGluXG4gKiBwYXJ0aWN1bGFyIGNhcnJpZXMgYSBndWFyYW50ZWU6IGl0IGlzIHRyaWdnZXJlZCBvbmx5IGFmdGVyIGV2ZXJ5IEFQSSB0aGUgcGx1Z2luIGRlY2xhcmVzIGhhcyBiZWVuXG4gKiBwdWJsaXNoZWQsIHNvIGEgbGlzdGVuZXIgbWF5IGNhbGwgdGhlbSBpbW1lZGlhdGVseS5cbiAqXG4gKiBCb3RoIHRoZSBldmVudCBuYW1lcyBhbmQge0BsaW5rIFBsdWdpbkxpZmVjeWNsZUV2ZW50UGF5bG9hZH0gYXJlIGEgQ1JPU1MtVkVSU0lPTiBDT05UUkFDVC4gQ29waWVzIG9mXG4gKiB0aGlzIGxpYnJhcnkgYXQgZGlmZmVyZW50IHZlcnNpb25zIHB1Ymxpc2ggYW5kIGNvbnN1bWUgdGhlbSBzaWRlIGJ5IHNpZGUgaW4gb25lIHZhdWx0LCBzbyBuZWl0aGVyIG1heVxuICogY2hhbmdlIGluY29tcGF0aWJseTogcGxhaW4gZGF0YSBvbmx5LCBhbmQgbmV3IHBheWxvYWQgZmllbGRzIG9ubHkgZXZlciBhZGRlZC5cbiAqXG4gKiBUaGF0IGNvbnRyYWN0IGlzIGFsc28gUFVCTElTSEVELCBhcyBvZiB0aGUgYFBsdWdpbiBBUEkgcHJvdG9jb2xgIGd1aWRlOiB0aGlyZC1wYXJ0eSBwbHVnaW5zIHRoYXQgd2lsbFxuICogbmV2ZXIgaW5zdGFsbCB0aGlzIGxpYnJhcnkgYXJlIHRvbGQgdG8gaGFyZGNvZGUgdGhlc2Ugc3RyaW5ncyBhbmQgdGhpcyBwYXlsb2FkIHNoYXBlLiBQdWJsaXNoaW5nIGl0XG4gKiBhZGRlZCBubyBuZXcgY29uc3RyYWludCDigJQgdGhlIGNyb3NzLWNvcHkgb25lIGFib3ZlIGFscmVhZHkgZm9yYmFkZSBldmVyeSBjaGFuZ2UgYW4gb3V0c2lkZXIgY291bGRcbiAqIG5vdGljZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiBlaXRoZXIgbGlmZWN5Y2xlIGV2ZW50LlxuICovXG5leHBvcnQgdHlwZSBQbHVnaW5MaWZlY3ljbGVFdmVudE5hbWUgPSB0eXBlb2YgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FIHwgdHlwZW9mIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FO1xuXG4vKipcbiAqIFRoZSBwYXlsb2FkIG9mIHtAbGluayBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUV9IGFuZCB7QGxpbmsgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUV9LlxuICpcbiAqIFBsYWluIGRhdGEgYnkgZGVzaWduIOKAlCBubyBjbGFzcyBpbnN0YW5jZXMgYW5kIG5vIHR5cGVzIG93bmVkIGJ5IHRoaXMgbGlicmFyeSDigJQgYmVjYXVzZSBpdCBjcm9zc2VzXG4gKiBiZXR3ZWVuIGluZGVwZW5kZW50bHkgYnVuZGxlZCBjb3BpZXMgb2YgaXQsIGFuZCBiZXR3ZWVuIHBsdWdpbnMgdGhhdCBkbyBub3QgdXNlIGl0IGF0IGFsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQge1xuICAvKipcbiAgICogVGhlIGNvbnRyYWN0IHZlcnNpb25zIHRoZSBwbHVnaW4gcHVibGlzaGVkLCBlbXB0eSB3aGVuIGl0IHB1Ymxpc2hlcyBubyBBUEkuXG4gICAqXG4gICAqIEFuIGFycmF5IHJhdGhlciB0aGFuIGEgc2luZ2xlIHZlcnNpb24gYmVjYXVzZSBhIHByb3ZpZGVyIG1heSBwdWJsaXNoIHNldmVyYWwgY29udHJhY3QgdmVyc2lvbnMgc2lkZSBieVxuICAgKiBzaWRlLCBzbyBjb25zdW1lcnMgcGlubmVkIHRvIGFuIG9sZGVyIHJhbmdlIGtlZXAgd29ya2luZyBhY3Jvc3MgYSBicmVha2luZyBjaGFuZ2UuXG4gICAqXG4gICAqIFRoZSBBUEkgb2JqZWN0cyB0aGVtc2VsdmVzIGFyZSBkZWxpYmVyYXRlbHkgTk9UIGhlcmUuIEEgaGFuZGxlIGRlbGl2ZXJlZCBieSBhIG9uZS1zaG90IGV2ZW50IGlzIGFcbiAgICogcHJvYmU6IGl0IGFuc3dlcnMgXCJub3dcIiBhbmQgbmV2ZXIgc2F5cyB3aGVuIFwibm93XCIgY2hhbmdlZCwgYW5kIG9uZSB0aGF0IG91dGxpdmVzIHRoZSBwcm92aWRlciBpc1xuICAgKiBleGFjdGx5IHRoZSBzdGFsZSBoYW5kbGUgdGhlIHBsdWdpbi1hcGkgcmVnaXN0cnkncyByZXZvY2FibGUgaGFuZGxlcyBleGlzdCB0byBwcmV2ZW50LiBSZWFjaCB0aGUgQVBJXG4gICAqIHRocm91Z2ggYHdhdGNoUGx1Z2luQXBpYCBpbnN0ZWFkLCB3aG9zZSByZWZlcmVuY2Ugc3RheXMgY29ycmVjdCBhY3Jvc3MgdW5sb2FkIGFuZCByZS1lbmFibGUuXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBpZHMgb2YgdGhlIHBsdWdpbnMgdGhpcyBvbmUgZGVjbGFyZXMgYXMgbWFuZGF0b3J5IGRlcGVuZGVuY2llcywgZW1wdHkgd2hlbiBpdCBkZWNsYXJlcyBub25lLlxuICAgKlxuICAgKiBQcmVzZW50IHNvIHRoZSByZWxhdGlvbnNoaXAgY2FuIGJlIHJlYWQgZnJvbSB0aGUgT1RIRVIgZW5kOiBhIHByb3ZpZGVyIGhhcyBubyB3YXkgdG8gYXNrIHdobyBkZXBlbmRzXG4gICAqIG9uIGl0IOKAlCB0aGUgcmVnaXN0cnkgb25seSBhbnN3ZXJzIGNvbnN1bWVyLXRvLXByb3ZpZGVyIOKAlCBhbmQgXCJ3aGljaCBpbnN0YWxsZWQgcGx1Z2lucyBuZWVkIHRoaXMgb25lXCJcbiAgICogaXMgd2hhdCBsZXRzIGEgcHJvdmlkZXIncyBzZXR0aW5ncyB0YWIgdGVsbCB0aGUgdXNlciB3aHkgaXQgaXMgaW4gdGhlaXIgdmF1bHQgYXQgYWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kZW5jeVBsdWdpbklkczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgbWFuaWZlc3QuaWRgLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIGBtYW5pZmVzdC5uYW1lYCwgZm9yIGRpc3BsYXkuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgbWFuaWZlc3QudmVyc2lvbmAuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5WZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlclBsdWdpbkxpZmVjeWNsZUV2ZW50UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2Ugd2hvc2Ugd29ya3NwYWNlIGNhcnJpZXMgdGhlIGJyb2FkY2FzdC5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gdHJpZ2dlci5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZTtcblxuICAvKipcbiAgICogVGhlIHBheWxvYWQgZGVzY3JpYmluZyB0aGUgcGx1Z2luLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXlsb2FkO1xufVxuXG4vKipcbiAqIFRyaWdnZXJlZCBvbmNlIGEgcGx1Z2luIGhhcyBmaW5pc2hlZCBsb2FkaW5nIEFORCBwdWJsaXNoZWQgZXZlcnkgQVBJIGl0IGRlY2xhcmVzLCBzbyBhIGxpc3RlbmVyIG1heSBjYWxsXG4gKiB0aG9zZSBBUElzIGltbWVkaWF0ZWx5LlxuICpcbiAqIE5hbWVzcGFjZWQgYnkgdGhlIHBhY2thZ2UgbmFtZSByYXRoZXIgdGhhbiBieSBhbiBhYmJyZXZpYXRpb24gb2YgaXQ6IHRoZSBldmVudCBpcyBnbG9iYWwgdG8gdGhlIHZhdWx0XG4gKiBhbmQgYWltZWQgYXQgcGx1Z2luIGF1dGhvcnMgd2hvIGhhdmUgbmV2ZXIgaGVhcmQgb2YgdGhpcyBsaWJyYXJ5LCBzbyB0aGUgcHJlZml4IGhhcyB0byBpZGVudGlmeSBpdHNlbGYuXG4gKi9cbmV4cG9ydCBjb25zdCBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUgPSAnb2JzaWRpYW4tbGliOnBsdWdpbi1sb2FkZWQnO1xuXG4vKipcbiAqIFRyaWdnZXJlZCBhcyBhIHBsdWdpbiB1bmxvYWRzIOKAlCB3aGV0aGVyIHRoZSB1c2VyIGRpc2FibGVkIGl0LCB1bmluc3RhbGxlZCBpdCwgb3IgT2JzaWRpYW4gaXMgc2h1dHRpbmdcbiAqIGRvd24uIEl0cyBBUElzIGFyZSByZXZva2VkIGJ5IHRoZSB0aW1lIGEgbGlzdGVuZXIgcnVucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FID0gJ29ic2lkaWFuLWxpYjpwbHVnaW4tdW5sb2FkZWQnO1xuXG5kZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4nIHtcbiAgaW50ZXJmYWNlIFdvcmtzcGFjZSB7XG4gICAgLyoqXG4gICAgICogU3Vic2NyaWJlcyB0byBhIHBsdWdpbiBmaW5pc2hpbmcgaXRzIGxvYWQsIG9yIHRvIG9uZSB1bmxvYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSAtIFNob3VsZCBiZSB7QGxpbmsgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FfSBvciB7QGxpbmsgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUV9LlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayByZWNlaXZpbmcgdGhlIHBsdWdpbidzIHBheWxvYWQuXG4gICAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgY29udGV4dCBwYXNzZWQgYXMgYHRoaXNgIHRvIHRoZSBgY2FsbGJhY2tgIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgLypcbiAgICAgKiBBbiBhdWdtZW50YXRpb24gb2YgYW4gRVhJU1RJTkcgb3ZlcmxvYWQgc2V0IGhhcyB0byBzdGF5IGEgbWV0aG9kIHNpZ25hdHVyZS4gQSBwcm9wZXJ0eSBtZW1iZXIgZG9lcyBub3QgbWVyZ2UgaW50b1xuICAgICAqIGBXb3Jrc3BhY2Uub25gJ3Mgb3ZlcmxvYWRzLCBhbmQgVHlwZVNjcmlwdCBzYXlzIHNvIG5vd2hlcmUgbmVhciBoZXJlOiB0aGUgZGVjbGFyYXRpb24gaXRzZWxmIGNvbXBpbGVzLCBhbmQgZXZlcnlcbiAgICAgKiBjYWxsIHNpdGUgbG9zZXMgdGhlIHNpZ25hdHVyZSBpbnN0ZWFkIOKAlCBgb24oUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FLCAuLi4pYCBmYWlscyB3aXRoIFwidGhlIGxhc3Qgb3ZlcmxvYWQgZ2F2ZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgZXJyb3JcIi4gVGhlIHJ1bGUgcmVwb3J0cyB0aGlzIG9uZSB3aXRob3V0IGEgZml4IGZvciB0aGUgc2FtZSByZWFzb24sIHNvIHRoZSBkaXNhYmxlIGJlbG93IGlzIHRoZSBhbnN3ZXJcbiAgICAgKiByYXRoZXIgdGhhbiBhIGRlZmVycmFsLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZSAtLSBBIHByb3BlcnR5IG1lbWJlciBkb2VzIG5vdCBtZXJnZSBpbnRvIGFuIGV4aXN0aW5nIG92ZXJsb2FkIHNldC4gU2VlIGFib3ZlLlxuICAgIG9uKFxuICAgICAgbmFtZTogUGx1Z2luTGlmZWN5Y2xlRXZlbnROYW1lLFxuICAgICAgY2FsbGJhY2s6IChwYXlsb2FkOiBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQpID0+IHVua25vd24sXG4gICAgICBjb250ZXh0PzogdW5rbm93blxuICAgICk6IEV2ZW50UmVmO1xuICB9XG59XG5cbi8qKlxuICogVHJpZ2dlcnMgb25lIG9mIHRoZSB0d28gbGlmZWN5Y2xlIGV2ZW50cyBvbiB0aGUgYXBwJ3Mgd29ya3NwYWNlLlxuICpcbiAqIEEgdGhpbiB0eXBlZCB3cmFwcGVyIG92ZXIgYFdvcmtzcGFjZS50cmlnZ2VyYCwgd2hpY2ggYWNjZXB0cyBhbnkgZXZlbnQgbmFtZSBhbmQgYW55IGFyZ3VtZW50cywgc28gdGhhdCB0aGUgb25lXG4gKiBwbGFjZSBhIHBheWxvYWQgaXMgY29uc3RydWN0ZWQgaXMgY2hlY2tlZCBhZ2FpbnN0IHtAbGluayBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWR9LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudFBhcmFtc30uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnQocGFyYW1zOiBUcmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBhcHAsIG5hbWUsIHBheWxvYWQgfSA9IHBhcmFtcztcbiAgYXBwLndvcmtzcGFjZS50cmlnZ2VyKG5hbWUsIHBheWxvYWQpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTBHTyxNQUFNLDJCQUEyQjtBQU1qQyxNQUFNLDZCQUE2QjtBQW9DbkMsU0FBUyw0QkFBNEIsUUFBaUQ7QUFDM0YsUUFBTSxFQUFFLEtBQUssTUFBTSxRQUFRLElBQUk7QUFDL0IsTUFBSSxVQUFVLFFBQVEsTUFBTSxPQUFPO0FBQ3JDOyIsIm5hbWVzIjpbXX0=
107
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wbHVnaW4vcGx1Z2luLWxpZmVjeWNsZS1ldmVudHMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIFRoZSBsaWZlY3ljbGUgYnJvYWRjYXN0IGV2ZXJ5IHtAbGluayBQbHVnaW5CYXNlfSBtYWtlczogYG9ic2lkaWFuLWxpYjpwbHVnaW4tbG9hZGVkYCB3aGVuIGl0IGhhc1xuICogZmluaXNoZWQgbG9hZGluZyBhbmQgYG9ic2lkaWFuLWxpYjpwbHVnaW4tdW5sb2FkZWRgIHdoZW4gaXQgZ29lcyBhd2F5LlxuICpcbiAqIE9ic2lkaWFuIGRvZXMgc2F5IHRoYXQgU09NRSBwbHVnaW4gY2hhbmdlZDogcmVhZCBmcm9tIE9ic2lkaWFuIGAxLjE1LjFgLCBgYXBwLnBsdWdpbnNgIHRyaWdnZXJzXG4gKiBgY2hhbmdlZGAsIGRlYm91bmNlZCBieSBvbmUgbWFjcm90YXNrLCBhZnRlciBldmVyeSBlbmFibGUsIGRpc2FibGUsIGluc3RhbGwsIHVuaW5zdGFsbCBhbmQgbWFuaWZlc3RcbiAqIHJlbG9hZCwgYnV0IGl0IGNhcnJpZXMgbm8gcGF5bG9hZDogaXQgZG9lcyBub3Qgc2F5IHdoaWNoIHBsdWdpbiBjaGFuZ2VkLCBub3IgdGhhdCBpdHMgQVBJcyBhcmUgcHVibGlzaGVkLlxuICogVGhpcyBicm9hZGNhc3QgbmFtZXMgdGhlIHBsdWdpbiBhbmQgY29tZXMgYWZ0ZXIgaXRzIEFQSXMsIHNvIGl0IGlzIHRoZSBzaWduYWwgZm9yIFwidGhhdCBwbHVnaW4gaXMgcmVhZHlcbiAqIHRvIGNhbGxcIiwgYW5kIGBjaGFuZ2VkYCB0aGUgc2lnbmFsIGZvciBcInJlLXJlYWQgdGhlIG1hbmlmZXN0c1wiLiBUaGUgYnJvYWRjYXN0IGdvZXMgdGhyb3VnaFxuICogYGFwcC53b3Jrc3BhY2VgLCB3aGljaCBpcyBvbmUgb2JqZWN0IGV2ZXJ5IHBsdWdpbiBpbiB0aGUgdmF1bHQgY2FuIHJlYWNoLiBEZWxpYmVyYXRlbHkgTk9UIHRoZSBgZ2xvYmFsVGhpcy5fX29ic2lkaWFuTGliYCBiYWcgdGhlIHJlc3Qgb2YgdGhlIGxpYnJhcnkgc2hhcmVzXG4gKiBpdHMgc3RhdGUgdGhyb3VnaDogYSBsaXN0ZW5lciB0aGVyZSBuZWVkcyBpdHMgb3duIGNvcHkgb2YgdGhpcyBsaWJyYXJ5LCBhbmQgdGhlc2UgZXZlbnRzIGFyZSBtZWFudCB0byBiZVxuICogY29uc3VtYWJsZSBieSBhbnkgcGx1Z2luIGF0IGFsbC5cbiAqXG4gKiBUaGUgbmFtZXMgYXJlIHBhc3QgdGVuc2UgYmVjYXVzZSBhIGJyb2FkY2FzdCBzdGF0ZXMgc29tZXRoaW5nIHRoYXQgaGFzIGFscmVhZHkgaGFwcGVuZWQuIGBsb2FkZWRgIGluXG4gKiBwYXJ0aWN1bGFyIGNhcnJpZXMgYSBndWFyYW50ZWU6IGl0IGlzIHRyaWdnZXJlZCBvbmx5IGFmdGVyIGV2ZXJ5IEFQSSB0aGUgcGx1Z2luIGRlY2xhcmVzIGhhcyBiZWVuXG4gKiBwdWJsaXNoZWQsIHNvIGEgbGlzdGVuZXIgbWF5IGNhbGwgdGhlbSBpbW1lZGlhdGVseS5cbiAqXG4gKiBCb3RoIHRoZSBldmVudCBuYW1lcyBhbmQge0BsaW5rIFBsdWdpbkxpZmVjeWNsZUV2ZW50UGF5bG9hZH0gYXJlIGEgQ1JPU1MtVkVSU0lPTiBDT05UUkFDVC4gQ29waWVzIG9mXG4gKiB0aGlzIGxpYnJhcnkgYXQgZGlmZmVyZW50IHZlcnNpb25zIHB1Ymxpc2ggYW5kIGNvbnN1bWUgdGhlbSBzaWRlIGJ5IHNpZGUgaW4gb25lIHZhdWx0LCBzbyBuZWl0aGVyIG1heVxuICogY2hhbmdlIGluY29tcGF0aWJseTogcGxhaW4gZGF0YSBvbmx5LCBhbmQgbmV3IHBheWxvYWQgZmllbGRzIG9ubHkgZXZlciBhZGRlZC5cbiAqXG4gKiBUaGF0IGNvbnRyYWN0IGlzIGFsc28gUFVCTElTSEVELCBhcyBvZiB0aGUgYFBsdWdpbiBBUEkgcHJvdG9jb2xgIGd1aWRlOiB0aGlyZC1wYXJ0eSBwbHVnaW5zIHRoYXQgd2lsbFxuICogbmV2ZXIgaW5zdGFsbCB0aGlzIGxpYnJhcnkgYXJlIHRvbGQgdG8gaGFyZGNvZGUgdGhlc2Ugc3RyaW5ncyBhbmQgdGhpcyBwYXlsb2FkIHNoYXBlLiBQdWJsaXNoaW5nIGl0XG4gKiBhZGRlZCBubyBuZXcgY29uc3RyYWludCDigJQgdGhlIGNyb3NzLWNvcHkgb25lIGFib3ZlIGFscmVhZHkgZm9yYmFkZSBldmVyeSBjaGFuZ2UgYW4gb3V0c2lkZXIgY291bGRcbiAqIG5vdGljZS5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7IEFwcCB9IGZyb20gJ29ic2lkaWFuJztcblxuLyoqXG4gKiBUaGUgbmFtZSBvZiBlaXRoZXIgbGlmZWN5Y2xlIGV2ZW50LlxuICovXG5leHBvcnQgdHlwZSBQbHVnaW5MaWZlY3ljbGVFdmVudE5hbWUgPSB0eXBlb2YgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FIHwgdHlwZW9mIFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FO1xuXG4vKipcbiAqIFRoZSBwYXlsb2FkIG9mIHtAbGluayBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUV9IGFuZCB7QGxpbmsgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUV9LlxuICpcbiAqIFBsYWluIGRhdGEgYnkgZGVzaWduIOKAlCBubyBjbGFzcyBpbnN0YW5jZXMgYW5kIG5vIHR5cGVzIG93bmVkIGJ5IHRoaXMgbGlicmFyeSDigJQgYmVjYXVzZSBpdCBjcm9zc2VzXG4gKiBiZXR3ZWVuIGluZGVwZW5kZW50bHkgYnVuZGxlZCBjb3BpZXMgb2YgaXQsIGFuZCBiZXR3ZWVuIHBsdWdpbnMgdGhhdCBkbyBub3QgdXNlIGl0IGF0IGFsbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQge1xuICAvKipcbiAgICogVGhlIGNvbnRyYWN0IHZlcnNpb25zIHRoZSBwbHVnaW4gcHVibGlzaGVkLCBlbXB0eSB3aGVuIGl0IHB1Ymxpc2hlcyBubyBBUEkuXG4gICAqXG4gICAqIEFuIGFycmF5IHJhdGhlciB0aGFuIGEgc2luZ2xlIHZlcnNpb24gYmVjYXVzZSBhIHByb3ZpZGVyIG1heSBwdWJsaXNoIHNldmVyYWwgY29udHJhY3QgdmVyc2lvbnMgc2lkZSBieVxuICAgKiBzaWRlLCBzbyBjb25zdW1lcnMgcGlubmVkIHRvIGFuIG9sZGVyIHJhbmdlIGtlZXAgd29ya2luZyBhY3Jvc3MgYSBicmVha2luZyBjaGFuZ2UuXG4gICAqXG4gICAqIFRoZSBBUEkgb2JqZWN0cyB0aGVtc2VsdmVzIGFyZSBkZWxpYmVyYXRlbHkgTk9UIGhlcmUuIEEgaGFuZGxlIGRlbGl2ZXJlZCBieSBhIG9uZS1zaG90IGV2ZW50IGlzIGFcbiAgICogcHJvYmU6IGl0IGFuc3dlcnMgXCJub3dcIiBhbmQgbmV2ZXIgc2F5cyB3aGVuIFwibm93XCIgY2hhbmdlZCwgYW5kIG9uZSB0aGF0IG91dGxpdmVzIHRoZSBwcm92aWRlciBpc1xuICAgKiBleGFjdGx5IHRoZSBzdGFsZSBoYW5kbGUgdGhlIHBsdWdpbi1hcGkgcmVnaXN0cnkncyByZXZvY2FibGUgaGFuZGxlcyBleGlzdCB0byBwcmV2ZW50LiBSZWFjaCB0aGUgQVBJXG4gICAqIHRocm91Z2ggYHdhdGNoUGx1Z2luQXBpYCBpbnN0ZWFkLCB3aG9zZSByZWZlcmVuY2Ugc3RheXMgY29ycmVjdCBhY3Jvc3MgdW5sb2FkIGFuZCByZS1lbmFibGUuXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBpZHMgb2YgdGhlIHBsdWdpbnMgdGhpcyBvbmUgZGVjbGFyZXMgYXMgbWFuZGF0b3J5IGRlcGVuZGVuY2llcywgZW1wdHkgd2hlbiBpdCBkZWNsYXJlcyBub25lLlxuICAgKlxuICAgKiBQcmVzZW50IHNvIHRoZSByZWxhdGlvbnNoaXAgY2FuIGJlIHJlYWQgZnJvbSB0aGUgT1RIRVIgZW5kOiBhIHByb3ZpZGVyIGhhcyBubyB3YXkgdG8gYXNrIHdobyBkZXBlbmRzXG4gICAqIG9uIGl0IOKAlCB0aGUgcmVnaXN0cnkgb25seSBhbnN3ZXJzIGNvbnN1bWVyLXRvLXByb3ZpZGVyIOKAlCBhbmQgXCJ3aGljaCBpbnN0YWxsZWQgcGx1Z2lucyBuZWVkIHRoaXMgb25lXCJcbiAgICogaXMgd2hhdCBsZXRzIGEgcHJvdmlkZXIncyBzZXR0aW5ncyB0YWIgdGVsbCB0aGUgdXNlciB3aHkgaXQgaXMgaW4gdGhlaXIgdmF1bHQgYXQgYWxsLlxuICAgKi9cbiAgcmVhZG9ubHkgZGVwZW5kZW5jeVBsdWdpbklkczogcmVhZG9ubHkgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgbWFuaWZlc3QuaWRgLlxuICAgKi9cbiAgcmVhZG9ubHkgcGx1Z2luSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHBsdWdpbidzIGBtYW5pZmVzdC5uYW1lYCwgZm9yIGRpc3BsYXkuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5OYW1lOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBwbHVnaW4ncyBgbWFuaWZlc3QudmVyc2lvbmAuXG4gICAqL1xuICByZWFkb25seSBwbHVnaW5WZXJzaW9uOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIHRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudH0uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVHJpZ2dlclBsdWdpbkxpZmVjeWNsZUV2ZW50UGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBPYnNpZGlhbiBhcHAgaW5zdGFuY2Ugd2hvc2Ugd29ya3NwYWNlIGNhcnJpZXMgdGhlIGJyb2FkY2FzdC5cbiAgICovXG4gIHJlYWRvbmx5IGFwcDogQXBwO1xuXG4gIC8qKlxuICAgKiBUaGUgZXZlbnQgdG8gdHJpZ2dlci5cbiAgICovXG4gIHJlYWRvbmx5IG5hbWU6IFBsdWdpbkxpZmVjeWNsZUV2ZW50TmFtZTtcblxuICAvKipcbiAgICogVGhlIHBheWxvYWQgZGVzY3JpYmluZyB0aGUgcGx1Z2luLlxuICAgKi9cbiAgcmVhZG9ubHkgcGF5bG9hZDogUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXlsb2FkO1xufVxuXG4vKipcbiAqIFRyaWdnZXJlZCBvbmNlIGEgcGx1Z2luIGhhcyBmaW5pc2hlZCBsb2FkaW5nIEFORCBwdWJsaXNoZWQgZXZlcnkgQVBJIGl0IGRlY2xhcmVzLCBzbyBhIGxpc3RlbmVyIG1heSBjYWxsXG4gKiB0aG9zZSBBUElzIGltbWVkaWF0ZWx5LlxuICpcbiAqIE5hbWVzcGFjZWQgYnkgdGhlIHBhY2thZ2UgbmFtZSByYXRoZXIgdGhhbiBieSBhbiBhYmJyZXZpYXRpb24gb2YgaXQ6IHRoZSBldmVudCBpcyBnbG9iYWwgdG8gdGhlIHZhdWx0XG4gKiBhbmQgYWltZWQgYXQgcGx1Z2luIGF1dGhvcnMgd2hvIGhhdmUgbmV2ZXIgaGVhcmQgb2YgdGhpcyBsaWJyYXJ5LCBzbyB0aGUgcHJlZml4IGhhcyB0byBpZGVudGlmeSBpdHNlbGYuXG4gKi9cbmV4cG9ydCBjb25zdCBQTFVHSU5fTE9BREVEX0VWRU5UX05BTUUgPSAnb2JzaWRpYW4tbGliOnBsdWdpbi1sb2FkZWQnO1xuXG4vKipcbiAqIFRyaWdnZXJlZCBhcyBhIHBsdWdpbiB1bmxvYWRzIOKAlCB3aGV0aGVyIHRoZSB1c2VyIGRpc2FibGVkIGl0LCB1bmluc3RhbGxlZCBpdCwgb3IgT2JzaWRpYW4gaXMgc2h1dHRpbmdcbiAqIGRvd24uIEl0cyBBUElzIGFyZSByZXZva2VkIGJ5IHRoZSB0aW1lIGEgbGlzdGVuZXIgcnVucy5cbiAqL1xuZXhwb3J0IGNvbnN0IFBMVUdJTl9VTkxPQURFRF9FVkVOVF9OQU1FID0gJ29ic2lkaWFuLWxpYjpwbHVnaW4tdW5sb2FkZWQnO1xuXG5kZWNsYXJlIG1vZHVsZSAnb2JzaWRpYW4nIHtcbiAgaW50ZXJmYWNlIFdvcmtzcGFjZSB7XG4gICAgLyoqXG4gICAgICogU3Vic2NyaWJlcyB0byBhIHBsdWdpbiBmaW5pc2hpbmcgaXRzIGxvYWQsIG9yIHRvIG9uZSB1bmxvYWRpbmcuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gbmFtZSAtIFNob3VsZCBiZSB7QGxpbmsgUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FfSBvciB7QGxpbmsgUExVR0lOX1VOTE9BREVEX0VWRU5UX05BTUV9LlxuICAgICAqIEBwYXJhbSBjYWxsYmFjayAtIFRoZSBjYWxsYmFjayByZWNlaXZpbmcgdGhlIHBsdWdpbidzIHBheWxvYWQuXG4gICAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgY29udGV4dCBwYXNzZWQgYXMgYHRoaXNgIHRvIHRoZSBgY2FsbGJhY2tgIGZ1bmN0aW9uLlxuICAgICAqIEByZXR1cm5zIFRoZSBldmVudCByZWZlcmVuY2UuXG4gICAgICovXG4gICAgLypcbiAgICAgKiBBbiBhdWdtZW50YXRpb24gb2YgYW4gRVhJU1RJTkcgb3ZlcmxvYWQgc2V0IGhhcyB0byBzdGF5IGEgbWV0aG9kIHNpZ25hdHVyZS4gQSBwcm9wZXJ0eSBtZW1iZXIgZG9lcyBub3QgbWVyZ2UgaW50b1xuICAgICAqIGBXb3Jrc3BhY2Uub25gJ3Mgb3ZlcmxvYWRzLCBhbmQgVHlwZVNjcmlwdCBzYXlzIHNvIG5vd2hlcmUgbmVhciBoZXJlOiB0aGUgZGVjbGFyYXRpb24gaXRzZWxmIGNvbXBpbGVzLCBhbmQgZXZlcnlcbiAgICAgKiBjYWxsIHNpdGUgbG9zZXMgdGhlIHNpZ25hdHVyZSBpbnN0ZWFkIOKAlCBgb24oUExVR0lOX0xPQURFRF9FVkVOVF9OQU1FLCAuLi4pYCBmYWlscyB3aXRoIFwidGhlIGxhc3Qgb3ZlcmxvYWQgZ2F2ZSB0aGVcbiAgICAgKiBmb2xsb3dpbmcgZXJyb3JcIi4gVGhlIHJ1bGUgcmVwb3J0cyB0aGlzIG9uZSB3aXRob3V0IGEgZml4IGZvciB0aGUgc2FtZSByZWFzb24sIHNvIHRoZSBkaXNhYmxlIGJlbG93IGlzIHRoZSBhbnN3ZXJcbiAgICAgKiByYXRoZXIgdGhhbiBhIGRlZmVycmFsLlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbWV0aG9kLXNpZ25hdHVyZS1zdHlsZSAtLSBBIHByb3BlcnR5IG1lbWJlciBkb2VzIG5vdCBtZXJnZSBpbnRvIGFuIGV4aXN0aW5nIG92ZXJsb2FkIHNldC4gU2VlIGFib3ZlLlxuICAgIG9uKFxuICAgICAgbmFtZTogUGx1Z2luTGlmZWN5Y2xlRXZlbnROYW1lLFxuICAgICAgY2FsbGJhY2s6IChwYXlsb2FkOiBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWQpID0+IHVua25vd24sXG4gICAgICBjb250ZXh0PzogdW5rbm93blxuICAgICk6IEV2ZW50UmVmO1xuICB9XG59XG5cbi8qKlxuICogVHJpZ2dlcnMgb25lIG9mIHRoZSB0d28gbGlmZWN5Y2xlIGV2ZW50cyBvbiB0aGUgYXBwJ3Mgd29ya3NwYWNlLlxuICpcbiAqIEEgdGhpbiB0eXBlZCB3cmFwcGVyIG92ZXIgYFdvcmtzcGFjZS50cmlnZ2VyYCwgd2hpY2ggYWNjZXB0cyBhbnkgZXZlbnQgbmFtZSBhbmQgYW55IGFyZ3VtZW50cywgc28gdGhhdCB0aGUgb25lXG4gKiBwbGFjZSBhIHBheWxvYWQgaXMgY29uc3RydWN0ZWQgaXMgY2hlY2tlZCBhZ2FpbnN0IHtAbGluayBQbHVnaW5MaWZlY3ljbGVFdmVudFBheWxvYWR9LlxuICpcbiAqIEBwYXJhbSBwYXJhbXMgLSBUaGUge0BsaW5rIFRyaWdnZXJQbHVnaW5MaWZlY3ljbGVFdmVudFBhcmFtc30uXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0cmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnQocGFyYW1zOiBUcmlnZ2VyUGx1Z2luTGlmZWN5Y2xlRXZlbnRQYXJhbXMpOiB2b2lkIHtcbiAgY29uc3QgeyBhcHAsIG5hbWUsIHBheWxvYWQgfSA9IHBhcmFtcztcbiAgYXBwLndvcmtzcGFjZS50cmlnZ2VyKG5hbWUsIHBheWxvYWQpO1xufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQTRHTyxNQUFNLDJCQUEyQjtBQU1qQyxNQUFNLDZCQUE2QjtBQW9DbkMsU0FBUyw0QkFBNEIsUUFBaUQ7QUFDM0YsUUFBTSxFQUFFLEtBQUssTUFBTSxRQUFRLElBQUk7QUFDL0IsTUFBSSxVQUFVLFFBQVEsTUFBTSxPQUFPO0FBQ3JDOyIsIm5hbWVzIjpbXX0=
@@ -5,10 +5,12 @@
5
5
  * The lifecycle broadcast every {@link PluginBase} makes: `obsidian-lib:plugin-loaded` when it has
6
6
  * finished loading and `obsidian-lib:plugin-unloaded` when it goes away.
7
7
  *
8
- * Obsidian gives a plugin no way to learn that ANOTHER plugin was enabled or disabled — there is no such
9
- * event on `app.plugins`, and a plugin's own `Events` source cannot help a listener that does not yet hold
10
- * the instance. So the broadcast goes through `app.workspace`, which is one object every plugin in the
11
- * vault can reach. Deliberately NOT the `globalThis.__obsidianLib` bag the rest of the library shares
8
+ * Obsidian does say that SOME plugin changed: read from Obsidian `1.15.1`, `app.plugins` triggers
9
+ * `changed`, debounced by one macrotask, after every enable, disable, install, uninstall and manifest
10
+ * reload, but it carries no payload: it does not say which plugin changed, nor that its APIs are published.
11
+ * This broadcast names the plugin and comes after its APIs, so it is the signal for "that plugin is ready
12
+ * to call", and `changed` the signal for "re-read the manifests". The broadcast goes through
13
+ * `app.workspace`, which is one object every plugin in the vault can reach. Deliberately NOT the `globalThis.__obsidianLib` bag the rest of the library shares
12
14
  * its state through: a listener there needs its own copy of this library, and these events are meant to be
13
15
  * consumable by any plugin at all.
14
16
  *
@@ -118,21 +118,21 @@ __export(plugin_settings_tab_exports, {
118
118
  SAVE_TO_FILE_CONTEXT: () => SAVE_TO_FILE_CONTEXT
119
119
  });
120
120
  module.exports = __toCommonJS(plugin_settings_tab_exports);
121
- var import_async = require('@mnaoumov/typescript-lib/async');
122
- var import_async_events = require('@mnaoumov/typescript-lib/async-events');
123
- var import_function = require('@mnaoumov/typescript-lib/function');
124
- var import_object_utils = require('@mnaoumov/typescript-lib/object-utils');
125
- var import_type_guards = require('@mnaoumov/typescript-lib/type-guards');
126
- var import_obsidian = require('obsidian');
127
- var import_async_events_component = require('../components/async-events-component.cjs');
128
- var import_component_ex = require('../components/component-ex.cjs');
129
- var import_css_class = require('../css-class.cjs');
130
- var import_setting_component_wrapper = require('../setting-components/setting-component-wrapper.cjs');
131
- var import_text_based_component = require('../setting-components/text-based-component.cjs');
132
- var import_validator_component = require('../setting-components/validator-component.cjs');
133
- var import_setting_ex = require('../setting-ex.cjs');
134
- var import_validation = require('../validation.cjs');
135
- var import_plugin_context = require('./plugin-context.cjs');
121
+ var import_async = require("@mnaoumov/typescript-lib/async");
122
+ var import_async_events = require("@mnaoumov/typescript-lib/async-events");
123
+ var import_function = require("@mnaoumov/typescript-lib/function");
124
+ var import_object_utils = require("@mnaoumov/typescript-lib/object-utils");
125
+ var import_type_guards = require("@mnaoumov/typescript-lib/type-guards");
126
+ var import_obsidian = require("obsidian");
127
+ var import_async_events_component = require("../components/async-events-component.cjs");
128
+ var import_component_ex = require("../components/component-ex.cjs");
129
+ var import_css_class = require("../css-class.cjs");
130
+ var import_setting_component_wrapper = require("../setting-components/setting-component-wrapper.cjs");
131
+ var import_text_based_component = require("../setting-components/text-based-component.cjs");
132
+ var import_validator_component = require("../setting-components/validator-component.cjs");
133
+ var import_setting_ex = require("../setting-ex.cjs");
134
+ var import_validation = require("../validation.cjs");
135
+ var import_plugin_context = require("./plugin-context.cjs");
136
136
  const SAVE_TO_FILE_CONTEXT = "PluginSettingsTab";
137
137
  class PluginSettingsTabEventsComponent extends import_component_ex.ComponentEx {
138
138
  params;