chat_message_composer 1.0.1
chat_message_composer: ^1.0.1 copied to clipboard
Composer для сообщений чата с форматированием текста, вложениями, упоминаниями и режимами edit/quote
Changelog #
1.0.1 #
- Обновлена зависимость
uuidдо^4.6.0
1.0.0 — первый релиз #
Первая публикация пакета chat_message_composer (ранее разрабатывался под именем chat_input_editor).
Основные возможности #
ChatMessageComposer— виджет ввода сообщений чата с раздельными desktop/mobile layout-ами (isPlatformMobile)- Форматирование текста (жирный, курсив, подчёркивание, зачёркивание, списки, цитаты, блоки кода, ссылки) на базе
flutter_quill, панель инструментов форматирования - Вложения: изображения, видео, документы; выбор через файловый пикер, drag-and-drop (desktop), вставка из буфера обмена, съёмка фото через камеру (
camera); дедупликация по хэшу содержимого, ограничение размера файла с колбэкомonFilesTooLarge, миниатюры вложений - Упоминания (
@): панель с поиском/фильтрацией и навигацией стрелками, кастомизируемые билдеры элементов панели, обработка нажатий на упоминание в тексте - Режимы композиции (
ComposeContextBloc): обычный ввод, редактирование сообщения, ответ и цитирование — с превью редактируемого/цитируемого сообщения - Эмодзи: поиск (RU/EN), панель на десктопе (overlay) и на мобильных (замена клавиатуры с сохранением высоты через
KeyboardReplacementPanel), рендер через embed для корректного отображения цветных эмодзи на Linux - Вставка форматированного текста из буфера обмена (Delta clipboard) с сохранением форматирования и нормализацией нумерации списков
- Локализация строк пакета через
ChatMessageComposerLocalizationRepository, инжектируемую хостом - Архитектура:
ChatMessageComposerScope(DI черезflutter_bloc), слоистая структураdomain/data/presentation
Известные платформенные нюансы #
- iOS требует
NSPhotoLibraryUsageDescriptionиNSCameraUsageDescriptionвInfo.plistхост-приложения - Работа с камерой реализована через пакет
camera