MessageInputConfig class

Top-level configuration for MessageInputWidget.

Constructors

MessageInputConfig({String? hintText, bool enableVoiceInput = true, bool enableEmojiPanel = true, bool enableExtensionPanel = true, List<MessageInputBarControl> toolbarControls = const [MessageInputBarControl.voice, MessageInputBarControl.emoji, MessageInputBarControl.extension], List<MessageInputExtensionPlugin> extensionPlugins = defaultMessageInputExtensionPlugins, int maxLines = 5, Color? backgroundColor, InputDecoration? decoration, String? voiceInputUnavailableText, String? emptyExtensionPanelText, bool enableMention = true, MessageInputMentionResolver? mentionResolver, MessageInputMentionPicker? mentionPicker, MessageInputMentionCandidateBuilder? mentionCandidateBuilder, String? emptyMentionCandidatesText, MessageInputVoiceDraftResolver? voiceDraftResolver, MessageInputVoiceRecorder? voiceRecorder, Duration minimumVoiceRecordingDuration = const Duration(seconds: 1), Duration maximumVoiceRecordingDuration = const Duration(seconds: 60), String? voiceInputActionText, MessageInputPermissionRequest? onPermissionRequest, Map<MessageInputBarControl, MessageInputButtonConfig> toolbarButtonConfigs = const {}, MessageInputReferencePreviewConfig referencePreviewConfig = const MessageInputReferencePreviewConfig(), MessageInputEmojiPanelConfig emojiPanelConfig = const MessageInputEmojiPanelConfig(), MessageInputExtensionPanelConfig extensionPanelConfig = const MessageInputExtensionPanelConfig(), List<String> emojiItems = const []})
const

Properties

backgroundColor Color?
Input area background color.
final
decoration InputDecoration?
Text field decoration override.
final
emojiItems List<String>
final
emojiPanelConfig MessageInputEmojiPanelConfig
Emoji panel configuration.
final
emptyExtensionPanelText String?
final
emptyMentionCandidatesText String?
final
enabledToolbarControls List<MessageInputBarControl>
Toolbar controls after visibility and feature flags are applied.
no setter
enableEmojiPanel bool
Whether the emoji panel is available.
final
enableExtensionPanel bool
Whether the extension panel is available.
final
enableMention bool
Whether @ mention detection is enabled.
final
enableVoiceInput bool
Whether voice input is available.
final
extensionPanelConfig MessageInputExtensionPanelConfig
Extension panel configuration.
final
extensionPlugins List<MessageInputExtensionPlugin>
Extension panel plugins shown to the user.
final
hasExtensionPlugins bool
Whether the extension panel has any plugins to show.
no setter
hashCode int
The hash code for this object.
no setterinherited
hintText String?
Text field placeholder override.
final
maximumVoiceRecordingDuration Duration
Maximum voice recording duration before auto-finish.
final
maxLines int
Maximum visible text field lines.
final
mentionCandidateBuilder MessageInputMentionCandidateBuilder?
Optional mention candidate row builder.
final
mentionPicker MessageInputMentionPicker?
Optional custom mention picker.
final
mentionResolver MessageInputMentionResolver?
Optional mention candidate resolver.
final
minimumVoiceRecordingDuration Duration
Minimum accepted voice recording duration.
final
onPermissionRequest MessageInputPermissionRequest?
Global permission hook for extension plugins.
final
referencePreviewConfig MessageInputReferencePreviewConfig
Reference preview configuration.
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
toolbarButtonConfigs Map<MessageInputBarControl, MessageInputButtonConfig>
Per-control button configuration.
final
toolbarControls List<MessageInputBarControl>
Toolbar control order.
final
voiceDraftResolver MessageInputVoiceDraftResolver?
Optional resolver that converts a recording path into a voice draft.
final
voiceInputActionText String?
final
voiceInputUnavailableText String?
final
voiceRecorder MessageInputVoiceRecorder?
Optional recorder implementation; defaults to the built-in recorder.
final

Methods

copyWith({String? hintText, bool? enableVoiceInput, bool? enableEmojiPanel, bool? enableExtensionPanel, List<MessageInputBarControl>? toolbarControls, List<MessageInputExtensionPlugin>? extensionPlugins, int? maxLines, Color? backgroundColor, InputDecoration? decoration, String? voiceInputUnavailableText, String? emptyExtensionPanelText, List<String>? emojiItems, bool? enableMention, MessageInputMentionResolver? mentionResolver, MessageInputMentionPicker? mentionPicker, MessageInputMentionCandidateBuilder? mentionCandidateBuilder, String? emptyMentionCandidatesText, MessageInputVoiceDraftResolver? voiceDraftResolver, MessageInputVoiceRecorder? voiceRecorder, Duration? minimumVoiceRecordingDuration, Duration? maximumVoiceRecordingDuration, String? voiceInputActionText, MessageInputPermissionRequest? onPermissionRequest, Map<MessageInputBarControl, MessageInputButtonConfig>? toolbarButtonConfigs, MessageInputReferencePreviewConfig? referencePreviewConfig, MessageInputEmojiPanelConfig? emojiPanelConfig, MessageInputExtensionPanelConfig? extensionPanelConfig}) MessageInputConfig
Creates a copy with selected values replaced.
isControlEnabled(MessageInputBarControl control) bool
Returns whether control should be visible and enabled.
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited