@pierre/diffs 1.0.0-beta.1
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/LICENSE.txt +201 -0
- package/README.md +26 -0
- package/dist/components/File.d.ts +78 -0
- package/dist/components/File.d.ts.map +1 -0
- package/dist/components/File.js +322 -0
- package/dist/components/File.js.map +1 -0
- package/dist/components/FileDiff.d.ts +90 -0
- package/dist/components/FileDiff.d.ts.map +1 -0
- package/dist/components/FileDiff.js +392 -0
- package/dist/components/FileDiff.js.map +1 -0
- package/dist/components/FileStream.d.ts +40 -0
- package/dist/components/FileStream.d.ts.map +1 -0
- package/dist/components/FileStream.js +161 -0
- package/dist/components/FileStream.js.map +1 -0
- package/dist/components/web-components.d.ts +5 -0
- package/dist/components/web-components.d.ts.map +1 -0
- package/dist/components/web-components.js +25 -0
- package/dist/components/web-components.js.map +1 -0
- package/dist/constants.d.ts +21 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +23 -0
- package/dist/constants.js.map +1 -0
- package/dist/highlighter/languages/areLanguagesAttached.d.ts +7 -0
- package/dist/highlighter/languages/areLanguagesAttached.d.ts.map +1 -0
- package/dist/highlighter/languages/areLanguagesAttached.js +11 -0
- package/dist/highlighter/languages/areLanguagesAttached.js.map +1 -0
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts +9 -0
- package/dist/highlighter/languages/attachResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/attachResolvedLanguages.js +20 -0
- package/dist/highlighter/languages/attachResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts +5 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js +11 -0
- package/dist/highlighter/languages/cleanUpResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/constants.d.ts +11 -0
- package/dist/highlighter/languages/constants.d.ts.map +1 -0
- package/dist/highlighter/languages/constants.js +8 -0
- package/dist/highlighter/languages/constants.js.map +1 -0
- package/dist/highlighter/languages/getResolvedLanguages.d.ts +9 -0
- package/dist/highlighter/languages/getResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/getResolvedLanguages.js +16 -0
- package/dist/highlighter/languages/getResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts +9 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.d.ts.map +1 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js +11 -0
- package/dist/highlighter/languages/getResolvedOrResolveLanguage.js.map +1 -0
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts +7 -0
- package/dist/highlighter/languages/hasResolvedLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/hasResolvedLanguages.js +11 -0
- package/dist/highlighter/languages/hasResolvedLanguages.js.map +1 -0
- package/dist/highlighter/languages/resolveLanguage.d.ts +9 -0
- package/dist/highlighter/languages/resolveLanguage.d.ts.map +1 -0
- package/dist/highlighter/languages/resolveLanguage.js +30 -0
- package/dist/highlighter/languages/resolveLanguage.js.map +1 -0
- package/dist/highlighter/languages/resolveLanguages.d.ts +9 -0
- package/dist/highlighter/languages/resolveLanguages.d.ts.map +1 -0
- package/dist/highlighter/languages/resolveLanguages.js +25 -0
- package/dist/highlighter/languages/resolveLanguages.js.map +1 -0
- package/dist/highlighter/shared_highlighter.d.ts +21 -0
- package/dist/highlighter/shared_highlighter.d.ts.map +1 -0
- package/dist/highlighter/shared_highlighter.js +71 -0
- package/dist/highlighter/shared_highlighter.js.map +1 -0
- package/dist/highlighter/themes/areThemesAttached.d.ts +7 -0
- package/dist/highlighter/themes/areThemesAttached.d.ts.map +1 -0
- package/dist/highlighter/themes/areThemesAttached.js +12 -0
- package/dist/highlighter/themes/areThemesAttached.js.map +1 -0
- package/dist/highlighter/themes/attachResolvedThemes.d.ts +7 -0
- package/dist/highlighter/themes/attachResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/attachResolvedThemes.js +24 -0
- package/dist/highlighter/themes/attachResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts +5 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.js +11 -0
- package/dist/highlighter/themes/cleanUpResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/constants.d.ts +11 -0
- package/dist/highlighter/themes/constants.d.ts.map +1 -0
- package/dist/highlighter/themes/constants.js +9 -0
- package/dist/highlighter/themes/constants.js.map +1 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts +7 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js +11 -0
- package/dist/highlighter/themes/getResolvedOrResolveTheme.js.map +1 -0
- package/dist/highlighter/themes/getResolvedThemes.d.ts +7 -0
- package/dist/highlighter/themes/getResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/getResolvedThemes.js +16 -0
- package/dist/highlighter/themes/getResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/hasResolvedThemes.d.ts +7 -0
- package/dist/highlighter/themes/hasResolvedThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/hasResolvedThemes.js +11 -0
- package/dist/highlighter/themes/hasResolvedThemes.js.map +1 -0
- package/dist/highlighter/themes/registerCustomTheme.d.ts +7 -0
- package/dist/highlighter/themes/registerCustomTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/registerCustomTheme.js +14 -0
- package/dist/highlighter/themes/registerCustomTheme.js.map +1 -0
- package/dist/highlighter/themes/resolveTheme.d.ts +7 -0
- package/dist/highlighter/themes/resolveTheme.d.ts.map +1 -0
- package/dist/highlighter/themes/resolveTheme.js +35 -0
- package/dist/highlighter/themes/resolveTheme.js.map +1 -0
- package/dist/highlighter/themes/resolveThemes.d.ts +7 -0
- package/dist/highlighter/themes/resolveThemes.d.ts.map +1 -0
- package/dist/highlighter/themes/resolveThemes.js +21 -0
- package/dist/highlighter/themes/resolveThemes.js.map +1 -0
- package/dist/index.d.ts +84 -0
- package/dist/index.js +83 -0
- package/dist/managers/LineSelectionManager.d.ts +64 -0
- package/dist/managers/LineSelectionManager.d.ts.map +1 -0
- package/dist/managers/LineSelectionManager.js +276 -0
- package/dist/managers/LineSelectionManager.js.map +1 -0
- package/dist/managers/MouseEventManager.d.ts +64 -0
- package/dist/managers/MouseEventManager.d.ts.map +1 -0
- package/dist/managers/MouseEventManager.js +244 -0
- package/dist/managers/MouseEventManager.js.map +1 -0
- package/dist/managers/ResizeManager.d.ts +11 -0
- package/dist/managers/ResizeManager.d.ts.map +1 -0
- package/dist/managers/ResizeManager.js +132 -0
- package/dist/managers/ResizeManager.js.map +1 -0
- package/dist/managers/ScrollSyncManager.d.ts +15 -0
- package/dist/managers/ScrollSyncManager.d.ts.map +1 -0
- package/dist/managers/ScrollSyncManager.js +54 -0
- package/dist/managers/ScrollSyncManager.js.map +1 -0
- package/dist/managers/UniversalRenderingManager.d.ts +6 -0
- package/dist/managers/UniversalRenderingManager.d.ts.map +1 -0
- package/dist/managers/UniversalRenderingManager.js +32 -0
- package/dist/managers/UniversalRenderingManager.js.map +1 -0
- package/dist/react/File.d.ts +19 -0
- package/dist/react/File.d.ts.map +1 -0
- package/dist/react/File.js +36 -0
- package/dist/react/File.js.map +1 -0
- package/dist/react/FileDiff.d.ts +22 -0
- package/dist/react/FileDiff.d.ts.map +1 -0
- package/dist/react/FileDiff.js +36 -0
- package/dist/react/FileDiff.js.map +1 -0
- package/dist/react/MultiFileDiff.d.ts +24 -0
- package/dist/react/MultiFileDiff.d.ts.map +1 -0
- package/dist/react/MultiFileDiff.js +38 -0
- package/dist/react/MultiFileDiff.js.map +1 -0
- package/dist/react/PatchDiff.d.ts +21 -0
- package/dist/react/PatchDiff.d.ts.map +1 -0
- package/dist/react/PatchDiff.js +42 -0
- package/dist/react/PatchDiff.js.map +1 -0
- package/dist/react/WorkerPoolContext.d.ts +20 -0
- package/dist/react/WorkerPoolContext.d.ts.map +1 -0
- package/dist/react/WorkerPoolContext.js +41 -0
- package/dist/react/WorkerPoolContext.js.map +1 -0
- package/dist/react/constants.d.ts +7 -0
- package/dist/react/constants.d.ts.map +1 -0
- package/dist/react/constants.js +11 -0
- package/dist/react/constants.js.map +1 -0
- package/dist/react/index.d.ts +17 -0
- package/dist/react/index.js +14 -0
- package/dist/react/jsx.d.ts +12 -0
- package/dist/react/jsx.d.ts.map +1 -0
- package/dist/react/types.d.ts +34 -0
- package/dist/react/types.d.ts.map +1 -0
- package/dist/react/types.js +1 -0
- package/dist/react/utils/renderDiffChildren.d.ts +29 -0
- package/dist/react/utils/renderDiffChildren.d.ts.map +1 -0
- package/dist/react/utils/renderDiffChildren.js +32 -0
- package/dist/react/utils/renderDiffChildren.js.map +1 -0
- package/dist/react/utils/renderFileChildren.d.ts +25 -0
- package/dist/react/utils/renderFileChildren.d.ts.map +1 -0
- package/dist/react/utils/renderFileChildren.js +28 -0
- package/dist/react/utils/renderFileChildren.js.map +1 -0
- package/dist/react/utils/templateRender.d.ts +7 -0
- package/dist/react/utils/templateRender.d.ts.map +1 -0
- package/dist/react/utils/templateRender.js +14 -0
- package/dist/react/utils/templateRender.js.map +1 -0
- package/dist/react/utils/useFileDiffInstance.d.ts +31 -0
- package/dist/react/utils/useFileDiffInstance.d.ts.map +1 -0
- package/dist/react/utils/useFileDiffInstance.js +54 -0
- package/dist/react/utils/useFileDiffInstance.js.map +1 -0
- package/dist/react/utils/useFileInstance.d.ts +27 -0
- package/dist/react/utils/useFileInstance.d.ts.map +1 -0
- package/dist/react/utils/useFileInstance.js +49 -0
- package/dist/react/utils/useFileInstance.js.map +1 -0
- package/dist/react/utils/useStableCallback.d.ts +5 -0
- package/dist/react/utils/useStableCallback.d.ts.map +1 -0
- package/dist/react/utils/useStableCallback.js +14 -0
- package/dist/react/utils/useStableCallback.js.map +1 -0
- package/dist/renderers/DiffHunksRenderer.d.ts +62 -0
- package/dist/renderers/DiffHunksRenderer.d.ts.map +1 -0
- package/dist/renderers/DiffHunksRenderer.js +651 -0
- package/dist/renderers/DiffHunksRenderer.js.map +1 -0
- package/dist/renderers/FileRenderer.d.ts +49 -0
- package/dist/renderers/FileRenderer.d.ts.map +1 -0
- package/dist/renderers/FileRenderer.js +239 -0
- package/dist/renderers/FileRenderer.js.map +1 -0
- package/dist/shiki-stream/index.d.ts +4 -0
- package/dist/shiki-stream/index.js +4 -0
- package/dist/shiki-stream/stream.d.ts +17 -0
- package/dist/shiki-stream/stream.d.ts.map +1 -0
- package/dist/shiki-stream/stream.js +32 -0
- package/dist/shiki-stream/stream.js.map +1 -0
- package/dist/shiki-stream/tokenizer.d.ts +24 -0
- package/dist/shiki-stream/tokenizer.d.ts.map +1 -0
- package/dist/shiki-stream/tokenizer.js +71 -0
- package/dist/shiki-stream/tokenizer.js.map +1 -0
- package/dist/shiki-stream/types.d.ts +45 -0
- package/dist/shiki-stream/types.d.ts.map +1 -0
- package/dist/shiki-stream/types.js +0 -0
- package/dist/sprite.d.ts +6 -0
- package/dist/sprite.d.ts.map +1 -0
- package/dist/sprite.js +55 -0
- package/dist/sprite.js.map +1 -0
- package/dist/ssr/FileDiffReact.d.ts +21 -0
- package/dist/ssr/FileDiffReact.d.ts.map +1 -0
- package/dist/ssr/FileDiffReact.js +53 -0
- package/dist/ssr/FileDiffReact.js.map +1 -0
- package/dist/ssr/index.d.ts +6 -0
- package/dist/ssr/index.js +6 -0
- package/dist/ssr/preloadDiffs.d.ts +72 -0
- package/dist/ssr/preloadDiffs.d.ts.map +1 -0
- package/dist/ssr/preloadDiffs.js +66 -0
- package/dist/ssr/preloadDiffs.js.map +1 -0
- package/dist/ssr/preloadFile.d.ts +23 -0
- package/dist/ssr/preloadFile.d.ts.map +1 -0
- package/dist/ssr/preloadFile.js +26 -0
- package/dist/ssr/preloadFile.js.map +1 -0
- package/dist/ssr/preloadPatchFile.d.ts +15 -0
- package/dist/ssr/preloadPatchFile.d.ts.map +1 -0
- package/dist/ssr/preloadPatchFile.js +17 -0
- package/dist/ssr/preloadPatchFile.js.map +1 -0
- package/dist/ssr/renderHTML.d.ts +7 -0
- package/dist/ssr/renderHTML.d.ts.map +1 -0
- package/dist/ssr/renderHTML.js +11 -0
- package/dist/ssr/renderHTML.js.map +1 -0
- package/dist/string-import.d.ts +6 -0
- package/dist/string-import.d.ts.map +1 -0
- package/dist/style.js +6 -0
- package/dist/style.js.map +1 -0
- package/dist/themes/pierre-dark.js +1328 -0
- package/dist/themes/pierre-dark.js.map +1 -0
- package/dist/themes/pierre-light.js +1328 -0
- package/dist/themes/pierre-light.js.map +1 -0
- package/dist/types.d.ts +238 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +0 -0
- package/dist/utils/areFilesEqual.d.ts +7 -0
- package/dist/utils/areFilesEqual.d.ts.map +1 -0
- package/dist/utils/areFilesEqual.js +8 -0
- package/dist/utils/areFilesEqual.js.map +1 -0
- package/dist/utils/areObjectsEqual.d.ts +5 -0
- package/dist/utils/areObjectsEqual.d.ts.map +1 -0
- package/dist/utils/areObjectsEqual.js +18 -0
- package/dist/utils/areObjectsEqual.js.map +1 -0
- package/dist/utils/areOptionsEqual.d.ts +9 -0
- package/dist/utils/areOptionsEqual.d.ts.map +1 -0
- package/dist/utils/areOptionsEqual.js +12 -0
- package/dist/utils/areOptionsEqual.js.map +1 -0
- package/dist/utils/areSelectionsEqual.d.ts +7 -0
- package/dist/utils/areSelectionsEqual.d.ts.map +1 -0
- package/dist/utils/areSelectionsEqual.js +8 -0
- package/dist/utils/areSelectionsEqual.js.map +1 -0
- package/dist/utils/areThemesEqual.d.ts +7 -0
- package/dist/utils/areThemesEqual.d.ts.map +1 -0
- package/dist/utils/areThemesEqual.js +9 -0
- package/dist/utils/areThemesEqual.js.map +1 -0
- package/dist/utils/cleanLastNewline.d.ts +5 -0
- package/dist/utils/cleanLastNewline.d.ts.map +1 -0
- package/dist/utils/cleanLastNewline.js +8 -0
- package/dist/utils/cleanLastNewline.js.map +1 -0
- package/dist/utils/createAnnotationElement.d.ts +8 -0
- package/dist/utils/createAnnotationElement.d.ts.map +1 -0
- package/dist/utils/createAnnotationElement.js +21 -0
- package/dist/utils/createAnnotationElement.js.map +1 -0
- package/dist/utils/createAnnotationWrapperNode.d.ts +5 -0
- package/dist/utils/createAnnotationWrapperNode.d.ts.map +1 -0
- package/dist/utils/createAnnotationWrapperNode.js +12 -0
- package/dist/utils/createAnnotationWrapperNode.js.map +1 -0
- package/dist/utils/createCodeNode.d.ts +12 -0
- package/dist/utils/createCodeNode.d.ts.map +1 -0
- package/dist/utils/createCodeNode.js +12 -0
- package/dist/utils/createCodeNode.js.map +1 -0
- package/dist/utils/createEmptyRowBuffer.d.ts +7 -0
- package/dist/utils/createEmptyRowBuffer.d.ts.map +1 -0
- package/dist/utils/createEmptyRowBuffer.js +16 -0
- package/dist/utils/createEmptyRowBuffer.js.map +1 -0
- package/dist/utils/createFileHeaderElement.d.ts +17 -0
- package/dist/utils/createFileHeaderElement.d.ts.map +1 -0
- package/dist/utils/createFileHeaderElement.js +84 -0
- package/dist/utils/createFileHeaderElement.js.map +1 -0
- package/dist/utils/createHoverContentNode.d.ts +5 -0
- package/dist/utils/createHoverContentNode.d.ts.map +1 -0
- package/dist/utils/createHoverContentNode.js +15 -0
- package/dist/utils/createHoverContentNode.js.map +1 -0
- package/dist/utils/createNoNewlineElement.d.ts +7 -0
- package/dist/utils/createNoNewlineElement.d.ts.map +1 -0
- package/dist/utils/createNoNewlineElement.js +24 -0
- package/dist/utils/createNoNewlineElement.js.map +1 -0
- package/dist/utils/createPreElement.d.ts +18 -0
- package/dist/utils/createPreElement.d.ts.map +1 -0
- package/dist/utils/createPreElement.js +28 -0
- package/dist/utils/createPreElement.js.map +1 -0
- package/dist/utils/createRowNodes.d.ts +8 -0
- package/dist/utils/createRowNodes.d.ts.map +1 -0
- package/dist/utils/createRowNodes.js +20 -0
- package/dist/utils/createRowNodes.js.map +1 -0
- package/dist/utils/createSeparator.d.ts +25 -0
- package/dist/utils/createSeparator.d.ts.map +1 -0
- package/dist/utils/createSeparator.js +69 -0
- package/dist/utils/createSeparator.js.map +1 -0
- package/dist/utils/createSpanNodeFromToken.d.ts +7 -0
- package/dist/utils/createSpanNodeFromToken.d.ts.map +1 -0
- package/dist/utils/createSpanNodeFromToken.js +13 -0
- package/dist/utils/createSpanNodeFromToken.js.map +1 -0
- package/dist/utils/createStyleElement.d.ts +7 -0
- package/dist/utils/createStyleElement.d.ts.map +1 -0
- package/dist/utils/createStyleElement.js +19 -0
- package/dist/utils/createStyleElement.js.map +1 -0
- package/dist/utils/createTransformerWithState.d.ts +13 -0
- package/dist/utils/createTransformerWithState.d.ts.map +1 -0
- package/dist/utils/createTransformerWithState.js +56 -0
- package/dist/utils/createTransformerWithState.js.map +1 -0
- package/dist/utils/createUnsafeCSSStyleNode.d.ts +5 -0
- package/dist/utils/createUnsafeCSSStyleNode.d.ts.map +1 -0
- package/dist/utils/createUnsafeCSSStyleNode.js +12 -0
- package/dist/utils/createUnsafeCSSStyleNode.js.map +1 -0
- package/dist/utils/cssWrappers.d.ts +6 -0
- package/dist/utils/cssWrappers.d.ts.map +1 -0
- package/dist/utils/cssWrappers.js +21 -0
- package/dist/utils/cssWrappers.js.map +1 -0
- package/dist/utils/diffAcceptRejectHunk.d.ts +7 -0
- package/dist/utils/diffAcceptRejectHunk.d.ts.map +1 -0
- package/dist/utils/diffAcceptRejectHunk.js +82 -0
- package/dist/utils/diffAcceptRejectHunk.js.map +1 -0
- package/dist/utils/formatCSSVariablePrefix.d.ts +5 -0
- package/dist/utils/formatCSSVariablePrefix.d.ts.map +1 -0
- package/dist/utils/formatCSSVariablePrefix.js +8 -0
- package/dist/utils/formatCSSVariablePrefix.js.map +1 -0
- package/dist/utils/getFiletypeFromFileName.d.ts +9 -0
- package/dist/utils/getFiletypeFromFileName.d.ts.map +1 -0
- package/dist/utils/getFiletypeFromFileName.js +343 -0
- package/dist/utils/getFiletypeFromFileName.js.map +1 -0
- package/dist/utils/getHighlighterOptions.d.ts +14 -0
- package/dist/utils/getHighlighterOptions.d.ts.map +1 -0
- package/dist/utils/getHighlighterOptions.js +13 -0
- package/dist/utils/getHighlighterOptions.js.map +1 -0
- package/dist/utils/getHighlighterThemeStyles.d.ts +16 -0
- package/dist/utils/getHighlighterThemeStyles.d.ts.map +1 -0
- package/dist/utils/getHighlighterThemeStyles.js +40 -0
- package/dist/utils/getHighlighterThemeStyles.js.map +1 -0
- package/dist/utils/getHunkSeparatorSlotName.d.ts +5 -0
- package/dist/utils/getHunkSeparatorSlotName.d.ts.map +1 -0
- package/dist/utils/getHunkSeparatorSlotName.js +8 -0
- package/dist/utils/getHunkSeparatorSlotName.js.map +1 -0
- package/dist/utils/getIconForType.d.ts +8 -0
- package/dist/utils/getIconForType.d.ts.map +1 -0
- package/dist/utils/getIconForType.js +15 -0
- package/dist/utils/getIconForType.js.map +1 -0
- package/dist/utils/getLineAnnotationName.d.ts +7 -0
- package/dist/utils/getLineAnnotationName.d.ts.map +1 -0
- package/dist/utils/getLineAnnotationName.js +8 -0
- package/dist/utils/getLineAnnotationName.js.map +1 -0
- package/dist/utils/getLineEndingType.d.ts +5 -0
- package/dist/utils/getLineEndingType.d.ts.map +1 -0
- package/dist/utils/getLineEndingType.js +11 -0
- package/dist/utils/getLineEndingType.js.map +1 -0
- package/dist/utils/getLineNodes.d.ts +7 -0
- package/dist/utils/getLineNodes.d.ts.map +1 -0
- package/dist/utils/getLineNodes.js +15 -0
- package/dist/utils/getLineNodes.js.map +1 -0
- package/dist/utils/getSingularPatch.d.ts +7 -0
- package/dist/utils/getSingularPatch.d.ts.map +1 -0
- package/dist/utils/getSingularPatch.js +20 -0
- package/dist/utils/getSingularPatch.js.map +1 -0
- package/dist/utils/getThemes.d.ts +7 -0
- package/dist/utils/getThemes.d.ts.map +1 -0
- package/dist/utils/getThemes.js +16 -0
- package/dist/utils/getThemes.js.map +1 -0
- package/dist/utils/getTotalLineCountFromHunks.d.ts +7 -0
- package/dist/utils/getTotalLineCountFromHunks.d.ts.map +1 -0
- package/dist/utils/getTotalLineCountFromHunks.js +10 -0
- package/dist/utils/getTotalLineCountFromHunks.js.map +1 -0
- package/dist/utils/hast_utils.d.ts +31 -0
- package/dist/utils/hast_utils.d.ts.map +1 -0
- package/dist/utils/hast_utils.js +42 -0
- package/dist/utils/hast_utils.js.map +1 -0
- package/dist/utils/isWorkerContext.d.ts +5 -0
- package/dist/utils/isWorkerContext.d.ts.map +1 -0
- package/dist/utils/isWorkerContext.js +8 -0
- package/dist/utils/isWorkerContext.js.map +1 -0
- package/dist/utils/parseDiffDecorations.d.ts +31 -0
- package/dist/utils/parseDiffDecorations.d.ts.map +1 -0
- package/dist/utils/parseDiffDecorations.js +34 -0
- package/dist/utils/parseDiffDecorations.js.map +1 -0
- package/dist/utils/parseDiffFromFile.d.ts +14 -0
- package/dist/utils/parseDiffFromFile.d.ts.map +1 -0
- package/dist/utils/parseDiffFromFile.js +23 -0
- package/dist/utils/parseDiffFromFile.js.map +1 -0
- package/dist/utils/parseLineType.d.ts +11 -0
- package/dist/utils/parseLineType.d.ts.map +1 -0
- package/dist/utils/parseLineType.js +16 -0
- package/dist/utils/parseLineType.js.map +1 -0
- package/dist/utils/parsePatchFiles.d.ts +16 -0
- package/dist/utils/parsePatchFiles.d.ts.map +1 -0
- package/dist/utils/parsePatchFiles.js +204 -0
- package/dist/utils/parsePatchFiles.js.map +1 -0
- package/dist/utils/prerenderHTMLIfNecessary.d.ts +5 -0
- package/dist/utils/prerenderHTMLIfNecessary.d.ts.map +1 -0
- package/dist/utils/prerenderHTMLIfNecessary.js +10 -0
- package/dist/utils/prerenderHTMLIfNecessary.js.map +1 -0
- package/dist/utils/processLine.d.ts +8 -0
- package/dist/utils/processLine.d.ts.map +1 -0
- package/dist/utils/processLine.js +42 -0
- package/dist/utils/processLine.js.map +1 -0
- package/dist/utils/renderDiffWithHighlighter.d.ts +7 -0
- package/dist/utils/renderDiffWithHighlighter.d.ts.map +1 -0
- package/dist/utils/renderDiffWithHighlighter.js +323 -0
- package/dist/utils/renderDiffWithHighlighter.js.map +1 -0
- package/dist/utils/renderFileWithHighlighter.d.ts +10 -0
- package/dist/utils/renderFileWithHighlighter.d.ts.map +1 -0
- package/dist/utils/renderFileWithHighlighter.js +52 -0
- package/dist/utils/renderFileWithHighlighter.js.map +1 -0
- package/dist/utils/setLanguageOverride.d.ts +7 -0
- package/dist/utils/setLanguageOverride.d.ts.map +1 -0
- package/dist/utils/setLanguageOverride.js +11 -0
- package/dist/utils/setLanguageOverride.js.map +1 -0
- package/dist/utils/setWrapperNodeProps.d.ts +20 -0
- package/dist/utils/setWrapperNodeProps.d.ts.map +1 -0
- package/dist/utils/setWrapperNodeProps.js +29 -0
- package/dist/utils/setWrapperNodeProps.js.map +1 -0
- package/dist/worker/WorkerPoolManager.d.ts +72 -0
- package/dist/worker/WorkerPoolManager.d.ts.map +1 -0
- package/dist/worker/WorkerPoolManager.js +421 -0
- package/dist/worker/WorkerPoolManager.js.map +1 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts +16 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.d.ts.map +1 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.js +20 -0
- package/dist/worker/getOrCreateWorkerPoolSingleton.js.map +1 -0
- package/dist/worker/index.d.ts +4 -0
- package/dist/worker/index.js +4 -0
- package/dist/worker/types.d.ts +140 -0
- package/dist/worker/types.d.ts.map +1 -0
- package/dist/worker/types.js +0 -0
- package/dist/worker/worker-portable.d.ts +1 -0
- package/dist/worker/worker-portable.js +14872 -0
- package/dist/worker/worker-portable.js.map +1 -0
- package/dist/worker/worker.d.ts +1 -0
- package/dist/worker/worker.js +1061 -0
- package/dist/worker/worker.js.map +1 -0
- package/package.json +76 -0
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { createHastElement } from "./hast_utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createAnnotationElement.ts
|
|
4
|
+
function createAnnotationElement(span) {
|
|
5
|
+
return createHastElement({
|
|
6
|
+
tagName: "div",
|
|
7
|
+
children: [createHastElement({
|
|
8
|
+
tagName: "div",
|
|
9
|
+
children: span.annotations?.map((slotId) => createHastElement({
|
|
10
|
+
tagName: "slot",
|
|
11
|
+
properties: { name: slotId }
|
|
12
|
+
})),
|
|
13
|
+
properties: { "data-annotation-content": "" }
|
|
14
|
+
})],
|
|
15
|
+
properties: { "data-line-annotation": `${span.hunkIndex},${span.lineIndex}` }
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
export { createAnnotationElement };
|
|
21
|
+
//# sourceMappingURL=createAnnotationElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAnnotationElement.js","names":[],"sources":["../../src/utils/createAnnotationElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport type { AnnotationSpan } from '../types';\nimport { createHastElement } from './hast_utils';\n\nexport function createAnnotationElement(span: AnnotationSpan): HASTElement {\n return createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'div',\n children: span.annotations?.map((slotId) =>\n createHastElement({ tagName: 'slot', properties: { name: slotId } })\n ),\n properties: { 'data-annotation-content': '' },\n }),\n ],\n properties: {\n 'data-line-annotation': `${span.hunkIndex},${span.lineIndex}`,\n },\n });\n}\n"],"mappings":";;;AAKA,SAAgB,wBAAwB,MAAmC;AACzE,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,UAAU,KAAK,aAAa,KAAK,WAC/B,kBAAkB;IAAE,SAAS;IAAQ,YAAY,EAAE,MAAM,QAAQ;IAAE,CAAC,CACrE;GACD,YAAY,EAAE,2BAA2B,IAAI;GAC9C,CAAC,CACH;EACD,YAAY,EACV,wBAAwB,GAAG,KAAK,UAAU,GAAG,KAAK,aACnD;EACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAnnotationWrapperNode.d.ts","names":[],"sources":["../../src/utils/createAnnotationWrapperNode.ts"],"sourcesContent":[],"mappings":";iBAAgB,2BAAA,gBAA2C"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/utils/createAnnotationWrapperNode.ts
|
|
2
|
+
function createAnnotationWrapperNode(slot) {
|
|
3
|
+
const wrapper = document.createElement("div");
|
|
4
|
+
wrapper.dataset.annotationSlot = "";
|
|
5
|
+
wrapper.slot = slot;
|
|
6
|
+
wrapper.style.whiteSpace = "normal";
|
|
7
|
+
return wrapper;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createAnnotationWrapperNode };
|
|
12
|
+
//# sourceMappingURL=createAnnotationWrapperNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createAnnotationWrapperNode.js","names":[],"sources":["../../src/utils/createAnnotationWrapperNode.ts"],"sourcesContent":["export function createAnnotationWrapperNode(slot: string): HTMLElement {\n const wrapper = document.createElement('div');\n wrapper.dataset.annotationSlot = '';\n wrapper.slot = slot;\n wrapper.style.whiteSpace = 'normal';\n return wrapper;\n}\n"],"mappings":";AAAA,SAAgB,4BAA4B,MAA2B;CACrE,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,SAAQ,QAAQ,iBAAiB;AACjC,SAAQ,OAAO;AACf,SAAQ,MAAM,aAAa;AAC3B,QAAO"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/utils/createCodeNode.d.ts
|
|
2
|
+
interface CreateCodeNodeProps {
|
|
3
|
+
pre?: HTMLPreElement;
|
|
4
|
+
columnType?: "additions" | "deletions" | "unified";
|
|
5
|
+
}
|
|
6
|
+
declare function createCodeNode({
|
|
7
|
+
pre,
|
|
8
|
+
columnType
|
|
9
|
+
}?: CreateCodeNodeProps): HTMLElement;
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createCodeNode };
|
|
12
|
+
//# sourceMappingURL=createCodeNode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCodeNode.d.ts","names":[],"sources":["../../src/utils/createCodeNode.ts"],"sourcesContent":[],"mappings":";UAAU,mBAAA;KAAA,CAAA,EACF,cADE;EAKV,UAAgB,CAAA,EAAA,WAAA,GAAA,WAAA,GAAA,SAAA;;AAEd,iBAFc,cAAA,CAEd;EAAA,GAAA;EAAA;AAAA,CAAA,CAAA,EACC,mBADD,CAAA,EAC4B,WAD5B"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
//#region src/utils/createCodeNode.ts
|
|
2
|
+
function createCodeNode({ pre, columnType } = {}) {
|
|
3
|
+
const code = document.createElement("code");
|
|
4
|
+
code.dataset.code = "";
|
|
5
|
+
if (columnType != null) code.dataset[columnType] = "";
|
|
6
|
+
pre?.appendChild(code);
|
|
7
|
+
return code;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { createCodeNode };
|
|
12
|
+
//# sourceMappingURL=createCodeNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createCodeNode.js","names":[],"sources":["../../src/utils/createCodeNode.ts"],"sourcesContent":["interface CreateCodeNodeProps {\n pre?: HTMLPreElement;\n columnType?: 'additions' | 'deletions' | 'unified';\n}\n\nexport function createCodeNode({\n pre,\n columnType,\n}: CreateCodeNodeProps = {}): HTMLElement {\n const code = document.createElement('code');\n code.dataset.code = '';\n if (columnType != null) {\n code.dataset[columnType] = '';\n }\n pre?.appendChild(code);\n return code;\n}\n"],"mappings":";AAKA,SAAgB,eAAe,EAC7B,KACA,eACuB,EAAE,EAAe;CACxC,MAAM,OAAO,SAAS,cAAc,OAAO;AAC3C,MAAK,QAAQ,OAAO;AACpB,KAAI,cAAc,KAChB,MAAK,QAAQ,cAAc;AAE7B,MAAK,YAAY,KAAK;AACtB,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createEmptyRowBuffer.d.ts","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,oBAAA,gBAAoC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { createHastElement } from "./hast_utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createEmptyRowBuffer.ts
|
|
4
|
+
function createEmptyRowBuffer(size) {
|
|
5
|
+
return createHastElement({
|
|
6
|
+
tagName: "div",
|
|
7
|
+
properties: {
|
|
8
|
+
"data-buffer": "",
|
|
9
|
+
style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`
|
|
10
|
+
}
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
//#endregion
|
|
15
|
+
export { createEmptyRowBuffer };
|
|
16
|
+
//# sourceMappingURL=createEmptyRowBuffer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createEmptyRowBuffer.js","names":[],"sources":["../../src/utils/createEmptyRowBuffer.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement } from './hast_utils';\n\nexport function createEmptyRowBuffer(size: number): HASTElement {\n return createHastElement({\n tagName: 'div',\n properties: {\n 'data-buffer': '',\n style: `grid-row: span ${size};min-height:calc(${size} * 1lh)`,\n },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,qBAAqB,MAA2B;AAC9D,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY;GACV,eAAe;GACf,OAAO,kBAAkB,KAAK,mBAAmB,KAAK;GACvD;EACF,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { FileContents, FileDiffMetadata, ThemeTypes } from "../types.js";
|
|
2
|
+
import { Element } from "hast";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/createFileHeaderElement.d.ts
|
|
5
|
+
interface CreateFileHeaderElementProps {
|
|
6
|
+
fileOrDiff: FileDiffMetadata | FileContents;
|
|
7
|
+
themeStyles: string;
|
|
8
|
+
themeType: ThemeTypes;
|
|
9
|
+
}
|
|
10
|
+
declare function createFileHeaderElement({
|
|
11
|
+
fileOrDiff,
|
|
12
|
+
themeStyles,
|
|
13
|
+
themeType
|
|
14
|
+
}: CreateFileHeaderElementProps): Element;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { CreateFileHeaderElementProps, createFileHeaderElement };
|
|
17
|
+
//# sourceMappingURL=createFileHeaderElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFileHeaderElement.d.ts","names":[],"sources":["../../src/utils/createFileHeaderElement.ts"],"sourcesContent":[],"mappings":";;;;UAgBiB,4BAAA;cACH,mBAAmB;EADjC,WAAiB,EAAA,MAAA;EACH,SAAA,EAED,UAFC;;AAED,iBAGG,uBAAA,CAHH;EAAA,UAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAOV,4BAPU,CAAA,EAOqB,OAPrB"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { HEADER_METADATA_SLOT_ID } from "../constants.js";
|
|
2
|
+
import { createHastElement, createIconElement, createTextNodeElement } from "./hast_utils.js";
|
|
3
|
+
import { getIconForType } from "./getIconForType.js";
|
|
4
|
+
|
|
5
|
+
//#region src/utils/createFileHeaderElement.ts
|
|
6
|
+
function createFileHeaderElement({ fileOrDiff, themeStyles, themeType }) {
|
|
7
|
+
const fileDiff = "type" in fileOrDiff ? fileOrDiff : void 0;
|
|
8
|
+
const properties = {
|
|
9
|
+
"data-diffs-header": "",
|
|
10
|
+
"data-change-type": fileDiff?.type,
|
|
11
|
+
"data-theme-type": themeType !== "system" ? themeType : void 0,
|
|
12
|
+
style: themeStyles
|
|
13
|
+
};
|
|
14
|
+
return createHastElement({
|
|
15
|
+
tagName: "div",
|
|
16
|
+
children: [createHeaderElement({
|
|
17
|
+
name: fileOrDiff.name,
|
|
18
|
+
prevName: "prevName" in fileOrDiff ? fileOrDiff.prevName : void 0,
|
|
19
|
+
iconType: fileDiff?.type ?? "file"
|
|
20
|
+
}), createMetadataElement(fileDiff)],
|
|
21
|
+
properties
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
function createHeaderElement({ name, prevName, iconType }) {
|
|
25
|
+
const children = [createIconElement({
|
|
26
|
+
name: getIconForType(iconType),
|
|
27
|
+
properties: { "data-change-icon": iconType }
|
|
28
|
+
})];
|
|
29
|
+
if (prevName != null) {
|
|
30
|
+
children.push(createHastElement({
|
|
31
|
+
tagName: "div",
|
|
32
|
+
children: [createTextNodeElement(prevName)],
|
|
33
|
+
properties: { "data-prev-name": "" }
|
|
34
|
+
}));
|
|
35
|
+
children.push(createIconElement({
|
|
36
|
+
name: "diffs-icon-arrow-right-short",
|
|
37
|
+
properties: { "data-rename-icon": "" }
|
|
38
|
+
}));
|
|
39
|
+
}
|
|
40
|
+
children.push(createHastElement({
|
|
41
|
+
tagName: "div",
|
|
42
|
+
children: [createTextNodeElement(name)],
|
|
43
|
+
properties: { "data-title": "" }
|
|
44
|
+
}));
|
|
45
|
+
return createHastElement({
|
|
46
|
+
tagName: "div",
|
|
47
|
+
children,
|
|
48
|
+
properties: { "data-header-content": "" }
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
function createMetadataElement(fileDiff) {
|
|
52
|
+
const children = [];
|
|
53
|
+
if (fileDiff != null) {
|
|
54
|
+
let additions = 0;
|
|
55
|
+
let deletions = 0;
|
|
56
|
+
for (const hunk of fileDiff.hunks) {
|
|
57
|
+
additions += hunk.additionLines;
|
|
58
|
+
deletions += hunk.deletionLines;
|
|
59
|
+
}
|
|
60
|
+
if (deletions > 0 || additions === 0) children.push(createHastElement({
|
|
61
|
+
tagName: "span",
|
|
62
|
+
children: [createTextNodeElement(`-${deletions}`)],
|
|
63
|
+
properties: { "data-deletions-count": "" }
|
|
64
|
+
}));
|
|
65
|
+
if (additions > 0 || deletions === 0) children.push(createHastElement({
|
|
66
|
+
tagName: "span",
|
|
67
|
+
children: [createTextNodeElement(`+${additions}`)],
|
|
68
|
+
properties: { "data-additions-count": "" }
|
|
69
|
+
}));
|
|
70
|
+
}
|
|
71
|
+
children.push(createHastElement({
|
|
72
|
+
tagName: "slot",
|
|
73
|
+
properties: { name: HEADER_METADATA_SLOT_ID }
|
|
74
|
+
}));
|
|
75
|
+
return createHastElement({
|
|
76
|
+
tagName: "div",
|
|
77
|
+
children,
|
|
78
|
+
properties: { "data-metadata": "" }
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
//#endregion
|
|
83
|
+
export { createFileHeaderElement };
|
|
84
|
+
//# sourceMappingURL=createFileHeaderElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createFileHeaderElement.js","names":["properties: Properties","children: ElementContent[]"],"sources":["../../src/utils/createFileHeaderElement.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement, Properties } from 'hast';\n\nimport { HEADER_METADATA_SLOT_ID } from '../constants';\nimport type {\n ChangeTypes,\n FileContents,\n FileDiffMetadata,\n ThemeTypes,\n} from '../types';\nimport { getIconForType } from './getIconForType';\nimport {\n createHastElement,\n createIconElement,\n createTextNodeElement,\n} from './hast_utils';\n\nexport interface CreateFileHeaderElementProps {\n fileOrDiff: FileDiffMetadata | FileContents;\n themeStyles: string;\n themeType: ThemeTypes;\n}\n\nexport function createFileHeaderElement({\n fileOrDiff,\n themeStyles,\n themeType,\n}: CreateFileHeaderElementProps): HASTElement {\n const fileDiff = 'type' in fileOrDiff ? fileOrDiff : undefined;\n const properties: Properties = {\n 'data-diffs-header': '',\n 'data-change-type': fileDiff?.type,\n 'data-theme-type': themeType !== 'system' ? themeType : undefined,\n style: themeStyles,\n };\n\n return createHastElement({\n tagName: 'div',\n children: [\n createHeaderElement({\n name: fileOrDiff.name,\n prevName: 'prevName' in fileOrDiff ? fileOrDiff.prevName : undefined,\n iconType: fileDiff?.type ?? 'file',\n }),\n createMetadataElement(fileDiff),\n ],\n properties,\n });\n}\n\ninterface CreateHeaderElementOptions {\n name: string;\n prevName?: string;\n iconType: ChangeTypes | 'file';\n}\n\nfunction createHeaderElement({\n name,\n prevName,\n iconType,\n}: CreateHeaderElementOptions): HASTElement {\n const children: ElementContent[] = [\n createIconElement({\n name: getIconForType(iconType),\n properties: { 'data-change-icon': iconType },\n }),\n ];\n if (prevName != null) {\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(prevName)],\n properties: {\n 'data-prev-name': '',\n },\n })\n );\n children.push(\n createIconElement({\n name: 'diffs-icon-arrow-right-short',\n properties: {\n 'data-rename-icon': '',\n },\n })\n );\n }\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(name)],\n properties: { 'data-title': '' },\n })\n );\n return createHastElement({\n tagName: 'div',\n children,\n properties: { 'data-header-content': '' },\n });\n}\n\nfunction createMetadataElement(\n fileDiff: FileDiffMetadata | undefined\n): HASTElement {\n const children: ElementContent[] = [];\n if (fileDiff != null) {\n let additions = 0;\n let deletions = 0;\n for (const hunk of fileDiff.hunks) {\n additions += hunk.additionLines;\n deletions += hunk.deletionLines;\n }\n if (deletions > 0 || additions === 0) {\n children.push(\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(`-${deletions}`)],\n properties: { 'data-deletions-count': '' },\n })\n );\n }\n if (additions > 0 || deletions === 0) {\n children.push(\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(`+${additions}`)],\n properties: { 'data-additions-count': '' },\n })\n );\n }\n }\n children.push(\n createHastElement({\n tagName: 'slot',\n properties: { name: HEADER_METADATA_SLOT_ID },\n })\n );\n return createHastElement({\n tagName: 'div',\n children,\n properties: { 'data-metadata': '' },\n });\n}\n"],"mappings":";;;;;AAsBA,SAAgB,wBAAwB,EACtC,YACA,aACA,aAC4C;CAC5C,MAAM,WAAW,UAAU,aAAa,aAAa;CACrD,MAAMA,aAAyB;EAC7B,qBAAqB;EACrB,oBAAoB,UAAU;EAC9B,mBAAmB,cAAc,WAAW,YAAY;EACxD,OAAO;EACR;AAED,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,oBAAoB;GAClB,MAAM,WAAW;GACjB,UAAU,cAAc,aAAa,WAAW,WAAW;GAC3D,UAAU,UAAU,QAAQ;GAC7B,CAAC,EACF,sBAAsB,SAAS,CAChC;EACD;EACD,CAAC;;AASJ,SAAS,oBAAoB,EAC3B,MACA,UACA,YAC0C;CAC1C,MAAMC,WAA6B,CACjC,kBAAkB;EAChB,MAAM,eAAe,SAAS;EAC9B,YAAY,EAAE,oBAAoB,UAAU;EAC7C,CAAC,CACH;AACD,KAAI,YAAY,MAAM;AACpB,WAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,SAAS,CAAC;GAC3C,YAAY,EACV,kBAAkB,IACnB;GACF,CAAC,CACH;AACD,WAAS,KACP,kBAAkB;GAChB,MAAM;GACN,YAAY,EACV,oBAAoB,IACrB;GACF,CAAC,CACH;;AAEH,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,UAAU,CAAC,sBAAsB,KAAK,CAAC;EACvC,YAAY,EAAE,cAAc,IAAI;EACjC,CAAC,CACH;AACD,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY,EAAE,uBAAuB,IAAI;EAC1C,CAAC;;AAGJ,SAAS,sBACP,UACa;CACb,MAAMA,WAA6B,EAAE;AACrC,KAAI,YAAY,MAAM;EACpB,IAAI,YAAY;EAChB,IAAI,YAAY;AAChB,OAAK,MAAM,QAAQ,SAAS,OAAO;AACjC,gBAAa,KAAK;AAClB,gBAAa,KAAK;;AAEpB,MAAI,YAAY,KAAK,cAAc,EACjC,UAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,IAAI,YAAY,CAAC;GAClD,YAAY,EAAE,wBAAwB,IAAI;GAC3C,CAAC,CACH;AAEH,MAAI,YAAY,KAAK,cAAc,EACjC,UAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,IAAI,YAAY,CAAC;GAClD,YAAY,EAAE,wBAAwB,IAAI;GAC3C,CAAC,CACH;;AAGL,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,YAAY,EAAE,MAAM,yBAAyB;EAC9C,CAAC,CACH;AACD,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY,EAAE,iBAAiB,IAAI;EACpC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createHoverContentNode.d.ts","names":[],"sources":["../../src/utils/createHoverContentNode.ts"],"sourcesContent":[],"mappings":";iBAAgB,sBAAA,CAAA,GAA0B"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
//#region src/utils/createHoverContentNode.ts
|
|
2
|
+
function createHoverContentNode() {
|
|
3
|
+
const hoverContent = document.createElement("div");
|
|
4
|
+
hoverContent.slot = "hover-slot";
|
|
5
|
+
hoverContent.style.position = "absolute";
|
|
6
|
+
hoverContent.style.top = "0";
|
|
7
|
+
hoverContent.style.bottom = "0";
|
|
8
|
+
hoverContent.style.textAlign = "center";
|
|
9
|
+
hoverContent.style.whiteSpace = "normal";
|
|
10
|
+
return hoverContent;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
//#endregion
|
|
14
|
+
export { createHoverContentNode };
|
|
15
|
+
//# sourceMappingURL=createHoverContentNode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createHoverContentNode.js","names":[],"sources":["../../src/utils/createHoverContentNode.ts"],"sourcesContent":["export function createHoverContentNode(): HTMLElement {\n const hoverContent = document.createElement('div');\n hoverContent.slot = 'hover-slot';\n hoverContent.style.position = 'absolute';\n hoverContent.style.top = '0';\n hoverContent.style.bottom = '0';\n hoverContent.style.textAlign = 'center';\n hoverContent.style.whiteSpace = 'normal';\n return hoverContent;\n}\n"],"mappings":";AAAA,SAAgB,yBAAsC;CACpD,MAAM,eAAe,SAAS,cAAc,MAAM;AAClD,cAAa,OAAO;AACpB,cAAa,MAAM,WAAW;AAC9B,cAAa,MAAM,MAAM;AACzB,cAAa,MAAM,SAAS;AAC5B,cAAa,MAAM,YAAY;AAC/B,cAAa,MAAM,aAAa;AAChC,QAAO"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Element } from "hast";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createNoNewlineElement.d.ts
|
|
4
|
+
declare function createNoNewlineElement(type: "context" | "change-addition" | "change-deletion"): Element;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { createNoNewlineElement };
|
|
7
|
+
//# sourceMappingURL=createNoNewlineElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNoNewlineElement.d.ts","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":[],"mappings":";;;iBAIgB,sBAAA,2DAEb"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { createHastElement, createTextNodeElement } from "./hast_utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createNoNewlineElement.ts
|
|
4
|
+
function createNoNewlineElement(type) {
|
|
5
|
+
return createHastElement({
|
|
6
|
+
tagName: "div",
|
|
7
|
+
children: [createHastElement({
|
|
8
|
+
tagName: "span",
|
|
9
|
+
properties: { "data-column-number": "" }
|
|
10
|
+
}), createHastElement({
|
|
11
|
+
tagName: "span",
|
|
12
|
+
children: [createTextNodeElement("No newline at end of file")],
|
|
13
|
+
properties: { "data-column-content": "" }
|
|
14
|
+
})],
|
|
15
|
+
properties: {
|
|
16
|
+
"data-no-newline": "",
|
|
17
|
+
"data-line-type": type
|
|
18
|
+
}
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
//#endregion
|
|
23
|
+
export { createNoNewlineElement };
|
|
24
|
+
//# sourceMappingURL=createNoNewlineElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createNoNewlineElement.js","names":[],"sources":["../../src/utils/createNoNewlineElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { createHastElement, createTextNodeElement } from './hast_utils';\n\nexport function createNoNewlineElement(\n type: 'context' | 'change-addition' | 'change-deletion'\n): HASTElement {\n return createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n properties: { 'data-column-number': '' },\n }),\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement('No newline at end of file')],\n properties: { 'data-column-content': '' },\n }),\n ],\n properties: { 'data-no-newline': '', 'data-line-type': type },\n });\n}\n"],"mappings":";;;AAIA,SAAgB,uBACd,MACa;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,SAAS;GACT,YAAY,EAAE,sBAAsB,IAAI;GACzC,CAAC,EACF,kBAAkB;GAChB,SAAS;GACT,UAAU,CAAC,sBAAsB,4BAA4B,CAAC;GAC9D,YAAY,EAAE,uBAAuB,IAAI;GAC1C,CAAC,CACH;EACD,YAAY;GAAE,mBAAmB;GAAI,kBAAkB;GAAM;EAC9D,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { PrePropertiesConfig } from "../types.js";
|
|
2
|
+
import { Element, Properties } from "hast";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/createPreElement.d.ts
|
|
5
|
+
declare function createPreElement(options: PrePropertiesConfig): Element;
|
|
6
|
+
declare function createPreWrapperProperties({
|
|
7
|
+
diffIndicators,
|
|
8
|
+
disableBackground,
|
|
9
|
+
disableLineNumbers,
|
|
10
|
+
overflow,
|
|
11
|
+
split,
|
|
12
|
+
themeType,
|
|
13
|
+
themeStyles,
|
|
14
|
+
totalLines
|
|
15
|
+
}: PrePropertiesConfig): Properties;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { createPreElement, createPreWrapperProperties };
|
|
18
|
+
//# sourceMappingURL=createPreElement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPreElement.d.ts","names":[],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":[],"mappings":";;;;iBAKgB,gBAAA,UAA0B,sBAAsB;iBAOhD,0BAAA;;;;;;;;;GASb,sBAAsB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { createHastElement } from "./hast_utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createPreElement.ts
|
|
4
|
+
function createPreElement(options) {
|
|
5
|
+
return createHastElement({
|
|
6
|
+
tagName: "pre",
|
|
7
|
+
properties: createPreWrapperProperties(options)
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
function createPreWrapperProperties({ diffIndicators, disableBackground, disableLineNumbers, overflow, split, themeType, themeStyles, totalLines }) {
|
|
11
|
+
const properties = {
|
|
12
|
+
"data-diffs": "",
|
|
13
|
+
"data-type": split ? "split" : "file",
|
|
14
|
+
"data-overflow": overflow,
|
|
15
|
+
"data-disable-line-numbers": disableLineNumbers ? "" : void 0,
|
|
16
|
+
"data-background": !disableBackground ? "" : void 0,
|
|
17
|
+
"data-indicators": diffIndicators === "bars" || diffIndicators === "classic" ? diffIndicators : void 0,
|
|
18
|
+
"data-theme-type": themeType !== "system" ? themeType : void 0,
|
|
19
|
+
style: themeStyles,
|
|
20
|
+
tabIndex: 0
|
|
21
|
+
};
|
|
22
|
+
properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;
|
|
23
|
+
return properties;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { createPreElement, createPreWrapperProperties };
|
|
28
|
+
//# sourceMappingURL=createPreElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createPreElement.js","names":["properties: Properties"],"sources":["../../src/utils/createPreElement.ts"],"sourcesContent":["import type { Element as HASTElement, Properties } from 'hast';\n\nimport type { PrePropertiesConfig } from '../types';\nimport { createHastElement } from './hast_utils';\n\nexport function createPreElement(options: PrePropertiesConfig): HASTElement {\n return createHastElement({\n tagName: 'pre',\n properties: createPreWrapperProperties(options),\n });\n}\n\nexport function createPreWrapperProperties({\n diffIndicators,\n disableBackground,\n disableLineNumbers,\n overflow,\n split,\n themeType,\n themeStyles,\n totalLines,\n}: PrePropertiesConfig): Properties {\n const properties: Properties = {\n 'data-diffs': '',\n 'data-type': split ? 'split' : 'file',\n 'data-overflow': overflow,\n 'data-disable-line-numbers': disableLineNumbers ? '' : undefined,\n 'data-background': !disableBackground ? '' : undefined,\n 'data-indicators':\n diffIndicators === 'bars' || diffIndicators === 'classic'\n ? diffIndicators\n : undefined,\n 'data-theme-type': themeType !== 'system' ? themeType : undefined,\n // NOTE(amadeus): Alex, here we would probably set a class property\n // instead, when that's working and supported\n style: themeStyles,\n tabIndex: 0,\n };\n properties.style += `--diffs-min-number-column-width-default:${`${totalLines}`.length}ch;`;\n\n return properties;\n}\n"],"mappings":";;;AAKA,SAAgB,iBAAiB,SAA2C;AAC1E,QAAO,kBAAkB;EACvB,SAAS;EACT,YAAY,2BAA2B,QAAQ;EAChD,CAAC;;AAGJ,SAAgB,2BAA2B,EACzC,gBACA,mBACA,oBACA,UACA,OACA,WACA,aACA,cACkC;CAClC,MAAMA,aAAyB;EAC7B,cAAc;EACd,aAAa,QAAQ,UAAU;EAC/B,iBAAiB;EACjB,6BAA6B,qBAAqB,KAAK;EACvD,mBAAmB,CAAC,oBAAoB,KAAK;EAC7C,mBACE,mBAAmB,UAAU,mBAAmB,YAC5C,iBACA;EACN,mBAAmB,cAAc,WAAW,YAAY;EAGxD,OAAO;EACP,UAAU;EACX;AACD,YAAW,SAAS,2CAA2C,GAAG,aAAa,OAAO;AAEtF,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRowNodes.d.ts","names":[],"sources":["../../src/utils/createRowNodes.ts"],"sourcesContent":[],"mappings":";iBAAgB,cAAA;EAAhB,GAAgB,EACT,WADS;WAEL"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
//#region src/utils/createRowNodes.ts
|
|
2
|
+
function createRowNodes(line) {
|
|
3
|
+
const row = document.createElement("div");
|
|
4
|
+
row.dataset.line = `${line}`;
|
|
5
|
+
const lineColumn = document.createElement("div");
|
|
6
|
+
lineColumn.dataset.columnNumber = "";
|
|
7
|
+
lineColumn.textContent = `${line}`;
|
|
8
|
+
const content = document.createElement("div");
|
|
9
|
+
content.dataset.columnContent = "";
|
|
10
|
+
row.appendChild(lineColumn);
|
|
11
|
+
row.appendChild(content);
|
|
12
|
+
return {
|
|
13
|
+
row,
|
|
14
|
+
content
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
//#endregion
|
|
19
|
+
export { createRowNodes };
|
|
20
|
+
//# sourceMappingURL=createRowNodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createRowNodes.js","names":[],"sources":["../../src/utils/createRowNodes.ts"],"sourcesContent":["export function createRowNodes(line: number): {\n row: HTMLElement;\n content: HTMLElement;\n} {\n const row = document.createElement('div');\n row.dataset.line = `${line}`;\n\n const lineColumn = document.createElement('div');\n lineColumn.dataset.columnNumber = '';\n lineColumn.textContent = `${line}`;\n\n const content = document.createElement('div');\n content.dataset.columnContent = '';\n\n row.appendChild(lineColumn);\n row.appendChild(content);\n return { row, content };\n}\n"],"mappings":";AAAA,SAAgB,eAAe,MAG7B;CACA,MAAM,MAAM,SAAS,cAAc,MAAM;AACzC,KAAI,QAAQ,OAAO,GAAG;CAEtB,MAAM,aAAa,SAAS,cAAc,MAAM;AAChD,YAAW,QAAQ,eAAe;AAClC,YAAW,cAAc,GAAG;CAE5B,MAAM,UAAU,SAAS,cAAc,MAAM;AAC7C,SAAQ,QAAQ,gBAAgB;AAEhC,KAAI,YAAY,WAAW;AAC3B,KAAI,YAAY,QAAQ;AACxB,QAAO;EAAE;EAAK;EAAS"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { HunkSeparators } from "../types.js";
|
|
2
|
+
import { Element } from "hast";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/createSeparator.d.ts
|
|
5
|
+
interface CreateSeparatorProps {
|
|
6
|
+
type: HunkSeparators;
|
|
7
|
+
content?: string;
|
|
8
|
+
expandIndex?: number;
|
|
9
|
+
chunked?: boolean;
|
|
10
|
+
slotName?: string;
|
|
11
|
+
isFirstHunk: boolean;
|
|
12
|
+
isLastHunk: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare function createSeparator({
|
|
15
|
+
type,
|
|
16
|
+
content,
|
|
17
|
+
expandIndex,
|
|
18
|
+
chunked,
|
|
19
|
+
slotName,
|
|
20
|
+
isFirstHunk,
|
|
21
|
+
isLastHunk
|
|
22
|
+
}: CreateSeparatorProps): Element;
|
|
23
|
+
//#endregion
|
|
24
|
+
export { createSeparator };
|
|
25
|
+
//# sourceMappingURL=createSeparator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSeparator.d.ts","names":[],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":[],"mappings":";;;;UASU,oBAAA;QACF;EARiD,OAO/C,CAAA,EAAA,MAAA;EA4BV,WAAgB,CAAA,EAAA,MAAA;EACd,OAAA,CAAA,EAAA,OAAA;EACA,QAAA,CAAA,EAAA,MAAA;EACA,WAAA,EAAA,OAAA;EACA,UAAA,EAAA,OAAA;;AAEA,iBANc,eAAA,CAMd;EAAA,IAAA;EAAA,OAAA;EAAA,WAAA;EAAA,OAAA;EAAA,QAAA;EAAA,WAAA;EAAA;AAAA,CAAA,EAEC,oBAFD,CAAA,EAEwB,OAFxB"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
import { createHastElement, createIconElement, createTextNodeElement } from "./hast_utils.js";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createSeparator.ts
|
|
4
|
+
function createExpandButton(type) {
|
|
5
|
+
return createHastElement({
|
|
6
|
+
tagName: "div",
|
|
7
|
+
children: [createIconElement({
|
|
8
|
+
name: type === "both" ? "diffs-icon-expand-all" : "diffs-icon-expand",
|
|
9
|
+
properties: { "data-icon": "" }
|
|
10
|
+
})],
|
|
11
|
+
properties: {
|
|
12
|
+
"data-expand-button": "",
|
|
13
|
+
"data-expand-both": type === "both" ? "" : void 0,
|
|
14
|
+
"data-expand-up": type === "up" ? "" : void 0,
|
|
15
|
+
"data-expand-down": type === "down" ? "" : void 0
|
|
16
|
+
}
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
function createSeparator({ type, content, expandIndex, chunked = false, slotName, isFirstHunk, isLastHunk }) {
|
|
20
|
+
const children = [];
|
|
21
|
+
if (type === "metadata" && content != null) children.push(createHastElement({
|
|
22
|
+
tagName: "div",
|
|
23
|
+
children: [createTextNodeElement(content)],
|
|
24
|
+
properties: { "data-separator-wrapper": "" }
|
|
25
|
+
}));
|
|
26
|
+
if (type === "line-info" && content != null) {
|
|
27
|
+
const contentChildren = [];
|
|
28
|
+
if (expandIndex != null) if (!chunked) contentChildren.push(createExpandButton(!isFirstHunk && !isLastHunk ? "both" : isFirstHunk ? "down" : "up"));
|
|
29
|
+
else {
|
|
30
|
+
if (!isFirstHunk) contentChildren.push(createExpandButton("up"));
|
|
31
|
+
if (!isLastHunk) contentChildren.push(createExpandButton("down"));
|
|
32
|
+
}
|
|
33
|
+
contentChildren.push(createHastElement({
|
|
34
|
+
tagName: "div",
|
|
35
|
+
children: [createHastElement({
|
|
36
|
+
tagName: "span",
|
|
37
|
+
children: [createTextNodeElement(content)],
|
|
38
|
+
properties: { "data-unmodified-lines": "" }
|
|
39
|
+
})],
|
|
40
|
+
properties: { "data-separator-content": "" }
|
|
41
|
+
}));
|
|
42
|
+
children.push(createHastElement({
|
|
43
|
+
tagName: "div",
|
|
44
|
+
children: contentChildren,
|
|
45
|
+
properties: {
|
|
46
|
+
"data-separator-wrapper": "",
|
|
47
|
+
"data-separator-multi-button": contentChildren.length > 2 ? "" : void 0
|
|
48
|
+
}
|
|
49
|
+
}));
|
|
50
|
+
}
|
|
51
|
+
if (type === "custom" && slotName != null) children.push(createHastElement({
|
|
52
|
+
tagName: "slot",
|
|
53
|
+
properties: { name: slotName }
|
|
54
|
+
}));
|
|
55
|
+
return createHastElement({
|
|
56
|
+
tagName: "div",
|
|
57
|
+
children,
|
|
58
|
+
properties: {
|
|
59
|
+
"data-separator": children.length === 0 ? "" : type,
|
|
60
|
+
"data-expand-index": expandIndex,
|
|
61
|
+
"data-separator-first": isFirstHunk ? "" : void 0,
|
|
62
|
+
"data-separator-last": isLastHunk ? "" : void 0
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
//#endregion
|
|
68
|
+
export { createSeparator };
|
|
69
|
+
//# sourceMappingURL=createSeparator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSeparator.js","names":["contentChildren: ElementContent[]"],"sources":["../../src/utils/createSeparator.ts"],"sourcesContent":["import type { ElementContent, Element as HASTElement } from 'hast';\n\nimport type { ExpansionDirections, HunkSeparators } from '../types';\nimport {\n createHastElement,\n createIconElement,\n createTextNodeElement,\n} from './hast_utils';\n\ninterface CreateSeparatorProps {\n type: HunkSeparators;\n content?: string;\n expandIndex?: number;\n chunked?: boolean;\n slotName?: string;\n isFirstHunk: boolean;\n isLastHunk: boolean;\n}\n\nfunction createExpandButton(type: ExpansionDirections) {\n return createHastElement({\n tagName: 'div',\n children: [\n createIconElement({\n name: type === 'both' ? 'diffs-icon-expand-all' : 'diffs-icon-expand',\n properties: { 'data-icon': '' },\n }),\n ],\n properties: {\n 'data-expand-button': '',\n 'data-expand-both': type === 'both' ? '' : undefined,\n 'data-expand-up': type === 'up' ? '' : undefined,\n 'data-expand-down': type === 'down' ? '' : undefined,\n },\n });\n}\n\nexport function createSeparator({\n type,\n content,\n expandIndex,\n chunked = false,\n slotName,\n isFirstHunk,\n isLastHunk,\n}: CreateSeparatorProps): HASTElement {\n const children = [];\n if (type === 'metadata' && content != null) {\n children.push(\n createHastElement({\n tagName: 'div',\n children: [createTextNodeElement(content)],\n properties: { 'data-separator-wrapper': '' },\n })\n );\n }\n if (type === 'line-info' && content != null) {\n const contentChildren: ElementContent[] = [];\n if (expandIndex != null) {\n if (!chunked) {\n contentChildren.push(\n createExpandButton(\n !isFirstHunk && !isLastHunk ? 'both' : isFirstHunk ? 'down' : 'up'\n )\n );\n } else {\n if (!isFirstHunk) {\n contentChildren.push(createExpandButton('up'));\n }\n if (!isLastHunk) {\n contentChildren.push(createExpandButton('down'));\n }\n }\n }\n contentChildren.push(\n createHastElement({\n tagName: 'div',\n children: [\n createHastElement({\n tagName: 'span',\n children: [createTextNodeElement(content)],\n properties: { 'data-unmodified-lines': '' },\n }),\n ],\n properties: { 'data-separator-content': '' },\n })\n );\n children.push(\n createHastElement({\n tagName: 'div',\n children: contentChildren,\n properties: {\n 'data-separator-wrapper': '',\n 'data-separator-multi-button':\n contentChildren.length > 2 ? '' : undefined,\n },\n })\n );\n }\n if (type === 'custom' && slotName != null) {\n children.push(\n createHastElement({\n tagName: 'slot',\n properties: { name: slotName },\n })\n );\n }\n return createHastElement({\n tagName: 'div',\n children,\n properties: {\n 'data-separator': children.length === 0 ? '' : type,\n 'data-expand-index': expandIndex,\n 'data-separator-first': isFirstHunk ? '' : undefined,\n 'data-separator-last': isLastHunk ? '' : undefined,\n },\n });\n}\n"],"mappings":";;;AAmBA,SAAS,mBAAmB,MAA2B;AACrD,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,kBAAkB;GAChB,MAAM,SAAS,SAAS,0BAA0B;GAClD,YAAY,EAAE,aAAa,IAAI;GAChC,CAAC,CACH;EACD,YAAY;GACV,sBAAsB;GACtB,oBAAoB,SAAS,SAAS,KAAK;GAC3C,kBAAkB,SAAS,OAAO,KAAK;GACvC,oBAAoB,SAAS,SAAS,KAAK;GAC5C;EACF,CAAC;;AAGJ,SAAgB,gBAAgB,EAC9B,MACA,SACA,aACA,UAAU,OACV,UACA,aACA,cACoC;CACpC,MAAM,WAAW,EAAE;AACnB,KAAI,SAAS,cAAc,WAAW,KACpC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;EAC1C,YAAY,EAAE,0BAA0B,IAAI;EAC7C,CAAC,CACH;AAEH,KAAI,SAAS,eAAe,WAAW,MAAM;EAC3C,MAAMA,kBAAoC,EAAE;AAC5C,MAAI,eAAe,KACjB,KAAI,CAAC,QACH,iBAAgB,KACd,mBACE,CAAC,eAAe,CAAC,aAAa,SAAS,cAAc,SAAS,KAC/D,CACF;OACI;AACL,OAAI,CAAC,YACH,iBAAgB,KAAK,mBAAmB,KAAK,CAAC;AAEhD,OAAI,CAAC,WACH,iBAAgB,KAAK,mBAAmB,OAAO,CAAC;;AAItD,kBAAgB,KACd,kBAAkB;GAChB,SAAS;GACT,UAAU,CACR,kBAAkB;IAChB,SAAS;IACT,UAAU,CAAC,sBAAsB,QAAQ,CAAC;IAC1C,YAAY,EAAE,yBAAyB,IAAI;IAC5C,CAAC,CACH;GACD,YAAY,EAAE,0BAA0B,IAAI;GAC7C,CAAC,CACH;AACD,WAAS,KACP,kBAAkB;GAChB,SAAS;GACT,UAAU;GACV,YAAY;IACV,0BAA0B;IAC1B,+BACE,gBAAgB,SAAS,IAAI,KAAK;IACrC;GACF,CAAC,CACH;;AAEH,KAAI,SAAS,YAAY,YAAY,KACnC,UAAS,KACP,kBAAkB;EAChB,SAAS;EACT,YAAY,EAAE,MAAM,UAAU;EAC/B,CAAC,CACH;AAEH,QAAO,kBAAkB;EACvB,SAAS;EACT;EACA,YAAY;GACV,kBAAkB,SAAS,WAAW,IAAI,KAAK;GAC/C,qBAAqB;GACrB,wBAAwB,cAAc,KAAK;GAC3C,uBAAuB,aAAa,KAAK;GAC1C;EACF,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ThemedToken } from "shiki";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createSpanNodeFromToken.d.ts
|
|
4
|
+
declare function createSpanFromToken(token: ThemedToken): HTMLSpanElement;
|
|
5
|
+
//#endregion
|
|
6
|
+
export { createSpanFromToken };
|
|
7
|
+
//# sourceMappingURL=createSpanNodeFromToken.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSpanNodeFromToken.d.ts","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,mBAAA,QAA2B,cAAc"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { getTokenStyleObject, stringifyTokenStyle } from "shiki";
|
|
2
|
+
|
|
3
|
+
//#region src/utils/createSpanNodeFromToken.ts
|
|
4
|
+
function createSpanFromToken(token) {
|
|
5
|
+
const element = document.createElement("span");
|
|
6
|
+
element.style = stringifyTokenStyle(token.htmlStyle ?? getTokenStyleObject(token));
|
|
7
|
+
element.textContent = token.content;
|
|
8
|
+
return element;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
//#endregion
|
|
12
|
+
export { createSpanFromToken };
|
|
13
|
+
//# sourceMappingURL=createSpanNodeFromToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createSpanNodeFromToken.js","names":[],"sources":["../../src/utils/createSpanNodeFromToken.ts"],"sourcesContent":["import {\n type ThemedToken,\n getTokenStyleObject,\n stringifyTokenStyle,\n} from 'shiki';\n\nexport function createSpanFromToken(token: ThemedToken): HTMLSpanElement {\n const element = document.createElement('span');\n const style = token.htmlStyle ?? getTokenStyleObject(token);\n element.style = stringifyTokenStyle(style);\n element.textContent = token.content;\n return element;\n}\n"],"mappings":";;;AAMA,SAAgB,oBAAoB,OAAqC;CACvE,MAAM,UAAU,SAAS,cAAc,OAAO;AAE9C,SAAQ,QAAQ,oBADF,MAAM,aAAa,oBAAoB,MAAM,CACjB;AAC1C,SAAQ,cAAc,MAAM;AAC5B,QAAO"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStyleElement.d.ts","names":[],"sources":["../../src/utils/createStyleElement.ts"],"sourcesContent":[],"mappings":";;;iBAMgB,kBAAA,wCAGb"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CORE_CSS_ATTRIBUTE, UNSAFE_CSS_ATTRIBUTE } from "../constants.js";
|
|
2
|
+
import { createHastElement, createTextNodeElement } from "./hast_utils.js";
|
|
3
|
+
import { wrapCoreCSS, wrapUnsafeCSS } from "./cssWrappers.js";
|
|
4
|
+
|
|
5
|
+
//#region src/utils/createStyleElement.ts
|
|
6
|
+
function createStyleElement(content, isCoreCSS = false) {
|
|
7
|
+
return createHastElement({
|
|
8
|
+
tagName: "style",
|
|
9
|
+
children: [createTextNodeElement(isCoreCSS ? wrapCoreCSS(content) : wrapUnsafeCSS(content))],
|
|
10
|
+
properties: {
|
|
11
|
+
[CORE_CSS_ATTRIBUTE]: isCoreCSS ? "" : void 0,
|
|
12
|
+
[UNSAFE_CSS_ATTRIBUTE]: !isCoreCSS ? "" : void 0
|
|
13
|
+
}
|
|
14
|
+
});
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
//#endregion
|
|
18
|
+
export { createStyleElement };
|
|
19
|
+
//# sourceMappingURL=createStyleElement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createStyleElement.js","names":[],"sources":["../../src/utils/createStyleElement.ts"],"sourcesContent":["import type { Element as HASTElement } from 'hast';\n\nimport { CORE_CSS_ATTRIBUTE, UNSAFE_CSS_ATTRIBUTE } from '../constants';\nimport { wrapCoreCSS, wrapUnsafeCSS } from './cssWrappers';\nimport { createHastElement, createTextNodeElement } from './hast_utils';\n\nexport function createStyleElement(\n content: string,\n isCoreCSS: boolean = false\n): HASTElement {\n return createHastElement({\n tagName: 'style',\n children: [\n createTextNodeElement(\n isCoreCSS ? wrapCoreCSS(content) : wrapUnsafeCSS(content)\n ),\n ],\n properties: {\n [CORE_CSS_ATTRIBUTE]: isCoreCSS ? '' : undefined,\n [UNSAFE_CSS_ATTRIBUTE]: !isCoreCSS ? '' : undefined,\n },\n });\n}\n"],"mappings":";;;;;AAMA,SAAgB,mBACd,SACA,YAAqB,OACR;AACb,QAAO,kBAAkB;EACvB,SAAS;EACT,UAAU,CACR,sBACE,YAAY,YAAY,QAAQ,GAAG,cAAc,QAAQ,CAC1D,CACF;EACD,YAAY;IACT,qBAAqB,YAAY,KAAK;IACtC,uBAAuB,CAAC,YAAY,KAAK;GAC3C;EACF,CAAC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { SharedRenderState, ShikiTransformer } from "../types.js";
|
|
2
|
+
import { ShikiTransformerStyleToClass } from "@shikijs/transformers";
|
|
3
|
+
|
|
4
|
+
//#region src/utils/createTransformerWithState.d.ts
|
|
5
|
+
interface CreateTransformerWithStateReturn {
|
|
6
|
+
state: SharedRenderState;
|
|
7
|
+
transformers: ShikiTransformer[];
|
|
8
|
+
toClass: ShikiTransformerStyleToClass;
|
|
9
|
+
}
|
|
10
|
+
declare function createTransformerWithState(useCSSClasses?: boolean): CreateTransformerWithStateReturn;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { createTransformerWithState };
|
|
13
|
+
//# sourceMappingURL=createTransformerWithState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createTransformerWithState.d.ts","names":[],"sources":["../../src/utils/createTransformerWithState.ts"],"sourcesContent":[],"mappings":";;;;UAUU,gCAAA;SACD;EALgD,YAI/C,EAEM,gBAFN,EAAA;EACD,OAAA,EAEE,4BAFF;;AAEE,iBAGK,0BAAA,CAHL,aAAA,CAAA,EAAA,OAAA,CAAA,EAKR,gCALQ"}
|