@pierre/diffs 1.1.20 → 1.2.0-beta.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/dist/components/CodeView.d.ts +324 -0
- package/dist/components/CodeView.d.ts.map +1 -0
- package/dist/components/CodeView.js +1245 -0
- package/dist/components/CodeView.js.map +1 -0
- package/dist/components/File.d.ts +13 -12
- package/dist/components/File.d.ts.map +1 -1
- package/dist/components/File.js +68 -28
- package/dist/components/File.js.map +1 -1
- package/dist/components/FileDiff.d.ts +9 -10
- package/dist/components/FileDiff.d.ts.map +1 -1
- package/dist/components/FileDiff.js +57 -30
- package/dist/components/FileDiff.js.map +1 -1
- package/dist/components/FileStream.js +9 -3
- package/dist/components/FileStream.js.map +1 -1
- package/dist/components/UnresolvedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.d.ts +28 -5
- package/dist/components/VirtualizedFile.d.ts.map +1 -1
- package/dist/components/VirtualizedFile.js +225 -45
- package/dist/components/VirtualizedFile.js.map +1 -1
- package/dist/components/VirtualizedFileDiff.d.ts +28 -5
- package/dist/components/VirtualizedFileDiff.d.ts.map +1 -1
- package/dist/components/VirtualizedFileDiff.js +285 -49
- package/dist/components/VirtualizedFileDiff.js.map +1 -1
- package/dist/components/Virtualizer.d.ts +6 -3
- package/dist/components/Virtualizer.d.ts.map +1 -1
- package/dist/components/Virtualizer.js +4 -6
- package/dist/components/Virtualizer.js.map +1 -1
- package/dist/components/VirtulizerDevelopment.d.ts +2 -2
- package/dist/components/VirtulizerDevelopment.d.ts.map +1 -1
- package/dist/constants.d.ts +6 -2
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +17 -2
- package/dist/constants.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.js +11 -10
- package/dist/managers/InteractionManager.d.ts +11 -7
- package/dist/managers/InteractionManager.d.ts.map +1 -1
- package/dist/managers/InteractionManager.js +38 -25
- package/dist/managers/InteractionManager.js.map +1 -1
- package/dist/managers/ResizeManager.d.ts +4 -4
- package/dist/managers/ResizeManager.d.ts.map +1 -1
- package/dist/managers/ResizeManager.js +89 -54
- package/dist/managers/ResizeManager.js.map +1 -1
- package/dist/managers/UniversalRenderingManager.d.ts +2 -1
- package/dist/managers/UniversalRenderingManager.d.ts.map +1 -1
- package/dist/managers/UniversalRenderingManager.js +13 -16
- package/dist/managers/UniversalRenderingManager.js.map +1 -1
- package/dist/react/CodeView.d.ts +45 -0
- package/dist/react/CodeView.d.ts.map +1 -0
- package/dist/react/CodeView.js +241 -0
- package/dist/react/CodeView.js.map +1 -0
- package/dist/react/File.d.ts +0 -1
- package/dist/react/File.d.ts.map +1 -1
- package/dist/react/File.js +2 -3
- package/dist/react/File.js.map +1 -1
- package/dist/react/FileDiff.d.ts +0 -1
- package/dist/react/FileDiff.d.ts.map +1 -1
- package/dist/react/FileDiff.js +3 -4
- package/dist/react/FileDiff.js.map +1 -1
- package/dist/react/MultiFileDiff.d.ts +0 -1
- package/dist/react/MultiFileDiff.d.ts.map +1 -1
- package/dist/react/MultiFileDiff.js +3 -4
- package/dist/react/MultiFileDiff.js.map +1 -1
- package/dist/react/PatchDiff.d.ts +0 -1
- package/dist/react/PatchDiff.d.ts.map +1 -1
- package/dist/react/PatchDiff.js +3 -4
- package/dist/react/PatchDiff.js.map +1 -1
- package/dist/react/UnresolvedFile.d.ts +0 -1
- package/dist/react/UnresolvedFile.d.ts.map +1 -1
- package/dist/react/UnresolvedFile.js +3 -4
- package/dist/react/UnresolvedFile.js.map +1 -1
- package/dist/react/constants.d.ts.map +1 -1
- package/dist/react/index.d.ts +3 -2
- package/dist/react/index.js +5 -4
- package/dist/react/types.d.ts +0 -8
- package/dist/react/types.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.d.ts +0 -2
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -1
- package/dist/react/utils/renderDiffChildren.js +3 -4
- package/dist/react/utils/renderDiffChildren.js.map +1 -1
- package/dist/react/utils/renderFileChildren.d.ts +0 -2
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -1
- package/dist/react/utils/renderFileChildren.js +3 -4
- package/dist/react/utils/renderFileChildren.js.map +1 -1
- package/dist/react/utils/useFileDiffInstance.js +12 -7
- package/dist/react/utils/useFileDiffInstance.js.map +1 -1
- package/dist/react/utils/useFileInstance.js +12 -7
- package/dist/react/utils/useFileInstance.js.map +1 -1
- package/dist/react/utils/useUnresolvedFileInstance.js +6 -2
- package/dist/react/utils/useUnresolvedFileInstance.js.map +1 -1
- package/dist/renderers/DiffHunksRenderer.d.ts +2 -1
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -1
- package/dist/renderers/DiffHunksRenderer.js +35 -20
- package/dist/renderers/DiffHunksRenderer.js.map +1 -1
- package/dist/renderers/FileRenderer.d.ts +2 -1
- package/dist/renderers/FileRenderer.d.ts.map +1 -1
- package/dist/renderers/FileRenderer.js +34 -20
- package/dist/renderers/FileRenderer.js.map +1 -1
- package/dist/ssr/index.d.ts +2 -2
- package/dist/ssr/preloadDiffs.js +1 -1
- package/dist/style.js +1 -1
- package/dist/style.js.map +1 -1
- package/dist/types.d.ts +98 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/areManagedSnapshotsEqual.d.ts +7 -0
- package/dist/utils/areManagedSnapshotsEqual.d.ts.map +1 -0
- package/dist/utils/areManagedSnapshotsEqual.js +15 -0
- package/dist/utils/areManagedSnapshotsEqual.js.map +1 -0
- package/dist/utils/areOptionsEqual.d.ts +2 -1
- package/dist/utils/areOptionsEqual.d.ts.map +1 -1
- package/dist/utils/areOptionsEqual.js +1 -1
- package/dist/utils/areOptionsEqual.js.map +1 -1
- package/dist/utils/createFileHeaderElement.d.ts +3 -1
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -1
- package/dist/utils/createFileHeaderElement.js +3 -2
- package/dist/utils/createFileHeaderElement.js.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.d.ts +3 -3
- package/dist/utils/createWindowFromScrollPosition.d.ts.map +1 -1
- package/dist/utils/createWindowFromScrollPosition.js +6 -6
- package/dist/utils/createWindowFromScrollPosition.js.map +1 -1
- package/dist/utils/iterateOverDiff.d.ts +2 -1
- package/dist/utils/iterateOverDiff.d.ts.map +1 -1
- package/dist/utils/iterateOverDiff.js +135 -7
- package/dist/utils/iterateOverDiff.js.map +1 -1
- package/dist/utils/renderFileWithHighlighter.js +1 -1
- package/dist/utils/resolveVirtualFileMetrics.d.ts +4 -1
- package/dist/utils/resolveVirtualFileMetrics.d.ts.map +1 -1
- package/dist/utils/resolveVirtualFileMetrics.js +11 -1
- package/dist/utils/resolveVirtualFileMetrics.js.map +1 -1
- package/dist/utils/roundToDevicePixel.d.ts +14 -0
- package/dist/utils/roundToDevicePixel.d.ts.map +1 -0
- package/dist/utils/roundToDevicePixel.js +18 -0
- package/dist/utils/roundToDevicePixel.js.map +1 -0
- package/dist/worker/worker-portable.js +195 -14
- package/dist/worker/worker-portable.js.map +1 -1
- package/dist/worker/worker.js +146 -7
- package/dist/worker/worker.js.map +1 -1
- package/package.json +7 -1
- package/dist/components/AdvancedVirtualizedFileDiff.d.ts +0 -40
- package/dist/components/AdvancedVirtualizedFileDiff.d.ts.map +0 -1
- package/dist/components/AdvancedVirtualizedFileDiff.js +0 -140
- package/dist/components/AdvancedVirtualizedFileDiff.js.map +0 -1
- package/dist/components/AdvancedVirtualizer.d.ts +0 -38
- package/dist/components/AdvancedVirtualizer.d.ts.map +0 -1
- package/dist/components/AdvancedVirtualizer.js +0 -201
- package/dist/components/AdvancedVirtualizer.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, ConflictResolverTypes, ContextContent, CreatePatchOptionsNonabortable, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, TokenEventBase, VirtualFileMetrics, VirtualWindowSpecs } from "./types.js";
|
|
2
|
-
import { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LogTypes, MergeConflictActionTarget, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, SelectedLineRange, pluckInteractionOptions } from "./managers/InteractionManager.js";
|
|
1
|
+
import { AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewItemScrollTarget, CodeViewItemVersion, CodeViewLineScrollTarget, CodeViewMetrics, CodeViewPositionScrollTarget, CodeViewScrollBehavior, CodeViewScrollTarget, ConflictResolverTypes, ContextContent, CreatePatchOptionsNonabortable, CustomPreProperties, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsHighlighter, DiffsThemeNames, ExpansionDirections, ExtensionFormatMap, FileContents, FileDiffMetadata, FileHeaderRenderMode, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GapSpan, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, LanguageRegistration, LineAnnotation, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, MergeConflictActionPayload, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, NumericScrollLineAnchor, ObservedAnnotationNodes, ObservedGridNodes, ParsedPatch, PrePropertiesConfig, ProcessFileConflictData, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, SelectionPoint, SelectionSide, SharedRenderState, ShikiTransformer, SmoothScrollSettings, StickySpecs, SupportedLanguages, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, TokenEventBase, VirtualFileMetrics, VirtualWindowSpecs } from "./types.js";
|
|
2
|
+
import { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LogTypes, MergeConflictActionTarget, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, SelectedLineRange, SelectionWriteOptions, pluckInteractionOptions } from "./managers/InteractionManager.js";
|
|
3
3
|
import { ResizeManager } from "./managers/ResizeManager.js";
|
|
4
4
|
import { FileRenderResult, FileRenderer, FileRendererOptions } from "./renderers/FileRenderer.js";
|
|
5
5
|
import { File, FileHydrateProps, FileOptions, FileRenderProps } from "./components/File.js";
|
|
@@ -12,7 +12,7 @@ import { MergeConflictActionsTypeOption, RenderMergeConflictActions, UnresolvedF
|
|
|
12
12
|
import { Virtualizer, VirtualizerConfig } from "./components/Virtualizer.js";
|
|
13
13
|
import { VirtualizedFile } from "./components/VirtualizedFile.js";
|
|
14
14
|
import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
|
|
15
|
-
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, SPLIT_WITH_NEWLINES, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
|
|
15
|
+
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_METRICS, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, SPLIT_WITH_NEWLINES, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
|
|
16
16
|
import { areLanguagesAttached } from "./highlighter/languages/areLanguagesAttached.js";
|
|
17
17
|
import { attachResolvedLanguages } from "./highlighter/languages/attachResolvedLanguages.js";
|
|
18
18
|
import { cleanUpResolvedLanguages } from "./highlighter/languages/cleanUpResolvedLanguages.js";
|
|
@@ -36,7 +36,7 @@ import { registerCustomTheme } from "./highlighter/themes/registerCustomTheme.js
|
|
|
36
36
|
import { resolveTheme } from "./highlighter/themes/resolveTheme.js";
|
|
37
37
|
import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
|
|
38
38
|
import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
|
|
39
|
-
import { queueRender } from "./managers/UniversalRenderingManager.js";
|
|
39
|
+
import { dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
|
|
40
40
|
import { SVGSpriteNames, SVGSpriteSheet } from "./sprite.js";
|
|
41
41
|
import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
|
|
42
42
|
import { areDiffRenderOptionsEqual } from "./utils/areDiffRenderOptionsEqual.js";
|
|
@@ -99,5 +99,6 @@ import { setLanguageOverride } from "./utils/setLanguageOverride.js";
|
|
|
99
99
|
import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
|
|
100
100
|
import { trimPatchContext } from "./utils/trimPatchContext.js";
|
|
101
101
|
import { FileDiff, FileDiffHydrationProps, FileDiffOptions, FileDiffRenderProps } from "./components/FileDiff.js";
|
|
102
|
+
import { CodeView, CodeViewCoordinator, CodeViewLineSelection, CodeViewOptions, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, CodeViewScrollListener } from "./components/CodeView.js";
|
|
102
103
|
import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
|
|
103
|
-
export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, ConflictResolverTypes, ContextContent, CreateFileHeaderElementProps, CreatePatchOptionsNonabortable, CustomPreProperties, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffHunksRenderer, DiffHunksRendererOptions, DiffHunksRendererOptionsWithDefaults, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsHighlighter, DiffsThemeNames, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, ExpansionDirections, ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileContents, FileDiff, FileDiffHydrationProps, FileDiffMetadata, FileDiffOptions, FileDiffRenderProps, FileHeaderRenderMode, FileHydrateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, GapSpan, GetHoveredLineResult, GetLineIndexUtility, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, InjectedRow, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LanguageRegistration, LineAnnotation, LineDecoration, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, LogTypes, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, MergeConflictActionPayload, MergeConflictActionTarget, MergeConflictActionsTypeOption, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, ObservedAnnotationNodes, ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, ParsedLine, ParsedPatch, PrePropertiesConfig, ProcessFileConflictData, RecallToken, RegisteredCustomLanguages, RegisteredCustomThemes, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderMergeConflictActions, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, RenderedLineContext, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, SelectedLineRange, SelectionPoint, SelectionSide, SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, ShikiTransformer, SplitInjectedRow, SplitInjectedRowPlacement, SplitLineDecorationProps, SupportedLanguages, THEME_CSS_ATTRIBUTE, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, TokenEventBase, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnifiedInjectedRowPlacement, UnifiedLineDecorationProps, UnresolvedFile, UnresolvedFileHydrationProps, UnresolvedFileOptions, UnresolvedFileRenderProps, VirtualFileMetrics, VirtualWindowSpecs, VirtualizedFile, VirtualizedFileDiff, Virtualizer, VirtualizerConfig, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckInteractionOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
|
|
104
|
+
export { ALTERNATE_FILE_NAMES_GIT, AnnotationLineMap, AnnotationSide, AnnotationSpan, AppliedThemeStyleCache, AttachedLanguages, AttachedThemes, BaseCodeOptions, BaseDiffOptions, BaseDiffOptionsWithDefaults, BundledLanguage, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, ChangeContent, ChangeTypes, CodeColumnType, CodeToHastOptions, CodeToTokenTransformStream, CodeToTokenTransformStreamOptions, CodeView, CodeViewCoordinator, CodeViewDiffItem, CodeViewFileItem, CodeViewItem, CodeViewItemScrollTarget, CodeViewItemVersion, CodeViewLineScrollTarget, CodeViewLineSelection, CodeViewMetrics, CodeViewOptions, CodeViewPositionScrollTarget, CodeViewRenderedDiffItem, CodeViewRenderedFileItem, CodeViewRenderedItem, CodeViewScrollBehavior, CodeViewScrollListener, CodeViewScrollTarget, ConflictResolverTypes, ContextContent, CreateFileHeaderElementProps, CreatePatchOptionsNonabortable, CustomPreProperties, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_METRICS, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DecorationItem, DiffAcceptRejectHunkConfig, DiffAcceptRejectHunkType, DiffHunksRenderer, DiffHunksRendererOptions, DiffHunksRendererOptionsWithDefaults, DiffLineAnnotation, DiffLineEventBaseProps, DiffTokenEventBaseProps, DiffsHighlighter, DiffsThemeNames, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, ExpansionDirections, ExtensionFormatMap, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileContents, FileDiff, FileDiffHydrationProps, FileDiffMetadata, FileDiffOptions, FileDiffRenderProps, FileHeaderRenderMode, FileHydrateProps, FileOptions, FileRenderProps, FileRenderResult, FileRenderer, FileRendererOptions, FileStream, FileStreamOptions, ForceDiffPlainTextOptions, ForceFilePlainTextOptions, GIT_DIFF_FILE_BREAK_REGEX, GapSpan, GetHoveredLineResult, GetLineIndexUtility, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, HighlighterTypes, Hunk, HunkData, HunkExpansionRegion, HunkLineType, HunkSeparators, HunksRenderResult, INDEX_LINE_METADATA, InjectedRow, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LanguageRegistration, LineAnnotation, LineDecoration, LineDiffTypes, LineEventBaseProps, LineInfo, LineSpans, LineTypes, LogTypes, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, MergeConflictActionPayload, MergeConflictActionTarget, MergeConflictActionsTypeOption, MergeConflictMarkerRow, MergeConflictMarkerRowType, MergeConflictRegion, MergeConflictResolution, NumericScrollLineAnchor, ObservedAnnotationNodes, ObservedGridNodes, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, ParsedLine, ParsedPatch, PrePropertiesConfig, ProcessFileConflictData, RecallToken, RegisteredCustomLanguages, RegisteredCustomThemes, RenderDiffFilesResult, RenderDiffOptions, RenderDiffResult, RenderFileMetadata, RenderFileOptions, RenderFileResult, RenderHeaderMetadataCallback, RenderHeaderPrefixCallback, RenderMergeConflictActions, RenderRange, RenderWindow, RenderedDiffASTCache, RenderedFileASTCache, RenderedLineContext, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteNames, SVGSpriteSheet, ScrollSyncManager, SelectedLineRange, SelectionPoint, SelectionSide, SelectionWriteOptions, SharedRenderState, ShikiStreamTokenizer, ShikiStreamTokenizerEnqueueResult, ShikiStreamTokenizerOptions, ShikiTransformer, SmoothScrollSettings, SplitInjectedRow, SplitInjectedRowPlacement, SplitLineDecorationProps, StickySpecs, SupportedLanguages, THEME_CSS_ATTRIBUTE, ThemeRegistrationResolved, ThemeTypes, ThemedDiffResult, ThemedFileResult, ThemedToken, ThemesType, TokenEventBase, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnifiedInjectedRowPlacement, UnifiedLineDecorationProps, UnresolvedFile, UnresolvedFileHydrationProps, UnresolvedFileOptions, UnresolvedFileRenderProps, VirtualFileMetrics, VirtualWindowSpecs, VirtualizedFile, VirtualizedFileDiff, Virtualizer, VirtualizerConfig, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckInteractionOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
|
-
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, SPLIT_WITH_NEWLINES, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
|
|
1
|
+
import { ALTERNATE_FILE_NAMES_GIT, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_METRICS, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, EMPTY_RENDER_RANGE, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, SPLIT_WITH_NEWLINES, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE } from "./constants.js";
|
|
2
|
+
import { dequeueRender, queueRender } from "./managers/UniversalRenderingManager.js";
|
|
3
|
+
import { areObjectsEqual } from "./utils/areObjectsEqual.js";
|
|
2
4
|
import { areSelectionsEqual } from "./utils/areSelectionsEqual.js";
|
|
5
|
+
import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
|
|
3
6
|
import { createGutterGap, createGutterItem, createGutterWrapper, createHastElement, createIconElement, createTextNodeElement, findCodeElement } from "./utils/hast_utils.js";
|
|
4
7
|
import { createGutterUtilityElement } from "./utils/createGutterUtilityElement.js";
|
|
5
8
|
import { InteractionManager, pluckInteractionOptions } from "./managers/InteractionManager.js";
|
|
@@ -50,6 +53,10 @@ import { getOrCreateCodeNode } from "./utils/getOrCreateCodeNode.js";
|
|
|
50
53
|
import { prerenderHTMLIfNecessary } from "./utils/prerenderHTMLIfNecessary.js";
|
|
51
54
|
import { setPreNodeProperties } from "./utils/setWrapperNodeProps.js";
|
|
52
55
|
import { File } from "./components/File.js";
|
|
56
|
+
import { VirtualizedFile } from "./components/VirtualizedFile.js";
|
|
57
|
+
import { parseLineType } from "./utils/parseLineType.js";
|
|
58
|
+
import { parsePatchFiles, processFile, processPatch } from "./utils/parsePatchFiles.js";
|
|
59
|
+
import { parseDiffFromFile } from "./utils/parseDiffFromFile.js";
|
|
53
60
|
import { ScrollSyncManager } from "./managers/ScrollSyncManager.js";
|
|
54
61
|
import { areDiffRenderOptionsEqual } from "./utils/areDiffRenderOptionsEqual.js";
|
|
55
62
|
import { createEmptyRowBuffer } from "./utils/createEmptyRowBuffer.js";
|
|
@@ -63,11 +70,9 @@ import { renderDiffWithHighlighter } from "./utils/renderDiffWithHighlighter.js"
|
|
|
63
70
|
import { DiffHunksRenderer } from "./renderers/DiffHunksRenderer.js";
|
|
64
71
|
import { areDiffLineAnnotationsEqual } from "./utils/areDiffLineAnnotationsEqual.js";
|
|
65
72
|
import { areHunkDataEqual } from "./utils/areHunkDataEqual.js";
|
|
66
|
-
import { parseLineType } from "./utils/parseLineType.js";
|
|
67
|
-
import { parsePatchFiles, processFile, processPatch } from "./utils/parsePatchFiles.js";
|
|
68
|
-
import { parseDiffFromFile } from "./utils/parseDiffFromFile.js";
|
|
69
73
|
import { FileDiff } from "./components/FileDiff.js";
|
|
70
|
-
import {
|
|
74
|
+
import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
|
|
75
|
+
import { CodeView } from "./components/CodeView.js";
|
|
71
76
|
import { ShikiStreamTokenizer } from "./shiki-stream/tokenizer.js";
|
|
72
77
|
import { CodeToTokenTransformStream } from "./shiki-stream/stream.js";
|
|
73
78
|
import { createSpanFromToken } from "./utils/createSpanNodeFromToken.js";
|
|
@@ -75,10 +80,7 @@ import { FileStream } from "./components/FileStream.js";
|
|
|
75
80
|
import { resolveRegion } from "./utils/resolveRegion.js";
|
|
76
81
|
import { resolveConflict } from "./utils/resolveConflict.js";
|
|
77
82
|
import { UnresolvedFile, getUnresolvedDiffHunksRendererOptions } from "./components/UnresolvedFile.js";
|
|
78
|
-
import { VirtualizedFile } from "./components/VirtualizedFile.js";
|
|
79
|
-
import { VirtualizedFileDiff } from "./components/VirtualizedFileDiff.js";
|
|
80
83
|
import { areVirtualWindowSpecsEqual } from "./utils/areVirtualWindowSpecsEqual.js";
|
|
81
|
-
import { createWindowFromScrollPosition } from "./utils/createWindowFromScrollPosition.js";
|
|
82
84
|
import { Virtualizer } from "./components/Virtualizer.js";
|
|
83
85
|
import { getResolvedLanguages } from "./highlighter/languages/getResolvedLanguages.js";
|
|
84
86
|
import { hasResolvedLanguages } from "./highlighter/languages/hasResolvedLanguages.js";
|
|
@@ -87,7 +89,6 @@ import { resolveLanguages } from "./highlighter/languages/resolveLanguages.js";
|
|
|
87
89
|
import { getResolvedThemes } from "./highlighter/themes/getResolvedThemes.js";
|
|
88
90
|
import { registerCustomCSSVariableTheme } from "./highlighter/themes/registerCustomCSSVariableTheme.js";
|
|
89
91
|
import { resolveThemes } from "./highlighter/themes/resolveThemes.js";
|
|
90
|
-
import { areObjectsEqual } from "./utils/areObjectsEqual.js";
|
|
91
92
|
import { areOptionsEqual } from "./utils/areOptionsEqual.js";
|
|
92
93
|
import { areWorkerStatsEqual } from "./utils/areWorkerStatsEqual.js";
|
|
93
94
|
import { createRowNodes } from "./utils/createRowNodes.js";
|
|
@@ -99,4 +100,4 @@ import { setLanguageOverride } from "./utils/setLanguageOverride.js";
|
|
|
99
100
|
import { trimPatchContext } from "./utils/trimPatchContext.js";
|
|
100
101
|
import { codeToHtml, createCssVariablesTheme as createCSSVariablesTheme } from "shiki";
|
|
101
102
|
|
|
102
|
-
export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, CodeToTokenTransformStream, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_THEMES, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DiffHunksRenderer, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, InteractionManager, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, RegisteredCustomLanguages, RegisteredCustomThemes, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnresolvedFile, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckInteractionOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
|
|
103
|
+
export { ALTERNATE_FILE_NAMES_GIT, AttachedLanguages, AttachedThemes, COMMIT_METADATA_SPLIT, CORE_CSS_ATTRIBUTE, CUSTOM_HEADER_SLOT_ID, CodeToTokenTransformStream, CodeView, DEFAULT_CODE_VIEW_FILE_METRICS, DEFAULT_CODE_VIEW_METRICS, DEFAULT_COLLAPSED_CONTEXT_THRESHOLD, DEFAULT_EXPANDED_REGION, DEFAULT_RENDER_RANGE, DEFAULT_SMOOTH_SCROLL_SETTINGS, DEFAULT_THEMES, DEFAULT_TOKENIZE_MAX_LENGTH, DEFAULT_VIRTUAL_FILE_METRICS, DIFFS_TAG_NAME, DiffHunksRenderer, EMPTY_RENDER_RANGE, EXTENSION_TO_FILE_FORMAT, FILENAME_HEADER_REGEX, FILENAME_HEADER_REGEX_GIT, FILE_CONTEXT_BLOB, File, FileDiff, FileRenderer, FileStream, GIT_DIFF_FILE_BREAK_REGEX, HEADER_METADATA_SLOT_ID, HEADER_PREFIX_SLOT_ID, HUNK_HEADER, INDEX_LINE_METADATA, InteractionManager, MERGE_CONFLICT_BASE_MARKER_REGEX, MERGE_CONFLICT_END_MARKER_REGEX, MERGE_CONFLICT_SEPARATOR_MARKER_REGEX, MERGE_CONFLICT_START_MARKER_REGEX, RegisteredCustomLanguages, RegisteredCustomThemes, ResizeManager, ResolvedLanguages, ResolvedThemes, ResolvingLanguages, ResolvingThemes, SPLIT_WITH_NEWLINES, SVGSpriteSheet, ScrollSyncManager, ShikiStreamTokenizer, THEME_CSS_ATTRIBUTE, UNIFIED_DIFF_FILE_BREAK_REGEX, UNSAFE_CSS_ATTRIBUTE, UnresolvedFile, VirtualizedFile, VirtualizedFileDiff, Virtualizer, areDiffLineAnnotationsEqual, areDiffRenderOptionsEqual, areFilesEqual, areHunkDataEqual, areLanguagesAttached, areLineAnnotationsEqual, areObjectsEqual, areOptionsEqual, arePrePropertiesEqual, areRenderRangesEqual, areSelectionsEqual, areThemesAttached, areThemesEqual, areVirtualWindowSpecsEqual, areWorkerStatsEqual, attachResolvedLanguages, attachResolvedThemes, cleanLastNewline, cleanUpResolvedLanguages, cleanUpResolvedThemes, codeToHtml, createAnnotationElement, createAnnotationWrapperNode, createCSSVariablesTheme, createDiffSpanDecoration, createEmptyRowBuffer, createFileHeaderElement, createGutterGap, createGutterItem, createGutterUtilityContentNode, createGutterUtilityElement, createGutterWrapper, createHastElement, createIconElement, createNoNewlineElement, createPreElement, createPreWrapperProperties, createRowNodes, createSeparator, createSpanFromToken, createStyleElement, createTextNodeElement, createThemeStyleElement, createTransformerWithState, createUnsafeCSSStyleNode, createWindowFromScrollPosition, dequeueRender, diffAcceptRejectHunk, disposeHighlighter, findCodeElement, formatCSSVariablePrefix, getCustomExtensionsMap, getCustomExtensionsVersion, getFiletypeFromFileName, getHighlighterIfLoaded, getHighlighterOptions, getHighlighterThemeStyles, getHunkSeparatorSlotName, getIconForType, getLineAnnotationName, getLineEndingType, getLineNodes, getOrCreateCodeNode, getResolvedLanguages, getResolvedOrResolveLanguage, getResolvedOrResolveTheme, getResolvedThemes, getSharedHighlighter, getSingularPatch, getThemes, getTotalLineCountFromHunks, getUnresolvedDiffHunksRendererOptions, hasResolvedLanguages, hasResolvedThemes, isDefaultRenderRange, isHighlighterLoaded, isHighlighterLoading, isHighlighterNull, isWorkerContext, parseDiffFromFile, parseLineType, parsePatchFiles, pluckInteractionOptions, preloadHighlighter, prerenderHTMLIfNecessary, processFile, processLine, processPatch, pushOrJoinSpan, queueRender, registerCustomCSSVariableTheme, registerCustomLanguage, registerCustomTheme, renderDiffWithHighlighter, renderFileWithHighlighter, replaceCustomExtensions, resolveConflict, resolveLanguage, resolveLanguages, resolveRegion, resolveTheme, resolveThemes, setCustomExtension, setLanguageOverride, setPreNodeProperties, trimPatchContext, wrapCoreCSS, wrapThemeCSS, wrapUnsafeCSS };
|
|
@@ -21,6 +21,9 @@ interface SelectedLineRange {
|
|
|
21
21
|
end: number;
|
|
22
22
|
endSide?: SelectionSide;
|
|
23
23
|
}
|
|
24
|
+
interface SelectionWriteOptions {
|
|
25
|
+
notify?: boolean;
|
|
26
|
+
}
|
|
24
27
|
type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;
|
|
25
28
|
type EventClickProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineClickProps : OnDiffLineClickProps;
|
|
26
29
|
type PointerEventEnterLeaveProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineEnterLeaveProps : OnDiffLineEnterLeaveProps;
|
|
@@ -50,6 +53,7 @@ interface InteractionManagerBaseOptions<TMode extends InteractionManagerMode> {
|
|
|
50
53
|
onTokenLeave?(props: OnTokenEventProps<TMode>, event: PointerEvent): unknown;
|
|
51
54
|
__debugPointerEvents?: LogTypes;
|
|
52
55
|
enableLineSelection?: boolean;
|
|
56
|
+
controlledSelection?: boolean;
|
|
53
57
|
onLineSelected?: (range: SelectedLineRange | null) => void;
|
|
54
58
|
onLineSelectionStart?: (range: SelectedLineRange | null) => void;
|
|
55
59
|
onLineSelectionChange?: (range: SelectedLineRange | null) => void;
|
|
@@ -75,6 +79,7 @@ declare class InteractionManager<TMode extends InteractionManagerMode> {
|
|
|
75
79
|
private hasPointerListeners;
|
|
76
80
|
private hasDocumentPointerListeners;
|
|
77
81
|
private selectedRange;
|
|
82
|
+
private proposedSelectedRange;
|
|
78
83
|
private renderedSelectionRange;
|
|
79
84
|
private selectionAnchor;
|
|
80
85
|
private queuedSelectionRender;
|
|
@@ -85,7 +90,7 @@ declare class InteractionManager<TMode extends InteractionManagerMode> {
|
|
|
85
90
|
setup(pre: HTMLPreElement): void;
|
|
86
91
|
setSelectionDirty(): void;
|
|
87
92
|
isSelectionDirty(): boolean;
|
|
88
|
-
setSelection(range: SelectedLineRange | null): void;
|
|
93
|
+
setSelection(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;
|
|
89
94
|
getSelection(): SelectedLineRange | null;
|
|
90
95
|
getHoveredLine: () => GetHoveredLineResult<TMode> | undefined;
|
|
91
96
|
handlePointerClick: (event: MouseEvent) => void;
|
|
@@ -112,6 +117,8 @@ declare class InteractionManager<TMode extends InteractionManagerMode> {
|
|
|
112
117
|
private getSelectionPointerInfo;
|
|
113
118
|
private getSelectionPointFromPath;
|
|
114
119
|
private getLineIndex;
|
|
120
|
+
private getCurrentSelectionRange;
|
|
121
|
+
private clearProposedSelection;
|
|
115
122
|
private updateSelection;
|
|
116
123
|
private getIndexesFromSelection;
|
|
117
124
|
private renderSelection;
|
|
@@ -128,14 +135,11 @@ declare class InteractionManager<TMode extends InteractionManagerMode> {
|
|
|
128
135
|
private parseLineIndex;
|
|
129
136
|
}
|
|
130
137
|
type InteractionPluckOptions<TMode extends InteractionManagerMode> = InteractionManagerBaseOptions<TMode> & {
|
|
131
|
-
enableHoverUtility?: boolean;
|
|
132
138
|
renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;
|
|
133
|
-
renderHoverUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;
|
|
134
139
|
};
|
|
135
140
|
declare function pluckInteractionOptions<TMode extends InteractionManagerMode>({
|
|
136
141
|
enableTokenInteractionsOnWhitespace,
|
|
137
142
|
enableGutterUtility,
|
|
138
|
-
enableHoverUtility,
|
|
139
143
|
lineHoverHighlight,
|
|
140
144
|
onGutterUtilityClick,
|
|
141
145
|
onLineClick,
|
|
@@ -146,14 +150,14 @@ declare function pluckInteractionOptions<TMode extends InteractionManagerMode>({
|
|
|
146
150
|
onTokenEnter,
|
|
147
151
|
onTokenLeave,
|
|
148
152
|
renderGutterUtility,
|
|
149
|
-
renderHoverUtility,
|
|
150
153
|
__debugPointerEvents,
|
|
151
154
|
enableLineSelection,
|
|
155
|
+
controlledSelection,
|
|
152
156
|
onLineSelected,
|
|
153
157
|
onLineSelectionStart,
|
|
154
158
|
onLineSelectionChange,
|
|
155
159
|
onLineSelectionEnd
|
|
156
|
-
}: InteractionPluckOptions<TMode>, onHunkExpand?: (hunkIndex: number, direction: ExpansionDirections,
|
|
160
|
+
}: InteractionPluckOptions<TMode>, onHunkExpand?: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number) => unknown, getLineIndex?: GetLineIndexUtility, onMergeConflictActionClick?: (target: MergeConflictActionTarget) => void): InteractionManagerOptions<TMode>;
|
|
157
161
|
//#endregion
|
|
158
|
-
export { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LogTypes, MergeConflictActionTarget, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, SelectedLineRange, pluckInteractionOptions };
|
|
162
|
+
export { GetHoveredLineResult, GetLineIndexUtility, InteractionManager, InteractionManagerBaseOptions, InteractionManagerMode, InteractionManagerOptions, LogTypes, MergeConflictActionTarget, OnDiffLineClickProps, OnDiffLineEnterLeaveProps, OnLineClickProps, OnLineEnterLeaveProps, OnTokenEventProps, SelectedLineRange, SelectionWriteOptions, pluckInteractionOptions };
|
|
159
163
|
//# sourceMappingURL=InteractionManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InteractionManager.d.ts","names":["AnnotationSide","DiffLineEventBaseProps","DiffTokenEventBaseProps","ExpansionDirections","LineEventBaseProps","MergeConflictResolution","SelectionSide","TokenEventBase","LogTypes","InteractionManagerMode","OnLineClickProps","PointerEvent","OnLineEnterLeaveProps","OnDiffLineClickProps","OnDiffLineEnterLeaveProps","SelectedLineRange","GetLineIndexUtility","EventClickProps","TMode","PointerEventEnterLeaveProps","OnTokenEventProps","GetHoveredLineResult","MergeConflictActionTarget","InteractionManagerBaseOptions","MouseEvent","InteractionManagerOptions","InteractionManager","HTMLPreElement","InteractionPluckOptions","HTMLElement","pluckInteractionOptions","enableTokenInteractionsOnWhitespace","enableGutterUtility","enableHoverUtility","lineHoverHighlight","onGutterUtilityClick","onLineClick","onLineEnter","onLineLeave","onLineNumberClick","onTokenClick","onTokenEnter","onTokenLeave","renderGutterUtility","renderHoverUtility","__debugPointerEvents","enableLineSelection","onLineSelected","onLineSelectionStart","onLineSelectionChange","onLineSelectionEnd"],"sources":["../../src/managers/InteractionManager.d.ts"],"sourcesContent":["import type { AnnotationSide, DiffLineEventBaseProps, DiffTokenEventBaseProps, ExpansionDirections, LineEventBaseProps, MergeConflictResolution, SelectionSide, TokenEventBase } from '../types';\nexport type LogTypes = 'click' | 'move' | 'both' | 'none';\nexport type InteractionManagerMode = 'file' | 'diff';\nexport interface OnLineClickProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnLineEnterLeaveProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineClickProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineEnterLeaveProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface SelectedLineRange {\n start: number;\n side?: SelectionSide;\n end: number;\n endSide?: SelectionSide;\n}\nexport type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;\ntype EventClickProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineClickProps : OnDiffLineClickProps;\ntype PointerEventEnterLeaveProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineEnterLeaveProps : OnDiffLineEnterLeaveProps;\nexport type OnTokenEventProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? TokenEventBase : DiffTokenEventBaseProps;\nexport type GetHoveredLineResult<TMode extends InteractionManagerMode> = TMode extends 'file' ? {\n lineNumber: number;\n} : {\n lineNumber: number;\n side: AnnotationSide;\n};\nexport interface MergeConflictActionTarget {\n kind: 'merge-conflict-action';\n resolution: MergeConflictResolution;\n conflictIndex: number;\n}\nexport interface InteractionManagerBaseOptions<TMode extends InteractionManagerMode> {\n lineHoverHighlight?: 'disabled' | 'both' | 'number' | 'line';\n enableTokenInteractionsOnWhitespace?: boolean;\n enableGutterUtility?: boolean;\n onGutterUtilityClick?(range: SelectedLineRange): unknown;\n onLineClick?(props: EventClickProps<TMode>): unknown;\n onLineNumberClick?(props: EventClickProps<TMode>): unknown;\n onLineEnter?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n onLineLeave?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n onTokenClick?(props: OnTokenEventProps<TMode>, event: MouseEvent): unknown;\n onTokenEnter?(props: OnTokenEventProps<TMode>, event: PointerEvent): unknown;\n onTokenLeave?(props: OnTokenEventProps<TMode>, event: PointerEvent): unknown;\n __debugPointerEvents?: LogTypes;\n enableLineSelection?: boolean;\n onLineSelected?: (range: SelectedLineRange | null) => void;\n onLineSelectionStart?: (range: SelectedLineRange | null) => void;\n onLineSelectionChange?: (range: SelectedLineRange | null) => void;\n onLineSelectionEnd?: (range: SelectedLineRange | null) => void;\n getLineIndex?: GetLineIndexUtility;\n}\nexport interface InteractionManagerOptions<TMode extends InteractionManagerMode> extends InteractionManagerBaseOptions<TMode> {\n usesCustomGutterUtility?: boolean;\n onHunkExpand?(hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number): unknown;\n onMergeConflictActionClick?(target: MergeConflictActionTarget): void;\n}\nexport declare class InteractionManager<TMode extends InteractionManagerMode> {\n private mode;\n private options;\n private hoveredLine;\n private hoveredToken;\n private pre;\n private gutterUtilityContainer;\n private gutterUtilityButton;\n private gutterUtilitySlot;\n private interactiveLinesAttr;\n private interactiveLineNumbersAttr;\n private hasPointerListeners;\n private hasDocumentPointerListeners;\n private selectedRange;\n private renderedSelectionRange;\n private selectionAnchor;\n private queuedSelectionRender;\n private pointerSession;\n constructor(mode: TMode, options: InteractionManagerOptions<TMode>);\n setOptions(options: InteractionManagerOptions<TMode>): void;\n cleanUp(): void;\n setup(pre: HTMLPreElement): void;\n setSelectionDirty(): void;\n isSelectionDirty(): boolean;\n setSelection(range: SelectedLineRange | null): void;\n getSelection(): SelectedLineRange | null;\n getHoveredLine: () => GetHoveredLineResult<TMode> | undefined;\n handlePointerClick: (event: MouseEvent) => void;\n handlePointerMove: (event: PointerEvent) => void;\n handlePointerLeave: (event: PointerEvent) => void;\n private handlePointerEvent;\n private syncPointerListeners;\n private updateInteractiveLineAttributes;\n private handlePointerDown;\n private startLineSelectionFromPointerDown;\n private startGutterSelectionFromPointerDown;\n private handleDocumentPointerMove;\n private handleDocumentPointerUp;\n private handleDocumentPointerCancel;\n private clearHoveredLine;\n private setHoveredLine;\n private clearHoveredToken;\n private setHoveredToken;\n private ensureGutterUtilityNode;\n private attachDocumentPointerListeners;\n private detachDocumentPointerListeners;\n private clearPointerSession;\n private clearPendingSingleLineState;\n private getSelectionPointerInfo;\n private getSelectionPointFromPath;\n private getLineIndex;\n private updateSelection;\n private getIndexesFromSelection;\n private renderSelection;\n private notifySelectionCommitted;\n private notifySelectionChangeDelta;\n private notifySelectionStart;\n private notifySelectionEnd;\n private toEventBaseProps;\n private toTokenEventBaseProps;\n private buildSelectedLineRange;\n private buildSelectionRange;\n private resolvePointerTarget;\n private isSplitDiff;\n private parseLineIndex;\n}\ntype InteractionPluckOptions<TMode extends InteractionManagerMode> = InteractionManagerBaseOptions<TMode> & {\n enableHoverUtility?: boolean;\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n renderHoverUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n};\nexport declare function pluckInteractionOptions<TMode extends InteractionManagerMode>({ enableTokenInteractionsOnWhitespace, enableGutterUtility, enableHoverUtility, lineHoverHighlight, onGutterUtilityClick, onLineClick, onLineEnter, onLineLeave, onLineNumberClick, onTokenClick, onTokenEnter, onTokenLeave, renderGutterUtility, renderHoverUtility, __debugPointerEvents, enableLineSelection, onLineSelected, onLineSelectionStart, onLineSelectionChange, onLineSelectionEnd }: InteractionPluckOptions<TMode>, onHunkExpand?: (hunkIndex: number, direction: ExpansionDirections, expansionLineCount?: number) => unknown, getLineIndex?: GetLineIndexUtility, onMergeConflictActionClick?: (target: MergeConflictActionTarget) => void): InteractionManagerOptions<TMode>;\nexport {};\n//# sourceMappingURL=InteractionManager.d.ts.map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InteractionManager.d.ts","names":["AnnotationSide","DiffLineEventBaseProps","DiffTokenEventBaseProps","ExpansionDirections","LineEventBaseProps","MergeConflictResolution","SelectionSide","TokenEventBase","LogTypes","InteractionManagerMode","OnLineClickProps","PointerEvent","OnLineEnterLeaveProps","OnDiffLineClickProps","OnDiffLineEnterLeaveProps","SelectedLineRange","SelectionWriteOptions","GetLineIndexUtility","EventClickProps","TMode","PointerEventEnterLeaveProps","OnTokenEventProps","GetHoveredLineResult","MergeConflictActionTarget","InteractionManagerBaseOptions","MouseEvent","InteractionManagerOptions","InteractionManager","HTMLPreElement","InteractionPluckOptions","HTMLElement","pluckInteractionOptions","enableTokenInteractionsOnWhitespace","enableGutterUtility","lineHoverHighlight","onGutterUtilityClick","onLineClick","onLineEnter","onLineLeave","onLineNumberClick","onTokenClick","onTokenEnter","onTokenLeave","renderGutterUtility","__debugPointerEvents","enableLineSelection","controlledSelection","onLineSelected","onLineSelectionStart","onLineSelectionChange","onLineSelectionEnd"],"sources":["../../src/managers/InteractionManager.d.ts"],"sourcesContent":["import type { AnnotationSide, DiffLineEventBaseProps, DiffTokenEventBaseProps, ExpansionDirections, LineEventBaseProps, MergeConflictResolution, SelectionSide, TokenEventBase } from '../types';\nexport type LogTypes = 'click' | 'move' | 'both' | 'none';\nexport type InteractionManagerMode = 'file' | 'diff';\nexport interface OnLineClickProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnLineEnterLeaveProps extends LineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineClickProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface OnDiffLineEnterLeaveProps extends DiffLineEventBaseProps {\n event: PointerEvent;\n}\nexport interface SelectedLineRange {\n start: number;\n side?: SelectionSide;\n end: number;\n endSide?: SelectionSide;\n}\nexport interface SelectionWriteOptions {\n notify?: boolean;\n}\nexport type GetLineIndexUtility = (lineNumber: number, side?: SelectionSide) => [number, number] | undefined;\ntype EventClickProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineClickProps : OnDiffLineClickProps;\ntype PointerEventEnterLeaveProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? OnLineEnterLeaveProps : OnDiffLineEnterLeaveProps;\nexport type OnTokenEventProps<TMode extends InteractionManagerMode> = TMode extends 'file' ? TokenEventBase : DiffTokenEventBaseProps;\nexport type GetHoveredLineResult<TMode extends InteractionManagerMode> = TMode extends 'file' ? {\n lineNumber: number;\n} : {\n lineNumber: number;\n side: AnnotationSide;\n};\nexport interface MergeConflictActionTarget {\n kind: 'merge-conflict-action';\n resolution: MergeConflictResolution;\n conflictIndex: number;\n}\nexport interface InteractionManagerBaseOptions<TMode extends InteractionManagerMode> {\n lineHoverHighlight?: 'disabled' | 'both' | 'number' | 'line';\n enableTokenInteractionsOnWhitespace?: boolean;\n enableGutterUtility?: boolean;\n onGutterUtilityClick?(range: SelectedLineRange): unknown;\n onLineClick?(props: EventClickProps<TMode>): unknown;\n onLineNumberClick?(props: EventClickProps<TMode>): unknown;\n onLineEnter?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n onLineLeave?(props: PointerEventEnterLeaveProps<TMode>): unknown;\n onTokenClick?(props: OnTokenEventProps<TMode>, event: MouseEvent): unknown;\n onTokenEnter?(props: OnTokenEventProps<TMode>, event: PointerEvent): unknown;\n onTokenLeave?(props: OnTokenEventProps<TMode>, event: PointerEvent): unknown;\n __debugPointerEvents?: LogTypes;\n enableLineSelection?: boolean;\n controlledSelection?: boolean;\n onLineSelected?: (range: SelectedLineRange | null) => void;\n onLineSelectionStart?: (range: SelectedLineRange | null) => void;\n onLineSelectionChange?: (range: SelectedLineRange | null) => void;\n onLineSelectionEnd?: (range: SelectedLineRange | null) => void;\n getLineIndex?: GetLineIndexUtility;\n}\nexport interface InteractionManagerOptions<TMode extends InteractionManagerMode> extends InteractionManagerBaseOptions<TMode> {\n usesCustomGutterUtility?: boolean;\n onHunkExpand?(hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number): unknown;\n onMergeConflictActionClick?(target: MergeConflictActionTarget): void;\n}\nexport declare class InteractionManager<TMode extends InteractionManagerMode> {\n private mode;\n private options;\n private hoveredLine;\n private hoveredToken;\n private pre;\n private gutterUtilityContainer;\n private gutterUtilityButton;\n private gutterUtilitySlot;\n private interactiveLinesAttr;\n private interactiveLineNumbersAttr;\n private hasPointerListeners;\n private hasDocumentPointerListeners;\n private selectedRange;\n private proposedSelectedRange;\n private renderedSelectionRange;\n private selectionAnchor;\n private queuedSelectionRender;\n private pointerSession;\n constructor(mode: TMode, options: InteractionManagerOptions<TMode>);\n setOptions(options: InteractionManagerOptions<TMode>): void;\n cleanUp(): void;\n setup(pre: HTMLPreElement): void;\n setSelectionDirty(): void;\n isSelectionDirty(): boolean;\n setSelection(range: SelectedLineRange | null, options?: SelectionWriteOptions): void;\n getSelection(): SelectedLineRange | null;\n getHoveredLine: () => GetHoveredLineResult<TMode> | undefined;\n handlePointerClick: (event: MouseEvent) => void;\n handlePointerMove: (event: PointerEvent) => void;\n handlePointerLeave: (event: PointerEvent) => void;\n private handlePointerEvent;\n private syncPointerListeners;\n private updateInteractiveLineAttributes;\n private handlePointerDown;\n private startLineSelectionFromPointerDown;\n private startGutterSelectionFromPointerDown;\n private handleDocumentPointerMove;\n private handleDocumentPointerUp;\n private handleDocumentPointerCancel;\n private clearHoveredLine;\n private setHoveredLine;\n private clearHoveredToken;\n private setHoveredToken;\n private ensureGutterUtilityNode;\n private attachDocumentPointerListeners;\n private detachDocumentPointerListeners;\n private clearPointerSession;\n private clearPendingSingleLineState;\n private getSelectionPointerInfo;\n private getSelectionPointFromPath;\n private getLineIndex;\n private getCurrentSelectionRange;\n private clearProposedSelection;\n private updateSelection;\n private getIndexesFromSelection;\n private renderSelection;\n private notifySelectionCommitted;\n private notifySelectionChangeDelta;\n private notifySelectionStart;\n private notifySelectionEnd;\n private toEventBaseProps;\n private toTokenEventBaseProps;\n private buildSelectedLineRange;\n private buildSelectionRange;\n private resolvePointerTarget;\n private isSplitDiff;\n private parseLineIndex;\n}\ntype InteractionPluckOptions<TMode extends InteractionManagerMode> = InteractionManagerBaseOptions<TMode> & {\n renderGutterUtility?(getHoveredRow: () => GetHoveredLineResult<TMode> | undefined): HTMLElement | null | undefined;\n};\nexport declare function pluckInteractionOptions<TMode extends InteractionManagerMode>({ enableTokenInteractionsOnWhitespace, enableGutterUtility, lineHoverHighlight, onGutterUtilityClick, onLineClick, onLineEnter, onLineLeave, onLineNumberClick, onTokenClick, onTokenEnter, onTokenLeave, renderGutterUtility, __debugPointerEvents, enableLineSelection, controlledSelection, onLineSelected, onLineSelectionStart, onLineSelectionChange, onLineSelectionEnd }: InteractionPluckOptions<TMode>, onHunkExpand?: (hunkIndex: number, direction: ExpansionDirections, expansionLineCountOverride?: number) => unknown, getLineIndex?: GetLineIndexUtility, onMergeConflictActionClick?: (target: MergeConflictActionTarget) => void): InteractionManagerOptions<TMode>;\nexport {};\n//# sourceMappingURL=InteractionManager.d.ts.map"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { areSelectionPointsEqual } from "../utils/areSelectionPointsEqual.js";
|
|
2
1
|
import { areSelectionsEqual } from "../utils/areSelectionsEqual.js";
|
|
2
|
+
import { areSelectionPointsEqual } from "../utils/areSelectionPointsEqual.js";
|
|
3
3
|
import { createGutterUtilityElement } from "../utils/createGutterUtilityElement.js";
|
|
4
4
|
import { toHtml } from "hast-util-to-html";
|
|
5
5
|
|
|
@@ -16,6 +16,7 @@ var InteractionManager = class {
|
|
|
16
16
|
hasPointerListeners = false;
|
|
17
17
|
hasDocumentPointerListeners = false;
|
|
18
18
|
selectedRange = null;
|
|
19
|
+
proposedSelectedRange;
|
|
19
20
|
renderedSelectionRange;
|
|
20
21
|
selectionAnchor;
|
|
21
22
|
queuedSelectionRender;
|
|
@@ -79,12 +80,13 @@ var InteractionManager = class {
|
|
|
79
80
|
isSelectionDirty() {
|
|
80
81
|
return this.renderedSelectionRange === null;
|
|
81
82
|
}
|
|
82
|
-
setSelection(range) {
|
|
83
|
+
setSelection(range, options) {
|
|
83
84
|
const isRangeChange = !(range === this.selectedRange || areSelectionsEqual(range ?? void 0, this.selectedRange ?? void 0));
|
|
84
85
|
if (!this.isSelectionDirty() && !isRangeChange) return;
|
|
86
|
+
this.proposedSelectedRange = void 0;
|
|
85
87
|
this.selectedRange = range;
|
|
86
88
|
this.renderSelection();
|
|
87
|
-
if (isRangeChange) this.notifySelectionCommitted();
|
|
89
|
+
if (isRangeChange && options?.notify !== false) this.notifySelectionCommitted();
|
|
88
90
|
}
|
|
89
91
|
getSelection() {
|
|
90
92
|
return this.selectedRange;
|
|
@@ -287,7 +289,7 @@ var InteractionManager = class {
|
|
|
287
289
|
side: useStart ? this.selectedRange.side : this.selectedRange.endSide ?? this.selectedRange.side
|
|
288
290
|
};
|
|
289
291
|
this.updateSelection(lineNumber, eventSide, false);
|
|
290
|
-
this.notifySelectionStart(this.
|
|
292
|
+
this.notifySelectionStart(this.getCurrentSelectionRange());
|
|
291
293
|
this.pointerSession = {
|
|
292
294
|
mode: "selecting",
|
|
293
295
|
pointerId: event.pointerId
|
|
@@ -310,13 +312,14 @@ var InteractionManager = class {
|
|
|
310
312
|
this.attachDocumentPointerListeners();
|
|
311
313
|
return;
|
|
312
314
|
}
|
|
313
|
-
this.
|
|
315
|
+
if (this.options.controlledSelection === true) this.proposedSelectedRange = null;
|
|
316
|
+
else this.selectedRange = null;
|
|
314
317
|
this.selectionAnchor = {
|
|
315
318
|
lineNumber,
|
|
316
319
|
side: eventSide
|
|
317
320
|
};
|
|
318
321
|
this.updateSelection(lineNumber, eventSide, false);
|
|
319
|
-
this.notifySelectionStart(this.
|
|
322
|
+
this.notifySelectionStart(this.getCurrentSelectionRange());
|
|
320
323
|
this.pointerSession = {
|
|
321
324
|
mode: "selecting",
|
|
322
325
|
pointerId: event.pointerId
|
|
@@ -342,7 +345,7 @@ var InteractionManager = class {
|
|
|
342
345
|
side: point.side
|
|
343
346
|
};
|
|
344
347
|
this.updateSelection(point.lineNumber, point.side, false);
|
|
345
|
-
this.notifySelectionStart(this.
|
|
348
|
+
this.notifySelectionStart(this.getCurrentSelectionRange());
|
|
346
349
|
}
|
|
347
350
|
this.attachDocumentPointerListeners();
|
|
348
351
|
}
|
|
@@ -375,7 +378,7 @@ var InteractionManager = class {
|
|
|
375
378
|
};
|
|
376
379
|
if (areSelectionPointsEqual(this.pointerSession.pending, point)) return;
|
|
377
380
|
this.updateSelection(pointerInfo.lineNumber, pointerInfo.eventSide, false);
|
|
378
|
-
this.notifySelectionStart(this.
|
|
381
|
+
this.notifySelectionStart(this.getCurrentSelectionRange());
|
|
379
382
|
this.notifySelectionChangeDelta();
|
|
380
383
|
this.pointerSession = {
|
|
381
384
|
mode: "selecting",
|
|
@@ -399,8 +402,9 @@ var InteractionManager = class {
|
|
|
399
402
|
onGutterUtilityClick?.(this.buildSelectedLineRange(this.pointerSession.anchor, this.pointerSession.current));
|
|
400
403
|
this.selectionAnchor = void 0;
|
|
401
404
|
if (enableLineSelection) {
|
|
402
|
-
this.notifySelectionEnd(this.
|
|
405
|
+
this.notifySelectionEnd(this.getCurrentSelectionRange());
|
|
403
406
|
this.notifySelectionCommitted();
|
|
407
|
+
this.clearProposedSelection();
|
|
404
408
|
}
|
|
405
409
|
this.clearPointerSession();
|
|
406
410
|
this.detachDocumentPointerListeners();
|
|
@@ -412,16 +416,18 @@ var InteractionManager = class {
|
|
|
412
416
|
this.selectionAnchor = void 0;
|
|
413
417
|
this.clearPendingSingleLineState();
|
|
414
418
|
this.detachDocumentPointerListeners();
|
|
415
|
-
this.notifySelectionEnd(this.
|
|
419
|
+
this.notifySelectionEnd(this.getCurrentSelectionRange());
|
|
416
420
|
this.notifySelectionCommitted();
|
|
421
|
+
this.clearProposedSelection();
|
|
417
422
|
return;
|
|
418
423
|
case "selecting":
|
|
419
424
|
if (event.pointerId !== this.pointerSession.pointerId) return;
|
|
420
425
|
this.selectionAnchor = void 0;
|
|
421
426
|
this.detachDocumentPointerListeners();
|
|
422
427
|
this.clearPointerSession();
|
|
423
|
-
this.notifySelectionEnd(this.
|
|
428
|
+
this.notifySelectionEnd(this.getCurrentSelectionRange());
|
|
424
429
|
this.notifySelectionCommitted();
|
|
430
|
+
this.clearProposedSelection();
|
|
425
431
|
}
|
|
426
432
|
};
|
|
427
433
|
handleDocumentPointerCancel = (event) => {
|
|
@@ -434,6 +440,7 @@ var InteractionManager = class {
|
|
|
434
440
|
if (event.pointerId !== this.pointerSession.pointerId) return;
|
|
435
441
|
}
|
|
436
442
|
this.selectionAnchor = void 0;
|
|
443
|
+
this.clearProposedSelection();
|
|
437
444
|
this.clearPendingSingleLineState();
|
|
438
445
|
this.clearPointerSession();
|
|
439
446
|
this.detachDocumentPointerListeners();
|
|
@@ -534,8 +541,14 @@ var InteractionManager = class {
|
|
|
534
541
|
const { getLineIndex } = this.options;
|
|
535
542
|
return getLineIndex != null ? getLineIndex(lineNumber, side) : [lineNumber - 1, lineNumber - 1];
|
|
536
543
|
}
|
|
544
|
+
getCurrentSelectionRange() {
|
|
545
|
+
return this.proposedSelectedRange !== void 0 ? this.proposedSelectedRange : this.selectedRange;
|
|
546
|
+
}
|
|
547
|
+
clearProposedSelection() {
|
|
548
|
+
this.proposedSelectedRange = void 0;
|
|
549
|
+
}
|
|
537
550
|
updateSelection(currentLine, side, emitChange = true) {
|
|
538
|
-
const
|
|
551
|
+
const previousRange = this.getCurrentSelectionRange();
|
|
539
552
|
let nextRange;
|
|
540
553
|
if (currentLine == null) nextRange = null;
|
|
541
554
|
else {
|
|
@@ -544,9 +557,12 @@ var InteractionManager = class {
|
|
|
544
557
|
nextRange = this.buildSelectionRange(anchorLine, currentLine, anchorSide, side);
|
|
545
558
|
}
|
|
546
559
|
if (areSelectionsEqual(previousRange ?? void 0, nextRange ?? void 0)) return;
|
|
547
|
-
this.
|
|
560
|
+
if (this.options.controlledSelection === true) this.proposedSelectedRange = nextRange;
|
|
561
|
+
else {
|
|
562
|
+
this.selectedRange = nextRange;
|
|
563
|
+
this.queuedSelectionRender ??= requestAnimationFrame(this.renderSelection);
|
|
564
|
+
}
|
|
548
565
|
if (emitChange) this.notifySelectionChangeDelta();
|
|
549
|
-
this.queuedSelectionRender ??= requestAnimationFrame(this.renderSelection);
|
|
550
566
|
}
|
|
551
567
|
getIndexesFromSelection(selectedRange, split) {
|
|
552
568
|
if (this.pre == null) return;
|
|
@@ -612,10 +628,10 @@ var InteractionManager = class {
|
|
|
612
628
|
}
|
|
613
629
|
};
|
|
614
630
|
notifySelectionCommitted() {
|
|
615
|
-
this.options.onLineSelected?.(this.
|
|
631
|
+
this.options.onLineSelected?.(this.getCurrentSelectionRange() ?? null);
|
|
616
632
|
}
|
|
617
633
|
notifySelectionChangeDelta() {
|
|
618
|
-
this.options.onLineSelectionChange?.(this.
|
|
634
|
+
this.options.onLineSelectionChange?.(this.getCurrentSelectionRange() ?? null);
|
|
619
635
|
}
|
|
620
636
|
notifySelectionStart(range) {
|
|
621
637
|
this.options.onLineSelectionStart?.(range);
|
|
@@ -818,17 +834,15 @@ var InteractionManager = class {
|
|
|
818
834
|
if (!split) return lineIndexes[0];
|
|
819
835
|
}
|
|
820
836
|
};
|
|
821
|
-
function pluckInteractionOptions({ enableTokenInteractionsOnWhitespace, enableGutterUtility,
|
|
837
|
+
function pluckInteractionOptions({ enableTokenInteractionsOnWhitespace, enableGutterUtility, lineHoverHighlight, onGutterUtilityClick, onLineClick, onLineEnter, onLineLeave, onLineNumberClick, onTokenClick, onTokenEnter, onTokenLeave, renderGutterUtility, __debugPointerEvents, enableLineSelection, controlledSelection, onLineSelected, onLineSelectionStart, onLineSelectionChange, onLineSelectionEnd }, onHunkExpand, getLineIndex, onMergeConflictActionClick) {
|
|
822
838
|
return {
|
|
823
839
|
enableTokenInteractionsOnWhitespace,
|
|
824
840
|
enableGutterUtility: resolveEnableGutterUtilityOption({
|
|
825
841
|
enableGutterUtility,
|
|
826
|
-
enableHoverUtility,
|
|
827
842
|
renderGutterUtility,
|
|
828
|
-
renderHoverUtility,
|
|
829
843
|
onGutterUtilityClick
|
|
830
844
|
}),
|
|
831
|
-
usesCustomGutterUtility: renderGutterUtility != null
|
|
845
|
+
usesCustomGutterUtility: renderGutterUtility != null,
|
|
832
846
|
lineHoverHighlight,
|
|
833
847
|
onGutterUtilityClick,
|
|
834
848
|
onHunkExpand,
|
|
@@ -842,6 +856,7 @@ function pluckInteractionOptions({ enableTokenInteractionsOnWhitespace, enableGu
|
|
|
842
856
|
onTokenLeave,
|
|
843
857
|
__debugPointerEvents,
|
|
844
858
|
enableLineSelection,
|
|
859
|
+
controlledSelection,
|
|
845
860
|
onLineSelected,
|
|
846
861
|
onLineSelectionStart,
|
|
847
862
|
onLineSelectionChange,
|
|
@@ -849,11 +864,9 @@ function pluckInteractionOptions({ enableTokenInteractionsOnWhitespace, enableGu
|
|
|
849
864
|
getLineIndex
|
|
850
865
|
};
|
|
851
866
|
}
|
|
852
|
-
function resolveEnableGutterUtilityOption({ enableGutterUtility,
|
|
853
|
-
if (
|
|
854
|
-
|
|
855
|
-
if (onGutterUtilityClick != null && (renderGutterUtility != null || renderHoverUtility != null)) throw new Error("Cannot use both 'onGutterUtilityClick' and render utility callbacks ('renderGutterUtility'/'renderHoverUtility'). Use only one gutter utility API.");
|
|
856
|
-
return enableGutterUtility ?? enableHoverUtility ?? false;
|
|
867
|
+
function resolveEnableGutterUtilityOption({ enableGutterUtility, renderGutterUtility, onGutterUtilityClick }) {
|
|
868
|
+
if (onGutterUtilityClick != null && renderGutterUtility != null) throw new Error("Cannot use both 'onGutterUtilityClick' and 'renderGutterUtility'. Use only one gutter utility API.");
|
|
869
|
+
return enableGutterUtility ?? false;
|
|
857
870
|
}
|
|
858
871
|
function isLinePointerTarget(target) {
|
|
859
872
|
return target != null && "kind" in target && target.kind === "line";
|