ChatbotConfig class

Configuração do botão e janela do chatbot

Esta classe permite personalizar completamente a aparência e comportamento do botão flutuante do chatbot e sua janela de exibição.

Exemplo de uso:

ChatbotConfig(
  chatWidget: MyChatbotWidget(),
  position: ChatbotPosition.bottomRight,
  icon: Icons.chat_bubble,
  iconColor: Colors.white,
  backgroundColor: Colors.blue,
  windowWidth: 400,
  windowHeight: 600,
)

Constructors

ChatbotConfig({required Widget chatWidget, ChatbotPosition position = ChatbotPosition.bottomRight, IconData icon = Icons.chat_bubble_rounded, IconData closeIcon = Icons.close, Color? iconColor, Color? backgroundColor, double buttonSize = 56.0, double iconSize = 24.0, double windowWidth = 380.0, double windowHeight = 500.0, double margin = 16.0, double elevation = 6.0, double windowBorderRadius = 12.0, String? tooltip, Color? windowBackgroundColor, Color? windowBorderColor, double windowBorderWidth = 1.0, double windowElevation = 8.0, bool showBadge = false, Color? badgeColor, VoidCallback? onOpen, VoidCallback? onClose})
const

Properties

backgroundColor Color?
Cor de fundo do botão flutuante. Se não informado, usa a cor primária do tema (colorScheme.primary)
final
badgeColor Color?
Cor do badge de notificação. Padrão: Colors.red
final
buttonSize double
Tamanho do botão flutuante. Padrão: 56.0
final
chatWidget Widget
Widget do chatbot que será exibido na janela flutuante. Este é o único parâmetro obrigatório.
final
closeIcon IconData
Ícone exibido quando a janela do chatbot está aberta. Padrão: Icons.close
final
elevation double
Elevação (sombra) do botão flutuante. Padrão: 6.0
final
hashCode int
The hash code for this object.
no setterinherited
icon IconData
Ícone do botão flutuante. Padrão: Icons.chat_bubble_rounded
final
iconColor Color?
Cor do ícone do botão flutuante. Se não informado, usa a cor do tema (colorScheme.onPrimary)
final
iconSize double
Tamanho do ícone dentro do botão. Padrão: 24.0
final
margin double
Margem do botão em relação às bordas da tela. Padrão: 16.0
final
onClose VoidCallback?
Callback executado quando a janela do chatbot é fechada.
final
onOpen VoidCallback?
Callback executado quando a janela do chatbot é aberta.
final
position ChatbotPosition
Posição do botão flutuante na tela. Padrão: ChatbotPosition.bottomRight
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showBadge bool
Se verdadeiro, mostra uma animação de badge/notificação no botão. Padrão: false
final
tooltip String?
Tooltip exibido ao passar o mouse sobre o botão. Padrão: 'Chat'
final
windowBackgroundColor Color?
Cor de fundo da janela do chatbot. Se não informado, usa a cor de fundo do scaffold do tema
final
windowBorderColor Color?
Cor da borda da janela do chatbot. Se não informado, usa a cor de divisor do tema
final
windowBorderRadius double
Raio de borda da janela do chatbot. Padrão: 12.0
final
windowBorderWidth double
Espessura da borda da janela. Padrão: 1.0
final
windowElevation double
Elevação (sombra) da janela do chatbot. Padrão: 8.0
final
windowHeight double
Altura da janela do chatbot. Padrão: 500.0
final
windowWidth double
Largura da janela do chatbot. Padrão: 380.0
final

Methods

copyWith({Widget? chatWidget, ChatbotPosition? position, IconData? icon, IconData? closeIcon, Color? iconColor, Color? backgroundColor, double? buttonSize, double? iconSize, double? windowWidth, double? windowHeight, double? margin, double? elevation, double? windowBorderRadius, String? tooltip, Color? windowBackgroundColor, Color? windowBorderColor, double? windowBorderWidth, double? windowElevation, bool? showBadge, Color? badgeColor, VoidCallback? onOpen, VoidCallback? onClose}) ChatbotConfig
Cria uma cópia desta configuração com os valores especificados alterados.
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