import { Button, Group, Text } from "@mantine/core"; import { IconArrowBackUp, IconArrowForwardUp, IconCode, IconCopy, IconFileCode, IconSchema, IconWand, } from "@tabler/icons-react"; import { ComponentReference } from "./component-reference"; import type { CustomWidgetCodeEditorProps } from "./code-editor-types"; import classes from "./code-editor.module.css"; interface CodeEditorToolbarProps { props: CustomWidgetCodeEditorProps; editorCreated: boolean; historyDepth: { undo: number; redo: number }; formattedValue: string; copied: boolean; referenceOpened: boolean; onReferenceToggle(): void; onCopy(): void; onUndo(): void; onRedo(): void; onFormat(): void; } export function CodeEditorToolbar({ props, editorCreated, historyDepth, formattedValue, copied, referenceOpened, onReferenceToggle, onCopy, onUndo, onRedo, onFormat, }: CodeEditorToolbarProps) { const starter = props.starter; return ( {props.language === "jsx" ? props.messages.languageJsx : props.language === "css" ? "CSS" : props.messages.languageJson} {!props.readOnly && ( <> )} {!props.readOnly && props.language === "jsx" && ( )} {!props.readOnly && starter && props.value.trim().length === 0 && ( )} {!props.readOnly && ( )} {props.reference && ( )} {props.readOnly && ( )} ); }