import React from 'react'; import styled from 'styled-components'; import CopyButton from '../copy-button'; import SegmentLine from '../segment-line'; import './index.less'; const Wrapper = styled.div<{ $height: number }>` height: ${(props) => props.$height}px; `; interface EditorwrapProps { headerHeight?: number; header?: React.ReactNode; children: React.ReactNode; showHeader?: boolean; copyText: string; defaultValue?: string; langOptions?: Global.BaseOption[]; styles?: { wrapper?: React.CSSProperties; header?: React.CSSProperties; content?: React.CSSProperties; }; onChangeLang?: (value: string | number) => void; } const EditorWrap: React.FC = ({ headerHeight = 40, header, children, copyText, langOptions = [], onChangeLang, defaultValue, styles = {}, showHeader = true }) => { const handleChangeLang = (value: string | number) => { onChangeLang?.(value); }; const renderHeader = () => { if (header) { return
{header}
; } if (showHeader) { return ( ); } return null; }; return (
{renderHeader()}
{children}
); }; export default React.memo(EditorWrap);