clepit (Dart)
Native Dart/Flutter port of @clepit/core. Block-style editor + renderer that targets Flutter mobile, desktop, and web from a single codebase.
Layout
lib/
clepit.dart # public barrel
src/
types/ # sealed Block hierarchy + all data shapes
theme/ # ThemeExtension + tokens
api/ # EditorAPI / Tool interfaces
store/ # ChangeNotifier-based editor store
managers/ # style / event / block managers
core/ # Editor + Renderer widgets, invalid-data placeholder
views/ # edit / preview / json view widgets
toolbars/ # block + inline toolbars
tools/
block/ # paragraph, header, list, quote, code, alert, ...
inline/ # bold, italic, link, marker, status, ...
widgets/ # tooltip, switch, dialog primitives
utils/ # platform, url, icons, selection helpers
Status
Implemented — editor + renderer + 12 block tools + inline tools; analyze clean. Consumed by products/clepit/app.
Mapping from @clepit/core (TypeScript)
| TypeScript | Dart |
|---|---|
Editor (DOM container) |
Editor widget composed of EditableTexts under a SelectableRegion |
Renderer (DOM renderer) |
Renderer widget rendering a sealed Block AST |
StyleManager (CSS strings) |
ThemeExtension<ClepitTheme> + ThemeData |
Tool interface |
BlockTool / InlineTool Dart interfaces |
Block<T> discriminated union |
sealed class Block with subclasses per type |
EditorAPI |
EditorApi Dart class + BlocksApi, SelectionApi, etc. |
Per-tool input.ts / output.ts |
Per-tool *_input.dart (editing widget) / *_output.dart (read-only widget) |
Libraries
- clepit_core
- Public surface of the
clepitDart package — mirrors the TS package'sindex.tsbarrel.