Lewati ke konten utama

clepit_core

Paket clepit_core adalah kembaran Dart/Flutter asli dari @clepit/core: model dokumen JSON yang sama, penyuntingan dan render baca-saja dari satu basis kode, menyasar web, seluler, dan desktop. Dokumen dapat dipertukarkan: EditorData.toJson() di sini terbaca oleh paket TypeScript dan sebaliknya.

pub.dev: clepit_core · npm: @clepit/core

Instal

Shell
flutter pub add clepit_core

Editor

Editor adalah permukaan penyuntingan penuh: alat blok, alat sebaris, bilah alat, dan penanganan seleksi. EditorController juga menerima tools dan inlineTools untuk membatasi atau memperluas set bawaan, dan mengekspos API dokumen, seleksi, dan tampilan (EditorApi) untuk penyuntingan terprogram.

Dart
import 'package:clepit_core/clepit_core.dart';

final controller = EditorController(
  initial: EditorData.fromJson(documentJson),
);

Editor(
  controller: controller,
  config: EditorConfig(
    onChange: (data) => save(data),
  ),
);

Renderer

Renderer menggambar dokumen hanya-baca, tanpa hiasan penyuntingan. Data blok yang tidak valid atau tak dikenal merender InvalidDataPlaceholder alih-alih melempar, sehingga dokumen dari produsen yang lebih lama atau lebih baru menurun secara terlihat alih-alih membuat tampilan mogok.

Dart
Renderer(
  config: RendererConfig(data: document),
);

ClepitTheme

Gaya mengalir melalui ClepitTheme, sebuah ThemeExtension pada ThemeData Anda, sehingga editor dan renderer mengikuti tema aplikasi dalam mode terang dan gelap. Penimpaan per-render lewat RendererConfig.styles.

Datang dari @clepit/core

Konsep yang sama ada di kedua sisi; namanya mengikuti konvensi tiap platform.

TypeScriptDart
EditorEditor
RendererRenderer
StyleManagerThemeExtension<ClepitTheme> + ThemeData
ToolBlockTool / InlineTool
Block<T>sealed class Block
EditorAPIEditorApi + BlocksApi, SelectionApi