@mnaoumov/obsidian-lib 0.0.0 → 1.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.
- package/@types/dataview/api/data-array/package.json +4 -0
- package/@types/dataview/api/extensions/package.json +4 -0
- package/@types/dataview/api/inline-api/package.json +4 -0
- package/@types/dataview/api/plugin-api/package.json +4 -0
- package/@types/dataview/api/result/package.json +4 -0
- package/@types/dataview/data-import/common/package.json +4 -0
- package/@types/dataview/data-import/csv/package.json +4 -0
- package/@types/dataview/data-import/inline-field/package.json +4 -0
- package/@types/dataview/data-import/markdown-file/package.json +4 -0
- package/@types/dataview/data-import/persister/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-entry/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-impl/package.json +4 -0
- package/@types/dataview/data-import/web-worker/import-manager/package.json +4 -0
- package/@types/dataview/data-index/index/package.json +4 -0
- package/@types/dataview/data-index/package.json +4 -0
- package/@types/dataview/data-index/resolver/package.json +4 -0
- package/@types/dataview/data-index/source/package.json +4 -0
- package/@types/dataview/data-model/markdown/package.json +4 -0
- package/@types/dataview/data-model/serialized/markdown/package.json +4 -0
- package/@types/dataview/data-model/transferable/package.json +4 -0
- package/@types/dataview/data-model/value/package.json +4 -0
- package/@types/dataview/expression/binaryop/package.json +4 -0
- package/@types/dataview/expression/context/package.json +4 -0
- package/@types/dataview/expression/field/package.json +4 -0
- package/@types/dataview/expression/functions/package.json +4 -0
- package/@types/dataview/expression/parse/package.json +4 -0
- package/@types/dataview/index/package.json +4 -0
- package/@types/dataview/main/package.json +4 -0
- package/@types/dataview/package.json +4 -0
- package/@types/dataview/query/engine/package.json +4 -0
- package/@types/dataview/query/parse/package.json +4 -0
- package/@types/dataview/query/query/package.json +4 -0
- package/@types/dataview/settings/package.json +4 -0
- package/@types/dataview/typings/obsidian-ex/package.json +4 -0
- package/@types/dataview/typings/workers/package.json +4 -0
- package/@types/dataview/ui/export/markdown/package.json +4 -0
- package/@types/dataview/ui/lp-render/package.json +4 -0
- package/@types/dataview/ui/markdown/package.json +4 -0
- package/@types/dataview/ui/refreshable-view/package.json +4 -0
- package/@types/dataview/ui/render/package.json +4 -0
- package/@types/dataview/ui/views/calendar-view/package.json +4 -0
- package/@types/dataview/ui/views/inline-field-live-preview/package.json +4 -0
- package/@types/dataview/ui/views/inline-view/package.json +4 -0
- package/@types/dataview/ui/views/js-view/package.json +4 -0
- package/@types/dataview/ui/views/list-view/package.json +4 -0
- package/@types/dataview/ui/views/table-view/package.json +4 -0
- package/@types/dataview/ui/views/task-view/package.json +4 -0
- package/@types/dataview/util/hash/package.json +4 -0
- package/@types/dataview/util/locale/package.json +4 -0
- package/@types/dataview/util/media/package.json +4 -0
- package/@types/dataview/util/normalize/package.json +4 -0
- package/@types/i18next/package.json +4 -0
- package/@types/obsidian-integration-testing/package.json +4 -0
- package/@types/original-fs/package.json +4 -0
- package/LICENSE +21 -0
- package/README.md +7 -1
- package/codemirror/index/package.json +6 -0
- package/codemirror/package.json +6 -0
- package/codemirror/state-field-spec/package.json +6 -0
- package/command-handlers/abstract-file-command-handler/package.json +6 -0
- package/command-handlers/command-handler/package.json +6 -0
- package/command-handlers/command-handler-component/package.json +6 -0
- package/command-handlers/editor-command-handler/package.json +6 -0
- package/command-handlers/file-command-handler/package.json +6 -0
- package/command-handlers/folder-command-handler/package.json +6 -0
- package/command-handlers/global-command-handler/package.json +6 -0
- package/command-handlers/index/package.json +6 -0
- package/command-handlers/open-demo-vault-command-handler/package.json +6 -0
- package/command-handlers/open-settings-command-handler/package.json +6 -0
- package/command-handlers/package.json +6 -0
- package/command-handlers/unlock-active-note-command-handler/package.json +6 -0
- package/components/abort-signal-component/package.json +6 -0
- package/components/all-windows-event-component/package.json +6 -0
- package/components/async-error-handler-component/package.json +6 -0
- package/components/async-events-component/package.json +6 -0
- package/components/case-insensitive-file-index-component/package.json +6 -0
- package/components/component-ex/package.json +6 -0
- package/components/console-debug-component/package.json +6 -0
- package/components/core-plugin-toggle-component/package.json +6 -0
- package/components/disposable-component/package.json +6 -0
- package/components/embed-extensions-component/package.json +6 -0
- package/components/generate-markdown-link-default-params-component/package.json +6 -0
- package/components/index/package.json +6 -0
- package/components/layout-ready-component/package.json +6 -0
- package/components/menu-event-registrar-component/package.json +6 -0
- package/components/monkey-around-component/package.json +6 -0
- package/components/notebook-navigator-menu-event-registrar-component/package.json +6 -0
- package/components/package.json +6 -0
- package/components/plugin-context-component/package.json +6 -0
- package/components/plugin-gate-component/package.json +6 -0
- package/components/plugin-notice-component/package.json +6 -0
- package/components/plugin-settings-component/package.json +6 -0
- package/components/plugin-settings-tab-component/package.json +6 -0
- package/components/plugin-suggestion-component/package.json +6 -0
- package/components/pointer-position-component/package.json +6 -0
- package/components/registry-component/package.json +6 -0
- package/components/release-notes-component/package.json +6 -0
- package/components/rename-delete-handler-component/package.json +6 -0
- package/components/rmdir-guard-component/package.json +6 -0
- package/components/settings-migration-component/package.json +6 -0
- package/components/syntax-highlighting-component/package.json +6 -0
- package/components/templates-language-component/package.json +6 -0
- package/constructors/get-dom-events-handlers-constructor/package.json +6 -0
- package/constructors/index/package.json +6 -0
- package/constructors/package.json +6 -0
- package/dist/lib/cjs/@types/dataview/api/data-array.d.cts +137 -0
- package/dist/lib/cjs/@types/dataview/api/extensions.d.cts +16 -0
- package/dist/lib/cjs/@types/dataview/api/inline-api.d.cts +187 -0
- package/dist/lib/cjs/@types/dataview/api/plugin-api.d.cts +210 -0
- package/dist/lib/cjs/@types/dataview/api/result.d.cts +39 -0
- package/dist/lib/cjs/@types/dataview/data-import/common.d.cts +4 -0
- package/dist/lib/cjs/@types/dataview/data-import/csv.d.cts +4 -0
- package/dist/lib/cjs/@types/dataview/data-import/inline-field.d.cts +43 -0
- package/dist/lib/cjs/@types/dataview/data-import/markdown-file.d.cts +53 -0
- package/dist/lib/cjs/@types/dataview/data-import/persister.d.cts +33 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-entry.d.cts +2 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-impl.d.cts +7 -0
- package/dist/lib/cjs/@types/dataview/data-import/web-worker/import-manager.d.cts +38 -0
- package/dist/lib/cjs/@types/dataview/data-index/index.d.cts +187 -0
- package/dist/lib/cjs/@types/dataview/data-index/resolver.d.cts +24 -0
- package/dist/lib/cjs/@types/dataview/data-index/source.d.cts +72 -0
- package/dist/lib/cjs/@types/dataview/data-model/markdown.d.cts +116 -0
- package/dist/lib/cjs/@types/dataview/data-model/serialized/markdown.d.cts +107 -0
- package/dist/lib/cjs/@types/dataview/data-model/transferable.d.cts +8 -0
- package/dist/lib/cjs/@types/dataview/data-model/value.d.cts +176 -0
- package/dist/lib/cjs/@types/dataview/expression/binaryop.d.cts +44 -0
- package/dist/lib/cjs/@types/dataview/expression/context.d.cts +50 -0
- package/dist/lib/cjs/@types/dataview/expression/field.d.cts +83 -0
- package/dist/lib/cjs/@types/dataview/expression/functions.d.cts +150 -0
- package/dist/lib/cjs/@types/dataview/expression/parse.d.cts +164 -0
- package/dist/lib/cjs/@types/dataview/index.d.cts +56 -0
- package/dist/lib/cjs/@types/dataview/main.d.cts +53 -0
- package/dist/lib/cjs/@types/dataview/query/engine.d.cts +104 -0
- package/dist/lib/cjs/@types/dataview/query/parse.d.cts +45 -0
- package/dist/lib/cjs/@types/dataview/query/query.d.cts +96 -0
- package/dist/lib/cjs/@types/dataview/settings.d.cts +61 -0
- package/dist/lib/cjs/@types/dataview/typings/obsidian-ex.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/typings/workers.d.cts +5 -0
- package/dist/lib/cjs/@types/dataview/ui/export/markdown.d.cts +16 -0
- package/dist/lib/cjs/@types/dataview/ui/lp-render.d.cts +38 -0
- package/dist/lib/cjs/@types/dataview/ui/markdown.d.cts +87 -0
- package/dist/lib/cjs/@types/dataview/ui/refreshable-view.d.cts +19 -0
- package/dist/lib/cjs/@types/dataview/ui/render.d.cts +34 -0
- package/dist/lib/cjs/@types/dataview/ui/views/calendar-view.d.cts +18 -0
- package/dist/lib/cjs/@types/dataview/ui/views/inline-field-live-preview.d.cts +43 -0
- package/dist/lib/cjs/@types/dataview/ui/views/inline-view.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/ui/views/js-view.d.cts +24 -0
- package/dist/lib/cjs/@types/dataview/ui/views/list-view.d.cts +26 -0
- package/dist/lib/cjs/@types/dataview/ui/views/table-view.d.cts +29 -0
- package/dist/lib/cjs/@types/dataview/ui/views/task-view.d.cts +52 -0
- package/dist/lib/cjs/@types/dataview/util/hash.d.cts +2 -0
- package/dist/lib/cjs/@types/dataview/util/locale.d.cts +3 -0
- package/dist/lib/cjs/@types/dataview/util/media.d.cts +7 -0
- package/dist/lib/cjs/@types/dataview/util/normalize.d.cts +45 -0
- package/dist/lib/cjs/@types/i18next.d.cts +14 -0
- package/dist/lib/cjs/@types/obsidian-integration-testing.d.cts +29 -0
- package/dist/lib/cjs/@types/original-fs.d.cts +15 -0
- package/dist/lib/cjs/__merged.cjs +1680 -0
- package/dist/lib/cjs/__merged.d.cts +205 -0
- package/dist/lib/cjs/active-file-provider.cjs +185 -0
- package/dist/lib/cjs/active-file-provider.d.cts +36 -0
- package/dist/lib/cjs/app.cjs +177 -0
- package/dist/lib/cjs/app.d.cts +17 -0
- package/dist/lib/cjs/async-with-notice.cjs +259 -0
- package/dist/lib/cjs/async-with-notice.d.cts +113 -0
- package/dist/lib/cjs/attachment-path.cjs +403 -0
- package/dist/lib/cjs/attachment-path.d.cts +341 -0
- package/dist/lib/cjs/attachment-unit-folder.cjs +192 -0
- package/dist/lib/cjs/attachment-unit-folder.d.cts +103 -0
- package/dist/lib/cjs/backlink-index.cjs +273 -0
- package/dist/lib/cjs/backlink-index.d.cts +51 -0
- package/dist/lib/cjs/backlink.cjs +241 -0
- package/dist/lib/cjs/backlink.d.cts +66 -0
- package/dist/lib/cjs/bases-view-registrar.cjs +186 -0
- package/dist/lib/cjs/bases-view-registrar.d.cts +52 -0
- package/dist/lib/cjs/callout.cjs +244 -0
- package/dist/lib/cjs/callout.d.cts +76 -0
- package/dist/lib/cjs/canvas.cjs +239 -0
- package/dist/lib/cjs/canvas.d.cts +28 -0
- package/dist/lib/cjs/case-insensitive-file-index.cjs +268 -0
- package/dist/lib/cjs/case-insensitive-file-index.d.cts +92 -0
- package/dist/lib/cjs/code-block-markdown-information.cjs +155 -0
- package/dist/lib/cjs/code-block-markdown-information.d.cts +48 -0
- package/dist/lib/cjs/code-block-reg-exp.cjs +169 -0
- package/dist/lib/cjs/code-block-reg-exp.d.cts +39 -0
- package/dist/lib/cjs/codemirror/index.cjs +177 -0
- package/dist/lib/cjs/codemirror/index.d.cts +2 -0
- package/dist/lib/cjs/codemirror/state-field-spec.cjs +155 -0
- package/dist/lib/cjs/codemirror/state-field-spec.d.cts +72 -0
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.cjs +440 -0
- package/dist/lib/cjs/command-handlers/abstract-file-command-handler.d.cts +274 -0
- package/dist/lib/cjs/command-handlers/command-handler-component.cjs +302 -0
- package/dist/lib/cjs/command-handlers/command-handler-component.d.cts +146 -0
- package/dist/lib/cjs/command-handlers/command-handler.cjs +224 -0
- package/dist/lib/cjs/command-handlers/command-handler.d.cts +107 -0
- package/dist/lib/cjs/command-handlers/editor-command-handler.cjs +372 -0
- package/dist/lib/cjs/command-handlers/editor-command-handler.d.cts +208 -0
- package/dist/lib/cjs/command-handlers/file-command-handler.cjs +309 -0
- package/dist/lib/cjs/command-handlers/file-command-handler.d.cts +143 -0
- package/dist/lib/cjs/command-handlers/folder-command-handler.cjs +317 -0
- package/dist/lib/cjs/command-handlers/folder-command-handler.d.cts +149 -0
- package/dist/lib/cjs/command-handlers/global-command-handler.cjs +209 -0
- package/dist/lib/cjs/command-handlers/global-command-handler.d.cts +40 -0
- package/dist/lib/cjs/command-handlers/index.cjs +204 -0
- package/dist/lib/cjs/command-handlers/index.d.cts +11 -0
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.cjs +233 -0
- package/dist/lib/cjs/command-handlers/open-demo-vault-command-handler.d.cts +73 -0
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.cjs +198 -0
- package/dist/lib/cjs/command-handlers/open-settings-command-handler.d.cts +44 -0
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.cjs +211 -0
- package/dist/lib/cjs/command-handlers/unlock-active-note-command-handler.d.cts +54 -0
- package/dist/lib/cjs/command-registrar.cjs +193 -0
- package/dist/lib/cjs/command-registrar.d.cts +48 -0
- package/dist/lib/cjs/community-plugins.cjs +346 -0
- package/dist/lib/cjs/community-plugins.d.cts +270 -0
- package/dist/lib/cjs/components/abort-signal-component.cjs +196 -0
- package/dist/lib/cjs/components/abort-signal-component.d.cts +30 -0
- package/dist/lib/cjs/components/all-windows-event-component.cjs +238 -0
- package/dist/lib/cjs/components/all-windows-event-component.d.cts +84 -0
- package/dist/lib/cjs/components/async-error-handler-component.cjs +200 -0
- package/dist/lib/cjs/components/async-error-handler-component.d.cts +30 -0
- package/dist/lib/cjs/components/async-events-component.cjs +172 -0
- package/dist/lib/cjs/components/async-events-component.d.cts +15 -0
- package/dist/lib/cjs/components/case-insensitive-file-index-component.cjs +210 -0
- package/dist/lib/cjs/components/case-insensitive-file-index-component.d.cts +36 -0
- package/dist/lib/cjs/components/component-ex.cjs +528 -0
- package/dist/lib/cjs/components/component-ex.d.cts +229 -0
- package/dist/lib/cjs/components/console-debug-component.cjs +194 -0
- package/dist/lib/cjs/components/console-debug-component.d.cts +30 -0
- package/dist/lib/cjs/components/core-plugin-toggle-component.cjs +226 -0
- package/dist/lib/cjs/components/core-plugin-toggle-component.d.cts +102 -0
- package/dist/lib/cjs/components/disposable-component.cjs +178 -0
- package/dist/lib/cjs/components/disposable-component.d.cts +24 -0
- package/dist/lib/cjs/components/embed-extensions-component.cjs +198 -0
- package/dist/lib/cjs/components/embed-extensions-component.d.cts +38 -0
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.cjs +194 -0
- package/dist/lib/cjs/components/generate-markdown-link-default-params-component.d.cts +42 -0
- package/dist/lib/cjs/components/index.cjs +261 -0
- package/dist/lib/cjs/components/index.d.cts +30 -0
- package/dist/lib/cjs/components/layout-ready-component.cjs +235 -0
- package/dist/lib/cjs/components/layout-ready-component.d.cts +48 -0
- package/dist/lib/cjs/components/menu-event-registrar-component.cjs +220 -0
- package/dist/lib/cjs/components/menu-event-registrar-component.d.cts +52 -0
- package/dist/lib/cjs/components/monkey-around-component.cjs +269 -0
- package/dist/lib/cjs/components/monkey-around-component.d.cts +241 -0
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.cjs +345 -0
- package/dist/lib/cjs/components/notebook-navigator-menu-event-registrar-component.d.cts +150 -0
- package/dist/lib/cjs/components/plugin-context-component.cjs +204 -0
- package/dist/lib/cjs/components/plugin-context-component.d.cts +36 -0
- package/dist/lib/cjs/components/plugin-gate-component.cjs +572 -0
- package/dist/lib/cjs/components/plugin-gate-component.d.cts +332 -0
- package/dist/lib/cjs/components/plugin-notice-component.cjs +653 -0
- package/dist/lib/cjs/components/plugin-notice-component.d.cts +362 -0
- package/dist/lib/cjs/components/plugin-settings-component.cjs +668 -0
- package/dist/lib/cjs/components/plugin-settings-component.d.cts +362 -0
- package/dist/lib/cjs/components/plugin-settings-tab-component.cjs +194 -0
- package/dist/lib/cjs/components/plugin-settings-tab-component.d.cts +39 -0
- package/dist/lib/cjs/components/plugin-suggestion-component.cjs +302 -0
- package/dist/lib/cjs/components/plugin-suggestion-component.d.cts +162 -0
- package/dist/lib/cjs/components/pointer-position-component.cjs +190 -0
- package/dist/lib/cjs/components/pointer-position-component.d.cts +29 -0
- package/dist/lib/cjs/components/registry-component.cjs +211 -0
- package/dist/lib/cjs/components/registry-component.d.cts +37 -0
- package/dist/lib/cjs/components/release-notes-component.cjs +249 -0
- package/dist/lib/cjs/components/release-notes-component.d.cts +129 -0
- package/dist/lib/cjs/components/rename-delete-handler-component.cjs +1299 -0
- package/dist/lib/cjs/components/rename-delete-handler-component.d.cts +165 -0
- package/dist/lib/cjs/components/rmdir-guard-component.cjs +214 -0
- package/dist/lib/cjs/components/rmdir-guard-component.d.cts +76 -0
- package/dist/lib/cjs/components/settings-migration-component.cjs +246 -0
- package/dist/lib/cjs/components/settings-migration-component.d.cts +120 -0
- package/dist/lib/cjs/components/syntax-highlighting-component.cjs +272 -0
- package/dist/lib/cjs/components/syntax-highlighting-component.d.cts +149 -0
- package/dist/lib/cjs/components/templates-language-component.cjs +300 -0
- package/dist/lib/cjs/components/templates-language-component.d.cts +124 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.cjs +270 -0
- package/dist/lib/cjs/constructors/get-dom-events-handlers-constructor.d.cts +22 -0
- package/dist/lib/cjs/constructors/index.cjs +177 -0
- package/dist/lib/cjs/constructors/index.d.cts +2 -0
- package/dist/lib/cjs/css-class.cjs +232 -0
- package/dist/lib/cjs/css-class.d.cts +278 -0
- package/dist/lib/cjs/data-handler.cjs +194 -0
- package/dist/lib/cjs/data-handler.d.cts +49 -0
- package/dist/lib/cjs/dataview-link.cjs +184 -0
- package/dist/lib/cjs/dataview-link.d.cts +42 -0
- package/dist/lib/cjs/dataview.cjs +403 -0
- package/dist/lib/cjs/dataview.d.cts +249 -0
- package/dist/lib/cjs/debug.cjs +172 -0
- package/dist/lib/cjs/debug.d.cts +19 -0
- package/dist/lib/cjs/demo-vault-helper-settings.cjs +155 -0
- package/dist/lib/cjs/demo-vault-helper-settings.d.cts +29 -0
- package/dist/lib/cjs/demo-vault-helper.cjs +256 -0
- package/dist/lib/cjs/demo-vault-helper.d.cts +61 -0
- package/dist/lib/cjs/demo-vault-naming.cjs +181 -0
- package/dist/lib/cjs/demo-vault-naming.d.cts +54 -0
- package/dist/lib/cjs/desktop-demo-vault-opener.cjs +372 -0
- package/dist/lib/cjs/desktop-demo-vault-opener.d.cts +76 -0
- package/dist/lib/cjs/desktop-trusted-input.cjs +325 -0
- package/dist/lib/cjs/desktop-trusted-input.d.cts +288 -0
- package/dist/lib/cjs/editor-extension-registrar.cjs +186 -0
- package/dist/lib/cjs/editor-extension-registrar.d.cts +37 -0
- package/dist/lib/cjs/editor-suggest-registrar.cjs +186 -0
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +36 -0
- package/dist/lib/cjs/editor.cjs +224 -0
- package/dist/lib/cjs/editor.d.cts +45 -0
- package/dist/lib/cjs/events.cjs +196 -0
- package/dist/lib/cjs/events.d.cts +98 -0
- package/dist/lib/cjs/extensions-registrar.cjs +186 -0
- package/dist/lib/cjs/extensions-registrar.d.cts +51 -0
- package/dist/lib/cjs/file-change.cjs +582 -0
- package/dist/lib/cjs/file-change.d.cts +156 -0
- package/dist/lib/cjs/file-explorer.cjs +181 -0
- package/dist/lib/cjs/file-explorer.d.cts +34 -0
- package/dist/lib/cjs/file-manager.cjs +275 -0
- package/dist/lib/cjs/file-manager.d.cts +123 -0
- package/dist/lib/cjs/file-system.cjs +595 -0
- package/dist/lib/cjs/file-system.d.cts +554 -0
- package/dist/lib/cjs/folder-note.cjs +285 -0
- package/dist/lib/cjs/folder-note.d.cts +166 -0
- package/dist/lib/cjs/frontmatter-formatting.cjs +472 -0
- package/dist/lib/cjs/frontmatter-formatting.d.cts +44 -0
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.cjs +183 -0
- package/dist/lib/cjs/frontmatter-link-cache-with-offsets.d.cts +34 -0
- package/dist/lib/cjs/frontmatter.cjs +295 -0
- package/dist/lib/cjs/frontmatter.d.cts +145 -0
- package/dist/lib/cjs/generated-during-build.cjs +170 -0
- package/dist/lib/cjs/generated-during-build.d.cts +19 -0
- package/dist/lib/cjs/hover-link-source-registrar.cjs +186 -0
- package/dist/lib/cjs/hover-link-source-registrar.d.cts +52 -0
- package/dist/lib/cjs/html-element.cjs +207 -0
- package/dist/lib/cjs/html-element.d.cts +98 -0
- package/dist/lib/cjs/i18n/custom-type-options.cjs +156 -0
- package/dist/lib/cjs/i18n/custom-type-options.d.cts +38 -0
- package/dist/lib/cjs/i18n/default-translations.cjs +156 -0
- package/dist/lib/cjs/i18n/default-translations.d.cts +15 -0
- package/dist/lib/cjs/i18n/i18n.cjs +216 -0
- package/dist/lib/cjs/i18n/i18n.d.cts +38 -0
- package/dist/lib/cjs/i18n/index.cjs +186 -0
- package/dist/lib/cjs/i18n/index.d.cts +5 -0
- package/dist/lib/cjs/i18n/locales/en.cjs +248 -0
- package/dist/lib/cjs/i18n/locales/en.d.cts +91 -0
- package/dist/lib/cjs/i18n/locales/index.cjs +180 -0
- package/dist/lib/cjs/i18n/locales/index.d.cts +3 -0
- package/dist/lib/cjs/i18n/locales/translations-map.cjs +174 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +100 -0
- package/dist/lib/cjs/index.cjs +459 -0
- package/dist/lib/cjs/index.d.cts +96 -0
- package/dist/lib/cjs/is-in-obsidian.cjs +178 -0
- package/dist/lib/cjs/is-in-obsidian.d.cts +12 -0
- package/dist/lib/cjs/library-styles.cjs +197 -0
- package/dist/lib/cjs/library-styles.d.cts +56 -0
- package/dist/lib/cjs/library.cjs +205 -0
- package/dist/lib/cjs/library.d.cts +57 -0
- package/dist/lib/cjs/link-name.cjs +169 -0
- package/dist/lib/cjs/link-name.d.cts +23 -0
- package/dist/lib/cjs/link-update-progress.cjs +155 -0
- package/dist/lib/cjs/link-update-progress.d.cts +32 -0
- package/dist/lib/cjs/link.cjs +1077 -0
- package/dist/lib/cjs/link.d.cts +1369 -0
- package/dist/lib/cjs/logger.cjs +236 -0
- package/dist/lib/cjs/logger.d.cts +37 -0
- package/dist/lib/cjs/loop.cjs +267 -0
- package/dist/lib/cjs/loop.d.cts +104 -0
- package/dist/lib/cjs/markdown-code-block-processor-registrar.cjs +190 -0
- package/dist/lib/cjs/markdown-code-block-processor-registrar.d.cts +62 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +468 -0
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +137 -0
- package/dist/lib/cjs/markdown-post-processor-registrar.cjs +187 -0
- package/dist/lib/cjs/markdown-post-processor-registrar.d.cts +59 -0
- package/dist/lib/cjs/markdown-view.cjs +175 -0
- package/dist/lib/cjs/markdown-view.d.cts +14 -0
- package/dist/lib/cjs/markdown.cjs +494 -0
- package/dist/lib/cjs/markdown.d.cts +226 -0
- package/dist/lib/cjs/menu-event-registrar.cjs +155 -0
- package/dist/lib/cjs/menu-event-registrar.d.cts +84 -0
- package/dist/lib/cjs/metadata-cache.cjs +568 -0
- package/dist/lib/cjs/metadata-cache.d.cts +359 -0
- package/dist/lib/cjs/mobile-trusted-input.cjs +209 -0
- package/dist/lib/cjs/mobile-trusted-input.d.cts +98 -0
- package/dist/lib/cjs/modals/alert.cjs +202 -0
- package/dist/lib/cjs/modals/alert.d.cts +35 -0
- package/dist/lib/cjs/modals/confirm.cjs +212 -0
- package/dist/lib/cjs/modals/confirm.d.cts +39 -0
- package/dist/lib/cjs/modals/index.cjs +201 -0
- package/dist/lib/cjs/modals/index.d.cts +10 -0
- package/dist/lib/cjs/modals/minimizable-modal.cjs +465 -0
- package/dist/lib/cjs/modals/minimizable-modal.d.cts +129 -0
- package/dist/lib/cjs/modals/modal-command-builder.cjs +482 -0
- package/dist/lib/cjs/modals/modal-command-builder.d.cts +285 -0
- package/dist/lib/cjs/modals/modal.cjs +200 -0
- package/dist/lib/cjs/modals/modal.d.cts +64 -0
- package/dist/lib/cjs/modals/prompt.cjs +280 -0
- package/dist/lib/cjs/modals/prompt.d.cts +83 -0
- package/dist/lib/cjs/modals/select-item.cjs +225 -0
- package/dist/lib/cjs/modals/select-item.d.cts +55 -0
- package/dist/lib/cjs/modals/select-option.cjs +213 -0
- package/dist/lib/cjs/modals/select-option.d.cts +65 -0
- package/dist/lib/cjs/modals/suggest-modal-command-builder.cjs +168 -0
- package/dist/lib/cjs/modals/suggest-modal-command-builder.d.cts +35 -0
- package/dist/lib/cjs/note-priority.cjs +258 -0
- package/dist/lib/cjs/note-priority.d.cts +154 -0
- package/dist/lib/cjs/notebook-navigator.cjs +187 -0
- package/dist/lib/cjs/notebook-navigator.d.cts +132 -0
- package/dist/lib/cjs/obsidian-dev-utils-state.cjs +199 -0
- package/dist/lib/cjs/obsidian-dev-utils-state.d.cts +42 -0
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.cjs +189 -0
- package/dist/lib/cjs/obsidian-protocol-handler-registrar.d.cts +55 -0
- package/dist/lib/cjs/obsidian-settings.cjs +206 -0
- package/dist/lib/cjs/obsidian-settings.d.cts +62 -0
- package/dist/lib/cjs/parse-link.cjs +562 -0
- package/dist/lib/cjs/parse-link.d.cts +288 -0
- package/dist/lib/cjs/path-settings.cjs +293 -0
- package/dist/lib/cjs/path-settings.d.cts +56 -0
- package/dist/lib/cjs/pdf.cjs +197 -0
- package/dist/lib/cjs/pdf.d.cts +26 -0
- package/dist/lib/cjs/plugin/index.cjs +198 -0
- package/dist/lib/cjs/plugin/index.d.cts +9 -0
- package/dist/lib/cjs/plugin/plugin-api.cjs +543 -0
- package/dist/lib/cjs/plugin/plugin-api.d.cts +413 -0
- package/dist/lib/cjs/plugin/plugin-context.cjs +215 -0
- package/dist/lib/cjs/plugin/plugin-context.d.cts +27 -0
- package/dist/lib/cjs/plugin/plugin-event-source.cjs +250 -0
- package/dist/lib/cjs/plugin/plugin-event-source.d.cts +97 -0
- package/dist/lib/cjs/plugin/plugin-install-state.cjs +219 -0
- package/dist/lib/cjs/plugin/plugin-install-state.d.cts +113 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.cjs +175 -0
- package/dist/lib/cjs/plugin/plugin-lifecycle-events.d.cts +127 -0
- package/dist/lib/cjs/plugin/plugin-settings-tab.cjs +635 -0
- package/dist/lib/cjs/plugin/plugin-settings-tab.d.cts +368 -0
- package/dist/lib/cjs/plugin/plugin.cjs +730 -0
- package/dist/lib/cjs/plugin/plugin.d.cts +363 -0
- package/dist/lib/cjs/plugin/settings-migration-api.cjs +155 -0
- package/dist/lib/cjs/plugin/settings-migration-api.d.cts +91 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.cjs +187 -0
- package/dist/lib/cjs/plugin-cli-handler-registrar.d.cts +64 -0
- package/dist/lib/cjs/popovers/field-popover.cjs +206 -0
- package/dist/lib/cjs/popovers/field-popover.d.cts +75 -0
- package/dist/lib/cjs/popovers/index.cjs +183 -0
- package/dist/lib/cjs/popovers/index.d.cts +4 -0
- package/dist/lib/cjs/popovers/popover-anchor.cjs +206 -0
- package/dist/lib/cjs/popovers/popover-anchor.d.cts +67 -0
- package/dist/lib/cjs/popovers/popover.cjs +253 -0
- package/dist/lib/cjs/popovers/popover.d.cts +78 -0
- package/dist/lib/cjs/property-entry.cjs +196 -0
- package/dist/lib/cjs/property-entry.d.cts +43 -0
- package/dist/lib/cjs/queue.cjs +236 -0
- package/dist/lib/cjs/queue.d.cts +93 -0
- package/dist/lib/cjs/react/app-context.cjs +175 -0
- package/dist/lib/cjs/react/app-context.d.cts +24 -0
- package/dist/lib/cjs/react/index.cjs +177 -0
- package/dist/lib/cjs/react/index.d.cts +2 -0
- package/dist/lib/cjs/reference.cjs +210 -0
- package/dist/lib/cjs/reference.d.cts +116 -0
- package/dist/lib/cjs/resource-lock.cjs +1120 -0
- package/dist/lib/cjs/resource-lock.d.cts +318 -0
- package/dist/lib/cjs/resource-url.cjs +180 -0
- package/dist/lib/cjs/resource-url.d.cts +31 -0
- package/dist/lib/cjs/ribbon-icon-registrar.cjs +187 -0
- package/dist/lib/cjs/ribbon-icon-registrar.d.cts +60 -0
- package/dist/lib/cjs/setting-components/checkbox-component.cjs +240 -0
- package/dist/lib/cjs/setting-components/checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/setting-components/code-highlighter-component.cjs +402 -0
- package/dist/lib/cjs/setting-components/code-highlighter-component.d.cts +132 -0
- package/dist/lib/cjs/setting-components/date-component.cjs +204 -0
- package/dist/lib/cjs/setting-components/date-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/date-time-component.cjs +204 -0
- package/dist/lib/cjs/setting-components/date-time-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/email-component.cjs +215 -0
- package/dist/lib/cjs/setting-components/email-component.d.cts +49 -0
- package/dist/lib/cjs/setting-components/file-component.cjs +207 -0
- package/dist/lib/cjs/setting-components/file-component.d.cts +43 -0
- package/dist/lib/cjs/setting-components/index.cjs +252 -0
- package/dist/lib/cjs/setting-components/index.d.cts +27 -0
- package/dist/lib/cjs/setting-components/month-component.cjs +212 -0
- package/dist/lib/cjs/setting-components/month-component.d.cts +51 -0
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.cjs +277 -0
- package/dist/lib/cjs/setting-components/multiple-dropdown-component.d.cts +92 -0
- package/dist/lib/cjs/setting-components/multiple-email-component.cjs +201 -0
- package/dist/lib/cjs/setting-components/multiple-email-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/multiple-file-component.cjs +209 -0
- package/dist/lib/cjs/setting-components/multiple-file-component.d.cts +43 -0
- package/dist/lib/cjs/setting-components/multiple-text-component.cjs +296 -0
- package/dist/lib/cjs/setting-components/multiple-text-component.d.cts +109 -0
- package/dist/lib/cjs/setting-components/number-component.cjs +225 -0
- package/dist/lib/cjs/setting-components/number-component.d.cts +56 -0
- package/dist/lib/cjs/setting-components/password-component.cjs +201 -0
- package/dist/lib/cjs/setting-components/password-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/setting-component-wrapper.cjs +184 -0
- package/dist/lib/cjs/setting-components/setting-component-wrapper.d.cts +13 -0
- package/dist/lib/cjs/setting-components/telephone-component.cjs +215 -0
- package/dist/lib/cjs/setting-components/telephone-component.d.cts +51 -0
- package/dist/lib/cjs/setting-components/text-based-component.cjs +194 -0
- package/dist/lib/cjs/setting-components/text-based-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/time-component.cjs +209 -0
- package/dist/lib/cjs/setting-components/time-component.d.cts +38 -0
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.cjs +241 -0
- package/dist/lib/cjs/setting-components/tri-state-checkbox-component.d.cts +69 -0
- package/dist/lib/cjs/setting-components/typed-dropdown-component.cjs +286 -0
- package/dist/lib/cjs/setting-components/typed-dropdown-component.d.cts +97 -0
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.cjs +288 -0
- package/dist/lib/cjs/setting-components/typed-multiple-dropdown-component.d.cts +99 -0
- package/dist/lib/cjs/setting-components/typed-range-text-component.cjs +199 -0
- package/dist/lib/cjs/setting-components/typed-range-text-component.d.cts +35 -0
- package/dist/lib/cjs/setting-components/typed-text-component.cjs +256 -0
- package/dist/lib/cjs/setting-components/typed-text-component.d.cts +100 -0
- package/dist/lib/cjs/setting-components/url-component.cjs +215 -0
- package/dist/lib/cjs/setting-components/url-component.d.cts +49 -0
- package/dist/lib/cjs/setting-components/validator-component.cjs +254 -0
- package/dist/lib/cjs/setting-components/validator-component.d.cts +23 -0
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.cjs +155 -0
- package/dist/lib/cjs/setting-components/value-component-with-change-tracking.d.cts +20 -0
- package/dist/lib/cjs/setting-components/week-component.cjs +212 -0
- package/dist/lib/cjs/setting-components/week-component.d.cts +51 -0
- package/dist/lib/cjs/setting-ex.cjs +396 -0
- package/dist/lib/cjs/setting-ex.d.cts +198 -0
- package/dist/lib/cjs/setting-group-ex.cjs +189 -0
- package/dist/lib/cjs/setting-group-ex.d.cts +26 -0
- package/dist/lib/cjs/status-bar-item-registrar.cjs +186 -0
- package/dist/lib/cjs/status-bar-item-registrar.d.cts +36 -0
- package/dist/lib/cjs/templater.cjs +303 -0
- package/dist/lib/cjs/templater.d.cts +284 -0
- package/dist/lib/cjs/transformers/duration-transformer.cjs +206 -0
- package/dist/lib/cjs/transformers/duration-transformer.d.cts +39 -0
- package/dist/lib/cjs/transformers/index.cjs +177 -0
- package/dist/lib/cjs/transformers/index.d.cts +2 -0
- package/dist/lib/cjs/trusted-input.cjs +220 -0
- package/dist/lib/cjs/trusted-input.d.cts +131 -0
- package/dist/lib/cjs/validation.cjs +213 -0
- package/dist/lib/cjs/validation.d.cts +87 -0
- package/dist/lib/cjs/vault-delete.cjs +246 -0
- package/dist/lib/cjs/vault-delete.d.cts +82 -0
- package/dist/lib/cjs/vault-transaction.cjs +436 -0
- package/dist/lib/cjs/vault-transaction.d.cts +163 -0
- package/dist/lib/cjs/vault.cjs +725 -0
- package/dist/lib/cjs/vault.d.cts +506 -0
- package/dist/lib/cjs/view-registrar.cjs +186 -0
- package/dist/lib/cjs/view-registrar.d.cts +52 -0
- package/dist/lib/cjs/workspace.cjs +210 -0
- package/dist/lib/cjs/workspace.d.cts +81 -0
- package/dist/lib/esm/@types/dataview/api/data-array.d.mts +137 -0
- package/dist/lib/esm/@types/dataview/api/extensions.d.mts +16 -0
- package/dist/lib/esm/@types/dataview/api/inline-api.d.mts +187 -0
- package/dist/lib/esm/@types/dataview/api/plugin-api.d.mts +210 -0
- package/dist/lib/esm/@types/dataview/api/result.d.mts +39 -0
- package/dist/lib/esm/@types/dataview/data-import/common.d.mts +4 -0
- package/dist/lib/esm/@types/dataview/data-import/csv.d.mts +4 -0
- package/dist/lib/esm/@types/dataview/data-import/inline-field.d.mts +43 -0
- package/dist/lib/esm/@types/dataview/data-import/markdown-file.d.mts +53 -0
- package/dist/lib/esm/@types/dataview/data-import/persister.d.mts +33 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-entry.d.mts +2 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-impl.d.mts +7 -0
- package/dist/lib/esm/@types/dataview/data-import/web-worker/import-manager.d.mts +38 -0
- package/dist/lib/esm/@types/dataview/data-index/index.d.mts +187 -0
- package/dist/lib/esm/@types/dataview/data-index/resolver.d.mts +24 -0
- package/dist/lib/esm/@types/dataview/data-index/source.d.mts +72 -0
- package/dist/lib/esm/@types/dataview/data-model/markdown.d.mts +116 -0
- package/dist/lib/esm/@types/dataview/data-model/serialized/markdown.d.mts +107 -0
- package/dist/lib/esm/@types/dataview/data-model/transferable.d.mts +8 -0
- package/dist/lib/esm/@types/dataview/data-model/value.d.mts +176 -0
- package/dist/lib/esm/@types/dataview/expression/binaryop.d.mts +44 -0
- package/dist/lib/esm/@types/dataview/expression/context.d.mts +50 -0
- package/dist/lib/esm/@types/dataview/expression/field.d.mts +83 -0
- package/dist/lib/esm/@types/dataview/expression/functions.d.mts +150 -0
- package/dist/lib/esm/@types/dataview/expression/parse.d.mts +164 -0
- package/dist/lib/esm/@types/dataview/index.d.mts +56 -0
- package/dist/lib/esm/@types/dataview/main.d.mts +53 -0
- package/dist/lib/esm/@types/dataview/query/engine.d.mts +104 -0
- package/dist/lib/esm/@types/dataview/query/parse.d.mts +45 -0
- package/dist/lib/esm/@types/dataview/query/query.d.mts +96 -0
- package/dist/lib/esm/@types/dataview/settings.d.mts +61 -0
- package/dist/lib/esm/@types/dataview/typings/obsidian-ex.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/typings/workers.d.mts +5 -0
- package/dist/lib/esm/@types/dataview/ui/export/markdown.d.mts +16 -0
- package/dist/lib/esm/@types/dataview/ui/lp-render.d.mts +38 -0
- package/dist/lib/esm/@types/dataview/ui/markdown.d.mts +87 -0
- package/dist/lib/esm/@types/dataview/ui/refreshable-view.d.mts +19 -0
- package/dist/lib/esm/@types/dataview/ui/render.d.mts +34 -0
- package/dist/lib/esm/@types/dataview/ui/views/calendar-view.d.mts +18 -0
- package/dist/lib/esm/@types/dataview/ui/views/inline-field-live-preview.d.mts +43 -0
- package/dist/lib/esm/@types/dataview/ui/views/inline-view.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/ui/views/js-view.d.mts +24 -0
- package/dist/lib/esm/@types/dataview/ui/views/list-view.d.mts +26 -0
- package/dist/lib/esm/@types/dataview/ui/views/table-view.d.mts +29 -0
- package/dist/lib/esm/@types/dataview/ui/views/task-view.d.mts +52 -0
- package/dist/lib/esm/@types/dataview/util/hash.d.mts +2 -0
- package/dist/lib/esm/@types/dataview/util/locale.d.mts +3 -0
- package/dist/lib/esm/@types/dataview/util/media.d.mts +7 -0
- package/dist/lib/esm/@types/dataview/util/normalize.d.mts +45 -0
- package/dist/lib/esm/@types/i18next.d.mts +14 -0
- package/dist/lib/esm/@types/obsidian-integration-testing.d.mts +29 -0
- package/dist/lib/esm/@types/original-fs.d.mts +15 -0
- package/dist/lib/esm/__merged.d.mts +205 -0
- package/dist/lib/esm/__merged.mjs +1532 -0
- package/dist/lib/esm/active-file-provider.d.mts +36 -0
- package/dist/lib/esm/active-file-provider.mjs +72 -0
- package/dist/lib/esm/app.d.mts +17 -0
- package/dist/lib/esm/app.mjs +64 -0
- package/dist/lib/esm/async-with-notice.d.mts +113 -0
- package/dist/lib/esm/async-with-notice.mjs +149 -0
- package/dist/lib/esm/attachment-path.d.mts +341 -0
- package/dist/lib/esm/attachment-path.mjs +302 -0
- package/dist/lib/esm/attachment-unit-folder.d.mts +103 -0
- package/dist/lib/esm/attachment-unit-folder.mjs +78 -0
- package/dist/lib/esm/backlink-index.d.mts +51 -0
- package/dist/lib/esm/backlink-index.mjs +160 -0
- package/dist/lib/esm/backlink.d.mts +66 -0
- package/dist/lib/esm/backlink.mjs +131 -0
- package/dist/lib/esm/bases-view-registrar.d.mts +52 -0
- package/dist/lib/esm/bases-view-registrar.mjs +73 -0
- package/dist/lib/esm/callout.d.mts +76 -0
- package/dist/lib/esm/callout.mjs +132 -0
- package/dist/lib/esm/canvas.d.mts +28 -0
- package/dist/lib/esm/canvas.mjs +129 -0
- package/dist/lib/esm/case-insensitive-file-index.d.mts +92 -0
- package/dist/lib/esm/case-insensitive-file-index.mjs +152 -0
- package/dist/lib/esm/code-block-markdown-information.d.mts +48 -0
- package/dist/lib/esm/code-block-markdown-information.mjs +50 -0
- package/dist/lib/esm/code-block-reg-exp.d.mts +39 -0
- package/dist/lib/esm/code-block-reg-exp.mjs +56 -0
- package/dist/lib/esm/codemirror/index.d.mts +2 -0
- package/dist/lib/esm/codemirror/index.mjs +54 -0
- package/dist/lib/esm/codemirror/state-field-spec.d.mts +72 -0
- package/dist/lib/esm/codemirror/state-field-spec.mjs +50 -0
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.d.mts +274 -0
- package/dist/lib/esm/command-handlers/abstract-file-command-handler.mjs +330 -0
- package/dist/lib/esm/command-handlers/command-handler-component.d.mts +146 -0
- package/dist/lib/esm/command-handlers/command-handler-component.mjs +193 -0
- package/dist/lib/esm/command-handlers/command-handler.d.mts +107 -0
- package/dist/lib/esm/command-handlers/command-handler.mjs +111 -0
- package/dist/lib/esm/command-handlers/editor-command-handler.d.mts +208 -0
- package/dist/lib/esm/command-handlers/editor-command-handler.mjs +262 -0
- package/dist/lib/esm/command-handlers/file-command-handler.d.mts +143 -0
- package/dist/lib/esm/command-handlers/file-command-handler.mjs +200 -0
- package/dist/lib/esm/command-handlers/folder-command-handler.d.mts +149 -0
- package/dist/lib/esm/command-handlers/folder-command-handler.mjs +208 -0
- package/dist/lib/esm/command-handlers/global-command-handler.d.mts +40 -0
- package/dist/lib/esm/command-handlers/global-command-handler.mjs +96 -0
- package/dist/lib/esm/command-handlers/index.d.mts +11 -0
- package/dist/lib/esm/command-handlers/index.mjs +72 -0
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.d.mts +73 -0
- package/dist/lib/esm/command-handlers/open-demo-vault-command-handler.mjs +110 -0
- package/dist/lib/esm/command-handlers/open-settings-command-handler.d.mts +44 -0
- package/dist/lib/esm/command-handlers/open-settings-command-handler.mjs +85 -0
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.d.mts +54 -0
- package/dist/lib/esm/command-handlers/unlock-active-note-command-handler.mjs +98 -0
- package/dist/lib/esm/command-registrar.d.mts +48 -0
- package/dist/lib/esm/command-registrar.mjs +80 -0
- package/dist/lib/esm/community-plugins.d.mts +270 -0
- package/dist/lib/esm/community-plugins.mjs +222 -0
- package/dist/lib/esm/components/abort-signal-component.d.mts +30 -0
- package/dist/lib/esm/components/abort-signal-component.mjs +83 -0
- package/dist/lib/esm/components/all-windows-event-component.d.mts +84 -0
- package/dist/lib/esm/components/all-windows-event-component.mjs +125 -0
- package/dist/lib/esm/components/async-error-handler-component.d.mts +30 -0
- package/dist/lib/esm/components/async-error-handler-component.mjs +87 -0
- package/dist/lib/esm/components/async-events-component.d.mts +15 -0
- package/dist/lib/esm/components/async-events-component.mjs +59 -0
- package/dist/lib/esm/components/case-insensitive-file-index-component.d.mts +36 -0
- package/dist/lib/esm/components/case-insensitive-file-index-component.mjs +101 -0
- package/dist/lib/esm/components/component-ex.d.mts +229 -0
- package/dist/lib/esm/components/component-ex.mjs +421 -0
- package/dist/lib/esm/components/console-debug-component.d.mts +30 -0
- package/dist/lib/esm/components/console-debug-component.mjs +81 -0
- package/dist/lib/esm/components/core-plugin-toggle-component.d.mts +102 -0
- package/dist/lib/esm/components/core-plugin-toggle-component.mjs +113 -0
- package/dist/lib/esm/components/disposable-component.d.mts +24 -0
- package/dist/lib/esm/components/disposable-component.mjs +65 -0
- package/dist/lib/esm/components/embed-extensions-component.d.mts +38 -0
- package/dist/lib/esm/components/embed-extensions-component.mjs +85 -0
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.d.mts +42 -0
- package/dist/lib/esm/components/generate-markdown-link-default-params-component.mjs +81 -0
- package/dist/lib/esm/components/index.d.mts +30 -0
- package/dist/lib/esm/components/index.mjs +110 -0
- package/dist/lib/esm/components/layout-ready-component.d.mts +48 -0
- package/dist/lib/esm/components/layout-ready-component.mjs +121 -0
- package/dist/lib/esm/components/menu-event-registrar-component.d.mts +52 -0
- package/dist/lib/esm/components/menu-event-registrar-component.mjs +107 -0
- package/dist/lib/esm/components/monkey-around-component.d.mts +241 -0
- package/dist/lib/esm/components/monkey-around-component.mjs +154 -0
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.d.mts +150 -0
- package/dist/lib/esm/components/notebook-navigator-menu-event-registrar-component.mjs +235 -0
- package/dist/lib/esm/components/plugin-context-component.d.mts +36 -0
- package/dist/lib/esm/components/plugin-context-component.mjs +94 -0
- package/dist/lib/esm/components/plugin-gate-component.d.mts +332 -0
- package/dist/lib/esm/components/plugin-gate-component.mjs +472 -0
- package/dist/lib/esm/components/plugin-notice-component.d.mts +362 -0
- package/dist/lib/esm/components/plugin-notice-component.mjs +543 -0
- package/dist/lib/esm/components/plugin-settings-component.d.mts +362 -0
- package/dist/lib/esm/components/plugin-settings-component.mjs +562 -0
- package/dist/lib/esm/components/plugin-settings-tab-component.d.mts +39 -0
- package/dist/lib/esm/components/plugin-settings-tab-component.mjs +81 -0
- package/dist/lib/esm/components/plugin-suggestion-component.d.mts +162 -0
- package/dist/lib/esm/components/plugin-suggestion-component.mjs +192 -0
- package/dist/lib/esm/components/pointer-position-component.d.mts +29 -0
- package/dist/lib/esm/components/pointer-position-component.mjs +77 -0
- package/dist/lib/esm/components/registry-component.d.mts +37 -0
- package/dist/lib/esm/components/registry-component.mjs +98 -0
- package/dist/lib/esm/components/release-notes-component.d.mts +129 -0
- package/dist/lib/esm/components/release-notes-component.mjs +136 -0
- package/dist/lib/esm/components/rename-delete-handler-component.d.mts +165 -0
- package/dist/lib/esm/components/rename-delete-handler-component.mjs +1238 -0
- package/dist/lib/esm/components/rmdir-guard-component.d.mts +76 -0
- package/dist/lib/esm/components/rmdir-guard-component.mjs +100 -0
- package/dist/lib/esm/components/settings-migration-component.d.mts +120 -0
- package/dist/lib/esm/components/settings-migration-component.mjs +133 -0
- package/dist/lib/esm/components/syntax-highlighting-component.d.mts +149 -0
- package/dist/lib/esm/components/syntax-highlighting-component.mjs +159 -0
- package/dist/lib/esm/components/templates-language-component.d.mts +124 -0
- package/dist/lib/esm/components/templates-language-component.mjs +187 -0
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.d.mts +22 -0
- package/dist/lib/esm/constructors/get-dom-events-handlers-constructor.mjs +157 -0
- package/dist/lib/esm/constructors/index.d.mts +2 -0
- package/dist/lib/esm/constructors/index.mjs +54 -0
- package/dist/lib/esm/css-class.d.mts +278 -0
- package/dist/lib/esm/css-class.mjs +119 -0
- package/dist/lib/esm/data-handler.d.mts +49 -0
- package/dist/lib/esm/data-handler.mjs +81 -0
- package/dist/lib/esm/dataview-link.d.mts +42 -0
- package/dist/lib/esm/dataview-link.mjs +74 -0
- package/dist/lib/esm/dataview.d.mts +249 -0
- package/dist/lib/esm/dataview.mjs +288 -0
- package/dist/lib/esm/debug.d.mts +19 -0
- package/dist/lib/esm/debug.mjs +59 -0
- package/dist/lib/esm/demo-vault-helper-settings.d.mts +29 -0
- package/dist/lib/esm/demo-vault-helper-settings.mjs +50 -0
- package/dist/lib/esm/demo-vault-helper.d.mts +61 -0
- package/dist/lib/esm/demo-vault-helper.mjs +150 -0
- package/dist/lib/esm/demo-vault-naming.d.mts +54 -0
- package/dist/lib/esm/demo-vault-naming.mjs +67 -0
- package/dist/lib/esm/desktop-demo-vault-opener.d.mts +76 -0
- package/dist/lib/esm/desktop-demo-vault-opener.mjs +274 -0
- package/dist/lib/esm/desktop-trusted-input.d.mts +288 -0
- package/dist/lib/esm/desktop-trusted-input.mjs +206 -0
- package/dist/lib/esm/editor-extension-registrar.d.mts +37 -0
- package/dist/lib/esm/editor-extension-registrar.mjs +73 -0
- package/dist/lib/esm/editor-suggest-registrar.d.mts +36 -0
- package/dist/lib/esm/editor-suggest-registrar.mjs +76 -0
- package/dist/lib/esm/editor.d.mts +45 -0
- package/dist/lib/esm/editor.mjs +115 -0
- package/dist/lib/esm/events.d.mts +98 -0
- package/dist/lib/esm/events.mjs +81 -0
- package/dist/lib/esm/extensions-registrar.d.mts +51 -0
- package/dist/lib/esm/extensions-registrar.mjs +73 -0
- package/dist/lib/esm/file-change.d.mts +156 -0
- package/dist/lib/esm/file-change.mjs +481 -0
- package/dist/lib/esm/file-explorer.d.mts +34 -0
- package/dist/lib/esm/file-explorer.mjs +68 -0
- package/dist/lib/esm/file-manager.d.mts +123 -0
- package/dist/lib/esm/file-manager.mjs +169 -0
- package/dist/lib/esm/file-system.d.mts +554 -0
- package/dist/lib/esm/file-system.mjs +466 -0
- package/dist/lib/esm/folder-note.d.mts +166 -0
- package/dist/lib/esm/folder-note.mjs +169 -0
- package/dist/lib/esm/frontmatter-formatting.d.mts +44 -0
- package/dist/lib/esm/frontmatter-formatting.mjs +376 -0
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.d.mts +34 -0
- package/dist/lib/esm/frontmatter-link-cache-with-offsets.mjs +69 -0
- package/dist/lib/esm/frontmatter.d.mts +145 -0
- package/dist/lib/esm/frontmatter.mjs +182 -0
- package/dist/lib/esm/generated-during-build.d.mts +19 -0
- package/dist/lib/esm/generated-during-build.mjs +56 -0
- package/dist/lib/esm/hover-link-source-registrar.d.mts +52 -0
- package/dist/lib/esm/hover-link-source-registrar.mjs +73 -0
- package/dist/lib/esm/html-element.d.mts +98 -0
- package/dist/lib/esm/html-element.mjs +94 -0
- package/dist/lib/esm/i18n/custom-type-options.d.mts +38 -0
- package/dist/lib/esm/i18n/custom-type-options.mjs +51 -0
- package/dist/lib/esm/i18n/default-translations.d.mts +15 -0
- package/dist/lib/esm/i18n/default-translations.mjs +51 -0
- package/dist/lib/esm/i18n/i18n.d.mts +38 -0
- package/dist/lib/esm/i18n/i18n.mjs +97 -0
- package/dist/lib/esm/i18n/index.d.mts +5 -0
- package/dist/lib/esm/i18n/index.mjs +60 -0
- package/dist/lib/esm/i18n/locales/en.d.mts +91 -0
- package/dist/lib/esm/i18n/locales/en.mjs +135 -0
- package/dist/lib/esm/i18n/locales/index.d.mts +3 -0
- package/dist/lib/esm/i18n/locales/index.mjs +56 -0
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +100 -0
- package/dist/lib/esm/i18n/locales/translations-map.mjs +60 -0
- package/dist/lib/esm/index.d.mts +96 -0
- package/dist/lib/esm/index.mjs +242 -0
- package/dist/lib/esm/is-in-obsidian.d.mts +12 -0
- package/dist/lib/esm/is-in-obsidian.mjs +67 -0
- package/dist/lib/esm/library-styles.d.mts +56 -0
- package/dist/lib/esm/library-styles.mjs +80 -0
- package/dist/lib/esm/library.d.mts +57 -0
- package/dist/lib/esm/library.mjs +91 -0
- package/dist/lib/esm/link-name.d.mts +23 -0
- package/dist/lib/esm/link-name.mjs +56 -0
- package/dist/lib/esm/link-update-progress.d.mts +32 -0
- package/dist/lib/esm/link-update-progress.mjs +50 -0
- package/dist/lib/esm/link.d.mts +1369 -0
- package/dist/lib/esm/link.mjs +996 -0
- package/dist/lib/esm/logger.d.mts +37 -0
- package/dist/lib/esm/logger.mjs +123 -0
- package/dist/lib/esm/loop.d.mts +104 -0
- package/dist/lib/esm/loop.mjs +159 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.d.mts +62 -0
- package/dist/lib/esm/markdown-code-block-processor-registrar.mjs +77 -0
- package/dist/lib/esm/markdown-code-block-processor.d.mts +137 -0
- package/dist/lib/esm/markdown-code-block-processor.mjs +364 -0
- package/dist/lib/esm/markdown-post-processor-registrar.d.mts +59 -0
- package/dist/lib/esm/markdown-post-processor-registrar.mjs +74 -0
- package/dist/lib/esm/markdown-view.d.mts +14 -0
- package/dist/lib/esm/markdown-view.mjs +62 -0
- package/dist/lib/esm/markdown.d.mts +226 -0
- package/dist/lib/esm/markdown.mjs +399 -0
- package/dist/lib/esm/menu-event-registrar.d.mts +84 -0
- package/dist/lib/esm/menu-event-registrar.mjs +50 -0
- package/dist/lib/esm/metadata-cache.d.mts +359 -0
- package/dist/lib/esm/metadata-cache.mjs +462 -0
- package/dist/lib/esm/mobile-trusted-input.d.mts +98 -0
- package/dist/lib/esm/mobile-trusted-input.mjs +90 -0
- package/dist/lib/esm/modals/alert.d.mts +35 -0
- package/dist/lib/esm/modals/alert.mjs +92 -0
- package/dist/lib/esm/modals/confirm.d.mts +39 -0
- package/dist/lib/esm/modals/confirm.mjs +102 -0
- package/dist/lib/esm/modals/index.d.mts +10 -0
- package/dist/lib/esm/modals/index.mjs +70 -0
- package/dist/lib/esm/modals/minimizable-modal.d.mts +129 -0
- package/dist/lib/esm/modals/minimizable-modal.mjs +356 -0
- package/dist/lib/esm/modals/modal-command-builder.d.mts +285 -0
- package/dist/lib/esm/modals/modal-command-builder.mjs +371 -0
- package/dist/lib/esm/modals/modal.d.mts +64 -0
- package/dist/lib/esm/modals/modal.mjs +86 -0
- package/dist/lib/esm/modals/prompt.d.mts +83 -0
- package/dist/lib/esm/modals/prompt.mjs +176 -0
- package/dist/lib/esm/modals/select-item.d.mts +55 -0
- package/dist/lib/esm/modals/select-item.mjs +112 -0
- package/dist/lib/esm/modals/select-option.d.mts +65 -0
- package/dist/lib/esm/modals/select-option.mjs +103 -0
- package/dist/lib/esm/modals/suggest-modal-command-builder.d.mts +35 -0
- package/dist/lib/esm/modals/suggest-modal-command-builder.mjs +55 -0
- package/dist/lib/esm/note-priority.d.mts +154 -0
- package/dist/lib/esm/note-priority.mjs +143 -0
- package/dist/lib/esm/notebook-navigator.d.mts +132 -0
- package/dist/lib/esm/notebook-navigator.mjs +72 -0
- package/dist/lib/esm/obsidian-dev-utils-state.d.mts +42 -0
- package/dist/lib/esm/obsidian-dev-utils-state.mjs +84 -0
- package/dist/lib/esm/obsidian-protocol-handler-registrar.d.mts +55 -0
- package/dist/lib/esm/obsidian-protocol-handler-registrar.mjs +76 -0
- package/dist/lib/esm/obsidian-settings.d.mts +62 -0
- package/dist/lib/esm/obsidian-settings.mjs +89 -0
- package/dist/lib/esm/parse-link.d.mts +288 -0
- package/dist/lib/esm/parse-link.mjs +436 -0
- package/dist/lib/esm/path-settings.d.mts +56 -0
- package/dist/lib/esm/path-settings.mjs +184 -0
- package/dist/lib/esm/pdf.d.mts +26 -0
- package/dist/lib/esm/pdf.mjs +84 -0
- package/dist/lib/esm/plugin/index.d.mts +9 -0
- package/dist/lib/esm/plugin/index.mjs +68 -0
- package/dist/lib/esm/plugin/plugin-api.d.mts +413 -0
- package/dist/lib/esm/plugin/plugin-api.mjs +430 -0
- package/dist/lib/esm/plugin/plugin-context.d.mts +27 -0
- package/dist/lib/esm/plugin/plugin-context.mjs +109 -0
- package/dist/lib/esm/plugin/plugin-event-source.d.mts +97 -0
- package/dist/lib/esm/plugin/plugin-event-source.mjs +137 -0
- package/dist/lib/esm/plugin/plugin-install-state.d.mts +113 -0
- package/dist/lib/esm/plugin/plugin-install-state.mjs +109 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.d.mts +127 -0
- package/dist/lib/esm/plugin/plugin-lifecycle-events.mjs +60 -0
- package/dist/lib/esm/plugin/plugin-settings-tab.d.mts +368 -0
- package/dist/lib/esm/plugin/plugin-settings-tab.mjs +535 -0
- package/dist/lib/esm/plugin/plugin.d.mts +363 -0
- package/dist/lib/esm/plugin/plugin.mjs +619 -0
- package/dist/lib/esm/plugin/settings-migration-api.d.mts +91 -0
- package/dist/lib/esm/plugin/settings-migration-api.mjs +50 -0
- package/dist/lib/esm/plugin-cli-handler-registrar.d.mts +64 -0
- package/dist/lib/esm/plugin-cli-handler-registrar.mjs +74 -0
- package/dist/lib/esm/popovers/field-popover.d.mts +75 -0
- package/dist/lib/esm/popovers/field-popover.mjs +96 -0
- package/dist/lib/esm/popovers/index.d.mts +4 -0
- package/dist/lib/esm/popovers/index.mjs +58 -0
- package/dist/lib/esm/popovers/popover-anchor.d.mts +67 -0
- package/dist/lib/esm/popovers/popover-anchor.mjs +90 -0
- package/dist/lib/esm/popovers/popover.d.mts +78 -0
- package/dist/lib/esm/popovers/popover.mjs +140 -0
- package/dist/lib/esm/property-entry.d.mts +43 -0
- package/dist/lib/esm/property-entry.mjs +81 -0
- package/dist/lib/esm/queue.d.mts +93 -0
- package/dist/lib/esm/queue.mjs +130 -0
- package/dist/lib/esm/react/app-context.d.mts +24 -0
- package/dist/lib/esm/react/app-context.mjs +64 -0
- package/dist/lib/esm/react/index.d.mts +2 -0
- package/dist/lib/esm/react/index.mjs +54 -0
- package/dist/lib/esm/reference.d.mts +116 -0
- package/dist/lib/esm/reference.mjs +95 -0
- package/dist/lib/esm/resource-lock.d.mts +318 -0
- package/dist/lib/esm/resource-lock.mjs +1014 -0
- package/dist/lib/esm/resource-url.d.mts +31 -0
- package/dist/lib/esm/resource-url.mjs +67 -0
- package/dist/lib/esm/ribbon-icon-registrar.d.mts +60 -0
- package/dist/lib/esm/ribbon-icon-registrar.mjs +74 -0
- package/dist/lib/esm/setting-components/checkbox-component.d.mts +69 -0
- package/dist/lib/esm/setting-components/checkbox-component.mjs +127 -0
- package/dist/lib/esm/setting-components/code-highlighter-component.d.mts +132 -0
- package/dist/lib/esm/setting-components/code-highlighter-component.mjs +295 -0
- package/dist/lib/esm/setting-components/date-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/date-component.mjs +91 -0
- package/dist/lib/esm/setting-components/date-time-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/date-time-component.mjs +91 -0
- package/dist/lib/esm/setting-components/email-component.d.mts +49 -0
- package/dist/lib/esm/setting-components/email-component.mjs +102 -0
- package/dist/lib/esm/setting-components/file-component.d.mts +43 -0
- package/dist/lib/esm/setting-components/file-component.mjs +94 -0
- package/dist/lib/esm/setting-components/index.d.mts +27 -0
- package/dist/lib/esm/setting-components/index.mjs +104 -0
- package/dist/lib/esm/setting-components/month-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/month-component.mjs +99 -0
- package/dist/lib/esm/setting-components/multiple-dropdown-component.d.mts +92 -0
- package/dist/lib/esm/setting-components/multiple-dropdown-component.mjs +167 -0
- package/dist/lib/esm/setting-components/multiple-email-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/multiple-email-component.mjs +88 -0
- package/dist/lib/esm/setting-components/multiple-file-component.d.mts +43 -0
- package/dist/lib/esm/setting-components/multiple-file-component.mjs +96 -0
- package/dist/lib/esm/setting-components/multiple-text-component.d.mts +109 -0
- package/dist/lib/esm/setting-components/multiple-text-component.mjs +186 -0
- package/dist/lib/esm/setting-components/number-component.d.mts +56 -0
- package/dist/lib/esm/setting-components/number-component.mjs +112 -0
- package/dist/lib/esm/setting-components/password-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/password-component.mjs +88 -0
- package/dist/lib/esm/setting-components/setting-component-wrapper.d.mts +13 -0
- package/dist/lib/esm/setting-components/setting-component-wrapper.mjs +71 -0
- package/dist/lib/esm/setting-components/telephone-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/telephone-component.mjs +102 -0
- package/dist/lib/esm/setting-components/text-based-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/text-based-component.mjs +81 -0
- package/dist/lib/esm/setting-components/time-component.d.mts +38 -0
- package/dist/lib/esm/setting-components/time-component.mjs +96 -0
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.d.mts +69 -0
- package/dist/lib/esm/setting-components/tri-state-checkbox-component.mjs +128 -0
- package/dist/lib/esm/setting-components/typed-dropdown-component.d.mts +97 -0
- package/dist/lib/esm/setting-components/typed-dropdown-component.mjs +176 -0
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.d.mts +99 -0
- package/dist/lib/esm/setting-components/typed-multiple-dropdown-component.mjs +175 -0
- package/dist/lib/esm/setting-components/typed-range-text-component.d.mts +35 -0
- package/dist/lib/esm/setting-components/typed-range-text-component.mjs +86 -0
- package/dist/lib/esm/setting-components/typed-text-component.d.mts +100 -0
- package/dist/lib/esm/setting-components/typed-text-component.mjs +146 -0
- package/dist/lib/esm/setting-components/url-component.d.mts +49 -0
- package/dist/lib/esm/setting-components/url-component.mjs +102 -0
- package/dist/lib/esm/setting-components/validator-component.d.mts +23 -0
- package/dist/lib/esm/setting-components/validator-component.mjs +150 -0
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.d.mts +20 -0
- package/dist/lib/esm/setting-components/value-component-with-change-tracking.mjs +50 -0
- package/dist/lib/esm/setting-components/week-component.d.mts +51 -0
- package/dist/lib/esm/setting-components/week-component.mjs +99 -0
- package/dist/lib/esm/setting-ex.d.mts +198 -0
- package/dist/lib/esm/setting-ex.mjs +282 -0
- package/dist/lib/esm/setting-group-ex.d.mts +26 -0
- package/dist/lib/esm/setting-group-ex.mjs +76 -0
- package/dist/lib/esm/status-bar-item-registrar.d.mts +36 -0
- package/dist/lib/esm/status-bar-item-registrar.mjs +73 -0
- package/dist/lib/esm/templater.d.mts +284 -0
- package/dist/lib/esm/templater.mjs +181 -0
- package/dist/lib/esm/transformers/duration-transformer.d.mts +39 -0
- package/dist/lib/esm/transformers/duration-transformer.mjs +93 -0
- package/dist/lib/esm/transformers/index.d.mts +2 -0
- package/dist/lib/esm/transformers/index.mjs +54 -0
- package/dist/lib/esm/trusted-input.d.mts +131 -0
- package/dist/lib/esm/trusted-input.mjs +91 -0
- package/dist/lib/esm/validation.d.mts +87 -0
- package/dist/lib/esm/validation.mjs +95 -0
- package/dist/lib/esm/vault-delete.d.mts +82 -0
- package/dist/lib/esm/vault-delete.mjs +140 -0
- package/dist/lib/esm/vault-transaction.d.mts +163 -0
- package/dist/lib/esm/vault-transaction.mjs +333 -0
- package/dist/lib/esm/vault.d.mts +506 -0
- package/dist/lib/esm/vault.mjs +612 -0
- package/dist/lib/esm/view-registrar.d.mts +52 -0
- package/dist/lib/esm/view-registrar.mjs +73 -0
- package/dist/lib/esm/workspace.d.mts +81 -0
- package/dist/lib/esm/workspace.mjs +92 -0
- package/dist/styles.css +497 -0
- package/i18n/custom-type-options/package.json +6 -0
- package/i18n/default-translations/package.json +6 -0
- package/i18n/i18n/package.json +6 -0
- package/i18n/index/package.json +6 -0
- package/i18n/locales/en/package.json +6 -0
- package/i18n/locales/index/package.json +6 -0
- package/i18n/locales/package.json +6 -0
- package/i18n/locales/translations-map/package.json +6 -0
- package/i18n/package.json +6 -0
- package/modals/alert/package.json +6 -0
- package/modals/confirm/package.json +6 -0
- package/modals/index/package.json +6 -0
- package/modals/minimizable-modal/package.json +6 -0
- package/modals/modal/package.json +6 -0
- package/modals/modal-command-builder/package.json +6 -0
- package/modals/package.json +6 -0
- package/modals/prompt/package.json +6 -0
- package/modals/select-item/package.json +6 -0
- package/modals/select-option/package.json +6 -0
- package/modals/suggest-modal-command-builder/package.json +6 -0
- package/package.json +488 -13
- package/plugin/index/package.json +6 -0
- package/plugin/package.json +6 -0
- package/plugin/plugin/package.json +6 -0
- package/plugin/plugin-api/package.json +6 -0
- package/plugin/plugin-context/package.json +6 -0
- package/plugin/plugin-event-source/package.json +6 -0
- package/plugin/plugin-install-state/package.json +6 -0
- package/plugin/plugin-lifecycle-events/package.json +6 -0
- package/plugin/plugin-settings-tab/package.json +6 -0
- package/plugin/settings-migration-api/package.json +6 -0
- package/popovers/field-popover/package.json +6 -0
- package/popovers/index/package.json +6 -0
- package/popovers/package.json +6 -0
- package/popovers/popover/package.json +6 -0
- package/popovers/popover-anchor/package.json +6 -0
- package/react/app-context/package.json +6 -0
- package/react/index/package.json +6 -0
- package/react/package.json +6 -0
- package/setting-components/checkbox-component/package.json +6 -0
- package/setting-components/code-highlighter-component/package.json +6 -0
- package/setting-components/date-component/package.json +6 -0
- package/setting-components/date-time-component/package.json +6 -0
- package/setting-components/email-component/package.json +6 -0
- package/setting-components/file-component/package.json +6 -0
- package/setting-components/index/package.json +6 -0
- package/setting-components/month-component/package.json +6 -0
- package/setting-components/multiple-dropdown-component/package.json +6 -0
- package/setting-components/multiple-email-component/package.json +6 -0
- package/setting-components/multiple-file-component/package.json +6 -0
- package/setting-components/multiple-text-component/package.json +6 -0
- package/setting-components/number-component/package.json +6 -0
- package/setting-components/package.json +6 -0
- package/setting-components/password-component/package.json +6 -0
- package/setting-components/setting-component-wrapper/package.json +6 -0
- package/setting-components/telephone-component/package.json +6 -0
- package/setting-components/text-based-component/package.json +6 -0
- package/setting-components/time-component/package.json +6 -0
- package/setting-components/tri-state-checkbox-component/package.json +6 -0
- package/setting-components/typed-dropdown-component/package.json +6 -0
- package/setting-components/typed-multiple-dropdown-component/package.json +6 -0
- package/setting-components/typed-range-text-component/package.json +6 -0
- package/setting-components/typed-text-component/package.json +6 -0
- package/setting-components/url-component/package.json +6 -0
- package/setting-components/validator-component/package.json +6 -0
- package/setting-components/value-component-with-change-tracking/package.json +6 -0
- package/setting-components/week-component/package.json +6 -0
- package/transformers/duration-transformer/package.json +6 -0
- package/transformers/index/package.json +6 -0
- package/transformers/package.json +6 -0
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
+
const existingProcess = globalThis.process;
|
|
24
|
+
|
|
25
|
+
if (!existingProcess) {
|
|
26
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
+
globalThis.process = browserProcess;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (existingProcess.versions?.node) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const existingProcessRecord = existingProcess;
|
|
36
|
+
|
|
37
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
+
existingProcessRecord[key] ??= value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
existingProcessRecord['browser'] = true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
(function initEsm() {
|
|
45
|
+
ensureDisposeSymbols();
|
|
46
|
+
ensureBrowserProcess();
|
|
47
|
+
})();
|
|
48
|
+
})();
|
|
49
|
+
|
|
50
|
+
import {
|
|
51
|
+
CallbackDisposable,
|
|
52
|
+
CombineDisposable,
|
|
53
|
+
DisposableBase
|
|
54
|
+
} from "@mnaoumov/typescript-lib/disposable";
|
|
55
|
+
import { ComponentEx } from "../components/component-ex.mjs";
|
|
56
|
+
class CommandMenuEventScope extends DisposableBase {
|
|
57
|
+
constructor(inner) {
|
|
58
|
+
super();
|
|
59
|
+
this.inner = inner;
|
|
60
|
+
}
|
|
61
|
+
inner;
|
|
62
|
+
disposables = [];
|
|
63
|
+
registerEditorMenuEventHandler(handler) {
|
|
64
|
+
return this.collect(this.inner.registerEditorMenuEventHandler(handler));
|
|
65
|
+
}
|
|
66
|
+
registerFileMenuEventHandler(handler) {
|
|
67
|
+
return this.collect(this.inner.registerFileMenuEventHandler(handler));
|
|
68
|
+
}
|
|
69
|
+
registerFilesMenuEventHandler(handler) {
|
|
70
|
+
return this.collect(this.inner.registerFilesMenuEventHandler(handler));
|
|
71
|
+
}
|
|
72
|
+
registerMarkdownViewportMenuEventHandler(handler) {
|
|
73
|
+
return this.collect(this.inner.registerMarkdownViewportMenuEventHandler(handler));
|
|
74
|
+
}
|
|
75
|
+
performDispose() {
|
|
76
|
+
for (const disposable of this.disposables) {
|
|
77
|
+
disposable.dispose();
|
|
78
|
+
}
|
|
79
|
+
this.disposables.length = 0;
|
|
80
|
+
}
|
|
81
|
+
collect(disposable) {
|
|
82
|
+
if (this.isDisposed) {
|
|
83
|
+
disposable.dispose();
|
|
84
|
+
} else {
|
|
85
|
+
this.disposables.push(disposable);
|
|
86
|
+
}
|
|
87
|
+
return disposable;
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
class CommandHandlerComponent extends ComponentEx {
|
|
91
|
+
/**
|
|
92
|
+
* Provider for accessing the currently active file.
|
|
93
|
+
*/
|
|
94
|
+
activeFileProvider;
|
|
95
|
+
/**
|
|
96
|
+
* Registrars for menu surfaces that build their own plugin-titled parent entry, and therefore take
|
|
97
|
+
* the handlers with their section submenu forced off.
|
|
98
|
+
*/
|
|
99
|
+
additionalMenuEventRegistrars;
|
|
100
|
+
/**
|
|
101
|
+
* Registrar used to add and remove commands with Obsidian.
|
|
102
|
+
*/
|
|
103
|
+
commandRegistrar;
|
|
104
|
+
/**
|
|
105
|
+
* Registrar for menu event handlers.
|
|
106
|
+
*/
|
|
107
|
+
menuEventRegistrar;
|
|
108
|
+
/**
|
|
109
|
+
* The name of the plugin that owns the commands.
|
|
110
|
+
*/
|
|
111
|
+
pluginName;
|
|
112
|
+
commandLifetimeOwnerProvider;
|
|
113
|
+
/**
|
|
114
|
+
* Creates a new command handler component.
|
|
115
|
+
*
|
|
116
|
+
* @param params - The constructor parameters.
|
|
117
|
+
*/
|
|
118
|
+
constructor(params) {
|
|
119
|
+
super();
|
|
120
|
+
this.activeFileProvider = params.activeFileProvider;
|
|
121
|
+
this.menuEventRegistrar = params.menuEventRegistrar;
|
|
122
|
+
this.additionalMenuEventRegistrars = params.additionalMenuEventRegistrars ?? [];
|
|
123
|
+
this.commandRegistrar = params.commandRegistrar;
|
|
124
|
+
this.pluginName = params.pluginName;
|
|
125
|
+
this.commandLifetimeOwnerProvider = params.commandLifetimeOwnerProvider ?? (() => this);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Builds the command handlers and registers them with Obsidian, giving each its own runtime
|
|
129
|
+
* registration context. Each handler's command is added immediately; the returned
|
|
130
|
+
* {@link DisposableEx} removes the commands registered by this call — and any menu events those
|
|
131
|
+
* handlers registered via their context's {@link MenuEventRegistrar} — when disposed. Any command
|
|
132
|
+
* still registered when the component unloads is removed automatically.
|
|
133
|
+
*
|
|
134
|
+
* The factory is invoked once more for every additional menu surface, so a plugin declares its
|
|
135
|
+
* handlers ONCE and all surfaces are fed. Those extra passes add no commands — the palette already
|
|
136
|
+
* has every command from the first pass.
|
|
137
|
+
*
|
|
138
|
+
* Which component's unload removes them is the caller's to choose: `options.lifetimeOwner` for this one
|
|
139
|
+
* batch, otherwise whatever this component's {@link CommandLifetimeOwnerProvider} resolves to, which
|
|
140
|
+
* defaults to the component itself. A command must never outlive the collaborators its handler closes
|
|
141
|
+
* over — left on a longer-lived owner it stays in the palette calling into torn-down objects — so the
|
|
142
|
+
* owner to name is the shortest-lived thing the batch depends on.
|
|
143
|
+
*
|
|
144
|
+
* @param commandHandlerFactory - Builds a fresh set of command handlers, once per menu surface.
|
|
145
|
+
* @param options - The registration options.
|
|
146
|
+
* @returns A {@link DisposableEx} that unregisters the handlers (commands + menu events) registered by this call.
|
|
147
|
+
*/
|
|
148
|
+
async registerCommandHandlers(commandHandlerFactory, options) {
|
|
149
|
+
const lifetimeOwner = options?.lifetimeOwner ?? this.commandLifetimeOwnerProvider();
|
|
150
|
+
const disposables = [];
|
|
151
|
+
for (const commandHandler of commandHandlerFactory()) {
|
|
152
|
+
const command = commandHandler.buildCommand();
|
|
153
|
+
const commandId = command.id;
|
|
154
|
+
this.commandRegistrar.addCommand(command);
|
|
155
|
+
const menuEventScope = await this.registerMenuEventHandlers({ commandHandler, menuEventRegistrar: this.menuEventRegistrar });
|
|
156
|
+
const disposable = new CallbackDisposable({
|
|
157
|
+
callback: () => {
|
|
158
|
+
this.commandRegistrar.removeCommand(commandId);
|
|
159
|
+
menuEventScope.dispose();
|
|
160
|
+
}
|
|
161
|
+
});
|
|
162
|
+
disposables.push(lifetimeOwner.registerDisposable(disposable));
|
|
163
|
+
}
|
|
164
|
+
for (const additionalMenuEventRegistrar of this.additionalMenuEventRegistrars) {
|
|
165
|
+
for (const commandHandler of commandHandlerFactory()) {
|
|
166
|
+
disposables.push(lifetimeOwner.registerDisposable(await this.registerMenuEventHandlers({ commandHandler, menuEventRegistrar: additionalMenuEventRegistrar, shouldAddCommandToSubmenu: false })));
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
return new CombineDisposable({ disposables });
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Hands a command handler its registration context, scoped so that disposing the returned scope
|
|
173
|
+
* unregisters exactly the menu events that handler registered.
|
|
174
|
+
*
|
|
175
|
+
* @param params - The parameters for this registration.
|
|
176
|
+
* @returns The handler's menu-event scope.
|
|
177
|
+
*/
|
|
178
|
+
async registerMenuEventHandlers(params) {
|
|
179
|
+
const menuEventScope = new CommandMenuEventScope(params.menuEventRegistrar);
|
|
180
|
+
const context = {
|
|
181
|
+
activeFileProvider: this.activeFileProvider,
|
|
182
|
+
menuEventRegistrar: menuEventScope,
|
|
183
|
+
pluginName: this.pluginName,
|
|
184
|
+
shouldAddCommandToSubmenu: params.shouldAddCommandToSubmenu
|
|
185
|
+
};
|
|
186
|
+
await params.commandHandler.onRegistered(context);
|
|
187
|
+
return menuEventScope;
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
export {
|
|
191
|
+
CommandHandlerComponent
|
|
192
|
+
};
|
|
193
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLWNvbXBvbmVudC50cyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiLyoqXG4gKiBAZmlsZVxuICpcbiAqIENvbXBvbmVudCB0aGF0IHJlZ2lzdGVycyB7QGxpbmsgQ29tbWFuZEhhbmRsZXJ9cyB3aXRoIE9ic2lkaWFuIGFuZCB0aWVzIHRoZWlyIHJlbW92YWwgdG8gYSBjaG9zZW4gbGlmZXRpbWUuXG4gKi9cblxuaW1wb3J0IHR5cGUgeyBEaXNwb3NhYmxlRXggfSBmcm9tICdAbW5hb3Vtb3YvdHlwZXNjcmlwdC1saWIvZGlzcG9zYWJsZSc7XG5cbmltcG9ydCB7XG4gIENhbGxiYWNrRGlzcG9zYWJsZSxcbiAgQ29tYmluZURpc3Bvc2FibGUsXG4gIERpc3Bvc2FibGVCYXNlXG59IGZyb20gJ0BtbmFvdW1vdi90eXBlc2NyaXB0LWxpYi9kaXNwb3NhYmxlJztcblxuaW1wb3J0IHR5cGUgeyBBY3RpdmVGaWxlUHJvdmlkZXIgfSBmcm9tICcuLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5pbXBvcnQgdHlwZSB7IENvbW1hbmRSZWdpc3RyYXIgfSBmcm9tICcuLi9jb21tYW5kLXJlZ2lzdHJhci50cyc7XG5pbXBvcnQgdHlwZSB7XG4gIEVkaXRvck1lbnVFdmVudEhhbmRsZXIsXG4gIEZpbGVNZW51RXZlbnRIYW5kbGVyLFxuICBGaWxlc01lbnVFdmVudEhhbmRsZXIsXG4gIE1hcmtkb3duVmlld3BvcnRNZW51RXZlbnRIYW5kbGVyLFxuICBNZW51RXZlbnRSZWdpc3RyYXJcbn0gZnJvbSAnLi4vbWVudS1ldmVudC1yZWdpc3RyYXIudHMnO1xuaW1wb3J0IHR5cGUge1xuICBDb21tYW5kSGFuZGxlcixcbiAgQ29tbWFuZEhhbmRsZXJSZWdpc3RyYXRpb25Db250ZXh0XG59IGZyb20gJy4vY29tbWFuZC1oYW5kbGVyLnRzJztcblxuaW1wb3J0IHsgQ29tcG9uZW50RXggfSBmcm9tICcuLi9jb21wb25lbnRzL2NvbXBvbmVudC1leC50cyc7XG5cbi8qKlxuICogQnVpbGRzIGEgZnJlc2ggc2V0IG9mIHtAbGluayBDb21tYW5kSGFuZGxlcn1zLlxuICpcbiAqIEEgZmFjdG9yeSByYXRoZXIgdGhhbiBhIHJlYWR5LW1hZGUgYXJyYXkgYmVjYXVzZSB7QGxpbmsgQ29tbWFuZEhhbmRsZXJDb21wb25lbnR9IHJlZ2lzdGVycyB0aGUgc2FtZVxuICogaGFuZGxlcnMgYWdhaW5zdCBzZXZlcmFsIG1lbnUgc3VyZmFjZXMsIGFuZCBhIGhhbmRsZXIgY2FycmllcyBwZXItcmVnaXN0cmF0aW9uIHN0YXRlIChpdHNcbiAqIGFjdGl2ZS1maWxlIHByb3ZpZGVyLCBpdHMgcGx1Z2luIG5hbWUsIGFuZCB3aGF0ZXZlciBhIHN1YmNsYXNzIHJlY29yZHMgaW5cbiAqIHtAbGluayBDb21tYW5kSGFuZGxlci5vblJlZ2lzdGVyZWR9KSBcdTIwMTQgc28gZXZlcnkgc3VyZmFjZSBuZWVkcyBpdHMgb3duIGluc3RhbmNlcy5cbiAqXG4gKiBSZXR1cm5pbmcgc2hhcmVkIGluc3RhbmNlcyAoYCgpID0+IFtoYW5kbGVyMVNpbmdsZXRvbiwgaGFuZGxlcjJTaW5nbGV0b25dYCkgcmVpbnRyb2R1Y2VzIGV4YWN0bHkgdGhlXG4gKiBidWcgdGhlIGZhY3RvcnkgZXhpc3RzIHRvIGF2b2lkLCBzbyBpdCBpcyBub3QgbWVyZWx5IGRpc2NvdXJhZ2VkOiB7QGxpbmsgQ29tbWFuZEhhbmRsZXIub25SZWdpc3RlcmVkfVxuICogdGhyb3dzIG9uIHRoZSBzZWNvbmQgcmVnaXN0cmF0aW9uIG9mIGFuIGluc3RhbmNlLiB7QGxpbmsgQ29tbWFuZEhhbmRsZXJDb21wb25lbnQucmVnaXN0ZXJDb21tYW5kSGFuZGxlcnN9XG4gKiBhd2FpdHMgaXQsIHNvIHRoYXQgdGhyb3cgcmVqZWN0cyB0aGUgY2FsbGVyJ3MgcHJvbWlzZSBpbnN0ZWFkIG9mIGRlZ3JhZGluZyBpbnRvIGEgd3JvbmcgY29udGV4dCBtZW51LlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21tYW5kIGhhbmRsZXJzIHRvIHJlZ2lzdGVyLiBBIE5FVyBpbnN0YW5jZSBvZiBlYWNoIG9uIGV2ZXJ5IGNhbGwuXG4gKi9cbmV4cG9ydCB0eXBlIENvbW1hbmRIYW5kbGVyRmFjdG9yeSA9ICgpID0+IENvbW1hbmRIYW5kbGVyW107XG5cbmludGVyZmFjZSBDb21tYW5kSGFuZGxlckNvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zIHtcbiAgcmVhZG9ubHkgYWN0aXZlRmlsZVByb3ZpZGVyOiBBY3RpdmVGaWxlUHJvdmlkZXI7XG4gIHJlYWRvbmx5IGFkZGl0aW9uYWxNZW51RXZlbnRSZWdpc3RyYXJzPzogcmVhZG9ubHkgTWVudUV2ZW50UmVnaXN0cmFyW10gfCB1bmRlZmluZWQ7XG5cbiAgLyoqXG4gICAqIFJlc29sdmVzIHRoZSBsaWZldGltZSBvd25lciBmb3IgYSByZWdpc3RyYXRpb24gdGhhdCBuYW1lcyBub25lIG9mIGl0cyBvd24uXG4gICAqXG4gICAqIFdoZW4gb21pdHRlZCwgZXZlcnkgcmVnaXN0cmF0aW9uIGlzIG93bmVkIGJ5IHRoZSBjb21wb25lbnQgaXRzZWxmLCBzbyBpdHMgdW5sb2FkIHJlbW92ZXMgZXZlcnkgY29tbWFuZFxuICAgKiBpdCByZWdpc3RlcmVkIFx1MjAxNCB0aGUgYmVoYXZpb3IgYSBzdGFuZGFsb25lIGNvbXBvbmVudCBoYXMgYWx3YXlzIGhhZC4gTm8gYEBkZWZhdWx0YCB0YWcsIGJlY2F1c2UgdGhlXG4gICAqIGVmZmVjdGl2ZSBkZWZhdWx0IGlzIGEgY2xvc3VyZSBvdmVyIGB0aGlzYCByYXRoZXIgdGhhbiBhIGxpdGVyYWwgb3IgYSBsaW5rYWJsZSBzeW1ib2wuXG4gICAqL1xuICByZWFkb25seSBjb21tYW5kTGlmZXRpbWVPd25lclByb3ZpZGVyPzogQ29tbWFuZExpZmV0aW1lT3duZXJQcm92aWRlciB8IHVuZGVmaW5lZDtcbiAgcmVhZG9ubHkgY29tbWFuZFJlZ2lzdHJhcjogQ29tbWFuZFJlZ2lzdHJhcjtcbiAgcmVhZG9ubHkgbWVudUV2ZW50UmVnaXN0cmFyOiBNZW51RXZlbnRSZWdpc3RyYXI7XG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENvbW1hbmRIYW5kbGVyQ29tcG9uZW50UmVnaXN0ZXJDb21tYW5kSGFuZGxlcnNPcHRpb25zIHtcbiAgLyoqXG4gICAqIFRoZSBjb21wb25lbnQgd2hvc2UgdW5sb2FkIHJlbW92ZXMgdGhlIGNvbW1hbmRzIHRoaXMgY2FsbCByZWdpc3RlcnMsIG92ZXJyaWRpbmcgdGhlIGNvbXBvbmVudCdzXG4gICAqIHtAbGluayBDb21tYW5kTGlmZXRpbWVPd25lclByb3ZpZGVyfSBmb3IgdGhpcyBvbmUgY2FsbC5cbiAgICpcbiAgICogTmFtZSBvbmUgd2hlbiB0aGUgYmF0Y2gncyBsaWZldGltZSBkaWZmZXJzIGZyb20gdGhlIGRlZmF1bHQgXHUyMDE0IHRoZSBjYWxsZXIgdGhhdCBuZWVkcyBpdCBpcyBvbmVcbiAgICogcmVnaXN0ZXJpbmcgdGhyb3VnaCBhIGNvbXBvbmVudCB3aG9zZSBkZWZhdWx0IG93bmVyIGlzIHNvbWUgU0hPUlRFUi1saXZlZCBzdXJmYWNlLCBhbmQgd2hvc2Ugb3duXG4gICAqIGNvbW1hbmRzIGhhdmUgdG8gb3V0bGl2ZSBpdC5cbiAgICovXG4gIHJlYWRvbmx5IGxpZmV0aW1lT3duZXI/OiBDb21wb25lbnRFeCB8IHVuZGVmaW5lZDtcbn1cblxuaW50ZXJmYWNlIENvbW1hbmRIYW5kbGVyQ29tcG9uZW50UmVnaXN0ZXJNZW51RXZlbnRIYW5kbGVyc1BhcmFtcyB7XG4gIHJlYWRvbmx5IGNvbW1hbmRIYW5kbGVyOiBDb21tYW5kSGFuZGxlcjtcbiAgcmVhZG9ubHkgbWVudUV2ZW50UmVnaXN0cmFyOiBNZW51RXZlbnRSZWdpc3RyYXI7XG4gIHJlYWRvbmx5IHNob3VsZEFkZENvbW1hbmRUb1N1Ym1lbnU/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlc29sdmVzIHRoZSBjb21wb25lbnQgdGhhdCBvd25zIHRoZSB0ZWFyZG93biBvZiB0aGUgY29tbWFuZHMgYSB7QGxpbmsgQ29tbWFuZEhhbmRsZXJDb21wb25lbnQucmVnaXN0ZXJDb21tYW5kSGFuZGxlcnN9XG4gKiBjYWxsIHJlZ2lzdGVycyBcdTIwMTQgdGhlIG9uZSB3aG9zZSB1bmxvYWQgcmVtb3ZlcyB0aGVtIGZyb20gdGhlIHBhbGV0dGUuXG4gKlxuICogQSBwcm92aWRlciByYXRoZXIgdGhhbiBhIGNvbXBvbmVudCwgYmVjYXVzZSB0aGUgb3duZXIgaXMgbm90IHN0YWJsZSBmb3IgdGhlIGxpZmUgb2YgdGhlIHJlZ2lzdGVyaW5nXG4gKiBjb21wb25lbnQuIGBQbHVnaW5CYXNlYCBoYW5kcyBiYWNrIHRoZSB3cmFwcGVyIGhvbGRpbmcgdGhlIHBsdWdpbidzIGZlYXR1cmUgc3VyZmFjZSwgYW5kIHRoYXQgd3JhcHBlciBpc1xuICogUkVQTEFDRUQgd2hvbGVzYWxlIGV2ZXJ5IHRpbWUgdGhlIHN1cmZhY2UgZ29lcyBkb3duIGFuZCBjb21lcyBiYWNrIChhIGRlY2xhcmVkIGRlcGVuZGVuY3kgbG9zdCBhbmRcbiAqIHJlZ2FpbmVkLCBhIGRlY2xhcmVkIGNvbmZsaWN0IGFwcGVhcmluZyBhbmQgYmVpbmcgcmVzb2x2ZWQpLiBBIHZhbHVlIGNhcHR1cmVkIG9uY2Ugd291bGQgdGllIHRoZSBzZWNvbmRcbiAqIGN5Y2xlJ3MgY29tbWFuZHMgdG8gdGhlIGZpcnN0IGN5Y2xlJ3MgZGVhZCB3cmFwcGVyLCB3aGVyZSBub3RoaW5nIHdvdWxkIGV2ZXIgZGlzcG9zZSB0aGVtLlxuICpcbiAqIEByZXR1cm5zIFRoZSBjb21wb25lbnQgdGhhdCBzaG91bGQgb3duIHRoZSByZWdpc3RyYXRpb24ncyB0ZWFyZG93bi5cbiAqL1xudHlwZSBDb21tYW5kTGlmZXRpbWVPd25lclByb3ZpZGVyID0gKCkgPT4gQ29tcG9uZW50RXg7XG5cbi8qKlxuICogQSBwZXItY29tbWFuZCB7QGxpbmsgTWVudUV2ZW50UmVnaXN0cmFyfSB0aGF0IGRlbGVnYXRlcyB0byBhIHNoYXJlZCByZWdpc3RyYXIgd2hpbGUgY29sbGVjdGluZyB0aGVcbiAqIHtAbGluayBEaXNwb3NhYmxlRXh9IGVhY2ggcmVnaXN0cmF0aW9uIHJldHVybnMsIHNvIGRpc3Bvc2luZyB0aGlzIHNjb3BlIHVucmVnaXN0ZXJzIGV4YWN0bHkgdGhhdCBjb21tYW5kJ3NcbiAqIG1lbnUgZXZlbnRzLiBBIGhhbmRsZXIgbWF5IGtlZXAgdGhlIHNjb3BlIHBhc3Qge0BsaW5rIENvbW1hbmRIYW5kbGVyLm9uUmVnaXN0ZXJlZH0gYW5kIHJlZ2lzdGVyIG1lbnUgZXZlbnRzXG4gKiBsYXRlciBcdTIwMTQgYSBicmlkZ2UgYmluZGluZyBhdCBsYXlvdXQtcmVhZHksIHNheSBcdTIwMTQgc28gYSByZWdpc3RyYXRpb24gdGhhdCBhcnJpdmVzIGFmdGVyIHRoaXMgc2NvcGUgd2FzIGRpc3Bvc2VkXG4gKiBpcyBkaXNwb3NlZCBpbW1lZGlhdGVseSBpbnN0ZWFkIG9mIGxlYWtpbmcuXG4gKi9cbmNsYXNzIENvbW1hbmRNZW51RXZlbnRTY29wZSBleHRlbmRzIERpc3Bvc2FibGVCYXNlIGltcGxlbWVudHMgTWVudUV2ZW50UmVnaXN0cmFyIHtcbiAgcHJpdmF0ZSByZWFkb25seSBkaXNwb3NhYmxlczogRGlzcG9zYWJsZUV4W10gPSBbXTtcblxuICBwdWJsaWMgY29uc3RydWN0b3IocHJpdmF0ZSByZWFkb25seSBpbm5lcjogTWVudUV2ZW50UmVnaXN0cmFyKSB7XG4gICAgc3VwZXIoKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3RlckVkaXRvck1lbnVFdmVudEhhbmRsZXIoaGFuZGxlcjogRWRpdG9yTWVudUV2ZW50SGFuZGxlcik6IERpc3Bvc2FibGVFeCB7XG4gICAgcmV0dXJuIHRoaXMuY29sbGVjdCh0aGlzLmlubmVyLnJlZ2lzdGVyRWRpdG9yTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyKSk7XG4gIH1cblxuICBwdWJsaWMgcmVnaXN0ZXJGaWxlTWVudUV2ZW50SGFuZGxlcihoYW5kbGVyOiBGaWxlTWVudUV2ZW50SGFuZGxlcik6IERpc3Bvc2FibGVFeCB7XG4gICAgcmV0dXJuIHRoaXMuY29sbGVjdCh0aGlzLmlubmVyLnJlZ2lzdGVyRmlsZU1lbnVFdmVudEhhbmRsZXIoaGFuZGxlcikpO1xuICB9XG5cbiAgcHVibGljIHJlZ2lzdGVyRmlsZXNNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IEZpbGVzTWVudUV2ZW50SGFuZGxlcik6IERpc3Bvc2FibGVFeCB7XG4gICAgcmV0dXJuIHRoaXMuY29sbGVjdCh0aGlzLmlubmVyLnJlZ2lzdGVyRmlsZXNNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXIpKTtcbiAgfVxuXG4gIHB1YmxpYyByZWdpc3Rlck1hcmtkb3duVmlld3BvcnRNZW51RXZlbnRIYW5kbGVyKGhhbmRsZXI6IE1hcmtkb3duVmlld3BvcnRNZW51RXZlbnRIYW5kbGVyKTogRGlzcG9zYWJsZUV4IHtcbiAgICByZXR1cm4gdGhpcy5jb2xsZWN0KHRoaXMuaW5uZXIucmVnaXN0ZXJNYXJrZG93blZpZXdwb3J0TWVudUV2ZW50SGFuZGxlcihoYW5kbGVyKSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgb3ZlcnJpZGUgcGVyZm9ybURpc3Bvc2UoKTogdm9pZCB7XG4gICAgZm9yIChjb25zdCBkaXNwb3NhYmxlIG9mIHRoaXMuZGlzcG9zYWJsZXMpIHtcbiAgICAgIGRpc3Bvc2FibGUuZGlzcG9zZSgpO1xuICAgIH1cbiAgICB0aGlzLmRpc3Bvc2FibGVzLmxlbmd0aCA9IDA7XG4gIH1cblxuICBwcml2YXRlIGNvbGxlY3QoZGlzcG9zYWJsZTogRGlzcG9zYWJsZUV4KTogRGlzcG9zYWJsZUV4IHtcbiAgICBpZiAodGhpcy5pc0Rpc3Bvc2VkKSB7XG4gICAgICBkaXNwb3NhYmxlLmRpc3Bvc2UoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kaXNwb3NhYmxlcy5wdXNoKGRpc3Bvc2FibGUpO1xuICAgIH1cblxuICAgIHJldHVybiBkaXNwb3NhYmxlO1xuICB9XG59XG5cbi8qKlxuICogUmVnaXN0ZXJzIHtAbGluayBDb21tYW5kSGFuZGxlcn1zIHdpdGggT2JzaWRpYW4gYW5kIG1hbmFnZXMgdGhlaXIgbGlmZWN5Y2xlLlxuICpcbiAqIENhbGwge0BsaW5rIHJlZ2lzdGVyQ29tbWFuZEhhbmRsZXJzfSB0byByZWdpc3RlciBhIGJhdGNoIG9mIGhhbmRsZXJzIG9uIGRlbWFuZCAoYXMgbWFueSB0aW1lcyBhc1xuICogbmVlZGVkIHdoaWxlIHRoZSBjb21wb25lbnQgaXMgYWxpdmUpOyBkaXNwb3NlIHRoZSByZXR1cm5lZCB7QGxpbmsgRGlzcG9zYWJsZUV4fSB0byB1bnJlZ2lzdGVyIGV4YWN0bHlcbiAqIHRob3NlIGhhbmRsZXJzIFx1MjAxNCBpbmNsdWRpbmcgYW55IG1lbnUgZXZlbnRzIHRoZXkgcmVnaXN0ZXJlZCBcdTIwMTQgb3IgbGV0IHRoZSBiYXRjaCdzIExJRkVUSU1FIE9XTkVSIHVubG9hZCB0b1xuICogcmVtb3ZlIGV2ZXJ5IGNvbW1hbmQgc3RpbGwgcmVnaXN0ZXJlZCB0aHJvdWdoIGl0LlxuICpcbiAqIFRoYXQgb3duZXIgaXMgdGhpcyBjb21wb25lbnQgYnkgZGVmYXVsdCwgd2hpY2ggaXMgd2h5IGEgc3RhbmRhbG9uZSBjb21wb25lbnQgcmVtb3ZlcyBpdHMgb3duIGNvbW1hbmRzXG4gKiB3aGVuIGl0IHVubG9hZHMuIEl0IGlzIG92ZXJyaWRhYmxlIGJlY2F1c2UgdGhlIHJlZ2lzdGVyaW5nIGNvbXBvbmVudCBhbmQgdGhlIHJlZ2lzdGVyZWQgY29tbWFuZHMgZG8gbm90XG4gKiBhbHdheXMgc2hhcmUgYSBsaWZldGltZTogYFBsdWdpbkJhc2VgIGtlZXBzIE9ORSBvZiB0aGVzZSBydW5uaW5nIGZvciB0aGUgd2hvbGUgbGlmZSBvZiB0aGUgcGx1Z2luIFx1MjAxNCBpdCBpc1xuICogd2hhdCB0aGUgXCJ5b3VyIGRlcGVuZGVuY3kgd2VudCBhd2F5XCIgbm90aWNlIGlzIGJ1aWx0IGJlc2lkZSBcdTIwMTQgd2hpbGUgdGhlIGNvbW1hbmRzIGEgc3ViY2xhc3MgcmVnaXN0ZXJzIGZyb21cbiAqIGBvbmxvYWRJbXBsYCBiZWxvbmcgdG8gdGhlIGZlYXR1cmUgc3VyZmFjZSB0aGUgZ2F0ZSB0ZWFycyBkb3duIGFuZCByZWJ1aWxkcyB1bmRlcm5lYXRoIGl0LiBTbyB0aGUgb3duZXIgaXNcbiAqIHJlc29sdmVkIHBlciBjYWxsLCBmcm9tIGEge0BsaW5rIENvbW1hbmRMaWZldGltZU93bmVyUHJvdmlkZXJ9IG9yIGZyb20gdGhlIGNhbGwncyBvd24gYGxpZmV0aW1lT3duZXJgLlxuICpcbiAqIFRoZSBzYW1lIGhhbmRsZXJzIGFyZSBmZWQgdG8gZXZlcnkgbWVudSBzdXJmYWNlIHRoZSBjb21wb25lbnQga25vd3MgYWJvdXQ6IE9ic2lkaWFuJ3Mgb3duIHdvcmtzcGFjZVxuICogZXZlbnRzLCBwbHVzIGVhY2ggYWRkaXRpb25hbCB7QGxpbmsgTWVudUV2ZW50UmVnaXN0cmFyfSBicmlkZ2luZyBhbm90aGVyIHBsdWdpbidzIG1lbnVzLlxuICovXG5leHBvcnQgY2xhc3MgQ29tbWFuZEhhbmRsZXJDb21wb25lbnQgZXh0ZW5kcyBDb21wb25lbnRFeCB7XG4gIC8qKlxuICAgKiBQcm92aWRlciBmb3IgYWNjZXNzaW5nIHRoZSBjdXJyZW50bHkgYWN0aXZlIGZpbGUuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgYWN0aXZlRmlsZVByb3ZpZGVyOiBBY3RpdmVGaWxlUHJvdmlkZXI7XG5cbiAgLyoqXG4gICAqIFJlZ2lzdHJhcnMgZm9yIG1lbnUgc3VyZmFjZXMgdGhhdCBidWlsZCB0aGVpciBvd24gcGx1Z2luLXRpdGxlZCBwYXJlbnQgZW50cnksIGFuZCB0aGVyZWZvcmUgdGFrZVxuICAgKiB0aGUgaGFuZGxlcnMgd2l0aCB0aGVpciBzZWN0aW9uIHN1Ym1lbnUgZm9yY2VkIG9mZi5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBhZGRpdGlvbmFsTWVudUV2ZW50UmVnaXN0cmFyczogcmVhZG9ubHkgTWVudUV2ZW50UmVnaXN0cmFyW107XG5cbiAgLyoqXG4gICAqIFJlZ2lzdHJhciB1c2VkIHRvIGFkZCBhbmQgcmVtb3ZlIGNvbW1hbmRzIHdpdGggT2JzaWRpYW4uXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgY29tbWFuZFJlZ2lzdHJhcjogQ29tbWFuZFJlZ2lzdHJhcjtcblxuICAvKipcbiAgICogUmVnaXN0cmFyIGZvciBtZW51IGV2ZW50IGhhbmRsZXJzLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG1lbnVFdmVudFJlZ2lzdHJhcjogTWVudUV2ZW50UmVnaXN0cmFyO1xuXG4gIC8qKlxuICAgKiBUaGUgbmFtZSBvZiB0aGUgcGx1Z2luIHRoYXQgb3ducyB0aGUgY29tbWFuZHMuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgcGx1Z2luTmFtZTogc3RyaW5nO1xuXG4gIHByaXZhdGUgcmVhZG9ubHkgY29tbWFuZExpZmV0aW1lT3duZXJQcm92aWRlcjogQ29tbWFuZExpZmV0aW1lT3duZXJQcm92aWRlcjtcblxuICAvKipcbiAgICogQ3JlYXRlcyBhIG5ldyBjb21tYW5kIGhhbmRsZXIgY29tcG9uZW50LlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIGNvbnN0cnVjdG9yIHBhcmFtZXRlcnMuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBDb21tYW5kSGFuZGxlckNvbXBvbmVudENvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgc3VwZXIoKTtcbiAgICB0aGlzLmFjdGl2ZUZpbGVQcm92aWRlciA9IHBhcmFtcy5hY3RpdmVGaWxlUHJvdmlkZXI7XG4gICAgdGhpcy5tZW51RXZlbnRSZWdpc3RyYXIgPSBwYXJhbXMubWVudUV2ZW50UmVnaXN0cmFyO1xuICAgIHRoaXMuYWRkaXRpb25hbE1lbnVFdmVudFJlZ2lzdHJhcnMgPSBwYXJhbXMuYWRkaXRpb25hbE1lbnVFdmVudFJlZ2lzdHJhcnMgPz8gW107XG4gICAgdGhpcy5jb21tYW5kUmVnaXN0cmFyID0gcGFyYW1zLmNvbW1hbmRSZWdpc3RyYXI7XG4gICAgdGhpcy5wbHVnaW5OYW1lID0gcGFyYW1zLnBsdWdpbk5hbWU7XG4gICAgdGhpcy5jb21tYW5kTGlmZXRpbWVPd25lclByb3ZpZGVyID0gcGFyYW1zLmNvbW1hbmRMaWZldGltZU93bmVyUHJvdmlkZXIgPz8gKCgpOiBDb21wb25lbnRFeCA9PiB0aGlzKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgdGhlIGNvbW1hbmQgaGFuZGxlcnMgYW5kIHJlZ2lzdGVycyB0aGVtIHdpdGggT2JzaWRpYW4sIGdpdmluZyBlYWNoIGl0cyBvd24gcnVudGltZVxuICAgKiByZWdpc3RyYXRpb24gY29udGV4dC4gRWFjaCBoYW5kbGVyJ3MgY29tbWFuZCBpcyBhZGRlZCBpbW1lZGlhdGVseTsgdGhlIHJldHVybmVkXG4gICAqIHtAbGluayBEaXNwb3NhYmxlRXh9IHJlbW92ZXMgdGhlIGNvbW1hbmRzIHJlZ2lzdGVyZWQgYnkgdGhpcyBjYWxsIFx1MjAxNCBhbmQgYW55IG1lbnUgZXZlbnRzIHRob3NlXG4gICAqIGhhbmRsZXJzIHJlZ2lzdGVyZWQgdmlhIHRoZWlyIGNvbnRleHQncyB7QGxpbmsgTWVudUV2ZW50UmVnaXN0cmFyfSBcdTIwMTQgd2hlbiBkaXNwb3NlZC4gQW55IGNvbW1hbmRcbiAgICogc3RpbGwgcmVnaXN0ZXJlZCB3aGVuIHRoZSBjb21wb25lbnQgdW5sb2FkcyBpcyByZW1vdmVkIGF1dG9tYXRpY2FsbHkuXG4gICAqXG4gICAqIFRoZSBmYWN0b3J5IGlzIGludm9rZWQgb25jZSBtb3JlIGZvciBldmVyeSBhZGRpdGlvbmFsIG1lbnUgc3VyZmFjZSwgc28gYSBwbHVnaW4gZGVjbGFyZXMgaXRzXG4gICAqIGhhbmRsZXJzIE9OQ0UgYW5kIGFsbCBzdXJmYWNlcyBhcmUgZmVkLiBUaG9zZSBleHRyYSBwYXNzZXMgYWRkIG5vIGNvbW1hbmRzIFx1MjAxNCB0aGUgcGFsZXR0ZSBhbHJlYWR5XG4gICAqIGhhcyBldmVyeSBjb21tYW5kIGZyb20gdGhlIGZpcnN0IHBhc3MuXG4gICAqXG4gICAqIFdoaWNoIGNvbXBvbmVudCdzIHVubG9hZCByZW1vdmVzIHRoZW0gaXMgdGhlIGNhbGxlcidzIHRvIGNob29zZTogYG9wdGlvbnMubGlmZXRpbWVPd25lcmAgZm9yIHRoaXMgb25lXG4gICAqIGJhdGNoLCBvdGhlcndpc2Ugd2hhdGV2ZXIgdGhpcyBjb21wb25lbnQncyB7QGxpbmsgQ29tbWFuZExpZmV0aW1lT3duZXJQcm92aWRlcn0gcmVzb2x2ZXMgdG8sIHdoaWNoXG4gICAqIGRlZmF1bHRzIHRvIHRoZSBjb21wb25lbnQgaXRzZWxmLiBBIGNvbW1hbmQgbXVzdCBuZXZlciBvdXRsaXZlIHRoZSBjb2xsYWJvcmF0b3JzIGl0cyBoYW5kbGVyIGNsb3Nlc1xuICAgKiBvdmVyIFx1MjAxNCBsZWZ0IG9uIGEgbG9uZ2VyLWxpdmVkIG93bmVyIGl0IHN0YXlzIGluIHRoZSBwYWxldHRlIGNhbGxpbmcgaW50byB0b3JuLWRvd24gb2JqZWN0cyBcdTIwMTQgc28gdGhlXG4gICAqIG93bmVyIHRvIG5hbWUgaXMgdGhlIHNob3J0ZXN0LWxpdmVkIHRoaW5nIHRoZSBiYXRjaCBkZXBlbmRzIG9uLlxuICAgKlxuICAgKiBAcGFyYW0gY29tbWFuZEhhbmRsZXJGYWN0b3J5IC0gQnVpbGRzIGEgZnJlc2ggc2V0IG9mIGNvbW1hbmQgaGFuZGxlcnMsIG9uY2UgcGVyIG1lbnUgc3VyZmFjZS5cbiAgICogQHBhcmFtIG9wdGlvbnMgLSBUaGUgcmVnaXN0cmF0aW9uIG9wdGlvbnMuXG4gICAqIEByZXR1cm5zIEEge0BsaW5rIERpc3Bvc2FibGVFeH0gdGhhdCB1bnJlZ2lzdGVycyB0aGUgaGFuZGxlcnMgKGNvbW1hbmRzICsgbWVudSBldmVudHMpIHJlZ2lzdGVyZWQgYnkgdGhpcyBjYWxsLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIHJlZ2lzdGVyQ29tbWFuZEhhbmRsZXJzKGNvbW1hbmRIYW5kbGVyRmFjdG9yeTogQ29tbWFuZEhhbmRsZXJGYWN0b3J5LCBvcHRpb25zPzogQ29tbWFuZEhhbmRsZXJDb21wb25lbnRSZWdpc3RlckNvbW1hbmRIYW5kbGVyc09wdGlvbnMpOiBQcm9taXNlPERpc3Bvc2FibGVFeD4ge1xuICAgIC8vIFJlc29sdmVkIHBlciBjYWxsLCBuZXZlciBjYXB0dXJlZCBhdCBjb25zdHJ1Y3Rpb246IGEgcHJvdmlkZXIncyBhbnN3ZXIgY2hhbmdlcyBvdmVyIHRoZSBjb21wb25lbnQnc1xuICAgIC8vIGxpZmUuIGBQbHVnaW5CYXNlYCByZXR1cm5zIHRoZSB3cmFwcGVyIGhvbGRpbmcgdGhlIGZlYXR1cmUgc3VyZmFjZSwgYW5kIHRoYXQgd3JhcHBlciBpcyByZXBsYWNlZFxuICAgIC8vIHdob2xlc2FsZSBvbiBldmVyeSBnYXRlIGN5Y2xlIFx1MjAxNCBzbyB0aGlzIGN5Y2xlJ3MgY29tbWFuZHMgaGF2ZSB0byBsYW5kIG9uIHRoaXMgY3ljbGUncyB3cmFwcGVyLlxuICAgIGNvbnN0IGxpZmV0aW1lT3duZXIgPSBvcHRpb25zPy5saWZldGltZU93bmVyID8/IHRoaXMuY29tbWFuZExpZmV0aW1lT3duZXJQcm92aWRlcigpO1xuICAgIGNvbnN0IGRpc3Bvc2FibGVzOiBEaXNwb3NhYmxlW10gPSBbXTtcbiAgICBmb3IgKGNvbnN0IGNvbW1hbmRIYW5kbGVyIG9mIGNvbW1hbmRIYW5kbGVyRmFjdG9yeSgpKSB7XG4gICAgICBjb25zdCBjb21tYW5kID0gY29tbWFuZEhhbmRsZXIuYnVpbGRDb21tYW5kKCk7XG4gICAgICAvLyBDYXB0dXJlIHRoZSBpZCBiZWZvcmUgcmVnaXN0ZXJpbmcuIGBQbHVnaW4uYWRkQ29tbWFuZGAgbXV0YXRlcyBgY29tbWFuZC5pZGAgKHByZWZpeGluZyBpdCB3aXRoXG4gICAgICAvLyBgdGhpcy5tYW5pZmVzdC5pZGApLCB3aGlsZSBgUGx1Z2luLnJlbW92ZUNvbW1hbmRgIHJlLXByZWZpeGVzIFx1MjAxNCBzbyByZW1vdmFsIG5lZWRzIHRoZSBvcmlnaW5hbCBpZC5cbiAgICAgIC8vIFJlYWRpbmcgYGNvbW1hbmQuaWRgIGFmdGVyIGBhZGRDb21tYW5kYCB3b3VsZCBkb3VibGUtcHJlZml4IGl0LCBzbyB0aGUgY29tbWFuZCBpcyBuZXZlciByZW1vdmVkLlxuICAgICAgY29uc3QgY29tbWFuZElkID0gY29tbWFuZC5pZDtcbiAgICAgIHRoaXMuY29tbWFuZFJlZ2lzdHJhci5hZGRDb21tYW5kKGNvbW1hbmQpO1xuXG4gICAgICAvLyBFYWNoIGNvbW1hbmQgZ2V0cyBpdHMgb3duIHJlZ2lzdHJhdGlvbiBjb250ZXh0IHdpdGggYSBwZXItY29tbWFuZCBtZW51LWV2ZW50IHNjb3BlLCBzbyBkaXNwb3Npbmcgb25lXG4gICAgICAvLyBjb21tYW5kIHRlYXJzIGRvd24gaXRzIG93biBtZW51IGV2ZW50cyB3aXRob3V0IGFmZmVjdGluZyB0aGUgb3RoZXJzLlxuICAgICAgY29uc3QgbWVudUV2ZW50U2NvcGUgPSBhd2FpdCB0aGlzLnJlZ2lzdGVyTWVudUV2ZW50SGFuZGxlcnMoeyBjb21tYW5kSGFuZGxlciwgbWVudUV2ZW50UmVnaXN0cmFyOiB0aGlzLm1lbnVFdmVudFJlZ2lzdHJhciB9KTtcblxuICAgICAgY29uc3QgZGlzcG9zYWJsZSA9IG5ldyBDYWxsYmFja0Rpc3Bvc2FibGUoe1xuICAgICAgICBjYWxsYmFjazogKCk6IHZvaWQgPT4ge1xuICAgICAgICAgIHRoaXMuY29tbWFuZFJlZ2lzdHJhci5yZW1vdmVDb21tYW5kKGNvbW1hbmRJZCk7XG4gICAgICAgICAgbWVudUV2ZW50U2NvcGUuZGlzcG9zZSgpO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIC8vIFRpZSByZW1vdmFsIHRvIHRoZSBsaWZldGltZSBvd25lcidzIHVubG9hZCwgc28gYSBjb21tYW5kIG5ldmVyIG91dGxpdmVzIHdoYXQgaXQgY2FsbHMgaW50by5cbiAgICAgIGRpc3Bvc2FibGVzLnB1c2gobGlmZXRpbWVPd25lci5yZWdpc3RlckRpc3Bvc2FibGUoZGlzcG9zYWJsZSkpO1xuICAgIH1cblxuICAgIC8vIEV2ZXJ5IGFkZGl0aW9uYWwgc3VyZmFjZSBnZXRzIGl0cyBPV04gaGFuZGxlciBpbnN0YW5jZXMgXHUyMDE0IGEgaGFuZGxlciBjYXJyaWVzIHBlci1yZWdpc3RyYXRpb25cbiAgICAvLyBzdGF0ZSwgc28gb25lIGluc3RhbmNlIGNhbm5vdCBzZXJ2ZSB0d28gc3VyZmFjZXMgXHUyMDE0IGFuZCB0YWtlcyB0aGVtIHdpdGggdGhlIHNlY3Rpb24gc3VibWVudVxuICAgIC8vIGZvcmNlZCBvZmYsIGJlY2F1c2Ugc3VjaCBhIHN1cmZhY2Ugd3JhcHMgZXZlcnl0aGluZyBpbiBhIHBsdWdpbi10aXRsZWQgcGFyZW50IGVudHJ5IG9mIGl0cyBvd24uXG4gICAgZm9yIChjb25zdCBhZGRpdGlvbmFsTWVudUV2ZW50UmVnaXN0cmFyIG9mIHRoaXMuYWRkaXRpb25hbE1lbnVFdmVudFJlZ2lzdHJhcnMpIHtcbiAgICAgIGZvciAoY29uc3QgY29tbWFuZEhhbmRsZXIgb2YgY29tbWFuZEhhbmRsZXJGYWN0b3J5KCkpIHtcbiAgICAgICAgZGlzcG9zYWJsZXMucHVzaChsaWZldGltZU93bmVyLnJlZ2lzdGVyRGlzcG9zYWJsZShhd2FpdCB0aGlzLnJlZ2lzdGVyTWVudUV2ZW50SGFuZGxlcnMoeyBjb21tYW5kSGFuZGxlciwgbWVudUV2ZW50UmVnaXN0cmFyOiBhZGRpdGlvbmFsTWVudUV2ZW50UmVnaXN0cmFyLCBzaG91bGRBZGRDb21tYW5kVG9TdWJtZW51OiBmYWxzZSB9KSkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXcgQ29tYmluZURpc3Bvc2FibGUoeyBkaXNwb3NhYmxlcyB9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBIYW5kcyBhIGNvbW1hbmQgaGFuZGxlciBpdHMgcmVnaXN0cmF0aW9uIGNvbnRleHQsIHNjb3BlZCBzbyB0aGF0IGRpc3Bvc2luZyB0aGUgcmV0dXJuZWQgc2NvcGVcbiAgICogdW5yZWdpc3RlcnMgZXhhY3RseSB0aGUgbWVudSBldmVudHMgdGhhdCBoYW5kbGVyIHJlZ2lzdGVyZWQuXG4gICAqXG4gICAqIEBwYXJhbSBwYXJhbXMgLSBUaGUgcGFyYW1ldGVycyBmb3IgdGhpcyByZWdpc3RyYXRpb24uXG4gICAqIEByZXR1cm5zIFRoZSBoYW5kbGVyJ3MgbWVudS1ldmVudCBzY29wZS5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgcmVnaXN0ZXJNZW51RXZlbnRIYW5kbGVycyhwYXJhbXM6IENvbW1hbmRIYW5kbGVyQ29tcG9uZW50UmVnaXN0ZXJNZW51RXZlbnRIYW5kbGVyc1BhcmFtcyk6IFByb21pc2U8Q29tbWFuZE1lbnVFdmVudFNjb3BlPiB7XG4gICAgY29uc3QgbWVudUV2ZW50U2NvcGUgPSBuZXcgQ29tbWFuZE1lbnVFdmVudFNjb3BlKHBhcmFtcy5tZW51RXZlbnRSZWdpc3RyYXIpO1xuICAgIGNvbnN0IGNvbnRleHQ6IENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dCA9IHtcbiAgICAgIGFjdGl2ZUZpbGVQcm92aWRlcjogdGhpcy5hY3RpdmVGaWxlUHJvdmlkZXIsXG4gICAgICBtZW51RXZlbnRSZWdpc3RyYXI6IG1lbnVFdmVudFNjb3BlLFxuICAgICAgcGx1Z2luTmFtZTogdGhpcy5wbHVnaW5OYW1lLFxuICAgICAgc2hvdWxkQWRkQ29tbWFuZFRvU3VibWVudTogcGFyYW1zLnNob3VsZEFkZENvbW1hbmRUb1N1Ym1lbnVcbiAgICB9O1xuICAgIGF3YWl0IHBhcmFtcy5jb21tYW5kSGFuZGxlci5vblJlZ2lzdGVyZWQoY29udGV4dCk7XG4gICAgcmV0dXJuIG1lbnVFdmVudFNjb3BlO1xuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBUUE7QUFBQSxFQUNFO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxPQUNLO0FBZ0JQLFNBQVMsbUJBQW1CO0FBMkU1QixNQUFNLDhCQUE4QixlQUE2QztBQUFBLEVBR3hFLFlBQTZCLE9BQTJCO0FBQzdELFVBQU07QUFENEI7QUFBQSxFQUVwQztBQUFBLEVBRm9DO0FBQUEsRUFGbkIsY0FBOEIsQ0FBQztBQUFBLEVBTXpDLCtCQUErQixTQUErQztBQUNuRixXQUFPLEtBQUssUUFBUSxLQUFLLE1BQU0sK0JBQStCLE9BQU8sQ0FBQztBQUFBLEVBQ3hFO0FBQUEsRUFFTyw2QkFBNkIsU0FBNkM7QUFDL0UsV0FBTyxLQUFLLFFBQVEsS0FBSyxNQUFNLDZCQUE2QixPQUFPLENBQUM7QUFBQSxFQUN0RTtBQUFBLEVBRU8sOEJBQThCLFNBQThDO0FBQ2pGLFdBQU8sS0FBSyxRQUFRLEtBQUssTUFBTSw4QkFBOEIsT0FBTyxDQUFDO0FBQUEsRUFDdkU7QUFBQSxFQUVPLHlDQUF5QyxTQUF5RDtBQUN2RyxXQUFPLEtBQUssUUFBUSxLQUFLLE1BQU0seUNBQXlDLE9BQU8sQ0FBQztBQUFBLEVBQ2xGO0FBQUEsRUFFbUIsaUJBQXVCO0FBQ3hDLGVBQVcsY0FBYyxLQUFLLGFBQWE7QUFDekMsaUJBQVcsUUFBUTtBQUFBLElBQ3JCO0FBQ0EsU0FBSyxZQUFZLFNBQVM7QUFBQSxFQUM1QjtBQUFBLEVBRVEsUUFBUSxZQUF3QztBQUN0RCxRQUFJLEtBQUssWUFBWTtBQUNuQixpQkFBVyxRQUFRO0FBQUEsSUFDckIsT0FBTztBQUNMLFdBQUssWUFBWSxLQUFLLFVBQVU7QUFBQSxJQUNsQztBQUVBLFdBQU87QUFBQSxFQUNUO0FBQ0Y7QUFvQk8sTUFBTSxnQ0FBZ0MsWUFBWTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBSXBDO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU1BO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS0E7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUEsRUFFRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9WLFlBQVksUUFBa0Q7QUFDbkUsVUFBTTtBQUNOLFNBQUsscUJBQXFCLE9BQU87QUFDakMsU0FBSyxxQkFBcUIsT0FBTztBQUNqQyxTQUFLLGdDQUFnQyxPQUFPLGlDQUFpQyxDQUFDO0FBQzlFLFNBQUssbUJBQW1CLE9BQU87QUFDL0IsU0FBSyxhQUFhLE9BQU87QUFDekIsU0FBSywrQkFBK0IsT0FBTyxpQ0FBaUMsTUFBbUI7QUFBQSxFQUNqRztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBdUJBLE1BQWEsd0JBQXdCLHVCQUE4QyxTQUF3RjtBQUl6SyxVQUFNLGdCQUFnQixTQUFTLGlCQUFpQixLQUFLLDZCQUE2QjtBQUNsRixVQUFNLGNBQTRCLENBQUM7QUFDbkMsZUFBVyxrQkFBa0Isc0JBQXNCLEdBQUc7QUFDcEQsWUFBTSxVQUFVLGVBQWUsYUFBYTtBQUk1QyxZQUFNLFlBQVksUUFBUTtBQUMxQixXQUFLLGlCQUFpQixXQUFXLE9BQU87QUFJeEMsWUFBTSxpQkFBaUIsTUFBTSxLQUFLLDBCQUEwQixFQUFFLGdCQUFnQixvQkFBb0IsS0FBSyxtQkFBbUIsQ0FBQztBQUUzSCxZQUFNLGFBQWEsSUFBSSxtQkFBbUI7QUFBQSxRQUN4QyxVQUFVLE1BQVk7QUFDcEIsZUFBSyxpQkFBaUIsY0FBYyxTQUFTO0FBQzdDLHlCQUFlLFFBQVE7QUFBQSxRQUN6QjtBQUFBLE1BQ0YsQ0FBQztBQUVELGtCQUFZLEtBQUssY0FBYyxtQkFBbUIsVUFBVSxDQUFDO0FBQUEsSUFDL0Q7QUFLQSxlQUFXLGdDQUFnQyxLQUFLLCtCQUErQjtBQUM3RSxpQkFBVyxrQkFBa0Isc0JBQXNCLEdBQUc7QUFDcEQsb0JBQVksS0FBSyxjQUFjLG1CQUFtQixNQUFNLEtBQUssMEJBQTBCLEVBQUUsZ0JBQWdCLG9CQUFvQiw4QkFBOEIsMkJBQTJCLE1BQU0sQ0FBQyxDQUFDLENBQUM7QUFBQSxNQUNqTTtBQUFBLElBQ0Y7QUFFQSxXQUFPLElBQUksa0JBQWtCLEVBQUUsWUFBWSxDQUFDO0FBQUEsRUFDOUM7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsTUFBYywwQkFBMEIsUUFBZ0c7QUFDdEksVUFBTSxpQkFBaUIsSUFBSSxzQkFBc0IsT0FBTyxrQkFBa0I7QUFDMUUsVUFBTSxVQUE2QztBQUFBLE1BQ2pELG9CQUFvQixLQUFLO0FBQUEsTUFDekIsb0JBQW9CO0FBQUEsTUFDcEIsWUFBWSxLQUFLO0FBQUEsTUFDakIsMkJBQTJCLE9BQU87QUFBQSxJQUNwQztBQUNBLFVBQU0sT0FBTyxlQUFlLGFBQWEsT0FBTztBQUNoRCxXQUFPO0FBQUEsRUFDVDtBQUNGOyIsCiAgIm5hbWVzIjogW10KfQo=
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/// <reference path="../library.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Base class and interfaces for command handlers.
|
|
6
|
+
*/
|
|
7
|
+
import type { Command, IconName } from 'obsidian';
|
|
8
|
+
import type { ActiveFileProvider } from '../active-file-provider.mjs';
|
|
9
|
+
import type { MenuEventRegistrar } from '../menu-event-registrar.mjs';
|
|
10
|
+
/**
|
|
11
|
+
* Parameters for creating a command handler.
|
|
12
|
+
*/
|
|
13
|
+
export interface CommandHandlerConstructorParams {
|
|
14
|
+
/**
|
|
15
|
+
* The icon for the command.
|
|
16
|
+
*/
|
|
17
|
+
readonly icon: IconName;
|
|
18
|
+
/**
|
|
19
|
+
* The ID of the command.
|
|
20
|
+
*/
|
|
21
|
+
readonly id: string;
|
|
22
|
+
/**
|
|
23
|
+
* The display name of the command.
|
|
24
|
+
*/
|
|
25
|
+
readonly name: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Context provided to command handlers during registration.
|
|
29
|
+
*/
|
|
30
|
+
export interface CommandHandlerRegistrationContext {
|
|
31
|
+
/**
|
|
32
|
+
* Provider for accessing the currently active file.
|
|
33
|
+
*/
|
|
34
|
+
readonly activeFileProvider: ActiveFileProvider;
|
|
35
|
+
/**
|
|
36
|
+
* Registrar for menu event handlers.
|
|
37
|
+
*/
|
|
38
|
+
readonly menuEventRegistrar: MenuEventRegistrar;
|
|
39
|
+
/**
|
|
40
|
+
* The name of the plugin that owns this command.
|
|
41
|
+
*/
|
|
42
|
+
readonly pluginName: string;
|
|
43
|
+
/**
|
|
44
|
+
* Overrides the handler's own `shouldAddCommandToSubmenu`, or `undefined` to leave it alone.
|
|
45
|
+
*
|
|
46
|
+
* A menu surface that already wraps every contributed item in a plugin-titled parent entry — such as
|
|
47
|
+
* `NotebookNavigatorMenuEventRegistrarComponent` — sets this to `false`, because a handler declaring
|
|
48
|
+
* a section submenu of its own would make `Menu.sort()` nest a second plugin-titled entry inside the
|
|
49
|
+
* first. Only `AbstractFileCommandHandler` reads it: the surfaces that need it bridge file and
|
|
50
|
+
* folder menus, never the editor menu.
|
|
51
|
+
*/
|
|
52
|
+
readonly shouldAddCommandToSubmenu?: boolean | undefined;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Base class for command handlers.
|
|
56
|
+
*
|
|
57
|
+
* Unlike the Obsidian {@link Command} interface, handlers are never mutated by Obsidian.
|
|
58
|
+
* The {@link buildCommand} method produces a plain {@link Command} object for registration.
|
|
59
|
+
*/
|
|
60
|
+
export declare abstract class CommandHandler {
|
|
61
|
+
/**
|
|
62
|
+
* The icon for the command.
|
|
63
|
+
*/
|
|
64
|
+
protected readonly icon: IconName;
|
|
65
|
+
/**
|
|
66
|
+
* The ID of the command.
|
|
67
|
+
*/
|
|
68
|
+
protected readonly id: string;
|
|
69
|
+
/**
|
|
70
|
+
* The display name of the command.
|
|
71
|
+
*/
|
|
72
|
+
protected readonly name: string;
|
|
73
|
+
/**
|
|
74
|
+
* Gets the plugin name.
|
|
75
|
+
*
|
|
76
|
+
* @returns The plugin name.
|
|
77
|
+
*/
|
|
78
|
+
protected get pluginName(): string;
|
|
79
|
+
private _pluginName?;
|
|
80
|
+
/**
|
|
81
|
+
* Creates a new command handler.
|
|
82
|
+
*
|
|
83
|
+
* @param params - The parameters for the command handler.
|
|
84
|
+
*/
|
|
85
|
+
constructor(params: CommandHandlerConstructorParams);
|
|
86
|
+
/**
|
|
87
|
+
* Builds a plain Obsidian {@link Command} object for registration.
|
|
88
|
+
*
|
|
89
|
+
* @returns A new {@link Command} object. Obsidian may mutate this object after registration.
|
|
90
|
+
*/
|
|
91
|
+
abstract buildCommand(): Command;
|
|
92
|
+
/**
|
|
93
|
+
* Called after the command has been registered with Obsidian.
|
|
94
|
+
* Subclasses use the provided context to register menu event handlers.
|
|
95
|
+
*
|
|
96
|
+
* Throws when the same instance is registered twice. A handler stores per-registration state — the
|
|
97
|
+
* plugin name here, the active-file provider and the submenu override in `AbstractFileCommandHandler`,
|
|
98
|
+
* plus whatever a subclass records — and the menu closures registered here read that state lazily, at
|
|
99
|
+
* menu-render time. So a second registration silently rewrites what the first registration's closures
|
|
100
|
+
* will see. `CommandHandlerComponent` registers a handler set once per menu surface, which is why
|
|
101
|
+
* `CommandHandlerFactory` must build FRESH instances on every call; this guard turns a factory that
|
|
102
|
+
* hands out shared instances into a loud failure instead of a wrong context menu.
|
|
103
|
+
*
|
|
104
|
+
* @param context - The registration context providing runtime capabilities.
|
|
105
|
+
*/
|
|
106
|
+
onRegistered(context: CommandHandlerRegistrationContext): Promise<void>;
|
|
107
|
+
}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/*
|
|
2
|
+
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
|
|
3
|
+
if you want to view the source, please visit the github repository of this plugin
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
(function () {
|
|
7
|
+
function ensureDisposeSymbols(symbolConstructor = Symbol) {
|
|
8
|
+
symbolConstructor.asyncDispose ??= symbolConstructor.for('Symbol.asyncDispose');
|
|
9
|
+
symbolConstructor.dispose ??= symbolConstructor.for('Symbol.dispose');
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
function ensureBrowserProcess() {
|
|
13
|
+
const browserProcess = {
|
|
14
|
+
browser: true,
|
|
15
|
+
cwd() {
|
|
16
|
+
return '/';
|
|
17
|
+
},
|
|
18
|
+
env: {},
|
|
19
|
+
platform: 'android'
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
// eslint-disable-next-line obsidianmd/no-global-this, unicorn/no-unnecessary-global-this -- Must stay `globalThis`-qualified: in the emitted banner a bare `process` is a free identifier, so reading it where the host has none throws a ReferenceError instead of yielding `undefined`. That is the very case this function exists to handle.
|
|
23
|
+
const existingProcess = globalThis.process;
|
|
24
|
+
|
|
25
|
+
if (!existingProcess) {
|
|
26
|
+
// eslint-disable-next-line obsidianmd/no-global-this -- Actively use globalThis.
|
|
27
|
+
globalThis.process = browserProcess;
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (existingProcess.versions?.node) {
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
const existingProcessRecord = existingProcess;
|
|
36
|
+
|
|
37
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
38
|
+
existingProcessRecord[key] ??= value;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
existingProcessRecord['browser'] = true;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
(function initEsm() {
|
|
45
|
+
ensureDisposeSymbols();
|
|
46
|
+
ensureBrowserProcess();
|
|
47
|
+
})();
|
|
48
|
+
})();
|
|
49
|
+
|
|
50
|
+
import { noopAsync } from "@mnaoumov/typescript-lib/function";
|
|
51
|
+
import { ensureNonNullable } from "@mnaoumov/typescript-lib/type-guards";
|
|
52
|
+
class CommandHandler {
|
|
53
|
+
/**
|
|
54
|
+
* The icon for the command.
|
|
55
|
+
*/
|
|
56
|
+
icon;
|
|
57
|
+
/**
|
|
58
|
+
* The ID of the command.
|
|
59
|
+
*/
|
|
60
|
+
id;
|
|
61
|
+
/**
|
|
62
|
+
* The display name of the command.
|
|
63
|
+
*/
|
|
64
|
+
name;
|
|
65
|
+
/**
|
|
66
|
+
* Gets the plugin name.
|
|
67
|
+
*
|
|
68
|
+
* @returns The plugin name.
|
|
69
|
+
*/
|
|
70
|
+
get pluginName() {
|
|
71
|
+
return ensureNonNullable(this._pluginName);
|
|
72
|
+
}
|
|
73
|
+
_pluginName;
|
|
74
|
+
/**
|
|
75
|
+
* Creates a new command handler.
|
|
76
|
+
*
|
|
77
|
+
* @param params - The parameters for the command handler.
|
|
78
|
+
*/
|
|
79
|
+
constructor(params) {
|
|
80
|
+
this.icon = params.icon;
|
|
81
|
+
this.id = params.id;
|
|
82
|
+
this.name = params.name;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Called after the command has been registered with Obsidian.
|
|
86
|
+
* Subclasses use the provided context to register menu event handlers.
|
|
87
|
+
*
|
|
88
|
+
* Throws when the same instance is registered twice. A handler stores per-registration state — the
|
|
89
|
+
* plugin name here, the active-file provider and the submenu override in `AbstractFileCommandHandler`,
|
|
90
|
+
* plus whatever a subclass records — and the menu closures registered here read that state lazily, at
|
|
91
|
+
* menu-render time. So a second registration silently rewrites what the first registration's closures
|
|
92
|
+
* will see. `CommandHandlerComponent` registers a handler set once per menu surface, which is why
|
|
93
|
+
* `CommandHandlerFactory` must build FRESH instances on every call; this guard turns a factory that
|
|
94
|
+
* hands out shared instances into a loud failure instead of a wrong context menu.
|
|
95
|
+
*
|
|
96
|
+
* @param context - The registration context providing runtime capabilities.
|
|
97
|
+
*/
|
|
98
|
+
async onRegistered(context) {
|
|
99
|
+
await noopAsync();
|
|
100
|
+
if (this._pluginName !== void 0) {
|
|
101
|
+
throw new Error(
|
|
102
|
+
`Command handler '${this.id}' is already registered. A command handler instance cannot be registered twice - the command handler factory must build fresh instances on every call.`
|
|
103
|
+
);
|
|
104
|
+
}
|
|
105
|
+
this._pluginName = context.pluginName;
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export {
|
|
109
|
+
CommandHandler
|
|
110
|
+
};
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vLi4vLi4vc3JjL2NvbW1hbmQtaGFuZGxlcnMvY29tbWFuZC1oYW5kbGVyLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBmaWxlXG4gKlxuICogQmFzZSBjbGFzcyBhbmQgaW50ZXJmYWNlcyBmb3IgY29tbWFuZCBoYW5kbGVycy5cbiAqL1xuXG5pbXBvcnQgdHlwZSB7XG4gIENvbW1hbmQsXG4gIEljb25OYW1lXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgbm9vcEFzeW5jIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL2Z1bmN0aW9uJztcbmltcG9ydCB7IGVuc3VyZU5vbk51bGxhYmxlIH0gZnJvbSAnQG1uYW91bW92L3R5cGVzY3JpcHQtbGliL3R5cGUtZ3VhcmRzJztcblxuaW1wb3J0IHR5cGUgeyBBY3RpdmVGaWxlUHJvdmlkZXIgfSBmcm9tICcuLi9hY3RpdmUtZmlsZS1wcm92aWRlci50cyc7XG5pbXBvcnQgdHlwZSB7IE1lbnVFdmVudFJlZ2lzdHJhciB9IGZyb20gJy4uL21lbnUtZXZlbnQtcmVnaXN0cmFyLnRzJztcblxuLyoqXG4gKiBQYXJhbWV0ZXJzIGZvciBjcmVhdGluZyBhIGNvbW1hbmQgaGFuZGxlci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zIHtcbiAgLyoqXG4gICAqIFRoZSBpY29uIGZvciB0aGUgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IGljb246IEljb25OYW1lO1xuXG4gIC8qKlxuICAgKiBUaGUgSUQgb2YgdGhlIGNvbW1hbmQuXG4gICAqL1xuICByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIENvbnRleHQgcHJvdmlkZWQgdG8gY29tbWFuZCBoYW5kbGVycyBkdXJpbmcgcmVnaXN0cmF0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbW1hbmRIYW5kbGVyUmVnaXN0cmF0aW9uQ29udGV4dCB7XG4gIC8qKlxuICAgKiBQcm92aWRlciBmb3IgYWNjZXNzaW5nIHRoZSBjdXJyZW50bHkgYWN0aXZlIGZpbGUuXG4gICAqL1xuICByZWFkb25seSBhY3RpdmVGaWxlUHJvdmlkZXI6IEFjdGl2ZUZpbGVQcm92aWRlcjtcblxuICAvKipcbiAgICogUmVnaXN0cmFyIGZvciBtZW51IGV2ZW50IGhhbmRsZXJzLlxuICAgKi9cbiAgcmVhZG9ubHkgbWVudUV2ZW50UmVnaXN0cmFyOiBNZW51RXZlbnRSZWdpc3RyYXI7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIHRoZSBwbHVnaW4gdGhhdCBvd25zIHRoaXMgY29tbWFuZC5cbiAgICovXG4gIHJlYWRvbmx5IHBsdWdpbk5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogT3ZlcnJpZGVzIHRoZSBoYW5kbGVyJ3Mgb3duIGBzaG91bGRBZGRDb21tYW5kVG9TdWJtZW51YCwgb3IgYHVuZGVmaW5lZGAgdG8gbGVhdmUgaXQgYWxvbmUuXG4gICAqXG4gICAqIEEgbWVudSBzdXJmYWNlIHRoYXQgYWxyZWFkeSB3cmFwcyBldmVyeSBjb250cmlidXRlZCBpdGVtIGluIGEgcGx1Z2luLXRpdGxlZCBwYXJlbnQgZW50cnkgXHUyMDE0IHN1Y2ggYXNcbiAgICogYE5vdGVib29rTmF2aWdhdG9yTWVudUV2ZW50UmVnaXN0cmFyQ29tcG9uZW50YCBcdTIwMTQgc2V0cyB0aGlzIHRvIGBmYWxzZWAsIGJlY2F1c2UgYSBoYW5kbGVyIGRlY2xhcmluZ1xuICAgKiBhIHNlY3Rpb24gc3VibWVudSBvZiBpdHMgb3duIHdvdWxkIG1ha2UgYE1lbnUuc29ydCgpYCBuZXN0IGEgc2Vjb25kIHBsdWdpbi10aXRsZWQgZW50cnkgaW5zaWRlIHRoZVxuICAgKiBmaXJzdC4gT25seSBgQWJzdHJhY3RGaWxlQ29tbWFuZEhhbmRsZXJgIHJlYWRzIGl0OiB0aGUgc3VyZmFjZXMgdGhhdCBuZWVkIGl0IGJyaWRnZSBmaWxlIGFuZFxuICAgKiBmb2xkZXIgbWVudXMsIG5ldmVyIHRoZSBlZGl0b3IgbWVudS5cbiAgICovXG4gIHJlYWRvbmx5IHNob3VsZEFkZENvbW1hbmRUb1N1Ym1lbnU/OiBib29sZWFuIHwgdW5kZWZpbmVkO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIGNvbW1hbmQgaGFuZGxlcnMuXG4gKlxuICogVW5saWtlIHRoZSBPYnNpZGlhbiB7QGxpbmsgQ29tbWFuZH0gaW50ZXJmYWNlLCBoYW5kbGVycyBhcmUgbmV2ZXIgbXV0YXRlZCBieSBPYnNpZGlhbi5cbiAqIFRoZSB7QGxpbmsgYnVpbGRDb21tYW5kfSBtZXRob2QgcHJvZHVjZXMgYSBwbGFpbiB7QGxpbmsgQ29tbWFuZH0gb2JqZWN0IGZvciByZWdpc3RyYXRpb24uXG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBDb21tYW5kSGFuZGxlciB7XG4gIC8qKlxuICAgKiBUaGUgaWNvbiBmb3IgdGhlIGNvbW1hbmQuXG4gICAqL1xuICBwcm90ZWN0ZWQgcmVhZG9ubHkgaWNvbjogSWNvbk5hbWU7XG5cbiAgLyoqXG4gICAqIFRoZSBJRCBvZiB0aGUgY29tbWFuZC5cbiAgICovXG4gIHByb3RlY3RlZCByZWFkb25seSBpZDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGlzcGxheSBuYW1lIG9mIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcHJvdGVjdGVkIHJlYWRvbmx5IG5hbWU6IHN0cmluZztcblxuICAvKipcbiAgICogR2V0cyB0aGUgcGx1Z2luIG5hbWUuXG4gICAqXG4gICAqIEByZXR1cm5zIFRoZSBwbHVnaW4gbmFtZS5cbiAgICovXG4gIHByb3RlY3RlZCBnZXQgcGx1Z2luTmFtZSgpOiBzdHJpbmcge1xuICAgIHJldHVybiBlbnN1cmVOb25OdWxsYWJsZSh0aGlzLl9wbHVnaW5OYW1lKTtcbiAgfVxuXG4gIHByaXZhdGUgX3BsdWdpbk5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgY29tbWFuZCBoYW5kbGVyLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMgZm9yIHRoZSBjb21tYW5kIGhhbmRsZXIuXG4gICAqL1xuICBwdWJsaWMgY29uc3RydWN0b3IocGFyYW1zOiBDb21tYW5kSGFuZGxlckNvbnN0cnVjdG9yUGFyYW1zKSB7XG4gICAgdGhpcy5pY29uID0gcGFyYW1zLmljb247XG4gICAgdGhpcy5pZCA9IHBhcmFtcy5pZDtcbiAgICB0aGlzLm5hbWUgPSBwYXJhbXMubmFtZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBCdWlsZHMgYSBwbGFpbiBPYnNpZGlhbiB7QGxpbmsgQ29tbWFuZH0gb2JqZWN0IGZvciByZWdpc3RyYXRpb24uXG4gICAqXG4gICAqIEByZXR1cm5zIEEgbmV3IHtAbGluayBDb21tYW5kfSBvYmplY3QuIE9ic2lkaWFuIG1heSBtdXRhdGUgdGhpcyBvYmplY3QgYWZ0ZXIgcmVnaXN0cmF0aW9uLlxuICAgKi9cbiAgcHVibGljIGFic3RyYWN0IGJ1aWxkQ29tbWFuZCgpOiBDb21tYW5kO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgYWZ0ZXIgdGhlIGNvbW1hbmQgaGFzIGJlZW4gcmVnaXN0ZXJlZCB3aXRoIE9ic2lkaWFuLlxuICAgKiBTdWJjbGFzc2VzIHVzZSB0aGUgcHJvdmlkZWQgY29udGV4dCB0byByZWdpc3RlciBtZW51IGV2ZW50IGhhbmRsZXJzLlxuICAgKlxuICAgKiBUaHJvd3Mgd2hlbiB0aGUgc2FtZSBpbnN0YW5jZSBpcyByZWdpc3RlcmVkIHR3aWNlLiBBIGhhbmRsZXIgc3RvcmVzIHBlci1yZWdpc3RyYXRpb24gc3RhdGUgXHUyMDE0IHRoZVxuICAgKiBwbHVnaW4gbmFtZSBoZXJlLCB0aGUgYWN0aXZlLWZpbGUgcHJvdmlkZXIgYW5kIHRoZSBzdWJtZW51IG92ZXJyaWRlIGluIGBBYnN0cmFjdEZpbGVDb21tYW5kSGFuZGxlcmAsXG4gICAqIHBsdXMgd2hhdGV2ZXIgYSBzdWJjbGFzcyByZWNvcmRzIFx1MjAxNCBhbmQgdGhlIG1lbnUgY2xvc3VyZXMgcmVnaXN0ZXJlZCBoZXJlIHJlYWQgdGhhdCBzdGF0ZSBsYXppbHksIGF0XG4gICAqIG1lbnUtcmVuZGVyIHRpbWUuIFNvIGEgc2Vjb25kIHJlZ2lzdHJhdGlvbiBzaWxlbnRseSByZXdyaXRlcyB3aGF0IHRoZSBmaXJzdCByZWdpc3RyYXRpb24ncyBjbG9zdXJlc1xuICAgKiB3aWxsIHNlZS4gYENvbW1hbmRIYW5kbGVyQ29tcG9uZW50YCByZWdpc3RlcnMgYSBoYW5kbGVyIHNldCBvbmNlIHBlciBtZW51IHN1cmZhY2UsIHdoaWNoIGlzIHdoeVxuICAgKiBgQ29tbWFuZEhhbmRsZXJGYWN0b3J5YCBtdXN0IGJ1aWxkIEZSRVNIIGluc3RhbmNlcyBvbiBldmVyeSBjYWxsOyB0aGlzIGd1YXJkIHR1cm5zIGEgZmFjdG9yeSB0aGF0XG4gICAqIGhhbmRzIG91dCBzaGFyZWQgaW5zdGFuY2VzIGludG8gYSBsb3VkIGZhaWx1cmUgaW5zdGVhZCBvZiBhIHdyb25nIGNvbnRleHQgbWVudS5cbiAgICpcbiAgICogQHBhcmFtIGNvbnRleHQgLSBUaGUgcmVnaXN0cmF0aW9uIGNvbnRleHQgcHJvdmlkaW5nIHJ1bnRpbWUgY2FwYWJpbGl0aWVzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIG9uUmVnaXN0ZXJlZChjb250ZXh0OiBDb21tYW5kSGFuZGxlclJlZ2lzdHJhdGlvbkNvbnRleHQpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBhd2FpdCBub29wQXN5bmMoKTtcbiAgICBpZiAodGhpcy5fcGx1Z2luTmFtZSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBDb21tYW5kIGhhbmRsZXIgJyR7dGhpcy5pZH0nIGlzIGFscmVhZHkgcmVnaXN0ZXJlZC4gQSBjb21tYW5kIGhhbmRsZXIgaW5zdGFuY2UgY2Fubm90IGJlIHJlZ2lzdGVyZWQgdHdpY2UgLSB0aGUgY29tbWFuZCBoYW5kbGVyIGZhY3RvcnkgbXVzdCBidWlsZCBmcmVzaCBpbnN0YW5jZXMgb24gZXZlcnkgY2FsbC5gXG4gICAgICApO1xuICAgIH1cblxuICAgIHRoaXMuX3BsdWdpbk5hbWUgPSBjb250ZXh0LnBsdWdpbk5hbWU7XG4gIH1cbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFXQSxTQUFTLGlCQUFpQjtBQUMxQixTQUFTLHlCQUF5QjtBQThEM0IsTUFBZSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJaEI7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQUtBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFLQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9uQixJQUFjLGFBQXFCO0FBQ2pDLFdBQU8sa0JBQWtCLEtBQUssV0FBVztBQUFBLEVBQzNDO0FBQUEsRUFFUTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQU9ELFlBQVksUUFBeUM7QUFDMUQsU0FBSyxPQUFPLE9BQU87QUFDbkIsU0FBSyxLQUFLLE9BQU87QUFDakIsU0FBSyxPQUFPLE9BQU87QUFBQSxFQUNyQjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQXVCQSxNQUFhLGFBQWEsU0FBMkQ7QUFDbkYsVUFBTSxVQUFVO0FBQ2hCLFFBQUksS0FBSyxnQkFBZ0IsUUFBVztBQUNsQyxZQUFNLElBQUk7QUFBQSxRQUNSLG9CQUFvQixLQUFLLEVBQUU7QUFBQSxNQUM3QjtBQUFBLElBQ0Y7QUFFQSxTQUFLLGNBQWMsUUFBUTtBQUFBLEVBQzdCO0FBQ0Y7IiwKICAibmFtZXMiOiBbXQp9Cg==
|
|
@@ -0,0 +1,208 @@
|
|
|
1
|
+
/// <reference path="../library.d.mts" />
|
|
2
|
+
/**
|
|
3
|
+
* @file
|
|
4
|
+
*
|
|
5
|
+
* Command handler for editor commands with optional editor menu integration.
|
|
6
|
+
*/
|
|
7
|
+
import type { Command, Editor, IconName, MarkdownFileInfo, MarkdownView, Menu } from 'obsidian';
|
|
8
|
+
import type { Promisable } from 'type-fest';
|
|
9
|
+
import type { CommandHandlerConstructorParams, CommandHandlerRegistrationContext } from './command-handler.mjs';
|
|
10
|
+
import { CommandHandler } from './command-handler.mjs';
|
|
11
|
+
/**
|
|
12
|
+
* Parameters for creating an editor command handler.
|
|
13
|
+
*/
|
|
14
|
+
export interface EditorCommandHandlerConstructorParams extends CommandHandlerConstructorParams {
|
|
15
|
+
/**
|
|
16
|
+
* The item name to use in the editor menu.
|
|
17
|
+
*/
|
|
18
|
+
readonly editorMenuItemName?: string | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The section to use in the editor menu.
|
|
21
|
+
*/
|
|
22
|
+
readonly editorMenuSection?: string | undefined;
|
|
23
|
+
/**
|
|
24
|
+
* The icon to use in the editor menu submenu.
|
|
25
|
+
*/
|
|
26
|
+
readonly editorMenuSubmenuIcon?: IconName | undefined;
|
|
27
|
+
/**
|
|
28
|
+
* Whether to add the command to a submenu.
|
|
29
|
+
*
|
|
30
|
+
* @default `false`
|
|
31
|
+
*/
|
|
32
|
+
readonly shouldAddCommandToSubmenu?: boolean | undefined;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Parameters for {@link EditorCommandHandler.editorCheckCallback}.
|
|
36
|
+
*/
|
|
37
|
+
export interface EditorCommandHandlerEditorCheckCallbackParams {
|
|
38
|
+
/**
|
|
39
|
+
* Whether Obsidian is only checking availability (not executing).
|
|
40
|
+
*/
|
|
41
|
+
readonly checking: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* The markdown file context.
|
|
44
|
+
*/
|
|
45
|
+
readonly context: MarkdownFileInfo;
|
|
46
|
+
/**
|
|
47
|
+
* The editor instance.
|
|
48
|
+
*/
|
|
49
|
+
readonly editor: Editor;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parameters for {@link EditorCommandHandler.handleEditorMenu}.
|
|
53
|
+
*/
|
|
54
|
+
export interface EditorCommandHandlerHandleEditorMenuParams {
|
|
55
|
+
/**
|
|
56
|
+
* The markdown file context.
|
|
57
|
+
*/
|
|
58
|
+
readonly context: MarkdownFileInfo;
|
|
59
|
+
/**
|
|
60
|
+
* The editor instance.
|
|
61
|
+
*/
|
|
62
|
+
readonly editor: Editor;
|
|
63
|
+
/**
|
|
64
|
+
* The menu to add items to.
|
|
65
|
+
*/
|
|
66
|
+
readonly menu: Menu;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Parameters for {@link EditorCommandHandler.handleViewportMenu}.
|
|
70
|
+
*/
|
|
71
|
+
export interface EditorCommandHandlerHandleViewportMenuParams {
|
|
72
|
+
/**
|
|
73
|
+
* The menu to add items to.
|
|
74
|
+
*/
|
|
75
|
+
readonly menu: Menu;
|
|
76
|
+
/**
|
|
77
|
+
* The view mode (`'source'` or `'preview'`).
|
|
78
|
+
*/
|
|
79
|
+
readonly mode: string;
|
|
80
|
+
/**
|
|
81
|
+
* What raised the menu. Obsidian 1.13.7 always passes `'gutter'` - see
|
|
82
|
+
* {@link MarkdownViewportMenuEventHandler}.
|
|
83
|
+
*/
|
|
84
|
+
readonly source: string;
|
|
85
|
+
/**
|
|
86
|
+
* The markdown view the menu was raised over.
|
|
87
|
+
*/
|
|
88
|
+
readonly view: MarkdownView;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Command handler for editor commands.
|
|
92
|
+
*
|
|
93
|
+
* Subclasses override {@link canExecuteEditor} and {@link executeEditor} to provide behavior.
|
|
94
|
+
* Optionally integrates with the editor context menu via {@link shouldAddToEditorMenu}, and with the
|
|
95
|
+
* markdown viewport (margin) menu via {@link shouldAddToViewportMenu}.
|
|
96
|
+
*/
|
|
97
|
+
export declare abstract class EditorCommandHandler extends CommandHandler {
|
|
98
|
+
/**
|
|
99
|
+
* Gets the item name to use in the editor menu.
|
|
100
|
+
*
|
|
101
|
+
* @returns The item name, or `undefined` to use the command name.
|
|
102
|
+
*/
|
|
103
|
+
protected get editorMenuItemName(): string | undefined;
|
|
104
|
+
/**
|
|
105
|
+
* Gets the section to use in the editor menu.
|
|
106
|
+
*
|
|
107
|
+
* @returns The section name, or `undefined` to use the plugin name.
|
|
108
|
+
*/
|
|
109
|
+
protected get editorMenuSection(): string | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Gets the icon to use in the editor menu submenu.
|
|
112
|
+
*
|
|
113
|
+
* @returns The icon, or `undefined` for no icon.
|
|
114
|
+
*/
|
|
115
|
+
protected get editorMenuSubmenuIcon(): IconName | undefined;
|
|
116
|
+
private readonly _editorMenuItemName?;
|
|
117
|
+
private readonly _editorMenuSection?;
|
|
118
|
+
private readonly _editorMenuSubmenuIcon?;
|
|
119
|
+
private readonly _shouldAddCommandToSubmenu?;
|
|
120
|
+
/**
|
|
121
|
+
* Creates a new editor command handler.
|
|
122
|
+
*
|
|
123
|
+
* @param params - The parameters for the editor command handler.
|
|
124
|
+
*/
|
|
125
|
+
constructor(params: EditorCommandHandlerConstructorParams);
|
|
126
|
+
/**
|
|
127
|
+
* Builds a plain Obsidian {@link Command} object with an `editorCheckCallback`.
|
|
128
|
+
*
|
|
129
|
+
* @returns A new {@link Command} object.
|
|
130
|
+
*/
|
|
131
|
+
buildCommand(): Command;
|
|
132
|
+
/**
|
|
133
|
+
* Registers the editor-menu and markdown-viewport-menu event handlers.
|
|
134
|
+
*
|
|
135
|
+
* Both are registered unconditionally; whether an item actually appears is decided per menu render by
|
|
136
|
+
* {@link shouldAddToEditorMenu} / {@link shouldAddToViewportMenu}, which both default to `false`.
|
|
137
|
+
*
|
|
138
|
+
* @param context - The registration context.
|
|
139
|
+
*/
|
|
140
|
+
onRegistered(context: CommandHandlerRegistrationContext): Promise<void>;
|
|
141
|
+
/**
|
|
142
|
+
* Checks whether the command can execute for the given editor and context.
|
|
143
|
+
*
|
|
144
|
+
* @param _editor - The editor instance.
|
|
145
|
+
* @param _context - The markdown file context.
|
|
146
|
+
* @returns Whether the command can execute.
|
|
147
|
+
*/
|
|
148
|
+
protected canExecuteEditor(_editor: Editor, _context: MarkdownFileInfo): boolean;
|
|
149
|
+
/**
|
|
150
|
+
* Executes the command for the given editor and context.
|
|
151
|
+
*
|
|
152
|
+
* @param editor - The editor instance.
|
|
153
|
+
* @param context - The markdown file context.
|
|
154
|
+
*/
|
|
155
|
+
protected abstract executeEditor(editor: Editor, context: MarkdownFileInfo): Promisable<void>;
|
|
156
|
+
/**
|
|
157
|
+
* Gets whether to add the command to a submenu.
|
|
158
|
+
*
|
|
159
|
+
* @returns Whether to add to a submenu.
|
|
160
|
+
*/
|
|
161
|
+
protected shouldAddCommandToSubmenu(): boolean | undefined;
|
|
162
|
+
/**
|
|
163
|
+
* Checks whether the command should appear in the command palette.
|
|
164
|
+
*
|
|
165
|
+
* @returns Whether to add to the command palette.
|
|
166
|
+
*/
|
|
167
|
+
protected shouldAddToCommandPalette(): boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Checks whether the command should appear in the editor context menu.
|
|
170
|
+
*
|
|
171
|
+
* @param _editor - The editor instance.
|
|
172
|
+
* @param _context - The markdown file context.
|
|
173
|
+
* @returns Whether to add to the editor menu.
|
|
174
|
+
*/
|
|
175
|
+
protected shouldAddToEditorMenu(_editor: Editor, _context: MarkdownFileInfo): boolean;
|
|
176
|
+
/**
|
|
177
|
+
* Checks whether the command should appear in the markdown viewport (margin) context menu.
|
|
178
|
+
*
|
|
179
|
+
* That is the menu carrying `Readable line length` / `Line numbers` / `Inline title`, raised by
|
|
180
|
+
* right-clicking the empty space beside the text or the line-number gutter — a menu
|
|
181
|
+
* {@link shouldAddToEditorMenu} can never reach, because a margin click lands outside the editor's
|
|
182
|
+
* `contentDOM`. It is a natural home for whole-note commands once the editor menu gets crowded.
|
|
183
|
+
*
|
|
184
|
+
* `mode` and `source` are passed through rather than filtered here: whether a command belongs in
|
|
185
|
+
* reading mode is the consuming plugin's call. Note that Obsidian 1.13.7 always passes `'gutter'` as
|
|
186
|
+
* `source`, so only `mode` currently discriminates - see {@link MarkdownViewportMenuEventHandler}.
|
|
187
|
+
*
|
|
188
|
+
* @param _view - The markdown view the menu was raised over.
|
|
189
|
+
* @param _mode - The view mode (`'source'` or `'preview'`).
|
|
190
|
+
* @param _source - What raised the menu.
|
|
191
|
+
* @returns Whether to add to the viewport menu.
|
|
192
|
+
*/
|
|
193
|
+
protected shouldAddToViewportMenu(_view: MarkdownView, _mode: string, _source: string): boolean;
|
|
194
|
+
/**
|
|
195
|
+
* Adds the command's item to a menu, in the handler's own section.
|
|
196
|
+
*
|
|
197
|
+
* Shared by both menu surfaces: an item presents identically whichever of the two it was opted into,
|
|
198
|
+
* so the section / submenu / icon plumbing lives here once.
|
|
199
|
+
*
|
|
200
|
+
* @param menu - The menu to add the item to.
|
|
201
|
+
* @param editor - The editor the command will run against.
|
|
202
|
+
* @param context - The markdown file context the command will run against.
|
|
203
|
+
*/
|
|
204
|
+
private addMenuItem;
|
|
205
|
+
private editorCheckCallback;
|
|
206
|
+
private handleEditorMenu;
|
|
207
|
+
private handleViewportMenu;
|
|
208
|
+
}
|