import type { HTMLAttributes } from 'react'; import React from 'react'; import { CheckboxItem } from '@teambit/design.inputs.selectors.checkbox-item'; import { Radio } from '@teambit/design.ui.input.radio'; import classnames from 'classnames'; import styles from './code-compare-editor-settings.module.scss'; export type EditorViewMode = 'inline' | 'split'; export type EditorSettingsHooks = { onViewModeChanged: (editorViewMode: EditorViewMode) => void; onWordWrapChanged: (wordWrap: boolean) => void; onIgnoreWhitespaceChanged: (ignoreWhitespace: boolean) => void; onDiffOnlyChanged?: (diffOnly: boolean) => void; }; export type EditorSettingsState = { editorViewMode: EditorViewMode; wordWrap: boolean; ignoreWhitespace: boolean; diffOnly?: boolean; }; export type EditorSettings = EditorSettingsHooks & EditorSettingsState; export type CodeCompareEditorSettingsProps = {} & HTMLAttributes & EditorSettings; export function CodeCompareEditorSettings({ wordWrap, ignoreWhitespace, editorViewMode, diffOnly, onDiffOnlyChanged, onWordWrapChanged, onIgnoreWhitespaceChanged, onViewModeChanged, className, ...rest }: CodeCompareEditorSettingsProps) { return (
Diff View
onViewModeChanged('inline')} > Inline onViewModeChanged('split')} > Split
{onDiffOnlyChanged && (
onDiffOnlyChanged?.(!diffOnly)} > Show only diff
)}
onIgnoreWhitespaceChanged(!ignoreWhitespace)} > Hide whitespace
onWordWrapChanged(!wordWrap)} > Word wrap
); }