-
Notifications
You must be signed in to change notification settings - Fork 40
Expand file tree
/
Copy pathDiffAddWidget.tsx
More file actions
74 lines (71 loc) · 2.46 KB
/
DiffAddWidget.tsx
File metadata and controls
74 lines (71 loc) · 2.46 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import { diffFontSizeName, addWidgetColorName, addWidgetBGName } from "@git-diff-view/utils";
import type { SplitSide } from "./DiffView";
import type { DiffFile } from "@git-diff-view/core";
export const DiffSplitAddWidget = (props: {
index: number;
className?: string;
lineNumber: number;
diffFile: DiffFile;
side: SplitSide;
onOpenAddWidget: (lineNumber: number, side: SplitSide) => void;
onWidgetClick?: (event: "onAddWidgetClick", lineNumber: number, side: SplitSide) => void;
}) => {
return (
<div
class={
"diff-add-widget-wrapper invisible select-none transition-transform hover:scale-110 group-hover:visible" +
(props.className ? " " + props.className : "")
}
style={{
width: `calc(var(${diffFontSizeName}) * 1.4)`,
height: `calc(var(${diffFontSizeName}) * 1.4)`,
}}
>
<button
class="diff-add-widget z-[1] flex h-full w-full origin-center cursor-pointer items-center justify-center rounded-md text-[1.2em]"
style={{
color: `var(${addWidgetColorName})`,
"background-color": `var(${addWidgetBGName})`,
}}
onClick={() => {
props.onOpenAddWidget(props.lineNumber, props.side);
props.onWidgetClick?.("onAddWidgetClick", props.lineNumber, props.side);
}}
>
+
</button>
</div>
);
};
export const DiffUnifiedAddWidget = (props: {
index: number;
diffFile: DiffFile;
lineNumber: number;
side: SplitSide;
onOpenAddWidget: (lineNumber: number, side: SplitSide) => void;
onWidgetClick?: (event: "onAddWidgetClick", lineNumber: number, side: SplitSide) => void;
}) => {
return (
<div
class="diff-add-widget-wrapper invisible absolute left-[100%] top-[1px] translate-x-[-50%] select-none transition-transform hover:scale-110 group-hover:visible"
style={{
width: `calc(var(${diffFontSizeName}) * 1.4)`,
height: `calc(var(${diffFontSizeName}) * 1.4)`,
}}
>
<button
class="diff-add-widget z-[1] flex h-full w-full origin-center cursor-pointer items-center justify-center rounded-md text-[1.2em]"
style={{
color: `var(${addWidgetColorName})`,
"background-color": `var(${addWidgetBGName})`,
}}
onClick={() => {
props.onOpenAddWidget(props.lineNumber, props.side);
props.onWidgetClick?.("onAddWidgetClick", props.lineNumber, props.side);
}}
>
+
</button>
</div>
);
};