Skip to content
+

Customize

Customize the Editor component appearance and behavior.

Overview

The Editor component offers extensive customization options through props, theming, and styling to match your application's design system.

Theme Customization

Using MUI Theme

Customize the Editor using MUI's theming system:

import { createTheme, ThemeProvider } from '@mui/material/styles';

const theme = createTheme({
  components: {
    MuiEditor: {
      styleOverrides: {
        root: {
          backgroundColor: '#1e1e1e',
          color: '#ffffff',
        },
        timeline: {
          backgroundColor: '#2d2d2d',
        },
        track: {
          borderColor: '#404040',
        },
      },
    },
  },
});

<ThemeProvider theme={theme}>
  <Editor />
</ThemeProvider>

Style Overrides

Using sx Prop

Apply custom styles directly:

<Editor
  sx={{
    height: '100%',
    '& .MuiEditor-timeline': {
      backgroundColor: 'background.default',
    },
    '& .MuiEditor-track': {
      minHeight: 60,
    },
    '& .MuiEditor-action': {
      borderRadius: 2,
    },
  }}
/>

Custom Class Names

Apply custom CSS classes:

<Editor
  className="custom-editor"
  classes={{
    timeline: 'custom-timeline',
    track: 'custom-track',
    action: 'custom-action',
  }}
/>

Layout Customization

Panel Visibility

Control which panels are visible:

<Editor
  fileView={true}        // Show file explorer
  labels={true}          // Show track labels
  controls={true}        // Show playback controls
  preview={true}         // Show preview area
/>

Panel Sizes

Customize panel dimensions:

<Editor
  fileViewWidth={300}    // File explorer width
  labelWidth={150}       // Track label width
  previewHeight={400}    // Preview area height
  timelineHeight={200}   // Timeline height
/>

Color Schemes

Dark Mode

<Editor
  sx={{
    colorScheme: 'dark',
    '& .MuiEditor-root': {
      backgroundColor: '#1a1a1a',
    },
  }}
/>

Light Mode

<Editor
  sx={{
    colorScheme: 'light',
    '& .MuiEditor-root': {
      backgroundColor: '#ffffff',
    },
  }}
/>

Custom Components

Replace default components with custom implementations:

<Editor
  components={{
    Timeline: CustomTimeline,
    Track: CustomTrack,
    Action: CustomAction,
    FileExplorer: CustomFileExplorer,
  }}
/>

Icons and Assets

Customize icons and visual elements:

<Editor
  icons={{
    play: <CustomPlayIcon />,
    pause: <CustomPauseIcon />,
    stop: <CustomStopIcon />,
  }}
/>

Best Practices

  • Use theme tokens for consistent styling
  • Avoid inline styles for better performance
  • Test customizations across different screen sizes
  • Maintain accessibility when customizing colors
  • Document custom styles for team collaboration