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? 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
-
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? 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
controlshould 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