obsidian-dev-utils 55.4.0 → 56.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 (542) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/lib/cjs/abort-controller.cjs +8 -4
  3. package/dist/lib/cjs/array.cjs +7 -3
  4. package/dist/lib/cjs/async-events.cjs +9 -5
  5. package/dist/lib/cjs/async.cjs +8 -4
  6. package/dist/lib/cjs/blob.cjs +8 -4
  7. package/dist/lib/cjs/codemirror/index.cjs +7 -3
  8. package/dist/lib/cjs/codemirror/state-field-spec.cjs +7 -3
  9. package/dist/lib/cjs/css-class.cjs +7 -3
  10. package/dist/lib/cjs/debug-controller.cjs +7 -3
  11. package/dist/lib/cjs/debug.cjs +7 -3
  12. package/dist/lib/cjs/enum.cjs +7 -3
  13. package/dist/lib/cjs/error.cjs +7 -3
  14. package/dist/lib/cjs/function.cjs +7 -3
  15. package/dist/lib/cjs/html-element.cjs +20 -16
  16. package/dist/lib/cjs/index.cjs +7 -3
  17. package/dist/lib/cjs/library.cjs +8 -4
  18. package/dist/lib/cjs/object-utils.cjs +7 -3
  19. package/dist/lib/cjs/obsidian/@types/i18next.d.cts +3 -3
  20. package/dist/lib/cjs/obsidian/app.cjs +7 -3
  21. package/dist/lib/cjs/obsidian/async-with-notice.cjs +10 -6
  22. package/dist/lib/cjs/obsidian/attachment-path.cjs +7 -3
  23. package/dist/lib/cjs/obsidian/backlink.cjs +7 -3
  24. package/dist/lib/cjs/obsidian/callout.cjs +7 -3
  25. package/dist/lib/cjs/obsidian/code-block-markdown-information.cjs +7 -3
  26. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.cjs +355 -0
  27. package/dist/lib/cjs/obsidian/command-handlers/abstract-file-command-handler.d.cts +178 -0
  28. package/dist/lib/cjs/obsidian/{commands/index.cjs → command-handlers/app-active-file-provider.cjs} +31 -34
  29. package/dist/lib/cjs/obsidian/command-handlers/app-active-file-provider.d.cts +25 -0
  30. package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.cjs +173 -0
  31. package/dist/lib/cjs/obsidian/command-handlers/app-menu-event-registrar.d.cts +41 -0
  32. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.cjs +164 -0
  33. package/dist/lib/cjs/obsidian/command-handlers/command-handler-component.d.cts +26 -0
  34. package/dist/lib/cjs/obsidian/command-handlers/command-handler.cjs +174 -0
  35. package/dist/lib/cjs/obsidian/command-handlers/command-handler.d.cts +143 -0
  36. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.cjs +269 -0
  37. package/dist/lib/cjs/obsidian/command-handlers/editor-command-handler.d.cts +114 -0
  38. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.cjs +261 -0
  39. package/dist/lib/cjs/obsidian/command-handlers/file-command-handler.d.cts +112 -0
  40. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.cjs +261 -0
  41. package/dist/lib/cjs/obsidian/command-handlers/folder-command-handler.d.cts +112 -0
  42. package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.cjs +177 -0
  43. package/dist/lib/cjs/obsidian/command-handlers/global-command-handler.d.cts +38 -0
  44. package/dist/lib/cjs/obsidian/command-handlers/index.cjs +170 -0
  45. package/dist/lib/cjs/obsidian/command-handlers/index.d.cts +9 -0
  46. package/dist/lib/cjs/obsidian/components/all-windows-event-handler.cjs +8 -4
  47. package/dist/lib/cjs/obsidian/components/async-component.cjs +164 -0
  48. package/dist/lib/cjs/obsidian/components/async-component.d.cts +28 -0
  49. package/dist/lib/cjs/obsidian/components/async-events-component.cjs +7 -3
  50. package/dist/lib/cjs/obsidian/components/index.cjs +10 -3
  51. package/dist/lib/cjs/obsidian/components/index.d.cts +1 -0
  52. package/dist/lib/cjs/obsidian/components/setting-components/checkbox-component.cjs +7 -3
  53. package/dist/lib/cjs/obsidian/components/setting-components/code-highlighter-component.cjs +7 -3
  54. package/dist/lib/cjs/obsidian/components/setting-components/date-component.cjs +7 -3
  55. package/dist/lib/cjs/obsidian/components/setting-components/date-time-component.cjs +7 -3
  56. package/dist/lib/cjs/obsidian/components/setting-components/email-component.cjs +7 -3
  57. package/dist/lib/cjs/obsidian/components/setting-components/file-component.cjs +7 -3
  58. package/dist/lib/cjs/obsidian/components/setting-components/index.cjs +7 -3
  59. package/dist/lib/cjs/obsidian/components/setting-components/month-component.cjs +7 -3
  60. package/dist/lib/cjs/obsidian/components/setting-components/multiple-dropdown-component.cjs +7 -3
  61. package/dist/lib/cjs/obsidian/components/setting-components/multiple-email-component.cjs +7 -3
  62. package/dist/lib/cjs/obsidian/components/setting-components/multiple-file-component.cjs +7 -3
  63. package/dist/lib/cjs/obsidian/components/setting-components/multiple-text-component.cjs +7 -3
  64. package/dist/lib/cjs/obsidian/components/setting-components/number-component.cjs +7 -3
  65. package/dist/lib/cjs/obsidian/components/setting-components/password-component.cjs +7 -3
  66. package/dist/lib/cjs/obsidian/components/setting-components/setting-component-wrapper.cjs +7 -3
  67. package/dist/lib/cjs/obsidian/components/setting-components/telephone-component.cjs +7 -3
  68. package/dist/lib/cjs/obsidian/components/setting-components/text-based-component.cjs +7 -3
  69. package/dist/lib/cjs/obsidian/components/setting-components/time-component.cjs +7 -3
  70. package/dist/lib/cjs/obsidian/components/setting-components/tri-state-checkbox-component.cjs +7 -3
  71. package/dist/lib/cjs/obsidian/components/setting-components/typed-dropdown-component.cjs +7 -3
  72. package/dist/lib/cjs/obsidian/components/setting-components/typed-multiple-dropdown-component.cjs +7 -3
  73. package/dist/lib/cjs/obsidian/components/setting-components/typed-range-text-component.cjs +7 -3
  74. package/dist/lib/cjs/obsidian/components/setting-components/typed-text-component.cjs +7 -3
  75. package/dist/lib/cjs/obsidian/components/setting-components/url-component.cjs +7 -3
  76. package/dist/lib/cjs/obsidian/components/setting-components/validator-component.cjs +9 -5
  77. package/dist/lib/cjs/obsidian/components/setting-components/value-component-with-change-tracking.cjs +7 -3
  78. package/dist/lib/cjs/obsidian/components/setting-components/week-component.cjs +7 -3
  79. package/dist/lib/cjs/obsidian/constructors/getDomEventsHandlersConstructor.cjs +7 -3
  80. package/dist/lib/cjs/obsidian/constructors/index.cjs +7 -3
  81. package/dist/lib/cjs/obsidian/dataview-link.cjs +7 -3
  82. package/dist/lib/cjs/obsidian/dataview.cjs +8 -4
  83. package/dist/lib/cjs/obsidian/editor.cjs +7 -3
  84. package/dist/lib/cjs/obsidian/file-change.cjs +7 -3
  85. package/dist/lib/cjs/obsidian/file-manager.cjs +7 -3
  86. package/dist/lib/cjs/obsidian/file-system.cjs +7 -3
  87. package/dist/lib/cjs/obsidian/frontmatter-link-cache-with-offsets.cjs +7 -3
  88. package/dist/lib/cjs/obsidian/frontmatter.cjs +7 -3
  89. package/dist/lib/cjs/obsidian/i18n/{custom-type-options-base.cjs → custom-type-options.cjs} +9 -5
  90. package/dist/lib/cjs/obsidian/i18n/custom-type-options.d.cts +37 -0
  91. package/dist/lib/cjs/obsidian/{plugin/plugin-settings-wrapper.cjs → i18n/default-translations.cjs} +10 -5
  92. package/dist/lib/cjs/obsidian/i18n/default-translations.d.cts +14 -0
  93. package/dist/lib/cjs/obsidian/i18n/i18n.cjs +7 -3
  94. package/dist/lib/cjs/obsidian/i18n/i18n.d.cts +2 -13
  95. package/dist/lib/cjs/obsidian/i18n/index.cjs +13 -9
  96. package/dist/lib/cjs/obsidian/i18n/index.d.cts +2 -2
  97. package/dist/lib/cjs/obsidian/i18n/locales/en.cjs +7 -3
  98. package/dist/lib/cjs/obsidian/i18n/locales/index.cjs +7 -3
  99. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.cjs +7 -3
  100. package/dist/lib/cjs/obsidian/i18n/locales/translations-map.d.cts +1 -2
  101. package/dist/lib/cjs/obsidian/index.cjs +10 -6
  102. package/dist/lib/cjs/obsidian/index.d.cts +1 -1
  103. package/dist/lib/cjs/obsidian/is-in-obsidian.cjs +7 -3
  104. package/dist/lib/cjs/obsidian/link.cjs +7 -3
  105. package/dist/lib/cjs/obsidian/logger.cjs +7 -3
  106. package/dist/lib/cjs/obsidian/loop.cjs +7 -3
  107. package/dist/lib/cjs/obsidian/markdown-code-block-processor.cjs +7 -3
  108. package/dist/lib/cjs/obsidian/markdown-view.cjs +7 -3
  109. package/dist/lib/cjs/obsidian/markdown.cjs +7 -3
  110. package/dist/lib/cjs/obsidian/metadata-cache.cjs +7 -3
  111. package/dist/lib/cjs/obsidian/modals/alert.cjs +10 -6
  112. package/dist/lib/cjs/obsidian/modals/confirm.cjs +10 -6
  113. package/dist/lib/cjs/obsidian/modals/index.cjs +10 -6
  114. package/dist/lib/cjs/obsidian/modals/index.d.cts +1 -1
  115. package/dist/lib/cjs/obsidian/modals/{modal-base.cjs → modal.cjs} +10 -6
  116. package/dist/lib/cjs/obsidian/modals/prompt.cjs +10 -6
  117. package/dist/lib/cjs/obsidian/modals/select-item.cjs +9 -5
  118. package/dist/lib/cjs/obsidian/monkey-around.cjs +7 -3
  119. package/dist/lib/cjs/obsidian/obsidian-settings.cjs +7 -3
  120. package/dist/lib/cjs/obsidian/pdf.cjs +10 -6
  121. package/dist/lib/cjs/obsidian/{commands/non-editor-command-base.cjs → plugin/components/abort-signal-component.cjs} +31 -21
  122. package/dist/lib/cjs/obsidian/plugin/components/abort-signal-component.d.cts +27 -0
  123. package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.cjs +165 -0
  124. package/dist/lib/cjs/obsidian/plugin/components/async-error-handler-component.d.cts +29 -0
  125. package/dist/lib/cjs/obsidian/plugin/components/console-debug-component.cjs +160 -0
  126. package/dist/lib/cjs/obsidian/plugin/components/console-debug-component.d.cts +29 -0
  127. package/dist/lib/cjs/obsidian/{i18n/default-translations-base.cjs → plugin/components/i18n-component.cjs} +41 -6
  128. package/dist/lib/cjs/obsidian/plugin/components/i18n-component.d.cts +23 -0
  129. package/dist/lib/cjs/obsidian/plugin/components/index.cjs +170 -0
  130. package/dist/lib/cjs/obsidian/plugin/components/index.d.cts +9 -0
  131. package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.cjs +207 -0
  132. package/dist/lib/cjs/obsidian/plugin/components/lifecycle-events-component.d.cts +59 -0
  133. package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.cjs +162 -0
  134. package/dist/lib/cjs/obsidian/plugin/components/plugin-context-component.d.cts +25 -0
  135. package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.cjs +161 -0
  136. package/dist/lib/cjs/obsidian/plugin/components/plugin-notice-component.d.cts +25 -0
  137. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.cjs +566 -0
  138. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-component.d.cts +296 -0
  139. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.cjs +166 -0
  140. package/dist/lib/cjs/obsidian/plugin/components/plugin-settings-tab-component.d.cts +28 -0
  141. package/dist/lib/cjs/obsidian/plugin/index.cjs +13 -18
  142. package/dist/lib/cjs/obsidian/plugin/index.d.cts +2 -5
  143. package/dist/lib/cjs/obsidian/plugin/obsidian-plugin-repo-paths.cjs +7 -3
  144. package/dist/lib/cjs/obsidian/plugin/path-settings.cjs +7 -3
  145. package/dist/lib/cjs/obsidian/plugin/plugin-context.cjs +18 -7
  146. package/dist/lib/cjs/obsidian/plugin/plugin-context.d.cts +3 -2
  147. package/dist/lib/cjs/obsidian/plugin/plugin-id.cjs +7 -3
  148. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab.cjs +408 -0
  149. package/dist/lib/cjs/obsidian/plugin/{plugin-settings-tab-base.d.cts → plugin-settings-tab.d.cts} +28 -11
  150. package/dist/lib/cjs/obsidian/plugin/plugin.cjs +137 -3
  151. package/dist/lib/cjs/obsidian/plugin/plugin.d.cts +106 -5
  152. package/dist/lib/cjs/obsidian/queue.cjs +7 -3
  153. package/dist/lib/cjs/obsidian/react/app-context.cjs +7 -3
  154. package/dist/lib/cjs/obsidian/react/index.cjs +7 -3
  155. package/dist/lib/cjs/obsidian/reference.cjs +7 -3
  156. package/dist/lib/cjs/obsidian/rename-delete-handler.cjs +7 -3
  157. package/dist/lib/cjs/obsidian/resource-url.cjs +7 -3
  158. package/dist/lib/cjs/obsidian/setting-ex.cjs +7 -3
  159. package/dist/lib/cjs/obsidian/setting-group-ex.cjs +7 -3
  160. package/dist/lib/cjs/obsidian/validation.cjs +7 -3
  161. package/dist/lib/cjs/obsidian/vault-delete.cjs +7 -3
  162. package/dist/lib/cjs/obsidian/vault.cjs +7 -3
  163. package/dist/lib/cjs/obsidian/workspace.cjs +7 -3
  164. package/dist/lib/cjs/path.cjs +7 -3
  165. package/dist/lib/cjs/reg-exp.cjs +7 -3
  166. package/dist/lib/cjs/script-utils/build.cjs +7 -3
  167. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/change-extension-plugin.cjs +7 -3
  168. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.cjs +7 -3
  169. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.cjs +7 -3
  170. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/dependency.cjs +8 -4
  171. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-esm-plugin.cjs +7 -3
  172. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.cjs +7 -3
  173. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/index.cjs +7 -3
  174. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.cjs +7 -3
  175. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/preprocess-plugin.cjs +10 -6
  176. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/rename-css-plugin.cjs +7 -3
  177. package/dist/lib/cjs/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.cjs +7 -3
  178. package/dist/lib/cjs/script-utils/bundlers/esbuild.cjs +7 -3
  179. package/dist/lib/cjs/script-utils/bundlers/index.cjs +7 -3
  180. package/dist/lib/cjs/script-utils/cli-utils.cjs +7 -3
  181. package/dist/lib/cjs/script-utils/code-generator.cjs +7 -3
  182. package/dist/lib/cjs/script-utils/commitlint-config.cjs +7 -3
  183. package/dist/lib/cjs/script-utils/exec.cjs +7 -3
  184. package/dist/lib/cjs/script-utils/formatters/dprint.cjs +8 -4
  185. package/dist/lib/cjs/script-utils/formatters/index.cjs +7 -3
  186. package/dist/lib/cjs/script-utils/fs.cjs +7 -3
  187. package/dist/lib/cjs/script-utils/index.cjs +7 -3
  188. package/dist/lib/cjs/script-utils/json.cjs +7 -3
  189. package/dist/lib/cjs/script-utils/linters/cspell.cjs +7 -3
  190. package/dist/lib/cjs/script-utils/linters/eslint-config.cjs +9 -13
  191. package/dist/lib/cjs/script-utils/linters/eslint-rules/index.cjs +7 -3
  192. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.cjs +7 -3
  193. package/dist/lib/cjs/script-utils/linters/eslint-rules/no-used-underscore-variables.cjs +7 -3
  194. package/dist/lib/cjs/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.cjs +7 -3
  195. package/dist/lib/cjs/script-utils/linters/eslint-rules/rule-tester-helper.cjs +7 -3
  196. package/dist/lib/cjs/script-utils/linters/eslint.cjs +8 -4
  197. package/dist/lib/cjs/script-utils/linters/index.cjs +7 -3
  198. package/dist/lib/cjs/script-utils/linters/markdownlint-cli2-config.cjs +7 -3
  199. package/dist/lib/cjs/script-utils/linters/markdownlint.cjs +11 -5
  200. package/dist/lib/cjs/script-utils/nano-staged-config.cjs +7 -3
  201. package/dist/lib/cjs/script-utils/npm-publish.cjs +7 -3
  202. package/dist/lib/cjs/script-utils/npm-run.cjs +7 -3
  203. package/dist/lib/cjs/script-utils/npm.cjs +7 -3
  204. package/dist/lib/cjs/script-utils/obsidian-dev-utils-repo-paths.cjs +7 -3
  205. package/dist/lib/cjs/script-utils/root.cjs +7 -3
  206. package/dist/lib/cjs/script-utils/test-runners/index.cjs +7 -3
  207. package/dist/lib/cjs/script-utils/test-runners/vitest.cjs +7 -3
  208. package/dist/lib/cjs/script-utils/version.cjs +7 -3
  209. package/dist/lib/cjs/strict-proxy.cjs +7 -3
  210. package/dist/lib/cjs/string.cjs +7 -3
  211. package/dist/lib/cjs/transformers/date-transformer.cjs +7 -3
  212. package/dist/lib/cjs/transformers/duration-transformer.cjs +7 -3
  213. package/dist/lib/cjs/transformers/group-transformer.cjs +7 -3
  214. package/dist/lib/cjs/transformers/index.cjs +7 -3
  215. package/dist/lib/cjs/transformers/map-transformer.cjs +7 -3
  216. package/dist/lib/cjs/transformers/set-transformer.cjs +7 -3
  217. package/dist/lib/cjs/transformers/skip-private-property-transformer.cjs +7 -3
  218. package/dist/lib/cjs/transformers/transformer.cjs +7 -3
  219. package/dist/lib/cjs/transformers/two-way-map-transformer.cjs +7 -3
  220. package/dist/lib/cjs/transformers/typed-transformer.cjs +7 -3
  221. package/dist/lib/cjs/two-way-map.cjs +7 -3
  222. package/dist/lib/cjs/type-guards.cjs +7 -3
  223. package/dist/lib/cjs/type.cjs +7 -3
  224. package/dist/lib/cjs/url.cjs +7 -3
  225. package/dist/lib/cjs/value-provider.cjs +7 -3
  226. package/dist/lib/esm/abort-controller.mjs +4 -2
  227. package/dist/lib/esm/array.mjs +3 -1
  228. package/dist/lib/esm/async-events.mjs +5 -3
  229. package/dist/lib/esm/async.mjs +4 -2
  230. package/dist/lib/esm/blob.mjs +4 -2
  231. package/dist/lib/esm/codemirror/index.mjs +3 -1
  232. package/dist/lib/esm/codemirror/state-field-spec.mjs +2 -0
  233. package/dist/lib/esm/css-class.mjs +3 -1
  234. package/dist/lib/esm/debug-controller.mjs +2 -0
  235. package/dist/lib/esm/debug.mjs +3 -1
  236. package/dist/lib/esm/enum.mjs +3 -1
  237. package/dist/lib/esm/error.mjs +3 -1
  238. package/dist/lib/esm/function.mjs +3 -1
  239. package/dist/lib/esm/html-element.mjs +16 -14
  240. package/dist/lib/esm/index.mjs +3 -1
  241. package/dist/lib/esm/library.mjs +4 -2
  242. package/dist/lib/esm/object-utils.mjs +3 -1
  243. package/dist/lib/esm/obsidian/@types/i18next.d.mts +3 -3
  244. package/dist/lib/esm/obsidian/app.mjs +3 -1
  245. package/dist/lib/esm/obsidian/async-with-notice.mjs +6 -4
  246. package/dist/lib/esm/obsidian/attachment-path.mjs +3 -1
  247. package/dist/lib/esm/obsidian/backlink.mjs +3 -1
  248. package/dist/lib/esm/obsidian/callout.mjs +3 -1
  249. package/dist/lib/esm/obsidian/code-block-markdown-information.mjs +2 -0
  250. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.d.mts +178 -0
  251. package/dist/lib/esm/obsidian/command-handlers/abstract-file-command-handler.mjs +247 -0
  252. package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.d.mts +25 -0
  253. package/dist/lib/esm/obsidian/command-handlers/app-active-file-provider.mjs +46 -0
  254. package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.d.mts +41 -0
  255. package/dist/lib/esm/obsidian/command-handlers/app-menu-event-registrar.mjs +65 -0
  256. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.d.mts +26 -0
  257. package/dist/lib/esm/obsidian/command-handlers/command-handler-component.mjs +56 -0
  258. package/dist/lib/esm/obsidian/command-handlers/command-handler.d.mts +143 -0
  259. package/dist/lib/esm/obsidian/command-handlers/command-handler.mjs +66 -0
  260. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.d.mts +114 -0
  261. package/dist/lib/esm/obsidian/command-handlers/editor-command-handler.mjs +161 -0
  262. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.d.mts +112 -0
  263. package/dist/lib/esm/obsidian/command-handlers/file-command-handler.mjs +157 -0
  264. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.d.mts +112 -0
  265. package/dist/lib/esm/obsidian/command-handlers/folder-command-handler.mjs +157 -0
  266. package/dist/lib/esm/obsidian/command-handlers/global-command-handler.d.mts +38 -0
  267. package/dist/lib/esm/obsidian/command-handlers/global-command-handler.mjs +69 -0
  268. package/dist/lib/esm/obsidian/command-handlers/index.d.mts +9 -0
  269. package/dist/lib/esm/obsidian/command-handlers/index.mjs +44 -0
  270. package/dist/lib/esm/obsidian/components/all-windows-event-handler.mjs +4 -2
  271. package/dist/lib/esm/obsidian/components/async-component.d.mts +28 -0
  272. package/dist/lib/esm/obsidian/components/async-component.mjs +56 -0
  273. package/dist/lib/esm/obsidian/components/async-events-component.mjs +3 -1
  274. package/dist/lib/esm/obsidian/components/index.d.mts +1 -0
  275. package/dist/lib/esm/obsidian/components/index.mjs +5 -1
  276. package/dist/lib/esm/obsidian/components/setting-components/checkbox-component.mjs +3 -1
  277. package/dist/lib/esm/obsidian/components/setting-components/code-highlighter-component.mjs +3 -1
  278. package/dist/lib/esm/obsidian/components/setting-components/date-component.mjs +3 -1
  279. package/dist/lib/esm/obsidian/components/setting-components/date-time-component.mjs +3 -1
  280. package/dist/lib/esm/obsidian/components/setting-components/email-component.mjs +3 -1
  281. package/dist/lib/esm/obsidian/components/setting-components/file-component.mjs +3 -1
  282. package/dist/lib/esm/obsidian/components/setting-components/index.mjs +3 -1
  283. package/dist/lib/esm/obsidian/components/setting-components/month-component.mjs +3 -1
  284. package/dist/lib/esm/obsidian/components/setting-components/multiple-dropdown-component.mjs +3 -1
  285. package/dist/lib/esm/obsidian/components/setting-components/multiple-email-component.mjs +3 -1
  286. package/dist/lib/esm/obsidian/components/setting-components/multiple-file-component.mjs +3 -1
  287. package/dist/lib/esm/obsidian/components/setting-components/multiple-text-component.mjs +3 -1
  288. package/dist/lib/esm/obsidian/components/setting-components/number-component.mjs +3 -1
  289. package/dist/lib/esm/obsidian/components/setting-components/password-component.mjs +3 -1
  290. package/dist/lib/esm/obsidian/components/setting-components/setting-component-wrapper.mjs +3 -1
  291. package/dist/lib/esm/obsidian/components/setting-components/telephone-component.mjs +3 -1
  292. package/dist/lib/esm/obsidian/components/setting-components/text-based-component.mjs +3 -1
  293. package/dist/lib/esm/obsidian/components/setting-components/time-component.mjs +3 -1
  294. package/dist/lib/esm/obsidian/components/setting-components/tri-state-checkbox-component.mjs +3 -1
  295. package/dist/lib/esm/obsidian/components/setting-components/typed-dropdown-component.mjs +3 -1
  296. package/dist/lib/esm/obsidian/components/setting-components/typed-multiple-dropdown-component.mjs +3 -1
  297. package/dist/lib/esm/obsidian/components/setting-components/typed-range-text-component.mjs +3 -1
  298. package/dist/lib/esm/obsidian/components/setting-components/typed-text-component.mjs +3 -1
  299. package/dist/lib/esm/obsidian/components/setting-components/url-component.mjs +3 -1
  300. package/dist/lib/esm/obsidian/components/setting-components/validator-component.mjs +5 -3
  301. package/dist/lib/esm/obsidian/components/setting-components/value-component-with-change-tracking.mjs +2 -0
  302. package/dist/lib/esm/obsidian/components/setting-components/week-component.mjs +3 -1
  303. package/dist/lib/esm/obsidian/constructors/getDomEventsHandlersConstructor.mjs +3 -1
  304. package/dist/lib/esm/obsidian/constructors/index.mjs +3 -1
  305. package/dist/lib/esm/obsidian/dataview-link.mjs +3 -1
  306. package/dist/lib/esm/obsidian/dataview.mjs +4 -2
  307. package/dist/lib/esm/obsidian/editor.mjs +3 -1
  308. package/dist/lib/esm/obsidian/file-change.mjs +3 -1
  309. package/dist/lib/esm/obsidian/file-manager.mjs +3 -1
  310. package/dist/lib/esm/obsidian/file-system.mjs +3 -1
  311. package/dist/lib/esm/obsidian/frontmatter-link-cache-with-offsets.mjs +3 -1
  312. package/dist/lib/esm/obsidian/frontmatter.mjs +3 -1
  313. package/dist/lib/esm/obsidian/i18n/custom-type-options.d.mts +37 -0
  314. package/dist/lib/esm/obsidian/i18n/custom-type-options.mjs +25 -0
  315. package/dist/lib/esm/obsidian/i18n/default-translations.d.mts +14 -0
  316. package/dist/lib/esm/obsidian/i18n/default-translations.mjs +25 -0
  317. package/dist/lib/esm/obsidian/i18n/i18n.d.mts +2 -13
  318. package/dist/lib/esm/obsidian/i18n/i18n.mjs +3 -1
  319. package/dist/lib/esm/obsidian/i18n/index.d.mts +2 -2
  320. package/dist/lib/esm/obsidian/i18n/index.mjs +7 -5
  321. package/dist/lib/esm/obsidian/i18n/locales/en.mjs +3 -1
  322. package/dist/lib/esm/obsidian/i18n/locales/index.mjs +3 -1
  323. package/dist/lib/esm/obsidian/i18n/locales/translations-map.d.mts +1 -2
  324. package/dist/lib/esm/obsidian/i18n/locales/translations-map.mjs +3 -1
  325. package/dist/lib/esm/obsidian/index.d.mts +1 -1
  326. package/dist/lib/esm/obsidian/index.mjs +5 -3
  327. package/dist/lib/esm/obsidian/is-in-obsidian.mjs +3 -1
  328. package/dist/lib/esm/obsidian/link.mjs +3 -1
  329. package/dist/lib/esm/obsidian/logger.mjs +3 -1
  330. package/dist/lib/esm/obsidian/loop.mjs +3 -1
  331. package/dist/lib/esm/obsidian/markdown-code-block-processor.mjs +3 -1
  332. package/dist/lib/esm/obsidian/markdown-view.mjs +3 -1
  333. package/dist/lib/esm/obsidian/markdown.mjs +3 -1
  334. package/dist/lib/esm/obsidian/metadata-cache.mjs +3 -1
  335. package/dist/lib/esm/obsidian/modals/alert.mjs +4 -2
  336. package/dist/lib/esm/obsidian/modals/confirm.mjs +4 -2
  337. package/dist/lib/esm/obsidian/modals/index.d.mts +1 -1
  338. package/dist/lib/esm/obsidian/modals/index.mjs +5 -3
  339. package/dist/lib/esm/obsidian/modals/modal.mjs +54 -0
  340. package/dist/lib/esm/obsidian/modals/prompt.mjs +4 -2
  341. package/dist/lib/esm/obsidian/modals/select-item.mjs +4 -2
  342. package/dist/lib/esm/obsidian/monkey-around.mjs +3 -1
  343. package/dist/lib/esm/obsidian/obsidian-settings.mjs +3 -1
  344. package/dist/lib/esm/obsidian/pdf.mjs +6 -4
  345. package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.d.mts +27 -0
  346. package/dist/lib/esm/obsidian/plugin/components/abort-signal-component.mjs +54 -0
  347. package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.d.mts +29 -0
  348. package/dist/lib/esm/obsidian/plugin/components/async-error-handler-component.mjs +57 -0
  349. package/dist/lib/esm/obsidian/plugin/components/console-debug-component.d.mts +29 -0
  350. package/dist/lib/esm/obsidian/plugin/components/console-debug-component.mjs +52 -0
  351. package/dist/lib/esm/obsidian/plugin/components/i18n-component.d.mts +23 -0
  352. package/dist/lib/esm/obsidian/plugin/components/i18n-component.mjs +48 -0
  353. package/dist/lib/esm/obsidian/plugin/components/index.d.mts +9 -0
  354. package/dist/lib/esm/obsidian/plugin/components/index.mjs +44 -0
  355. package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.d.mts +59 -0
  356. package/dist/lib/esm/obsidian/plugin/components/lifecycle-events-component.mjs +102 -0
  357. package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.d.mts +25 -0
  358. package/dist/lib/esm/obsidian/plugin/components/plugin-context-component.mjs +57 -0
  359. package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.d.mts +25 -0
  360. package/dist/lib/esm/obsidian/plugin/components/plugin-notice-component.mjs +56 -0
  361. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.d.mts +296 -0
  362. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-component.mjs +463 -0
  363. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.d.mts +28 -0
  364. package/dist/lib/esm/obsidian/plugin/components/plugin-settings-tab-component.mjs +58 -0
  365. package/dist/lib/esm/obsidian/plugin/index.d.mts +2 -5
  366. package/dist/lib/esm/obsidian/plugin/index.mjs +7 -11
  367. package/dist/lib/esm/obsidian/plugin/obsidian-plugin-repo-paths.mjs +3 -1
  368. package/dist/lib/esm/obsidian/plugin/path-settings.mjs +3 -1
  369. package/dist/lib/esm/obsidian/plugin/plugin-context.d.mts +3 -2
  370. package/dist/lib/esm/obsidian/plugin/plugin-context.mjs +14 -5
  371. package/dist/lib/esm/obsidian/plugin/plugin-id.mjs +3 -1
  372. package/dist/lib/esm/obsidian/plugin/{plugin-settings-tab-base.d.mts → plugin-settings-tab.d.mts} +28 -11
  373. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab.mjs +309 -0
  374. package/dist/lib/esm/obsidian/plugin/plugin.d.mts +106 -5
  375. package/dist/lib/esm/obsidian/plugin/plugin.mjs +140 -2
  376. package/dist/lib/esm/obsidian/queue.mjs +3 -1
  377. package/dist/lib/esm/obsidian/react/app-context.mjs +3 -1
  378. package/dist/lib/esm/obsidian/react/index.mjs +3 -1
  379. package/dist/lib/esm/obsidian/reference.mjs +3 -1
  380. package/dist/lib/esm/obsidian/rename-delete-handler.mjs +3 -1
  381. package/dist/lib/esm/obsidian/resource-url.mjs +3 -1
  382. package/dist/lib/esm/obsidian/setting-ex.mjs +3 -1
  383. package/dist/lib/esm/obsidian/setting-group-ex.mjs +3 -1
  384. package/dist/lib/esm/obsidian/validation.mjs +3 -1
  385. package/dist/lib/esm/obsidian/vault-delete.mjs +3 -1
  386. package/dist/lib/esm/obsidian/vault.mjs +3 -1
  387. package/dist/lib/esm/obsidian/workspace.mjs +3 -1
  388. package/dist/lib/esm/path.mjs +3 -1
  389. package/dist/lib/esm/reg-exp.mjs +3 -1
  390. package/dist/lib/esm/script-utils/build.mjs +3 -1
  391. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/change-extension-plugin.mjs +3 -1
  392. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/copy-to-obsidian-plugins-folder-plugin.mjs +3 -1
  393. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/custom-esbuild-options-plugin.mjs +3 -1
  394. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/dependency.mjs +3 -1
  395. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-esm-plugin.mjs +3 -1
  396. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/fix-source-maps-plugin.mjs +3 -1
  397. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/index.mjs +3 -1
  398. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/obsidian-plugin-builder.mjs +3 -1
  399. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/preprocess-plugin.mjs +5 -3
  400. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/rename-css-plugin.mjs +3 -1
  401. package/dist/lib/esm/script-utils/bundlers/esbuild-impl/svelte-wrapper-plugin.mjs +3 -1
  402. package/dist/lib/esm/script-utils/bundlers/esbuild.mjs +3 -1
  403. package/dist/lib/esm/script-utils/bundlers/index.mjs +3 -1
  404. package/dist/lib/esm/script-utils/cli-utils.mjs +3 -1
  405. package/dist/lib/esm/script-utils/code-generator.mjs +3 -1
  406. package/dist/lib/esm/script-utils/commitlint-config.mjs +3 -1
  407. package/dist/lib/esm/script-utils/exec.mjs +3 -1
  408. package/dist/lib/esm/script-utils/formatters/dprint.mjs +3 -1
  409. package/dist/lib/esm/script-utils/formatters/index.mjs +3 -1
  410. package/dist/lib/esm/script-utils/fs.mjs +3 -1
  411. package/dist/lib/esm/script-utils/index.mjs +3 -1
  412. package/dist/lib/esm/script-utils/json.mjs +3 -1
  413. package/dist/lib/esm/script-utils/linters/cspell.mjs +3 -1
  414. package/dist/lib/esm/script-utils/linters/eslint-config.mjs +5 -11
  415. package/dist/lib/esm/script-utils/linters/eslint-rules/index.mjs +3 -1
  416. package/dist/lib/esm/script-utils/linters/eslint-rules/no-async-callback-to-unsafe-return.mjs +3 -1
  417. package/dist/lib/esm/script-utils/linters/eslint-rules/no-used-underscore-variables.mjs +3 -1
  418. package/dist/lib/esm/script-utils/linters/eslint-rules/obsidian-dev-utils-plugin.mjs +3 -1
  419. package/dist/lib/esm/script-utils/linters/eslint-rules/rule-tester-helper.mjs +3 -1
  420. package/dist/lib/esm/script-utils/linters/eslint.mjs +3 -1
  421. package/dist/lib/esm/script-utils/linters/index.mjs +3 -1
  422. package/dist/lib/esm/script-utils/linters/markdownlint-cli2-config.mjs +3 -1
  423. package/dist/lib/esm/script-utils/linters/markdownlint.mjs +6 -2
  424. package/dist/lib/esm/script-utils/nano-staged-config.mjs +3 -1
  425. package/dist/lib/esm/script-utils/npm-publish.mjs +3 -1
  426. package/dist/lib/esm/script-utils/npm-run.mjs +3 -1
  427. package/dist/lib/esm/script-utils/npm.mjs +3 -1
  428. package/dist/lib/esm/script-utils/obsidian-dev-utils-repo-paths.mjs +3 -1
  429. package/dist/lib/esm/script-utils/root.mjs +3 -1
  430. package/dist/lib/esm/script-utils/test-runners/index.mjs +3 -1
  431. package/dist/lib/esm/script-utils/test-runners/vitest.mjs +3 -1
  432. package/dist/lib/esm/script-utils/version.mjs +3 -1
  433. package/dist/lib/esm/strict-proxy.mjs +3 -1
  434. package/dist/lib/esm/string.mjs +3 -1
  435. package/dist/lib/esm/transformers/date-transformer.mjs +3 -1
  436. package/dist/lib/esm/transformers/duration-transformer.mjs +3 -1
  437. package/dist/lib/esm/transformers/group-transformer.mjs +3 -1
  438. package/dist/lib/esm/transformers/index.mjs +3 -1
  439. package/dist/lib/esm/transformers/map-transformer.mjs +3 -1
  440. package/dist/lib/esm/transformers/set-transformer.mjs +3 -1
  441. package/dist/lib/esm/transformers/skip-private-property-transformer.mjs +3 -1
  442. package/dist/lib/esm/transformers/transformer.mjs +3 -1
  443. package/dist/lib/esm/transformers/two-way-map-transformer.mjs +3 -1
  444. package/dist/lib/esm/transformers/typed-transformer.mjs +3 -1
  445. package/dist/lib/esm/two-way-map.mjs +3 -1
  446. package/dist/lib/esm/type-guards.mjs +3 -1
  447. package/dist/lib/esm/type.mjs +3 -1
  448. package/dist/lib/esm/url.mjs +3 -1
  449. package/dist/lib/esm/value-provider.mjs +3 -1
  450. package/obsidian/Components/async-component/package.json +6 -0
  451. package/obsidian/Modals/modal/package.json +6 -0
  452. package/obsidian/Plugin/components/abort-signal-component/package.json +6 -0
  453. package/obsidian/Plugin/components/async-error-handler-component/package.json +6 -0
  454. package/obsidian/Plugin/components/console-debug-component/package.json +6 -0
  455. package/obsidian/Plugin/components/i18n-component/package.json +6 -0
  456. package/obsidian/Plugin/components/index/package.json +6 -0
  457. package/obsidian/Plugin/components/lifecycle-events-component/package.json +6 -0
  458. package/obsidian/Plugin/components/package.json +6 -0
  459. package/obsidian/Plugin/components/plugin-context-component/package.json +6 -0
  460. package/obsidian/Plugin/components/plugin-notice-component/package.json +6 -0
  461. package/obsidian/Plugin/components/plugin-settings-component/package.json +6 -0
  462. package/obsidian/Plugin/components/plugin-settings-tab-component/package.json +6 -0
  463. package/obsidian/Plugin/{plugin-settings-wrapper → plugin-settings-tab}/package.json +3 -3
  464. package/obsidian/command-handlers/abstract-file-command-handler/package.json +6 -0
  465. package/obsidian/command-handlers/app-active-file-provider/package.json +6 -0
  466. package/obsidian/command-handlers/app-menu-event-registrar/package.json +6 -0
  467. package/obsidian/command-handlers/command-handler/package.json +6 -0
  468. package/obsidian/command-handlers/command-handler-component/package.json +6 -0
  469. package/obsidian/command-handlers/editor-command-handler/package.json +6 -0
  470. package/obsidian/command-handlers/file-command-handler/package.json +6 -0
  471. package/obsidian/command-handlers/folder-command-handler/package.json +6 -0
  472. package/obsidian/command-handlers/global-command-handler/package.json +6 -0
  473. package/obsidian/command-handlers/index/package.json +6 -0
  474. package/obsidian/command-handlers/package.json +6 -0
  475. package/obsidian/i18n/{custom-type-options-base → custom-type-options}/package.json +3 -3
  476. package/obsidian/i18n/{default-translations-base → default-translations}/package.json +3 -3
  477. package/package.json +33 -12
  478. package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.cjs +0 -439
  479. package/dist/lib/cjs/obsidian/commands/abstract-file-command-base.d.cts +0 -264
  480. package/dist/lib/cjs/obsidian/commands/command-base.cjs +0 -253
  481. package/dist/lib/cjs/obsidian/commands/command-base.d.cts +0 -125
  482. package/dist/lib/cjs/obsidian/commands/editor-command-base.cjs +0 -280
  483. package/dist/lib/cjs/obsidian/commands/editor-command-base.d.cts +0 -139
  484. package/dist/lib/cjs/obsidian/commands/file-command-base.cjs +0 -341
  485. package/dist/lib/cjs/obsidian/commands/file-command-base.d.cts +0 -191
  486. package/dist/lib/cjs/obsidian/commands/folder-command-base.cjs +0 -333
  487. package/dist/lib/cjs/obsidian/commands/folder-command-base.d.cts +0 -184
  488. package/dist/lib/cjs/obsidian/commands/index.d.cts +0 -6
  489. package/dist/lib/cjs/obsidian/commands/non-editor-command-base.d.cts +0 -34
  490. package/dist/lib/cjs/obsidian/i18n/custom-type-options-base.d.cts +0 -37
  491. package/dist/lib/cjs/obsidian/i18n/default-translations-base.d.cts +0 -25
  492. package/dist/lib/cjs/obsidian/plugin/plugin-base.cjs +0 -407
  493. package/dist/lib/cjs/obsidian/plugin/plugin-base.d.cts +0 -176
  494. package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.cjs +0 -484
  495. package/dist/lib/cjs/obsidian/plugin/plugin-settings-manager-base.d.cts +0 -186
  496. package/dist/lib/cjs/obsidian/plugin/plugin-settings-tab-base.cjs +0 -399
  497. package/dist/lib/cjs/obsidian/plugin/plugin-settings-wrapper.d.cts +0 -25
  498. package/dist/lib/cjs/obsidian/plugin/plugin-types-base.cjs +0 -120
  499. package/dist/lib/cjs/obsidian/plugin/plugin-types-base.d.cts +0 -87
  500. package/dist/lib/esm/obsidian/commands/abstract-file-command-base.d.mts +0 -264
  501. package/dist/lib/esm/obsidian/commands/abstract-file-command-base.mjs +0 -329
  502. package/dist/lib/esm/obsidian/commands/command-base.d.mts +0 -125
  503. package/dist/lib/esm/obsidian/commands/command-base.mjs +0 -146
  504. package/dist/lib/esm/obsidian/commands/editor-command-base.d.mts +0 -139
  505. package/dist/lib/esm/obsidian/commands/editor-command-base.mjs +0 -176
  506. package/dist/lib/esm/obsidian/commands/file-command-base.d.mts +0 -191
  507. package/dist/lib/esm/obsidian/commands/file-command-base.mjs +0 -240
  508. package/dist/lib/esm/obsidian/commands/folder-command-base.d.mts +0 -184
  509. package/dist/lib/esm/obsidian/commands/folder-command-base.mjs +0 -232
  510. package/dist/lib/esm/obsidian/commands/index.d.mts +0 -6
  511. package/dist/lib/esm/obsidian/commands/index.mjs +0 -36
  512. package/dist/lib/esm/obsidian/commands/non-editor-command-base.d.mts +0 -34
  513. package/dist/lib/esm/obsidian/commands/non-editor-command-base.mjs +0 -46
  514. package/dist/lib/esm/obsidian/i18n/custom-type-options-base.d.mts +0 -37
  515. package/dist/lib/esm/obsidian/i18n/custom-type-options-base.mjs +0 -23
  516. package/dist/lib/esm/obsidian/i18n/default-translations-base.d.mts +0 -25
  517. package/dist/lib/esm/obsidian/i18n/default-translations-base.mjs +0 -23
  518. package/dist/lib/esm/obsidian/modals/modal-base.mjs +0 -52
  519. package/dist/lib/esm/obsidian/plugin/plugin-base.d.mts +0 -176
  520. package/dist/lib/esm/obsidian/plugin/plugin-base.mjs +0 -317
  521. package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.d.mts +0 -186
  522. package/dist/lib/esm/obsidian/plugin/plugin-settings-manager-base.mjs +0 -385
  523. package/dist/lib/esm/obsidian/plugin/plugin-settings-tab-base.mjs +0 -302
  524. package/dist/lib/esm/obsidian/plugin/plugin-settings-wrapper.d.mts +0 -25
  525. package/dist/lib/esm/obsidian/plugin/plugin-settings-wrapper.mjs +0 -22
  526. package/dist/lib/esm/obsidian/plugin/plugin-types-base.d.mts +0 -87
  527. package/dist/lib/esm/obsidian/plugin/plugin-types-base.mjs +0 -22
  528. package/obsidian/Commands/abstract-file-command-base/package.json +0 -6
  529. package/obsidian/Commands/command-base/package.json +0 -6
  530. package/obsidian/Commands/editor-command-base/package.json +0 -6
  531. package/obsidian/Commands/file-command-base/package.json +0 -6
  532. package/obsidian/Commands/folder-command-base/package.json +0 -6
  533. package/obsidian/Commands/index/package.json +0 -6
  534. package/obsidian/Commands/non-editor-command-base/package.json +0 -6
  535. package/obsidian/Commands/package.json +0 -6
  536. package/obsidian/Modals/modal-base/package.json +0 -6
  537. package/obsidian/Plugin/plugin-base/package.json +0 -6
  538. package/obsidian/Plugin/plugin-settings-manager-base/package.json +0 -6
  539. package/obsidian/Plugin/plugin-settings-tab-base/package.json +0 -6
  540. package/obsidian/Plugin/plugin-types-base/package.json +0 -6
  541. /package/dist/lib/cjs/obsidian/modals/{modal-base.d.cts → modal.d.cts} +0 -0
  542. /package/dist/lib/esm/obsidian/modals/{modal-base.d.mts → modal.d.mts} +0 -0
@@ -0,0 +1,296 @@
1
+ /**
2
+ * @file
3
+ *
4
+ * Component that manages plugin settings: data, persistence, validation, and events.
5
+ *
6
+ * This is the single public-facing settings API for plugin authors.
7
+ * All settings logic (load, save, validate, transform, clone) is handled directly
8
+ * by this component — no separate manager class is needed.
9
+ */
10
+ import type { Promisable, ReadonlyDeep } from 'type-fest';
11
+ import type { AsyncEventRef } from '../../../async-events.mjs';
12
+ import type { Transformer } from '../../../transformers/transformer.mjs';
13
+ import type { GenericObject } from '../../../type-guards.mjs';
14
+ import type { MaybeReturn, StringKeys } from '../../../type.mjs';
15
+ import { AsyncComponentBase } from '../../components/async-component.mjs';
16
+ /**
17
+ * Component key used by {@link registerComponent} to identify settings components.
18
+ */
19
+ export declare const PLUGIN_SETTINGS_COMPONENT_KEY = "PluginSettingsComponent";
20
+ /**
21
+ * Params for creating a {@link PluginSettingsComponentBase}.
22
+ */
23
+ export interface PluginSettingsComponentParams {
24
+ /**
25
+ * A function to load data from the plugin's data file.
26
+ *
27
+ * @returns The loaded data.
28
+ */
29
+ readonly loadData: () => Promise<unknown>;
30
+ /**
31
+ * A function to save data to the plugin's data file.
32
+ *
33
+ * @param data - The data to save.
34
+ */
35
+ readonly saveData: (data: unknown) => Promise<void>;
36
+ }
37
+ /**
38
+ * A snapshot of plugin settings state, including raw input values, effective (validated) values,
39
+ * and per-property validation messages.
40
+ *
41
+ * @typeParam PluginSettings - The type of the plugin settings.
42
+ */
43
+ export interface PluginSettingsState<PluginSettings extends object> {
44
+ /**
45
+ * The effective settings values used by the plugin. Invalid properties are replaced with defaults.
46
+ */
47
+ effectiveValues: PluginSettings;
48
+ /**
49
+ * The raw input values as entered by the user. May contain invalid values.
50
+ */
51
+ inputValues: PluginSettings;
52
+ /**
53
+ * Per-property validation messages. Empty string means valid.
54
+ */
55
+ validationMessages: Record<StringKeys<PluginSettings>, string>;
56
+ }
57
+ /**
58
+ * Readonly version of {@link PluginSettingsState} for use in event callbacks and public getters.
59
+ *
60
+ * @typeParam PluginSettings - The type of the plugin settings.
61
+ */
62
+ export type ReadonlyPluginSettingsState<PluginSettings extends object> = ReadonlyDeep<PluginSettingsState<PluginSettings>>;
63
+ /**
64
+ * A validator function for a settings property.
65
+ *
66
+ * @typeParam PluginSettings - The plugin settings type.
67
+ * @typeParam PropertyName - The property name.
68
+ */
69
+ export type SettingsValidator<PluginSettings extends object, PropertyName extends StringKeys<PluginSettings> = StringKeys<PluginSettings>> = (value: PluginSettings[PropertyName], settings: PluginSettings) => Promisable<MaybeReturn<string>>;
70
+ type PropertyNames<PluginSettings extends object> = StringKeys<PluginSettings>;
71
+ type ValidationResult<PluginSettings extends object> = Partial<Record<StringKeys<PluginSettings>, string>>;
72
+ /**
73
+ * Base class for plugin settings components.
74
+ *
75
+ * Manages settings data, persistence, validation, and events.
76
+ * Plugin authors extend this class and implement {@link createDefaultSettings}.
77
+ *
78
+ * @typeParam PluginSettings - The plugin settings type.
79
+ */
80
+ export declare abstract class PluginSettingsComponentBase<PluginSettings extends object> extends AsyncComponentBase {
81
+ /**
82
+ * Component key for {@link registerComponent} replacement.
83
+ */
84
+ static readonly COMPONENT_KEY = "PluginSettingsComponent";
85
+ /**
86
+ * Gets the readonly default settings.
87
+ *
88
+ * @returns The default settings (as a readonly object).
89
+ */
90
+ readonly defaultSettings: ReadonlyDeep<PluginSettings>;
91
+ /**
92
+ * Gets the readonly effective settings (validated, with defaults substituted for invalid values).
93
+ *
94
+ * @returns The readonly effective settings.
95
+ */
96
+ get settings(): ReadonlyDeep<PluginSettings>;
97
+ /**
98
+ * Gets the current settings state snapshot.
99
+ *
100
+ * @returns The current settings state.
101
+ */
102
+ get settingsState(): ReadonlyPluginSettingsState<PluginSettings>;
103
+ private readonly asyncEvents;
104
+ private currentState;
105
+ private lastSavedState;
106
+ private readonly legacySettingsConverters;
107
+ private readonly loadDataFn;
108
+ private readonly propertyNames;
109
+ private readonly saveDataFn;
110
+ private readonly validators;
111
+ /**
112
+ * Creates a new plugin settings component.
113
+ *
114
+ * @param params - The params for loading/saving data.
115
+ */
116
+ constructor(params: PluginSettingsComponentParams);
117
+ /**
118
+ * Edits the plugin settings and saves them.
119
+ *
120
+ * @param settingsEditor - The editor.
121
+ * @param context - The context.
122
+ * @returns A {@link Promise} that resolves when the settings are saved.
123
+ */
124
+ editAndSave(settingsEditor: (settings: PluginSettings) => Promisable<void>, context?: unknown): Promise<void>;
125
+ /**
126
+ * Ensures the settings are safe.
127
+ *
128
+ * It runs validation for each property and sets the default value if the validation fails.
129
+ *
130
+ * @param settings - The settings.
131
+ * @returns A {@link Promise} that resolves when the settings are safe.
132
+ */
133
+ ensureSafe(settings: PluginSettings): Promise<void>;
134
+ /**
135
+ * Gets a safe copy of the settings.
136
+ *
137
+ * @param settings - The settings.
138
+ * @returns A {@link Promise} that resolves to the safe copy of the settings.
139
+ */
140
+ getSafeCopy(settings: PluginSettings): Promise<PluginSettings>;
141
+ /**
142
+ * Loads the plugin settings from the file.
143
+ *
144
+ * @param isInitialLoad - Whether the settings are being loaded for the first time.
145
+ * @returns A {@link Promise} that resolves when the settings are loaded.
146
+ */
147
+ loadFromFile(isInitialLoad: boolean): Promise<void>;
148
+ /**
149
+ * Subscribes to the `loadSettings` event.
150
+ *
151
+ * @param name - Always `loadSettings`.
152
+ * @param callback - The callback.
153
+ * @param thisArg - The `this` context.
154
+ * @returns A reference to the event listener.
155
+ */
156
+ on(name: 'loadSettings', callback: (loadedState: ReadonlyPluginSettingsState<PluginSettings>, isInitialLoad: boolean) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
157
+ /**
158
+ * Subscribes to the `saveSettings` event.
159
+ *
160
+ * @param name - Always `saveSettings`.
161
+ * @param callback - The callback.
162
+ * @param thisArg - The `this` context.
163
+ * @returns A reference to the event listener.
164
+ */
165
+ on(name: 'saveSettings', callback: (newState: ReadonlyPluginSettingsState<PluginSettings>, oldState: ReadonlyPluginSettingsState<PluginSettings>, context: unknown) => Promisable<void>, thisArg?: unknown): AsyncEventRef;
166
+ /**
167
+ * Called when the external settings change.
168
+ *
169
+ * @returns A {@link Promise} that resolves when the settings are reloaded.
170
+ */
171
+ onExternalSettingsChange(): Promise<void>;
172
+ /**
173
+ * Loads settings from file and registers event handlers.
174
+ */
175
+ onload(): Promise<void>;
176
+ /**
177
+ * Registers a legacy settings converter.
178
+ *
179
+ * @typeParam LegacySettings - The legacy settings class.
180
+ * @param legacySettingsClass - The legacy settings class.
181
+ * @param converter - The converter.
182
+ */
183
+ registerLegacySettingsConverter<LegacySettings extends object>(legacySettingsClass: new () => LegacySettings, converter: (legacySettings: Partial<LegacySettings> & Partial<PluginSettings>) => void): void;
184
+ /**
185
+ * Registers a validator for a property.
186
+ *
187
+ * @param propertyName - The name of the property.
188
+ * @param validator - The validator.
189
+ */
190
+ registerValidator<PropertyName extends PropertyNames<PluginSettings>>(propertyName: PropertyName, validator: SettingsValidator<PluginSettings, PropertyName>): void;
191
+ /**
192
+ * Revalidates the settings.
193
+ *
194
+ * @returns The validation messages.
195
+ */
196
+ revalidate(): Promise<Record<PropertyNames<PluginSettings>, string>>;
197
+ /**
198
+ * Saves the new plugin settings.
199
+ *
200
+ * @param context - The context of the save to file operation.
201
+ * @returns A {@link Promise} that resolves when the settings are saved.
202
+ */
203
+ saveToFile(context?: unknown): Promise<void>;
204
+ /**
205
+ * Sets the value of a property.
206
+ *
207
+ * @typeParam PropertyName - The name of the property.
208
+ * @param propertyName - The name of the property.
209
+ * @param value - The value to set.
210
+ * @returns A {@link Promise} that resolves to the validation message.
211
+ */
212
+ setProperty<PropertyName extends PropertyNames<PluginSettings>>(propertyName: PropertyName, value: PluginSettings[PropertyName]): Promise<string>;
213
+ /**
214
+ * Validates the settings.
215
+ *
216
+ * @param settings - The settings.
217
+ * @returns A {@link Promise} that resolves to the validation result.
218
+ */
219
+ validate(settings: PluginSettings): Promise<ValidationResult<PluginSettings>>;
220
+ /**
221
+ * Creates the default settings. Must be implemented by subclasses.
222
+ *
223
+ * @returns The default settings.
224
+ */
225
+ protected abstract createDefaultSettings(): PluginSettings;
226
+ /**
227
+ * Gets the transformer.
228
+ *
229
+ * @returns The transformer.
230
+ */
231
+ protected getTransformer(): Transformer;
232
+ /**
233
+ * Called when the plugin settings record is loaded from disk.
234
+ *
235
+ * @param record - The record.
236
+ */
237
+ protected onLoadRecord(record: GenericObject): Promise<void>;
238
+ /**
239
+ * Called when settings are loaded or reloaded.
240
+ *
241
+ * @param _loadedState - The loaded settings state.
242
+ * @param _isInitialLoad - Whether this is the initial load.
243
+ */
244
+ protected onLoadSettings(_loadedState: ReadonlyPluginSettingsState<PluginSettings>, _isInitialLoad: boolean): Promise<void>;
245
+ /**
246
+ * Called when settings are saved.
247
+ *
248
+ * @param _newState - The new settings state.
249
+ * @param _oldState - The old settings state.
250
+ * @param _context - The save context.
251
+ */
252
+ protected onSaveSettings(_newState: ReadonlyPluginSettingsState<PluginSettings>, _oldState: ReadonlyPluginSettingsState<PluginSettings>, _context: unknown): Promise<void>;
253
+ /**
254
+ * Called when the plugin settings record is about to be saved to disk.
255
+ *
256
+ * @param _record - The record.
257
+ */
258
+ protected onSavingRecord(_record: GenericObject): Promise<void>;
259
+ /**
260
+ * Registers the legacy settings converters.
261
+ * Override to register legacy settings converters.
262
+ */
263
+ protected registerLegacySettingsConverters(): void;
264
+ /**
265
+ * Registers the validators.
266
+ * Override to register validators for properties.
267
+ */
268
+ protected registerValidators(): void;
269
+ private cloneSettings;
270
+ private cloneState;
271
+ private createDefaultState;
272
+ private edit;
273
+ private isValidPropertyName;
274
+ private rawRecordToSettings;
275
+ private saveToFileImpl;
276
+ private setPropertyImpl;
277
+ private settingsToRawRecord;
278
+ }
279
+ /**
280
+ * A no-op settings component for plugins without settings.
281
+ */
282
+ export declare class EmptyPluginSettingsComponent extends PluginSettingsComponentBase<object> {
283
+ /**
284
+ * Creates a new empty plugin settings component.
285
+ *
286
+ * @param params - The params. Uses no-op load/save by default.
287
+ */
288
+ constructor(params?: PluginSettingsComponentParams);
289
+ /**
290
+ * Creates empty default settings.
291
+ *
292
+ * @returns An empty object.
293
+ */
294
+ protected createDefaultSettings(): object;
295
+ }
296
+ export {};