@mnaoumov/obsidian-lib 10.5.1 → 10.7.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/codemirror/inline-token-widgets/package.json +6 -0
- package/codemirror/settings-facet/package.json +6 -0
- package/command-handlers/open-discussion-command-handler/package.json +6 -0
- package/command-handlers/open-feature-request-command-handler/package.json +6 -0
- package/command-handlers/open-git-hub-command-handler/package.json +6 -0
- package/components/settings-facet-component/package.json +6 -0
- package/components/style-sheet-component/package.json +6 -0
- package/dist/lib/cjs/__merged.cjs +137 -1
- package/dist/lib/cjs/__merged.d.cts +26 -0
- package/dist/lib/cjs/anchored-suggest.cjs +232 -0
- package/dist/lib/cjs/anchored-suggest.d.cts +116 -0
- package/dist/lib/cjs/broken-link-candidates.cjs +366 -0
- package/dist/lib/cjs/broken-link-candidates.d.cts +181 -0
- package/dist/lib/cjs/bug-report.cjs +4 -2
- package/dist/lib/cjs/bug-report.d.cts +1 -1
- package/dist/lib/cjs/code-block-render-handoff.cjs +272 -0
- package/dist/lib/cjs/code-block-render-handoff.d.cts +131 -0
- package/dist/lib/cjs/codemirror/index.cjs +7 -1
- package/dist/lib/cjs/codemirror/index.d.cts +2 -0
- package/dist/lib/cjs/codemirror/inline-token-widgets.cjs +250 -0
- package/dist/lib/cjs/codemirror/inline-token-widgets.d.cts +109 -0
- package/dist/lib/cjs/codemirror/settings-facet.cjs +132 -0
- package/dist/lib/cjs/codemirror/settings-facet.d.cts +19 -0
- package/dist/lib/cjs/command-handlers/index.cjs +10 -1
- package/dist/lib/cjs/command-handlers/index.d.cts +3 -0
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.cjs +9 -12
- package/dist/lib/cjs/command-handlers/open-bug-report-command-handler.d.cts +6 -8
- package/dist/lib/cjs/command-handlers/open-discussion-command-handler.cjs +127 -0
- package/dist/lib/cjs/command-handlers/open-discussion-command-handler.d.cts +45 -0
- package/dist/lib/cjs/command-handlers/open-feature-request-command-handler.cjs +119 -0
- package/dist/lib/cjs/command-handlers/open-feature-request-command-handler.d.cts +33 -0
- package/dist/lib/cjs/command-handlers/open-git-hub-command-handler.cjs +121 -0
- package/dist/lib/cjs/command-handlers/open-git-hub-command-handler.d.cts +43 -0
- package/dist/lib/cjs/components/index.cjs +7 -1
- package/dist/lib/cjs/components/index.d.cts +2 -0
- package/dist/lib/cjs/components/settings-facet-component.cjs +136 -0
- package/dist/lib/cjs/components/settings-facet-component.d.cts +68 -0
- package/dist/lib/cjs/components/style-sheet-component.cjs +198 -0
- package/dist/lib/cjs/components/style-sheet-component.d.cts +79 -0
- package/dist/lib/cjs/css-class.cjs +8 -1
- package/dist/lib/cjs/css-class.d.cts +28 -0
- package/dist/lib/cjs/data-stores/data-store-transport.cjs +7 -4
- package/dist/lib/cjs/data-stores/data-store-transport.d.cts +1 -1
- package/dist/lib/cjs/data-stores/shared-data-store.cjs +1 -1
- package/dist/lib/cjs/data-stores/shared-data-store.d.cts +1 -1
- package/dist/lib/cjs/desktop-git-runner.cjs +117 -0
- package/dist/lib/cjs/desktop-git-runner.d.cts +17 -0
- package/dist/lib/cjs/desktop-request-url-stream.cjs +258 -0
- package/dist/lib/cjs/desktop-request-url-stream.d.cts +22 -0
- package/dist/lib/cjs/editor-suggest-registrar.cjs +8 -2
- package/dist/lib/cjs/editor-suggest-registrar.d.cts +14 -2
- package/dist/lib/cjs/editor-suggest.cjs +197 -0
- package/dist/lib/cjs/editor-suggest.d.cts +103 -0
- package/dist/lib/cjs/feature-request.cjs +115 -0
- package/dist/lib/cjs/feature-request.d.cts +54 -0
- package/dist/lib/cjs/generated-during-build.cjs +2 -2
- package/dist/lib/cjs/git-hub-discussion.cjs +101 -0
- package/dist/lib/cjs/git-hub-discussion.d.cts +28 -0
- package/dist/lib/cjs/git-rename-history.cjs +148 -0
- package/dist/lib/cjs/git-rename-history.d.cts +43 -0
- package/dist/lib/cjs/hotkey.cjs +185 -0
- package/dist/lib/cjs/hotkey.d.cts +59 -0
- package/dist/lib/cjs/i18n/locales/en.cjs +13 -1
- package/dist/lib/cjs/i18n/locales/en.d.cts +12 -0
- package/dist/lib/cjs/i18n/locales/translations-map.d.cts +12 -0
- package/dist/lib/cjs/index.cjs +46 -1
- package/dist/lib/cjs/index.d.cts +15 -0
- package/dist/lib/cjs/inline-token-renderer.cjs +145 -0
- package/dist/lib/cjs/inline-token-renderer.d.cts +88 -0
- package/dist/lib/cjs/link-and-tag-input-suggest.cjs +325 -0
- package/dist/lib/cjs/link-and-tag-input-suggest.d.cts +229 -0
- package/dist/lib/cjs/markdown-code-block-processor.cjs +13 -1
- package/dist/lib/cjs/markdown-code-block-processor.d.cts +18 -0
- package/dist/lib/cjs/markdown.cjs +6 -1
- package/dist/lib/cjs/markdown.d.cts +10 -1
- package/dist/lib/cjs/rendered-markdown.cjs +306 -0
- package/dist/lib/cjs/rendered-markdown.d.cts +77 -0
- package/dist/lib/cjs/request-url.cjs +523 -0
- package/dist/lib/cjs/request-url.d.cts +233 -0
- package/dist/lib/cjs/setting-components/folder-list-component.cjs +216 -0
- package/dist/lib/cjs/setting-components/folder-list-component.d.cts +73 -0
- package/dist/lib/cjs/setting-components/hotkey-component.cjs +260 -0
- package/dist/lib/cjs/setting-components/hotkey-component.d.cts +85 -0
- package/dist/lib/cjs/setting-components/index.cjs +13 -1
- package/dist/lib/cjs/setting-components/index.d.cts +4 -0
- package/dist/lib/cjs/setting-components/list-component.cjs +291 -0
- package/dist/lib/cjs/setting-components/list-component.d.cts +106 -0
- package/dist/lib/cjs/setting-components/tag-list-component.cjs +220 -0
- package/dist/lib/cjs/setting-components/tag-list-component.d.cts +82 -0
- package/dist/lib/cjs/setting-ex.cjs +51 -1
- package/dist/lib/cjs/setting-ex.d.cts +35 -1
- package/dist/lib/cjs/settings-tabs.cjs +258 -0
- package/dist/lib/cjs/settings-tabs.d.cts +101 -0
- package/dist/lib/cjs/vault.cjs +2 -2
- package/dist/lib/cjs/vault.d.cts +3 -1
- package/dist/lib/esm/__merged.d.mts +26 -0
- package/dist/lib/esm/__merged.mjs +139 -1
- package/dist/lib/esm/anchored-suggest.d.mts +116 -0
- package/dist/lib/esm/anchored-suggest.mjs +144 -0
- package/dist/lib/esm/broken-link-candidates.d.mts +181 -0
- package/dist/lib/esm/broken-link-candidates.mjs +275 -0
- package/dist/lib/esm/bug-report.d.mts +1 -1
- package/dist/lib/esm/bug-report.mjs +4 -2
- package/dist/lib/esm/code-block-render-handoff.d.mts +131 -0
- package/dist/lib/esm/code-block-render-handoff.mjs +183 -0
- package/dist/lib/esm/codemirror/index.d.mts +2 -0
- package/dist/lib/esm/codemirror/index.mjs +5 -1
- package/dist/lib/esm/codemirror/inline-token-widgets.d.mts +109 -0
- package/dist/lib/esm/codemirror/inline-token-widgets.mjs +167 -0
- package/dist/lib/esm/codemirror/settings-facet.d.mts +19 -0
- package/dist/lib/esm/codemirror/settings-facet.mjs +44 -0
- package/dist/lib/esm/command-handlers/index.d.mts +3 -0
- package/dist/lib/esm/command-handlers/index.mjs +7 -1
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.d.mts +6 -8
- package/dist/lib/esm/command-handlers/open-bug-report-command-handler.mjs +9 -12
- package/dist/lib/esm/command-handlers/open-discussion-command-handler.d.mts +45 -0
- package/dist/lib/esm/command-handlers/open-discussion-command-handler.mjs +39 -0
- package/dist/lib/esm/command-handlers/open-feature-request-command-handler.d.mts +33 -0
- package/dist/lib/esm/command-handlers/open-feature-request-command-handler.mjs +31 -0
- package/dist/lib/esm/command-handlers/open-git-hub-command-handler.d.mts +43 -0
- package/dist/lib/esm/command-handlers/open-git-hub-command-handler.mjs +33 -0
- package/dist/lib/esm/components/index.d.mts +2 -0
- package/dist/lib/esm/components/index.mjs +5 -1
- package/dist/lib/esm/components/settings-facet-component.d.mts +68 -0
- package/dist/lib/esm/components/settings-facet-component.mjs +48 -0
- package/dist/lib/esm/components/style-sheet-component.d.mts +79 -0
- package/dist/lib/esm/components/style-sheet-component.mjs +109 -0
- package/dist/lib/esm/css-class.d.mts +28 -0
- package/dist/lib/esm/css-class.mjs +8 -1
- package/dist/lib/esm/data-stores/data-store-transport.d.mts +1 -1
- package/dist/lib/esm/data-stores/data-store-transport.mjs +7 -4
- package/dist/lib/esm/data-stores/shared-data-store.d.mts +1 -1
- package/dist/lib/esm/data-stores/shared-data-store.mjs +1 -1
- package/dist/lib/esm/desktop-git-runner.d.mts +17 -0
- package/dist/lib/esm/desktop-git-runner.mjs +19 -0
- package/dist/lib/esm/desktop-request-url-stream.d.mts +22 -0
- package/dist/lib/esm/desktop-request-url-stream.mjs +170 -0
- package/dist/lib/esm/editor-suggest-registrar.d.mts +14 -2
- package/dist/lib/esm/editor-suggest-registrar.mjs +8 -2
- package/dist/lib/esm/editor-suggest.d.mts +103 -0
- package/dist/lib/esm/editor-suggest.mjs +108 -0
- package/dist/lib/esm/feature-request.d.mts +54 -0
- package/dist/lib/esm/feature-request.mjs +25 -0
- package/dist/lib/esm/generated-during-build.mjs +2 -2
- package/dist/lib/esm/git-hub-discussion.d.mts +28 -0
- package/dist/lib/esm/git-hub-discussion.mjs +13 -0
- package/dist/lib/esm/git-rename-history.d.mts +43 -0
- package/dist/lib/esm/git-rename-history.mjs +59 -0
- package/dist/lib/esm/hotkey.d.mts +59 -0
- package/dist/lib/esm/hotkey.mjs +95 -0
- package/dist/lib/esm/i18n/locales/en.d.mts +12 -0
- package/dist/lib/esm/i18n/locales/en.mjs +13 -1
- package/dist/lib/esm/i18n/locales/translations-map.d.mts +12 -0
- package/dist/lib/esm/index.d.mts +15 -0
- package/dist/lib/esm/index.mjs +31 -1
- package/dist/lib/esm/inline-token-renderer.d.mts +88 -0
- package/dist/lib/esm/inline-token-renderer.mjs +59 -0
- package/dist/lib/esm/link-and-tag-input-suggest.d.mts +229 -0
- package/dist/lib/esm/link-and-tag-input-suggest.mjs +239 -0
- package/dist/lib/esm/markdown-code-block-processor.d.mts +18 -0
- package/dist/lib/esm/markdown-code-block-processor.mjs +16 -1
- package/dist/lib/esm/markdown.d.mts +10 -1
- package/dist/lib/esm/markdown.mjs +9 -1
- package/dist/lib/esm/rendered-markdown.d.mts +77 -0
- package/dist/lib/esm/rendered-markdown.mjs +219 -0
- package/dist/lib/esm/request-url.d.mts +233 -0
- package/dist/lib/esm/request-url.mjs +428 -0
- package/dist/lib/esm/setting-components/folder-list-component.d.mts +73 -0
- package/dist/lib/esm/setting-components/folder-list-component.mjs +131 -0
- package/dist/lib/esm/setting-components/hotkey-component.d.mts +85 -0
- package/dist/lib/esm/setting-components/hotkey-component.mjs +178 -0
- package/dist/lib/esm/setting-components/index.d.mts +4 -0
- package/dist/lib/esm/setting-components/index.mjs +9 -1
- package/dist/lib/esm/setting-components/list-component.d.mts +106 -0
- package/dist/lib/esm/setting-components/list-component.mjs +206 -0
- package/dist/lib/esm/setting-components/tag-list-component.d.mts +82 -0
- package/dist/lib/esm/setting-components/tag-list-component.mjs +131 -0
- package/dist/lib/esm/setting-ex.d.mts +35 -1
- package/dist/lib/esm/setting-ex.mjs +51 -1
- package/dist/lib/esm/settings-tabs.d.mts +101 -0
- package/dist/lib/esm/settings-tabs.mjs +170 -0
- package/dist/lib/esm/vault.d.mts +3 -1
- package/dist/lib/esm/vault.mjs +2 -2
- package/dist/styles.css +83 -1
- package/package.json +2 -2
- package/setting-components/folder-list-component/package.json +6 -0
- package/setting-components/hotkey-component/package.json +6 -0
- package/setting-components/list-component/package.json +6 -0
- package/setting-components/tag-list-component/package.json +6 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference path="./library-references.d.cts" />
|
|
2
2
|
export { AppActiveFileProvider } from './active-file-provider.cjs';
|
|
3
|
+
export { AnchoredSuggest } from './anchored-suggest.cjs';
|
|
3
4
|
export { getApp } from './app.cjs';
|
|
4
5
|
export { retryWithTimeoutNotice, runWithTimeoutNotice } from './async-with-notice.cjs';
|
|
5
6
|
export { AttachmentPathContext, CUSTOM_ATTACHMENT_LOCATION_PLUGIN_ID, DUMMY_PATH, getAttachmentFilePath, getAttachmentFolderPath, getAttachmentFolderPathForAttachment, getAttachmentFolderPathSyncOrNull, getAvailablePathForAttachments, getCheckIsAttachmentUnitFolderFunction, hasOwnAttachmentFolder, isAtProperAttachmentPath } from './attachment-path.cjs';
|
|
@@ -7,6 +8,7 @@ export { findAttachmentUnitFolderPath, rebasePathOntoFolder } from './attachment
|
|
|
7
8
|
export { getIndexedBacklinksForFile, iterateReferencesAffectedByRename } from './backlink-index.cjs';
|
|
8
9
|
export { renderBacklinksTable, renderDelayedBacklinks, renderDelayedBacklinksForFolder } from './backlink.cjs';
|
|
9
10
|
export { PluginBasesViewRegistrar } from './bases-view-registrar.cjs';
|
|
11
|
+
export { BrokenLinkCandidateFinder, BrokenLinkEvidenceKind, getParentPath, getPathMapping } from './broken-link-candidates.cjs';
|
|
10
12
|
export { BUG_REPORT_ISSUE_FORM_TEMPLATE, BugReportIssueFormFieldId, formatBugReportEnvironment, getBugReportEnvironment, getBugReportIssueFormUrl, getGitHubIssueFormUrl } from './bug-report.cjs';
|
|
11
13
|
export { BULK_OPERATION_HOLD_INTERVAL_IN_MILLISECONDS, holdBulkOperationWhile, registerBulkOperationProgressListener, reportBulkOperationProgress } from './bulk-operation-progress.cjs';
|
|
12
14
|
export { buildBeforeOperationCommitSubject, buildOperationCommitMessage, BULK_OPERATION_LOCK_FILE_NAME, BULK_OPERATION_LOCK_STALE_AFTER_IN_MILLISECONDS, formatOperationId, getNextOperationId, isBulkOperationLock, isBulkOperationLockStale, OPERATION_TRAILER_KEY, parseBulkOperationCommit, parseOperationNumber, PLUGIN_TRAILER_KEY } from './bulk-operation.cjs';
|
|
@@ -14,9 +16,12 @@ export { CalloutMode, renderCallout, wrapForCallout } from './callout.cjs';
|
|
|
14
16
|
export { getCanvasReferences } from './canvas.cjs';
|
|
15
17
|
export { CaseInsensitiveFileIndex, getCaseInsensitiveFileIndex, setCaseInsensitiveFileIndex, unsetCaseInsensitiveFileIndex } from './case-insensitive-file-index.cjs';
|
|
16
18
|
export { createCodeBlockRegExp } from './code-block-reg-exp.cjs';
|
|
19
|
+
export { captureCodeBlockFocus, claimCodeBlockRenderHandoff, CODE_BLOCK_RENDER_HANDOFF_LIFETIME_IN_MILLISECONDS, recordCodeBlockRenderHandoff, restoreCodeBlockFocus } from './code-block-render-handoff.cjs';
|
|
17
20
|
export { createIncrementalParseStateField } from './codemirror/incremental-parse-state-field.cjs';
|
|
21
|
+
export { createInlineTokenWidgetsExtension, execAll, toGlobalRegExp } from './codemirror/inline-token-widgets.cjs';
|
|
18
22
|
export { dispatchToAllMarkdownEditorViews, getAllMarkdownEditorViews } from './codemirror/markdown-editor-views.cjs';
|
|
19
23
|
export { rangeSetToArray } from './codemirror/range-set.cjs';
|
|
24
|
+
export { createSettingsFacet } from './codemirror/settings-facet.cjs';
|
|
20
25
|
export { AbstractFileCommandHandler } from './command-handlers/abstract-file-command-handler.cjs';
|
|
21
26
|
export { CommandHandlerComponent } from './command-handlers/command-handler-component.cjs';
|
|
22
27
|
export { CommandHandler } from './command-handlers/command-handler.cjs';
|
|
@@ -26,6 +31,9 @@ export { FolderCommandHandler } from './command-handlers/folder-command-handler.
|
|
|
26
31
|
export { GlobalCommandHandler } from './command-handlers/global-command-handler.cjs';
|
|
27
32
|
export { OpenBugReportCommandHandler } from './command-handlers/open-bug-report-command-handler.cjs';
|
|
28
33
|
export { OpenDemoVaultCommandHandler } from './command-handlers/open-demo-vault-command-handler.cjs';
|
|
34
|
+
export { OpenDiscussionCommandHandler } from './command-handlers/open-discussion-command-handler.cjs';
|
|
35
|
+
export { OpenFeatureRequestCommandHandler } from './command-handlers/open-feature-request-command-handler.cjs';
|
|
36
|
+
export { OpenGitHubCommandHandler } from './command-handlers/open-git-hub-command-handler.cjs';
|
|
29
37
|
export { OpenSettingsCommandHandler } from './command-handlers/open-settings-command-handler.cjs';
|
|
30
38
|
export { UndoBulkOperationCommandHandler } from './command-handlers/undo-bulk-operation-command-handler.cjs';
|
|
31
39
|
export { UnlockActiveNoteCommandHandler } from './command-handlers/unlock-active-note-command-handler.cjs';
|
|
@@ -62,7 +70,9 @@ export { RegistryComponent } from './components/registry-component.cjs';
|
|
|
62
70
|
export { ReleaseNotesComponent } from './components/release-notes-component.cjs';
|
|
63
71
|
export { EmptyFolderBehavior, RenameDeleteHandlerComponent } from './components/rename-delete-handler-component.cjs';
|
|
64
72
|
export { NOT_EMPTY_DIRECTORY_ERROR_CODE, RmdirGuardComponent } from './components/rmdir-guard-component.cjs';
|
|
73
|
+
export { SettingsFacetComponent } from './components/settings-facet-component.cjs';
|
|
65
74
|
export { SettingsMigrationComponent } from './components/settings-migration-component.cjs';
|
|
75
|
+
export { registerStyle, StyleSheetComponent } from './components/style-sheet-component.cjs';
|
|
66
76
|
export { SyntaxHighlightingComponent } from './components/syntax-highlighting-component.cjs';
|
|
67
77
|
export { TemplatesLanguageComponent } from './components/templates-language-component.cjs';
|
|
68
78
|
export { getDomEventsHandlersConstructor } from './constructors/get-dom-events-handlers-constructor.cjs';
|
|
@@ -80,12 +90,16 @@ export { bootstrapDemoVault } from './demo-vault-helper.cjs';
|
|
|
80
90
|
export { getDemoVaultArchiveFileName, getDemoVaultFolderName } from './demo-vault-naming.cjs';
|
|
81
91
|
export { BulkOperationGitRepo, GitCommandError } from './desktop-bulk-operation-git.cjs';
|
|
82
92
|
export { openDemoVault } from './desktop-demo-vault-opener.cjs';
|
|
93
|
+
export { createDesktopGitRunner } from './desktop-git-runner.cjs';
|
|
83
94
|
export { getDesktopOperatingSystem } from './desktop-operating-system.cjs';
|
|
95
|
+
export { openDesktopRequestUrlStream } from './desktop-request-url-stream.cjs';
|
|
84
96
|
export { PluginEditorExtensionRegistrar } from './editor-extension-registrar.cjs';
|
|
85
97
|
export { PluginEditorSuggestRegistrar } from './editor-suggest-registrar.cjs';
|
|
98
|
+
export { CommandEditorSuggest, prioritizeEditorSuggest } from './editor-suggest.cjs';
|
|
86
99
|
export { syncOpenEditorBuffersForPath, toggleEditorReadOnly } from './editor.cjs';
|
|
87
100
|
export { EventRefDisposable, subscribeDisposableEvent, subscribeEvent } from './events.cjs';
|
|
88
101
|
export { PluginExtensionsRegistrar } from './extensions-registrar.cjs';
|
|
102
|
+
export { FEATURE_REQUEST_ISSUE_FORM_TEMPLATE, FeatureRequestIssueFormFieldId, getFeatureRequestIssueFormUrl } from './feature-request.cjs';
|
|
89
103
|
export { applyContentChanges, applyFileChanges, isCanvasChange, isCanvasFileNodeChange, isCanvasTextNodeChange, isContentChange, isFrontmatterChange, isFrontmatterChangeWithOffsets, toFrontmatterChangeWithOffsets } from './file-change.cjs';
|
|
90
104
|
export { revealInFileExplorer } from './file-explorer.cjs';
|
|
91
105
|
export { addAlias, deleteAlias, processFrontmatter, waitForPendingLinkUpdates } from './file-manager.cjs';
|
|
@@ -95,14 +109,19 @@ export { enableFrontmatterFormattingPreservation, preserveFrontmatterFormatting
|
|
|
95
109
|
export { isFrontmatterLinkCacheWithOffsets, toFrontmatterLinkCacheWithOffsets } from './frontmatter-link-cache-with-offsets.cjs';
|
|
96
110
|
export { checkIsPlainObject, parseFrontmatter, registerFrontmatterFormattingPreserver, removeEmptyFrontmatterValues, setFrontmatter } from './frontmatter.cjs';
|
|
97
111
|
export { LIBRARY_STYLES, LIBRARY_VERSION } from './generated-during-build.cjs';
|
|
112
|
+
export { getGitHubDiscussionUrl } from './git-hub-discussion.cjs';
|
|
113
|
+
export { loadGitRenames, parseGitRenameLog } from './git-rename-history.cjs';
|
|
114
|
+
export { formatHotkey, getHotkeyFromKeyboardEvent, isSameHotkey } from './hotkey.cjs';
|
|
98
115
|
export { PluginHoverLinkSourceRegistrar } from './hover-link-source-registrar.cjs';
|
|
99
116
|
export { appendCodeBlock, appendTextOrFragmentClone, applySpellcheckMode, asCodeBlock, createFragmentWithCodeBlocks } from './html-element.cjs';
|
|
100
117
|
export { DEFAULT_NS, initI18N, t } from './i18n/i18n.cjs';
|
|
101
118
|
export { en } from './i18n/locales/en.cjs';
|
|
102
119
|
export { DEFAULT_LANGUAGE, defaultTranslationsMap } from './i18n/locales/translations-map.cjs';
|
|
120
|
+
export { createInlineTokenPostProcessor, DEFAULT_INLINE_TOKEN_SKIP_SELECTOR, registerInlineTokenRenderer } from './inline-token-renderer.cjs';
|
|
103
121
|
export { isInObsidian } from './is-in-obsidian.cjs';
|
|
104
122
|
export { injectLibraryStyles, LAST_LIBRARY_VERSION_KEY, LIBRARY_STYLES_ELEMENT_ID } from './library-styles.cjs';
|
|
105
123
|
export { OBSIDIAN_LIBRARY_NAME, ObsidianLibrary } from './library.cjs';
|
|
124
|
+
export { getLinkAndTagCompletionTrigger, getVaultTagSuggestions, LinkAndTagCompletionKind, LinkAndTagInputSuggest } from './link-and-tag-input-suggest.cjs';
|
|
106
125
|
export { normalizeLinkName } from './link-name.cjs';
|
|
107
126
|
export { buildBacklinksSnapshot, convertLink, editBacklinks, editBacklinksSnapshot, editReferences, editReferencesInContent, extractReferenceFile, generateMarkdownLink, generateRawMarkdownLink, getGenerateMarkdownLinkDefaultParamsFns, hasAngleBrackets, hasEmbedSyntax, hasLeadingDot, hasLeadingSlash, hasWikilinkSyntax, LinkPathStyle, LinkStyle, shouldResetAlias, splitSubpath, updateFileUrlLinksInContent, updateFileUrlLinksInFile, updateLink, updateReferencesInContent, updateReferencesInFile } from './link.cjs';
|
|
108
127
|
export { invokeAsyncAndLog } from './logger.cjs';
|
|
@@ -150,6 +169,8 @@ export { checkPropertyEntryMatches, isPropertyEntry, PROPERTY_ENTRY_PREFIX } fro
|
|
|
150
169
|
export { addToQueue, addToQueueAndWait, flushQueue } from './queue.cjs';
|
|
151
170
|
export { AppContext, useApp } from './react/app-context.cjs';
|
|
152
171
|
export { getReferenceLinkText, isCanvasFileNodeReference, isCanvasReference, isCanvasTextNodeReference, isReferenceInHeading, isReferenceInOffsetRange, referenceToFileChange, sortReferences } from './reference.cjs';
|
|
172
|
+
export { isOwnedByRenderedMarkdown, registerFoldHandlers, registerFootnoteLinkHandler } from './rendered-markdown.cjs';
|
|
173
|
+
export { createRequestUrlFetch, encodeRequestUrlRequest, RequestUrlError, requestUrlEx, requestUrlStream } from './request-url.cjs';
|
|
153
174
|
export { isResourceLockedForPath, isResourceLockedForPathByAncestor, lockResourceForPath, requestResourceUnlockForPath, ResourceLockComponent, ResourceLockedError, unlockResourceForPath } from './resource-lock.cjs';
|
|
154
175
|
export { relativePathToResourceUrl } from './resource-url.cjs';
|
|
155
176
|
export { PluginRibbonIconRegistrar } from './ribbon-icon-registrar.cjs';
|
|
@@ -159,6 +180,9 @@ export { DateComponent } from './setting-components/date-component.cjs';
|
|
|
159
180
|
export { DateTimeComponent } from './setting-components/date-time-component.cjs';
|
|
160
181
|
export { EmailComponent } from './setting-components/email-component.cjs';
|
|
161
182
|
export { FileComponent } from './setting-components/file-component.cjs';
|
|
183
|
+
export { FolderInputSuggest, FolderListComponent } from './setting-components/folder-list-component.cjs';
|
|
184
|
+
export { HotkeyComponent } from './setting-components/hotkey-component.cjs';
|
|
185
|
+
export { ListComponent } from './setting-components/list-component.cjs';
|
|
162
186
|
export { MonthComponent } from './setting-components/month-component.cjs';
|
|
163
187
|
export { MultipleDropdownComponent } from './setting-components/multiple-dropdown-component.cjs';
|
|
164
188
|
export { MultipleEmailComponent } from './setting-components/multiple-email-component.cjs';
|
|
@@ -167,6 +191,7 @@ export { MultipleTextComponent } from './setting-components/multiple-text-compon
|
|
|
167
191
|
export { NumberComponent } from './setting-components/number-component.cjs';
|
|
168
192
|
export { PasswordComponent } from './setting-components/password-component.cjs';
|
|
169
193
|
export { ensureWrapped } from './setting-components/setting-component-wrapper.cjs';
|
|
194
|
+
export { TagInputSuggest, TagListComponent } from './setting-components/tag-list-component.cjs';
|
|
170
195
|
export { TelephoneComponent } from './setting-components/telephone-component.cjs';
|
|
171
196
|
export { getTextBasedComponentValue } from './setting-components/text-based-component.cjs';
|
|
172
197
|
export { TimeComponent } from './setting-components/time-component.cjs';
|
|
@@ -181,6 +206,7 @@ export { WeekComponent } from './setting-components/week-component.cjs';
|
|
|
181
206
|
export { adoptSettingEx, SettingEx } from './setting-ex.cjs';
|
|
182
207
|
export { SettingGroupEx } from './setting-group-ex.cjs';
|
|
183
208
|
export { openSettingTab } from './settings-modal.cjs';
|
|
209
|
+
export { SettingsTabs } from './settings-tabs.cjs';
|
|
184
210
|
export { PluginStatusBarItemRegistrar } from './status-bar-item-registrar.cjs';
|
|
185
211
|
export { getTemplaterFunctions, getTemplaterRenderTargetFile, parseTemplate, requireTemplaterApi, resolveTemplaterApi, TEMPLATER_PLUGIN_ID, TemplaterActiveFileProvider, TemplaterRunMode, TemplaterUnavailabilityReason, TemplaterUnavailableError } from './templater.cjs';
|
|
186
212
|
export { DurationTransformer } from './transformers/duration-transformer.cjs';
|
|
@@ -0,0 +1,232 @@
|
|
|
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
|
+
(function () {
|
|
6
|
+
function ensureBrowserProcess() {
|
|
7
|
+
const browserProcess = {
|
|
8
|
+
browser: true,
|
|
9
|
+
cwd() {
|
|
10
|
+
return "/";
|
|
11
|
+
},
|
|
12
|
+
env: {},
|
|
13
|
+
platform: "android"
|
|
14
|
+
};
|
|
15
|
+
const existingProcess = globalThis.process;
|
|
16
|
+
if (!existingProcess) {
|
|
17
|
+
globalThis.process = browserProcess;
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
if (existingProcess.versions?.node) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
const existingProcessRecord = existingProcess;
|
|
24
|
+
for (const [key, value] of Object.entries(browserProcess)) {
|
|
25
|
+
existingProcessRecord[key] ??= value;
|
|
26
|
+
}
|
|
27
|
+
existingProcessRecord["browser"] = true;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
ensureBrowserProcess();
|
|
31
|
+
})();
|
|
32
|
+
(function patchObsidianRequire() {
|
|
33
|
+
const originalRequire = require;
|
|
34
|
+
if (!originalRequire || originalRequire.__isPatched) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
require = Object.assign(
|
|
38
|
+
(id) => requirePatched(id),
|
|
39
|
+
originalRequire,
|
|
40
|
+
{
|
|
41
|
+
__isPatched: true
|
|
42
|
+
}
|
|
43
|
+
);
|
|
44
|
+
function extractDefault($module) {
|
|
45
|
+
return $module && $module.__esModule && "default" in $module ? $module.default : $module;
|
|
46
|
+
}
|
|
47
|
+
const OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
48
|
+
"@codemirror/autocomplete",
|
|
49
|
+
"@codemirror/collab",
|
|
50
|
+
"@codemirror/commands",
|
|
51
|
+
"@codemirror/language",
|
|
52
|
+
"@codemirror/lint",
|
|
53
|
+
"@codemirror/search",
|
|
54
|
+
"@codemirror/state",
|
|
55
|
+
"@codemirror/text",
|
|
56
|
+
"@codemirror/view",
|
|
57
|
+
"@lezer/common",
|
|
58
|
+
"@lezer/highlight",
|
|
59
|
+
"@lezer/lr",
|
|
60
|
+
"obsidian"
|
|
61
|
+
]);
|
|
62
|
+
const DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES = /* @__PURE__ */ new Set([
|
|
63
|
+
"@codemirror/closebrackets",
|
|
64
|
+
"@codemirror/comment",
|
|
65
|
+
"@codemirror/fold",
|
|
66
|
+
"@codemirror/gutter",
|
|
67
|
+
"@codemirror/highlight",
|
|
68
|
+
"@codemirror/history",
|
|
69
|
+
"@codemirror/matchbrackets",
|
|
70
|
+
"@codemirror/panel",
|
|
71
|
+
"@codemirror/rangeset",
|
|
72
|
+
"@codemirror/rectangular-selection",
|
|
73
|
+
"@codemirror/stream-parser",
|
|
74
|
+
"@codemirror/tooltip"
|
|
75
|
+
]);
|
|
76
|
+
function requirePatched(id) {
|
|
77
|
+
if (OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id) || DEPRECATED_OBSIDIAN_BUILT_IN_MODULE_NAMES.has(id)) {
|
|
78
|
+
return originalRequire?.(id);
|
|
79
|
+
}
|
|
80
|
+
const app = globalThis.app;
|
|
81
|
+
if (app?.isMobile) {
|
|
82
|
+
if (id === "process" || id === "node:process") {
|
|
83
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Fake process object is returned instead.`);
|
|
84
|
+
return process;
|
|
85
|
+
}
|
|
86
|
+
} else {
|
|
87
|
+
const $module = originalRequire?.(id);
|
|
88
|
+
if ($module) {
|
|
89
|
+
return extractDefault($module);
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
console.debug(`The most likely you can safely ignore this error. Module not found: ${id}. Empty object is returned instead.`);
|
|
93
|
+
return {};
|
|
94
|
+
}
|
|
95
|
+
})();
|
|
96
|
+
|
|
97
|
+
"use strict";
|
|
98
|
+
var __defProp = Object.defineProperty;
|
|
99
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
100
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
101
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
102
|
+
var __export = (target, all) => {
|
|
103
|
+
for (var name in all)
|
|
104
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
105
|
+
};
|
|
106
|
+
var __copyProps = (to, from, except, desc) => {
|
|
107
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
108
|
+
for (let key of __getOwnPropNames(from))
|
|
109
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
110
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
111
|
+
}
|
|
112
|
+
return to;
|
|
113
|
+
};
|
|
114
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
115
|
+
var anchored_suggest_exports = {};
|
|
116
|
+
__export(anchored_suggest_exports, {
|
|
117
|
+
AnchoredSuggest: () => AnchoredSuggest
|
|
118
|
+
});
|
|
119
|
+
module.exports = __toCommonJS(anchored_suggest_exports);
|
|
120
|
+
var import_obsidian = require('obsidian');
|
|
121
|
+
const DEFAULT_LIMIT = 100;
|
|
122
|
+
class AnchoredSuggest extends import_obsidian.PopoverSuggest {
|
|
123
|
+
/**
|
|
124
|
+
* The maximum number of suggestions shown. `0` disables the limit. Defaults to `100`.
|
|
125
|
+
*/
|
|
126
|
+
limit = DEFAULT_LIMIT;
|
|
127
|
+
anchorEl = null;
|
|
128
|
+
anchorRect = null;
|
|
129
|
+
outsidePointerDownDocument = null;
|
|
130
|
+
outsidePointerDownHandler = this.onOutsidePointerDown.bind(this);
|
|
131
|
+
requestCount = 0;
|
|
132
|
+
/**
|
|
133
|
+
* Creates a new anchored suggest.
|
|
134
|
+
*
|
|
135
|
+
* @param app - The Obsidian app.
|
|
136
|
+
* @param scope - The parent keymap scope.
|
|
137
|
+
*/
|
|
138
|
+
constructor(app, scope) {
|
|
139
|
+
super(app, scope);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Closes the popover.
|
|
143
|
+
*/
|
|
144
|
+
close() {
|
|
145
|
+
this.requestCount++;
|
|
146
|
+
this.removeOutsidePointerDownHandler();
|
|
147
|
+
super.close();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Opens the popover at an anchor, or moves it there when it is already open.
|
|
151
|
+
*
|
|
152
|
+
* @param params - The parameters.
|
|
153
|
+
* @returns Whether the popover is open: `false` when there is nothing to suggest, or when it was closed or reopened
|
|
154
|
+
* while the suggestions were computed.
|
|
155
|
+
*/
|
|
156
|
+
async openAt(params) {
|
|
157
|
+
const { anchor } = params;
|
|
158
|
+
if (isElement(anchor)) {
|
|
159
|
+
this.anchorEl = anchor;
|
|
160
|
+
this.anchorRect = anchor.getBoundingClientRect();
|
|
161
|
+
} else {
|
|
162
|
+
this.anchorEl = null;
|
|
163
|
+
this.anchorRect = anchor;
|
|
164
|
+
}
|
|
165
|
+
return await this.refresh(params.query ?? "", this.anchorRect);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Picks a suggestion: closes the popover, then hands the suggestion to {@link AnchoredSuggest.onChooseSuggestion}.
|
|
169
|
+
*
|
|
170
|
+
* @param value - The suggestion.
|
|
171
|
+
* @param $event - The event that picked it.
|
|
172
|
+
*/
|
|
173
|
+
selectSuggestion(value, $event) {
|
|
174
|
+
this.close();
|
|
175
|
+
this.onChooseSuggestion(value, $event);
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Recomputes the suggestions for a new query at the current anchor.
|
|
179
|
+
*
|
|
180
|
+
* @param query - The query.
|
|
181
|
+
* @returns Whether the popover is open afterwards.
|
|
182
|
+
*/
|
|
183
|
+
async setQuery(query) {
|
|
184
|
+
return this.anchorRect ? await this.refresh(query, this.anchorRect) : false;
|
|
185
|
+
}
|
|
186
|
+
addOutsidePointerDownHandler() {
|
|
187
|
+
this.removeOutsidePointerDownHandler();
|
|
188
|
+
this.outsidePointerDownDocument = this.suggestEl.ownerDocument;
|
|
189
|
+
this.outsidePointerDownDocument.addEventListener("pointerdown", this.outsidePointerDownHandler, { capture: true });
|
|
190
|
+
}
|
|
191
|
+
onOutsidePointerDown(event_) {
|
|
192
|
+
const path = event_.composedPath();
|
|
193
|
+
if (path.includes(this.suggestEl) || this.anchorEl && path.includes(this.anchorEl)) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
this.close();
|
|
197
|
+
}
|
|
198
|
+
async refresh(query, anchorRect) {
|
|
199
|
+
const requestId = ++this.requestCount;
|
|
200
|
+
let suggestions = await this.getSuggestions(query);
|
|
201
|
+
if (requestId !== this.requestCount) {
|
|
202
|
+
return false;
|
|
203
|
+
}
|
|
204
|
+
if (suggestions.length === 0) {
|
|
205
|
+
this.close();
|
|
206
|
+
return false;
|
|
207
|
+
}
|
|
208
|
+
if (this.limit > 0) {
|
|
209
|
+
suggestions = suggestions.slice(0, this.limit);
|
|
210
|
+
}
|
|
211
|
+
this.suggestions.setSuggestions(suggestions);
|
|
212
|
+
this.open();
|
|
213
|
+
this.reposition(DOMRect.fromRect(anchorRect));
|
|
214
|
+
if (this.anchorEl) {
|
|
215
|
+
this.setAutoDestroy(this.anchorEl);
|
|
216
|
+
}
|
|
217
|
+
this.addOutsidePointerDownHandler();
|
|
218
|
+
return true;
|
|
219
|
+
}
|
|
220
|
+
removeOutsidePointerDownHandler() {
|
|
221
|
+
this.outsidePointerDownDocument?.removeEventListener("pointerdown", this.outsidePointerDownHandler, { capture: true });
|
|
222
|
+
this.outsidePointerDownDocument = null;
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
function isElement(anchor) {
|
|
226
|
+
return "getBoundingClientRect" in anchor;
|
|
227
|
+
}
|
|
228
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
229
|
+
0 && (module.exports = {
|
|
230
|
+
AnchoredSuggest
|
|
231
|
+
});
|
|
232
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hbmNob3JlZC1zdWdnZXN0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQGZpbGVcbiAqXG4gKiBBIHN1Z2dlc3QgcG9wb3ZlciBvcGVuZWQgYXQgYW4gZWxlbWVudCBvciBhIHJlY3RhbmdsZSwgd2l0aCBubyBpbnB1dCBiZWhpbmQgaXQuXG4gKi9cblxuaW1wb3J0IHR5cGUge1xuICBBcHAsXG4gIFNjb3BlXG59IGZyb20gJ29ic2lkaWFuJztcblxuaW1wb3J0IHsgUG9wb3ZlclN1Z2dlc3QgfSBmcm9tICdvYnNpZGlhbic7XG5cbmNvbnN0IERFRkFVTFRfTElNSVQgPSAxMDA7XG5cbi8qKlxuICogUGFyYW1ldGVycyBmb3Ige0BsaW5rIEFuY2hvcmVkU3VnZ2VzdC5vcGVuQXR9LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFuY2hvcmVkU3VnZ2VzdE9wZW5BdFBhcmFtcyB7XG4gIC8qKlxuICAgKiBUaGUgZWxlbWVudCBvciB0aGUgdmlld3BvcnQgcmVjdGFuZ2xlIHRoZSBwb3BvdmVyIGlzIHBsYWNlZCBhZ2FpbnN0LiBXaGVuIGFuIGVsZW1lbnQgaXMgZ2l2ZW4sIHRoZSBwb3BvdmVyIGNsb3Nlc1xuICAgKiBvbmNlIHRoZSBlbGVtZW50IGxlYXZlcyB0aGUgRE9NLCBhbmQgYSBwb2ludGVyLWRvd24gb24gaXQgZG9lcyBub3QgY291bnQgYXMgYW4gb3V0c2lkZSBjbGljay5cbiAgICovXG4gIHJlYWRvbmx5IGFuY2hvcjogRE9NUmVjdFJlYWRPbmx5IHwgSFRNTEVsZW1lbnQ7XG5cbiAgLyoqXG4gICAqIFRoZSBxdWVyeSBoYW5kZWQgdG8ge0BsaW5rIEFuY2hvcmVkU3VnZ2VzdC5nZXRTdWdnZXN0aW9uc30uIERlZmF1bHRzIHRvIGAnJ2AuXG4gICAqL1xuICByZWFkb25seSBxdWVyeT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBBIHN1Z2dlc3QgcG9wb3ZlciBvcGVuZWQgYXQgYW4gYW5jaG9yLCBmb3IgYSBwaWNrZXIgdGhhdCBoYXMgbm8gdGV4dCBpbnB1dDogYSB0b29sYmFyIGJ1dHRvbiwgYSBjb250ZXh0LW1lbnUgYWN0aW9uLFxuICogYSBkZWNvcmF0aW9uIGluIHRoZSBlZGl0b3IuXG4gKlxuICogT2JzaWRpYW4ncyBgQWJzdHJhY3RJbnB1dFN1Z2dlc3RgIG9wZW5zIG9ubHkgZnJvbSBhbiBpbnB1dCBhbmQgYEVkaXRvclN1Z2dlc3RgIG9ubHkgZnJvbSB0aGUgZWRpdG9yLiBUaGlzIG9uZSBpc1xuICogb3BlbmVkIGJ5IHtAbGluayBBbmNob3JlZFN1Z2dlc3Qub3BlbkF0fSBhbmQgY2xvc2VzIG9uIEVzY2FwZSwgb24gYSBwb2ludGVyLWRvd24gb3V0c2lkZSBpdCwgYW5kIHdoZW4gaXRzIGFuY2hvclxuICogZWxlbWVudCBsZWF2ZXMgdGhlIERPTS4gVGhlIGtleWJvYXJkIHdvcmtzIGFzIGluIE9ic2lkaWFuJ3Mgb3duIHBvcG92ZXJzOiBhcnJvd3MgbW92ZSwgRW50ZXIgcGlja3MuXG4gKlxuICogYGBgdHNcbiAqIGNsYXNzIENvbG9yU3VnZ2VzdCBleHRlbmRzIEFuY2hvcmVkU3VnZ2VzdDxzdHJpbmc+IHtcbiAqICAgcHJvdGVjdGVkIGdldFN1Z2dlc3Rpb25zKCk6IHN0cmluZ1tdIHtcbiAqICAgICByZXR1cm4gWydyZWQnLCAnZ3JlZW4nLCAnYmx1ZSddO1xuICogICB9XG4gKlxuICogICBwdWJsaWMgcmVuZGVyU3VnZ2VzdGlvbihjb2xvcjogc3RyaW5nLCBlbDogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAqICAgICBlbC5zZXRUZXh0KGNvbG9yKTtcbiAqICAgfVxuICpcbiAqICAgcHJvdGVjdGVkIG9uQ2hvb3NlU3VnZ2VzdGlvbihjb2xvcjogc3RyaW5nKTogdm9pZCB7XG4gKiAgICAgY29uc29sZS5sb2coY29sb3IpO1xuICogICB9XG4gKiB9XG4gKlxuICogYXdhaXQgbmV3IENvbG9yU3VnZ2VzdCh0aGlzLmFwcCkub3BlbkF0KHsgYW5jaG9yOiBidXR0b25FbCB9KTtcbiAqIGBgYFxuICpcbiAqIEl0IHJlbGllcyBvbiBgUG9wb3ZlclN1Z2dlc3RgIG1lbWJlcnMgdGhhdCBgb2JzaWRpYW4uZC50c2AgZG9lcyBub3QgZGVjbGFyZSAoYHN1Z2dlc3Rpb25zYCwgYHJlcG9zaXRpb25gLFxuICogYHNldEF1dG9EZXN0cm95YCwgYHN1Z2dlc3RFbGApLCByZWFkIGZyb20gT2JzaWRpYW4gYDEuMTUuMGAuXG4gKlxuICogQHR5cGVQYXJhbSBUIC0gVGhlIHR5cGUgb2YgYSBzdWdnZXN0aW9uLlxuICovXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQW5jaG9yZWRTdWdnZXN0PFQ+IGV4dGVuZHMgUG9wb3ZlclN1Z2dlc3Q8VD4ge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHN1Z2dlc3Rpb25zIHNob3duLiBgMGAgZGlzYWJsZXMgdGhlIGxpbWl0LiBEZWZhdWx0cyB0byBgMTAwYC5cbiAgICovXG4gIHB1YmxpYyBsaW1pdCA9IERFRkFVTFRfTElNSVQ7XG5cbiAgcHJpdmF0ZSBhbmNob3JFbDogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBhbmNob3JSZWN0OiBET01SZWN0UmVhZE9ubHkgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSBvdXRzaWRlUG9pbnRlckRvd25Eb2N1bWVudDogRG9jdW1lbnQgfCBudWxsID0gbnVsbDtcbiAgcHJpdmF0ZSByZWFkb25seSBvdXRzaWRlUG9pbnRlckRvd25IYW5kbGVyID0gdGhpcy5vbk91dHNpZGVQb2ludGVyRG93bi5iaW5kKHRoaXMpO1xuICBwcml2YXRlIHJlcXVlc3RDb3VudCA9IDA7XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYSBuZXcgYW5jaG9yZWQgc3VnZ2VzdC5cbiAgICpcbiAgICogQHBhcmFtIGFwcCAtIFRoZSBPYnNpZGlhbiBhcHAuXG4gICAqIEBwYXJhbSBzY29wZSAtIFRoZSBwYXJlbnQga2V5bWFwIHNjb3BlLlxuICAgKi9cbiAgcHVibGljIGNvbnN0cnVjdG9yKGFwcDogQXBwLCBzY29wZT86IFNjb3BlKSB7XG4gICAgc3VwZXIoYXBwLCBzY29wZSk7XG4gIH1cblxuICAvKipcbiAgICogQ2xvc2VzIHRoZSBwb3BvdmVyLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIGNsb3NlKCk6IHZvaWQge1xuICAgIHRoaXMucmVxdWVzdENvdW50Kys7XG4gICAgdGhpcy5yZW1vdmVPdXRzaWRlUG9pbnRlckRvd25IYW5kbGVyKCk7XG4gICAgc3VwZXIuY2xvc2UoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBPcGVucyB0aGUgcG9wb3ZlciBhdCBhbiBhbmNob3IsIG9yIG1vdmVzIGl0IHRoZXJlIHdoZW4gaXQgaXMgYWxyZWFkeSBvcGVuLlxuICAgKlxuICAgKiBAcGFyYW0gcGFyYW1zIC0gVGhlIHBhcmFtZXRlcnMuXG4gICAqIEByZXR1cm5zIFdoZXRoZXIgdGhlIHBvcG92ZXIgaXMgb3BlbjogYGZhbHNlYCB3aGVuIHRoZXJlIGlzIG5vdGhpbmcgdG8gc3VnZ2VzdCwgb3Igd2hlbiBpdCB3YXMgY2xvc2VkIG9yIHJlb3BlbmVkXG4gICAqICAgd2hpbGUgdGhlIHN1Z2dlc3Rpb25zIHdlcmUgY29tcHV0ZWQuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgb3BlbkF0KHBhcmFtczogQW5jaG9yZWRTdWdnZXN0T3BlbkF0UGFyYW1zKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgY29uc3QgeyBhbmNob3IgfSA9IHBhcmFtcztcbiAgICBpZiAoaXNFbGVtZW50KGFuY2hvcikpIHtcbiAgICAgIHRoaXMuYW5jaG9yRWwgPSBhbmNob3I7XG4gICAgICB0aGlzLmFuY2hvclJlY3QgPSBhbmNob3IuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuYW5jaG9yRWwgPSBudWxsO1xuICAgICAgdGhpcy5hbmNob3JSZWN0ID0gYW5jaG9yO1xuICAgIH1cbiAgICByZXR1cm4gYXdhaXQgdGhpcy5yZWZyZXNoKHBhcmFtcy5xdWVyeSA/PyAnJywgdGhpcy5hbmNob3JSZWN0KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQaWNrcyBhIHN1Z2dlc3Rpb246IGNsb3NlcyB0aGUgcG9wb3ZlciwgdGhlbiBoYW5kcyB0aGUgc3VnZ2VzdGlvbiB0byB7QGxpbmsgQW5jaG9yZWRTdWdnZXN0Lm9uQ2hvb3NlU3VnZ2VzdGlvbn0uXG4gICAqXG4gICAqIEBwYXJhbSB2YWx1ZSAtIFRoZSBzdWdnZXN0aW9uLlxuICAgKiBAcGFyYW0gJGV2ZW50IC0gVGhlIGV2ZW50IHRoYXQgcGlja2VkIGl0LlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlIHNlbGVjdFN1Z2dlc3Rpb24odmFsdWU6IFQsICRldmVudDogS2V5Ym9hcmRFdmVudCB8IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmNsb3NlKCk7XG4gICAgdGhpcy5vbkNob29zZVN1Z2dlc3Rpb24odmFsdWUsICRldmVudCk7XG4gIH1cblxuICAvKipcbiAgICogUmVjb21wdXRlcyB0aGUgc3VnZ2VzdGlvbnMgZm9yIGEgbmV3IHF1ZXJ5IGF0IHRoZSBjdXJyZW50IGFuY2hvci5cbiAgICpcbiAgICogQHBhcmFtIHF1ZXJ5IC0gVGhlIHF1ZXJ5LlxuICAgKiBAcmV0dXJucyBXaGV0aGVyIHRoZSBwb3BvdmVyIGlzIG9wZW4gYWZ0ZXJ3YXJkcy5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBzZXRRdWVyeShxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgcmV0dXJuIHRoaXMuYW5jaG9yUmVjdCA/IChhd2FpdCB0aGlzLnJlZnJlc2gocXVlcnksIHRoaXMuYW5jaG9yUmVjdCkpIDogZmFsc2U7XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgc3VnZ2VzdGlvbnMgZm9yIGEgcXVlcnkuXG4gICAqXG4gICAqIEBwYXJhbSBxdWVyeSAtIFRoZSBxdWVyeSBwYXNzZWQgdG8ge0BsaW5rIEFuY2hvcmVkU3VnZ2VzdC5vcGVuQXR9IG9yIHtAbGluayBBbmNob3JlZFN1Z2dlc3Quc2V0UXVlcnl9LlxuICAgKiBAcmV0dXJucyBUaGUgc3VnZ2VzdGlvbnMsIGRpcmVjdGx5IG9yIGFzIGEgcHJvbWlzZS5cbiAgICovXG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRTdWdnZXN0aW9ucyhxdWVyeTogc3RyaW5nKTogUHJvbWlzZTxUW10+IHwgVFtdO1xuXG4gIC8qKlxuICAgKiBDYWxsZWQgd2l0aCB0aGUgc3VnZ2VzdGlvbiB0aGUgdXNlciBwaWNrZWQsIGFmdGVyIHRoZSBwb3BvdmVyIGNsb3NlZC5cbiAgICpcbiAgICogQHBhcmFtIHZhbHVlIC0gVGhlIHN1Z2dlc3Rpb24uXG4gICAqIEBwYXJhbSAkZXZlbnQgLSBUaGUgZXZlbnQgdGhhdCBwaWNrZWQgaXQuXG4gICAqL1xuICBwcm90ZWN0ZWQgYWJzdHJhY3Qgb25DaG9vc2VTdWdnZXN0aW9uKHZhbHVlOiBULCAkZXZlbnQ6IEtleWJvYXJkRXZlbnQgfCBNb3VzZUV2ZW50KTogdm9pZDtcblxuICBwcml2YXRlIGFkZE91dHNpZGVQb2ludGVyRG93bkhhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVPdXRzaWRlUG9pbnRlckRvd25IYW5kbGVyKCk7XG4gICAgdGhpcy5vdXRzaWRlUG9pbnRlckRvd25Eb2N1bWVudCA9IHRoaXMuc3VnZ2VzdEVsLm93bmVyRG9jdW1lbnQ7XG4gICAgdGhpcy5vdXRzaWRlUG9pbnRlckRvd25Eb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdwb2ludGVyZG93bicsIHRoaXMub3V0c2lkZVBvaW50ZXJEb3duSGFuZGxlciwgeyBjYXB0dXJlOiB0cnVlIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk91dHNpZGVQb2ludGVyRG93bihldmVudF86IFBvaW50ZXJFdmVudCk6IHZvaWQge1xuICAgIGNvbnN0IHBhdGggPSBldmVudF8uY29tcG9zZWRQYXRoKCk7XG4gICAgaWYgKHBhdGguaW5jbHVkZXModGhpcy5zdWdnZXN0RWwpIHx8ICh0aGlzLmFuY2hvckVsICYmIHBhdGguaW5jbHVkZXModGhpcy5hbmNob3JFbCkpKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgcmVmcmVzaChxdWVyeTogc3RyaW5nLCBhbmNob3JSZWN0OiBET01SZWN0UmVhZE9ubHkpOiBQcm9taXNlPGJvb2xlYW4+IHtcbiAgICBjb25zdCByZXF1ZXN0SWQgPSArK3RoaXMucmVxdWVzdENvdW50O1xuICAgIGxldCBzdWdnZXN0aW9ucyA9IGF3YWl0IHRoaXMuZ2V0U3VnZ2VzdGlvbnMocXVlcnkpO1xuICAgIGlmIChyZXF1ZXN0SWQgIT09IHRoaXMucmVxdWVzdENvdW50KSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGlmIChzdWdnZXN0aW9ucy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRoaXMuY2xvc2UoKTtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgaWYgKHRoaXMubGltaXQgPiAwKSB7XG4gICAgICBzdWdnZXN0aW9ucyA9IHN1Z2dlc3Rpb25zLnNsaWNlKDAsIHRoaXMubGltaXQpO1xuICAgIH1cblxuICAgIHRoaXMuc3VnZ2VzdGlvbnMuc2V0U3VnZ2VzdGlvbnMoc3VnZ2VzdGlvbnMpO1xuICAgIHRoaXMub3BlbigpO1xuICAgIHRoaXMucmVwb3NpdGlvbihET01SZWN0LmZyb21SZWN0KGFuY2hvclJlY3QpKTtcbiAgICBpZiAodGhpcy5hbmNob3JFbCkge1xuICAgICAgdGhpcy5zZXRBdXRvRGVzdHJveSh0aGlzLmFuY2hvckVsKTtcbiAgICB9XG4gICAgdGhpcy5hZGRPdXRzaWRlUG9pbnRlckRvd25IYW5kbGVyKCk7XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZU91dHNpZGVQb2ludGVyRG93bkhhbmRsZXIoKTogdm9pZCB7XG4gICAgdGhpcy5vdXRzaWRlUG9pbnRlckRvd25Eb2N1bWVudD8ucmVtb3ZlRXZlbnRMaXN0ZW5lcigncG9pbnRlcmRvd24nLCB0aGlzLm91dHNpZGVQb2ludGVyRG93bkhhbmRsZXIsIHsgY2FwdHVyZTogdHJ1ZSB9KTtcbiAgICB0aGlzLm91dHNpZGVQb2ludGVyRG93bkRvY3VtZW50ID0gbnVsbDtcbiAgfVxufVxuXG5mdW5jdGlvbiBpc0VsZW1lbnQoYW5jaG9yOiBET01SZWN0UmVhZE9ubHkgfCBIVE1MRWxlbWVudCk6IGFuY2hvciBpcyBIVE1MRWxlbWVudCB7XG4gIHJldHVybiAnZ2V0Qm91bmRpbmdDbGllbnRSZWN0JyBpbiBhbmNob3I7XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFXQSxzQkFBK0I7QUFFL0IsTUFBTSxnQkFBZ0I7QUFpRGYsTUFBZSx3QkFBMkIsK0JBQWtCO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFJMUQsUUFBUTtBQUFBLEVBRVAsV0FBK0I7QUFBQSxFQUMvQixhQUFxQztBQUFBLEVBQ3JDLDZCQUE4QztBQUFBLEVBQ3JDLDRCQUE0QixLQUFLLHFCQUFxQixLQUFLLElBQUk7QUFBQSxFQUN4RSxlQUFlO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsRUFRaEIsWUFBWSxLQUFVLE9BQWU7QUFDMUMsVUFBTSxLQUFLLEtBQUs7QUFBQSxFQUNsQjtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBS2dCLFFBQWM7QUFDNUIsU0FBSztBQUNMLFNBQUssZ0NBQWdDO0FBQ3JDLFVBQU0sTUFBTTtBQUFBLEVBQ2Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBU0EsTUFBYSxPQUFPLFFBQXVEO0FBQ3pFLFVBQU0sRUFBRSxPQUFPLElBQUk7QUFDbkIsUUFBSSxVQUFVLE1BQU0sR0FBRztBQUNyQixXQUFLLFdBQVc7QUFDaEIsV0FBSyxhQUFhLE9BQU8sc0JBQXNCO0FBQUEsSUFDakQsT0FBTztBQUNMLFdBQUssV0FBVztBQUNoQixXQUFLLGFBQWE7QUFBQSxJQUNwQjtBQUNBLFdBQU8sTUFBTSxLQUFLLFFBQVEsT0FBTyxTQUFTLElBQUksS0FBSyxVQUFVO0FBQUEsRUFDL0Q7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxFQVFnQixpQkFBaUIsT0FBVSxRQUEwQztBQUNuRixTQUFLLE1BQU07QUFDWCxTQUFLLG1CQUFtQixPQUFPLE1BQU07QUFBQSxFQUN2QztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLEVBUUEsTUFBYSxTQUFTLE9BQWlDO0FBQ3JELFdBQU8sS0FBSyxhQUFjLE1BQU0sS0FBSyxRQUFRLE9BQU8sS0FBSyxVQUFVLElBQUs7QUFBQSxFQUMxRTtBQUFBLEVBa0JRLCtCQUFxQztBQUMzQyxTQUFLLGdDQUFnQztBQUNyQyxTQUFLLDZCQUE2QixLQUFLLFVBQVU7QUFDakQsU0FBSywyQkFBMkIsaUJBQWlCLGVBQWUsS0FBSywyQkFBMkIsRUFBRSxTQUFTLEtBQUssQ0FBQztBQUFBLEVBQ25IO0FBQUEsRUFFUSxxQkFBcUIsUUFBNEI7QUFDdkQsVUFBTSxPQUFPLE9BQU8sYUFBYTtBQUNqQyxRQUFJLEtBQUssU0FBUyxLQUFLLFNBQVMsS0FBTSxLQUFLLFlBQVksS0FBSyxTQUFTLEtBQUssUUFBUSxHQUFJO0FBQ3BGO0FBQUEsSUFDRjtBQUNBLFNBQUssTUFBTTtBQUFBLEVBQ2I7QUFBQSxFQUVBLE1BQWMsUUFBUSxPQUFlLFlBQStDO0FBQ2xGLFVBQU0sWUFBWSxFQUFFLEtBQUs7QUFDekIsUUFBSSxjQUFjLE1BQU0sS0FBSyxlQUFlLEtBQUs7QUFDakQsUUFBSSxjQUFjLEtBQUssY0FBYztBQUNuQyxhQUFPO0FBQUEsSUFDVDtBQUNBLFFBQUksWUFBWSxXQUFXLEdBQUc7QUFDNUIsV0FBSyxNQUFNO0FBQ1gsYUFBTztBQUFBLElBQ1Q7QUFDQSxRQUFJLEtBQUssUUFBUSxHQUFHO0FBQ2xCLG9CQUFjLFlBQVksTUFBTSxHQUFHLEtBQUssS0FBSztBQUFBLElBQy9DO0FBRUEsU0FBSyxZQUFZLGVBQWUsV0FBVztBQUMzQyxTQUFLLEtBQUs7QUFDVixTQUFLLFdBQVcsUUFBUSxTQUFTLFVBQVUsQ0FBQztBQUM1QyxRQUFJLEtBQUssVUFBVTtBQUNqQixXQUFLLGVBQWUsS0FBSyxRQUFRO0FBQUEsSUFDbkM7QUFDQSxTQUFLLDZCQUE2QjtBQUNsQyxXQUFPO0FBQUEsRUFDVDtBQUFBLEVBRVEsa0NBQXdDO0FBQzlDLFNBQUssNEJBQTRCLG9CQUFvQixlQUFlLEtBQUssMkJBQTJCLEVBQUUsU0FBUyxLQUFLLENBQUM7QUFDckgsU0FBSyw2QkFBNkI7QUFBQSxFQUNwQztBQUNGO0FBRUEsU0FBUyxVQUFVLFFBQThEO0FBQy9FLFNBQU8sMkJBQTJCO0FBQ3BDOyIsIm5hbWVzIjpbXX0=
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/// <reference path="./library-references.d.cts" />
|
|
2
|
+
/// <reference lib="dom" />
|
|
3
|
+
/**
|
|
4
|
+
* @file
|
|
5
|
+
*
|
|
6
|
+
* A suggest popover opened at an element or a rectangle, with no input behind it.
|
|
7
|
+
*/
|
|
8
|
+
import type { App, Scope } from 'obsidian' with { 'resolution-mode': 'import' };
|
|
9
|
+
import { PopoverSuggest } from 'obsidian';
|
|
10
|
+
/**
|
|
11
|
+
* Parameters for {@link AnchoredSuggest.openAt}.
|
|
12
|
+
*/
|
|
13
|
+
export interface AnchoredSuggestOpenAtParams {
|
|
14
|
+
/**
|
|
15
|
+
* The element or the viewport rectangle the popover is placed against. When an element is given, the popover closes
|
|
16
|
+
* once the element leaves the DOM, and a pointer-down on it does not count as an outside click.
|
|
17
|
+
*/
|
|
18
|
+
readonly anchor: DOMRectReadOnly | HTMLElement;
|
|
19
|
+
/**
|
|
20
|
+
* The query handed to {@link AnchoredSuggest.getSuggestions}. Defaults to `''`.
|
|
21
|
+
*/
|
|
22
|
+
readonly query?: string;
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* A suggest popover opened at an anchor, for a picker that has no text input: a toolbar button, a context-menu action,
|
|
26
|
+
* a decoration in the editor.
|
|
27
|
+
*
|
|
28
|
+
* Obsidian's `AbstractInputSuggest` opens only from an input and `EditorSuggest` only from the editor. This one is
|
|
29
|
+
* opened by {@link AnchoredSuggest.openAt} and closes on Escape, on a pointer-down outside it, and when its anchor
|
|
30
|
+
* element leaves the DOM. The keyboard works as in Obsidian's own popovers: arrows move, Enter picks.
|
|
31
|
+
*
|
|
32
|
+
* ```ts
|
|
33
|
+
* class ColorSuggest extends AnchoredSuggest<string> {
|
|
34
|
+
* protected getSuggestions(): string[] {
|
|
35
|
+
* return ['red', 'green', 'blue'];
|
|
36
|
+
* }
|
|
37
|
+
*
|
|
38
|
+
* public renderSuggestion(color: string, el: HTMLElement): void {
|
|
39
|
+
* el.setText(color);
|
|
40
|
+
* }
|
|
41
|
+
*
|
|
42
|
+
* protected onChooseSuggestion(color: string): void {
|
|
43
|
+
* console.log(color);
|
|
44
|
+
* }
|
|
45
|
+
* }
|
|
46
|
+
*
|
|
47
|
+
* await new ColorSuggest(this.app).openAt({ anchor: buttonEl });
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* It relies on `PopoverSuggest` members that `obsidian.d.ts` does not declare (`suggestions`, `reposition`,
|
|
51
|
+
* `setAutoDestroy`, `suggestEl`), read from Obsidian `1.15.0`.
|
|
52
|
+
*
|
|
53
|
+
* @typeParam T - The type of a suggestion.
|
|
54
|
+
*/
|
|
55
|
+
export declare abstract class AnchoredSuggest<T> extends PopoverSuggest<T> {
|
|
56
|
+
/**
|
|
57
|
+
* The maximum number of suggestions shown. `0` disables the limit. Defaults to `100`.
|
|
58
|
+
*/
|
|
59
|
+
limit: number;
|
|
60
|
+
private anchorEl;
|
|
61
|
+
private anchorRect;
|
|
62
|
+
private outsidePointerDownDocument;
|
|
63
|
+
private readonly outsidePointerDownHandler;
|
|
64
|
+
private requestCount;
|
|
65
|
+
/**
|
|
66
|
+
* Creates a new anchored suggest.
|
|
67
|
+
*
|
|
68
|
+
* @param app - The Obsidian app.
|
|
69
|
+
* @param scope - The parent keymap scope.
|
|
70
|
+
*/
|
|
71
|
+
constructor(app: App, scope?: Scope);
|
|
72
|
+
/**
|
|
73
|
+
* Closes the popover.
|
|
74
|
+
*/
|
|
75
|
+
close(): void;
|
|
76
|
+
/**
|
|
77
|
+
* Opens the popover at an anchor, or moves it there when it is already open.
|
|
78
|
+
*
|
|
79
|
+
* @param params - The parameters.
|
|
80
|
+
* @returns Whether the popover is open: `false` when there is nothing to suggest, or when it was closed or reopened
|
|
81
|
+
* while the suggestions were computed.
|
|
82
|
+
*/
|
|
83
|
+
openAt(params: AnchoredSuggestOpenAtParams): Promise<boolean>;
|
|
84
|
+
/**
|
|
85
|
+
* Picks a suggestion: closes the popover, then hands the suggestion to {@link AnchoredSuggest.onChooseSuggestion}.
|
|
86
|
+
*
|
|
87
|
+
* @param value - The suggestion.
|
|
88
|
+
* @param $event - The event that picked it.
|
|
89
|
+
*/
|
|
90
|
+
selectSuggestion(value: T, $event: KeyboardEvent | MouseEvent): void;
|
|
91
|
+
/**
|
|
92
|
+
* Recomputes the suggestions for a new query at the current anchor.
|
|
93
|
+
*
|
|
94
|
+
* @param query - The query.
|
|
95
|
+
* @returns Whether the popover is open afterwards.
|
|
96
|
+
*/
|
|
97
|
+
setQuery(query: string): Promise<boolean>;
|
|
98
|
+
/**
|
|
99
|
+
* Gets the suggestions for a query.
|
|
100
|
+
*
|
|
101
|
+
* @param query - The query passed to {@link AnchoredSuggest.openAt} or {@link AnchoredSuggest.setQuery}.
|
|
102
|
+
* @returns The suggestions, directly or as a promise.
|
|
103
|
+
*/
|
|
104
|
+
protected abstract getSuggestions(query: string): Promise<T[]> | T[];
|
|
105
|
+
/**
|
|
106
|
+
* Called with the suggestion the user picked, after the popover closed.
|
|
107
|
+
*
|
|
108
|
+
* @param value - The suggestion.
|
|
109
|
+
* @param $event - The event that picked it.
|
|
110
|
+
*/
|
|
111
|
+
protected abstract onChooseSuggestion(value: T, $event: KeyboardEvent | MouseEvent): void;
|
|
112
|
+
private addOutsidePointerDownHandler;
|
|
113
|
+
private onOutsidePointerDown;
|
|
114
|
+
private refresh;
|
|
115
|
+
private removeOutsidePointerDownHandler;
|
|
116
|
+
}
|