ChatThreadInput constructor

const ChatThreadInput({
  1. Key? key,
  2. required Future<void> onSend(
    1. String,
    2. List<FileAttachment>
    ),
  3. required ChatThreadController controller,
  4. RoomClient? room,
  5. bool autoFocus = true,
  6. Object? focusTrigger,
  7. bool sendEnabled = true,
  8. String? sendDisabledReason,
  9. bool readOnly = false,
  10. bool clearOnSend = true,
  11. Widget? placeholder,
  12. void onChanged(
    1. String,
    2. List<FileAttachment>
    )?,
  13. Widget attachmentBuilder(
    1. BuildContext context,
    2. FileAttachment upload
    )?,
  14. ValueChanged<FileAttachment>? onAttachmentOpen,
  15. ValueChanged<FileAttachment>? onAttachmentRemoved,
  16. Future<void> onFileDrop(
    1. String name,
    2. Stream<Uint8List> dataStream,
    3. int size
    )?,
  17. Widget? leading,
  18. Widget? trailing,
  19. Widget? header,
  20. Widget? footer,
  21. bool audioInputEnabled = false,
  22. bool automaticAudioTurnDetection = false,
  23. Future<void> onAudioRecordingStart()?,
  24. Future<void> onExternalAudioRecordingStart()?,
  25. Future<void> onExternalAudioRecordingStop()?,
  26. Future<void> onAudioChunk(
    1. Uint8List chunk, {
    2. required bool finalChunk,
    })?,
  27. void onClear()?,
  28. void onInterrupt()?,
  29. void onCancelSend()?,
  30. String? sendPendingText,
  31. EditableTextContextMenuBuilder? contextMenuBuilder,
  32. TapRegionCallback? onPressedOutside,
  33. Object? tapRegionGroupId,
})

Implementation

const ChatThreadInput({
  super.key,
  required this.onSend,
  required this.controller,
  this.room,
  this.autoFocus = true,
  this.focusTrigger,
  this.sendEnabled = true,
  this.sendDisabledReason,
  this.readOnly = false,
  this.clearOnSend = true,
  this.placeholder,
  this.onChanged,
  this.attachmentBuilder,
  this.onAttachmentOpen,
  this.onAttachmentRemoved,
  this.onFileDrop,
  this.leading,
  this.trailing,
  this.header,
  this.footer,
  this.audioInputEnabled = false,
  this.automaticAudioTurnDetection = false,
  this.onAudioRecordingStart,
  this.onExternalAudioRecordingStart,
  this.onExternalAudioRecordingStop,
  this.onAudioChunk,
  this.onClear,
  this.onInterrupt,
  this.onCancelSend,
  this.sendPendingText,
  this.contextMenuBuilder,
  this.onPressedOutside,
  this.tapRegionGroupId,
});