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