Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
microsoft
GitHub Repository: microsoft/vscode
Path: blob/main/extensions/copilot/test/simulation/workbench/components/draggableBottomBorder.tsx
13399 views
1
/*---------------------------------------------------------------------------------------------
2
* Copyright (c) Microsoft Corporation. All rights reserved.
3
* Licensed under the MIT License. See License.txt in the project root for license information.
4
*--------------------------------------------------------------------------------------------*/
5
6
import * as React from 'react';
7
8
interface DraggableBottomBorderProps {
9
height: number;
10
setHeight: React.Dispatch<React.SetStateAction<number>>;
11
}
12
13
export const DraggableBottomBorder: React.FC<DraggableBottomBorderProps> = ({ height, setHeight }) => {
14
const handleMouseDown = (e: React.MouseEvent) => {
15
const startY = e.clientY;
16
const startHeight = height;
17
18
const handleMouseMove = (e: MouseEvent) => {
19
const newHeight = startHeight + (e.clientY - startY);
20
setHeight(newHeight);
21
};
22
23
const handleMouseUp = () => {
24
document.removeEventListener('mousemove', handleMouseMove);
25
document.removeEventListener('mouseup', handleMouseUp);
26
};
27
28
document.addEventListener('mousemove', handleMouseMove);
29
document.addEventListener('mouseup', handleMouseUp);
30
};
31
32
return (
33
<div
34
className='file-editor-draggable-border'
35
onMouseDown={handleMouseDown}
36
></div>
37
);
38
};
39
40