flutter_quill_kit_clipboard 0.1.1
flutter_quill_kit_clipboard: ^0.1.1 copied to clipboard
Rich clipboard support for flutter_quill_kit: paste HTML from other apps as formatted content, copy selections as HTML, and paste images.
import 'package:flutter/material.dart';
import 'package:flutter_quill_kit/flutter_quill_kit.dart';
import 'package:flutter_quill_kit_clipboard/flutter_quill_kit_clipboard.dart';
void main() {
runApp(const ClipboardExampleApp());
}
/// An editor that pastes formatted content from other applications.
///
/// Registering [ClipboardExtension] swaps the controller's plain-text
/// clipboard service for one that reads and writes HTML, so copying from a
/// browser or a word processor keeps its formatting.
class ClipboardExampleApp extends StatefulWidget {
/// Creates the example app.
const ClipboardExampleApp({super.key});
@override
State<ClipboardExampleApp> createState() => _ClipboardExampleAppState();
}
class _ClipboardExampleAppState extends State<ClipboardExampleApp> {
late final QuillKitController _controller = QuillKitController(
document: Document.fromJson(const [
{'insert': 'Copy formatted text from a browser, then paste it here.\n'},
]),
extensions: [...QuillKitExtensions.standard(), ClipboardExtension()],
);
@override
void dispose() {
_controller.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(title: const Text('flutter_quill_kit_clipboard')),
body: Column(
children: [
QuillKitToolbar(controller: _controller),
const Divider(height: 1),
Expanded(
child: QuillKitEditor(
controller: _controller,
appearance: const EditorAppearance(padding: EdgeInsets.all(16)),
),
),
],
),
),
);
}
}