react-diff-view
Advanced tools
Comparing version 3.0.1 to 3.0.2
{ | ||
"name": "react-diff-view", | ||
"version": "3.0.1", | ||
"version": "3.0.2", | ||
"description": "A git diff component to consume the git unified diff output.", | ||
@@ -49,2 +49,4 @@ "main": "./cjs/index.js", | ||
"@ecomfe/eslint-config": "^7.4.0", | ||
"@emotion/react": "^11.10.6", | ||
"@emotion/styled": "^11.10.6", | ||
"@reskript/cli": "5.7.4", | ||
@@ -60,2 +62,3 @@ "@reskript/cli-build": "5.7.4", | ||
"@types/refractor": "^2.8.0", | ||
"@types/sha1": "^1.1.3", | ||
"@types/warning": "^3.0.0", | ||
@@ -111,3 +114,2 @@ "@typescript-eslint/eslint-plugin": "^5.53.0", | ||
"style-loader": "^3.3.1", | ||
"styled-components": "^5.3.6", | ||
"typescript": "^4.9.5", | ||
@@ -114,0 +116,0 @@ "unidiff": "^1.0.2", |
@@ -1,4 +0,4 @@ | ||
import { DOMAttributes, ReactElement, ReactNode } from 'react'; | ||
import { DOMAttributes, ReactNode } from 'react'; | ||
import { ChangeData } from '../utils/parse'; | ||
import { TokenNode } from '../tokenize'; | ||
import { HunkTokens, TokenNode } from '../tokenize'; | ||
import { Side } from '../interface'; | ||
@@ -15,6 +15,2 @@ export type DefaultRenderToken = (token: TokenNode, index: number) => ReactNode; | ||
export type RenderGutter = (options: GutterOptions) => ReactNode; | ||
export interface HunkTokens { | ||
old: TokenNode[][]; | ||
new: TokenNode[][]; | ||
} | ||
export type ViewType = 'unified' | 'split'; | ||
@@ -45,6 +41,6 @@ export type GutterType = 'default' | 'none' | 'anchor'; | ||
viewType: ViewType; | ||
widgets: Record<string, ReactElement>; | ||
widgets: Record<string, ReactNode>; | ||
hideGutter: boolean; | ||
selectedChanges: string[]; | ||
tokens?: HunkTokens; | ||
tokens?: HunkTokens | null; | ||
generateAnchorID: (change: ChangeData) => string | undefined; | ||
@@ -51,0 +47,0 @@ renderToken?: RenderToken; |
@@ -1,4 +0,5 @@ | ||
import { ReactElement } from 'react'; | ||
import { EventMap, GutterType, HunkTokens, ViewType, RenderToken, RenderGutter } from '../context'; | ||
import { ReactElement, ReactNode } from 'react'; | ||
import { EventMap, GutterType, ViewType, RenderToken, RenderGutter } from '../context'; | ||
import { ChangeData, HunkData } from '../utils'; | ||
import { HunkTokens } from '../tokenize'; | ||
export type DiffType = 'add' | 'delete' | 'modify' | 'rename' | 'copy'; | ||
@@ -12,3 +13,3 @@ export interface DiffProps { | ||
selectedChanges?: string[]; | ||
widgets?: Record<string, ReactElement>; | ||
widgets?: Record<string, ReactNode>; | ||
optimizeSelection?: boolean; | ||
@@ -20,3 +21,3 @@ className?: string; | ||
codeClassName?: string; | ||
tokens?: HunkTokens; | ||
tokens?: HunkTokens | null; | ||
renderToken?: RenderToken; | ||
@@ -23,0 +24,0 @@ renderGutter?: RenderGutter; |
import { HunkData, Source } from '../utils'; | ||
export default function useMinCollapsedLines(minLinesExclusive: number, hunks: HunkData[], oldSource: Source): HunkData[]; | ||
export default function useMinCollapsedLines(minLinesExclusive: number, hunks: HunkData[], oldSource: Source | null): HunkData[]; |
import { HunkData, Source } from '../utils'; | ||
export default function useSourceExpansion(hunks: HunkData[], oldSource: Source): readonly [HunkData[], (start: number, end: number) => void]; | ||
export default function useSourceExpansion(hunks: HunkData[], oldSource: Source | null): readonly [HunkData[], (start: number, end: number) => void]; |
import { HunkData } from '../utils'; | ||
import { TokenNode } from '../tokenize'; | ||
import { HunkTokens } from '../tokenize'; | ||
export interface TokenizePayload { | ||
hunks: HunkData[]; | ||
oldSource: string; | ||
oldSource: string | null; | ||
} | ||
@@ -12,5 +12,5 @@ export type ShouldTokenize<P extends TokenizePayload> = (current: P, prev: P | undefined) => boolean; | ||
export interface TokenizeResult { | ||
tokens: TokenNode[] | null; | ||
tokens: HunkTokens | null; | ||
tokenizationFailReason: string | null; | ||
} | ||
export default function useTokenizeWorker<P extends TokenizePayload>(worker: Worker, payload: P, options?: TokenizeWorkerOptions<P>): TokenizeResult; |
@@ -1,4 +0,5 @@ | ||
import { ReactElement } from 'react'; | ||
import { ReactNode } from 'react'; | ||
import { ChangeData, HunkData } from '../utils'; | ||
import { EventMap, HunkTokens, RenderGutter, RenderToken } from '../context'; | ||
import { EventMap, RenderGutter, RenderToken } from '../context'; | ||
import { HunkTokens } from '../tokenize'; | ||
export interface SharedProps { | ||
@@ -22,6 +23,6 @@ hideGutter: boolean; | ||
hunk: HunkData; | ||
widgets: Record<string, ReactElement>; | ||
widgets: Record<string, ReactNode>; | ||
hideGutter: boolean; | ||
selectedChanges: string[]; | ||
tokens?: HunkTokens; | ||
tokens?: HunkTokens | null; | ||
} |
@@ -1,8 +0,8 @@ | ||
import { ReactElement } from 'react'; | ||
import { ReactNode } from 'react'; | ||
export interface SplitWidgetProps { | ||
hideGutter: boolean; | ||
oldElement: ReactElement | null; | ||
newElement: ReactElement | null; | ||
oldElement: ReactNode | null; | ||
newElement: ReactNode | null; | ||
monotonous: boolean; | ||
} | ||
export default function SplitWidget({ hideGutter, oldElement, newElement, monotonous }: SplitWidgetProps): JSX.Element; |
@@ -1,6 +0,6 @@ | ||
import { ReactElement } from 'react'; | ||
import { ReactNode } from 'react'; | ||
export interface UnifiedWidgetProps { | ||
hideGutter: boolean; | ||
element: ReactElement; | ||
element: ReactNode; | ||
} | ||
export default function UnifiedWidget({ hideGutter, element }: UnifiedWidgetProps): JSX.Element; |
@@ -11,5 +11,5 @@ export { default as Diff } from './Diff'; | ||
export type { DecorationProps } from './Decoration'; | ||
export type { EventMap, HunkTokens, GutterType, ViewType, RenderToken, RenderGutter } from './context'; | ||
export type { EventMap, GutterType, ViewType, RenderToken, RenderGutter, ChangeEventArgs, GutterOptions, } from './context'; | ||
export type { ChangeData, FileData, HunkData, ParseOptions, Source } from './utils'; | ||
export type { Pair, RangeTokenNode, TextNode, TokenNode, TokenPath, TokenizeEnhancer, TokenizeOptions } from './tokenize'; | ||
export type { Pair, RangeTokenNode, TextNode, TokenNode, TokenPath, TokenizeEnhancer, TokenizeOptions, MarkEditsOptions, MarkEditsType, HunkTokens, } from './tokenize'; | ||
export type { ShouldTokenize, TokenizePayload, TokenizeResult, TokenizeWorkerOptions, UseChangeSelectOptions, } from './hooks'; |
import { ToTokenTreeOptions } from './toTokenTrees'; | ||
import { HunkData } from '../utils'; | ||
import { TokenizeEnhancer } from './interface'; | ||
import { TokenizeEnhancer, TokenNode } from './interface'; | ||
export { default as pickRanges } from './pickRanges'; | ||
@@ -8,2 +8,3 @@ export { default as markEdits } from './markEdits'; | ||
export type { Pair, TextNode, TokenNode, TokenPath, TokenizeEnhancer } from './interface'; | ||
export type { MarkEditsOptions, MarkEditsType } from './markEdits'; | ||
export type { RangeTokenNode } from './pickRanges'; | ||
@@ -13,5 +14,6 @@ export type TokenizeOptions = ToTokenTreeOptions & { | ||
}; | ||
export declare const tokenize: (hunks: HunkData[], { enhancers, ...options }?: TokenizeOptions) => { | ||
old: (import("./interface").TokenNode[] | undefined)[]; | ||
new: (import("./interface").TokenNode[] | undefined)[]; | ||
}; | ||
export interface HunkTokens { | ||
old: TokenNode[][]; | ||
new: TokenNode[][]; | ||
} | ||
export declare const tokenize: (hunks: HunkData[], { enhancers, ...options }?: TokenizeOptions) => HunkTokens; |
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
1011764
1496
82