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 clepit Dart package — mirrors the TS package's index.ts barrel.