AiChatConfig constructor

const AiChatConfig({
  1. String userName = 'User',
  2. String aiName = 'AI',
  3. String? hintText,
  4. double? maxWidth,
  5. EdgeInsets? padding,
  6. bool enableAnimation = true,
  7. bool showTimestamp = true,
  8. bool readOnly = false,
  9. bool persistentExampleQuestions = false,
  10. bool enableMarkdownStreaming = true,
  11. List<ExampleQuestion> exampleQuestions = const [],
  12. Duration streamingDuration = const Duration(milliseconds: 30),
  13. InputOptions? inputOptions,
  14. MessageOptions? messageOptions,
  15. MessageListOptions? messageListOptions,
  16. QuickReplyOptions? quickReplyOptions,
  17. ScrollToBottomOptions? scrollToBottomOptions,
  18. WelcomeMessageConfig? welcomeMessageConfig,
  19. LoadingConfig loadingConfig = const LoadingConfig(),
  20. PaginationConfig paginationConfig = const PaginationConfig(),
  21. List<ChatUser>? typingUsers,
  22. ScrollBehaviorConfig? scrollBehaviorConfig,
})

Implementation

const AiChatConfig({
  // Basic settings
  this.userName = 'User',
  this.aiName = 'AI',
  this.hintText,
  this.maxWidth,
  this.padding,

  // Feature flags
  this.enableAnimation = true,
  this.showTimestamp = true,
  this.readOnly = false,
  this.persistentExampleQuestions = false,
  this.enableMarkdownStreaming = true,

  // Message content options
  this.exampleQuestions = const [],
  this.streamingDuration = const Duration(milliseconds: 30),

  // Main options aligned with Dila
  this.inputOptions,
  this.messageOptions,
  this.messageListOptions,
  this.quickReplyOptions,
  this.scrollToBottomOptions,

  // Specialized configs
  this.welcomeMessageConfig,
  this.loadingConfig = const LoadingConfig(),
  this.paginationConfig = const PaginationConfig(),

  // Other options
  this.typingUsers,

  /// Configuration for scroll behavior
  this.scrollBehaviorConfig,
});