multi_editor_ui library
UI components for Multi-File Code Editor including Monaco Editor integration.
This package provides ready-to-use Flutter widgets for building code editing experiences with file trees, editor scaffolds, and plugin UI integration.
Features
- Monaco Editor Widget: Cross-platform code editor with syntax highlighting
- File Tree View: Hierarchical file browser with drag-and-drop
- Editor Scaffold: Complete editor layout with header and panels
- Theme Support: Dark/light themes with dynamic switching
- Plugin UI: Integration points for plugin-contributed UI
Example
import 'package:multi_editor_ui/multi_editor_ui.dart';
EditorScaffold(
fileTree: FileTreeView(controller: fileTreeController),
editor: MonacoCodeEditor(controller: editorController),
)
Classes
- Accessibility
- Accessibility utilities for WCAG compliance.
- AppDuration
- Duration system - consistent animation and transition timing.
- AppElevation
- Elevation system - consistent shadow depths throughout the app.
- AppIconSize
- Icon size system - consistent icon sizing throughout the app.
- AppRadius
- Border radius system - consistent rounding throughout the app.
- AppSpacing
- Spacing system - consistent spacing values throughout the app.
- AppThemeData
- Professional theme configuration for the code editor application. Follows Flutter best practices 2025 and Material Design 3 principles.
- AppTypography
- Typography system - consistent text styles throughout the app.
- ColorPrimitives
- Primitive color tokens - the foundational color palette.
- ColorSemantic
- Semantic color tokens - colors with meaningful context.
- ConfirmDeleteDialog
- CreateFileDialog
- CreateFolderDialog
- EditorConfig
- EditorController
- EditorScaffold
- EditorState
- EditorThemeExtension
- Custom theme extension for editor-specific colors. Extends Flutter's ThemeExtension to provide additional colors that are not part of the standard Material Design palette.
- FileTreeController
- FileTreeState
- FileTreeView
- FontPrimitives
- Primitive font tokens - foundational typography values.
- InteractionStates
- Interaction states utilities for consistent hover, pressed, and focused effects.
- MonacoCodeEditor
- RenameDialog
- SizePrimitives
- Primitive size tokens - foundational size values.
Enums
- ProgrammingLanguage
- Programming language colors enum.
Extensions
- ColorHelpers on Color
- Color manipulation helpers.
- EditorConfigPatterns on EditorConfig
- Adds pattern-matching-related methods to EditorConfig.
- EditorStatePatterns on EditorState
- Adds pattern-matching-related methods to EditorState.
- EditorThemeExtensionGetter on BuildContext
- Extension to easily access EditorThemeExtension from BuildContext
- FileTreeStatePatterns on FileTreeState
- Adds pattern-matching-related methods to FileTreeState.
- ThemeModeHelpers on BuildContext
- Convenient theme mode helpers.