ChatTheme constructor

const ChatTheme({
  1. Color backgroundColor = SdkColors.backgroundColorLight,
  2. Color cardBackgroundColor = SdkColors.backgroundColorLight,
  3. Color cardBorderColor = SdkColors.cardBorderColorLight,
  4. Color appBarBackgroundColor = SdkColors.appBarBackgroundColorLight,
  5. Color userMessageColor = SdkColors.userMessageColorLight,
  6. Color inputTextFieldColor = SdkColors.inputTextFieldColorLight,
  7. Color inputTextFieldBorderColor = SdkColors.inputTextFieldBorderColorLight,
  8. Color sendButtonColor = SdkColors.sendButtonColorLight,
  9. Color attachmentPickerBackgroundColor = SdkColors.attachmentPickerBackgroundColorLight,
  10. Color sendButtonForegroundColor = SdkColors.sendButtonTextColorLight,
  11. Color waveColor = SdkColors.waveColorLight,
  12. Color actionIconColor = Colors.black,
  13. Color cancelRecordingIconColor = SdkColors.messageControlIconColorLight,
  14. Color closeModalIconColor = SdkColors.messageControlIconColorLight,
  15. Color playAudioIconColor = SdkColors.messageControlIconColorLight,
  16. Color pauseAudioIconColor = SdkColors.messageControlIconColorLight,
  17. Color attachIconColor = SdkColors.messageControlIconColorLight,
  18. Color cameraIconColor = SdkColors.messageControlIconColorLight,
  19. Color galleryIconColor = SdkColors.messageControlIconColorLight,
  20. Color trashIconColor = SdkColors.iconWithBackdropColorLight,
  21. Color currencyIconColor = SdkColors.priceColorLight,
  22. Color numericControlIconColor = SdkColors.messageControlIconColorLight,
  23. Color imagePlaceholderIconColor = SdkColors.messageControlIconColorLight,
  24. Color imagePlaceholderBackgroundColor = SdkColors.imagePlaceHolderColorLight,
  25. Color productPriceBackgroundColor = SdkColors.discountBackgroundColorLight,
  26. Color pricePerSubunitColor = SdkColors.productCardSubtitleColorLight,
  27. Color pickerButtonBorderColor = SdkColors.pickerButtonBorderColor,
  28. Color quickReplyColor = SdkColors.userMessageColorLight,
  29. Color quickReplyBorderColor = SdkColors.quickReplyBorderColor,
  30. TextStyle quickReplyStyle = const TextStyle(color: SdkColors.userMessageTextColorLight),
  31. TextStyle userMessageTextStyle = const TextStyle(color: SdkColors.userMessageTextColorLight),
  32. TextStyle assistantMessageTextStyle = const TextStyle(color: SdkColors.assistantMessageTextColorLight, fontSize: SdkConstants.titleFontSize),
  33. TextStyle modalHeaderStyle = const TextStyle(color: SdkColors.modalHeaderColorLight, fontSize: SdkConstants.titleFontSize, fontWeight: FontWeight.bold),
  34. TextStyle hintTextStyle = const TextStyle(color: SdkColors.hintColorLight),
  35. TextStyle timerTextStyle = const TextStyle(color: SdkColors.timerColoLight),
  36. TextStyle productTitleStyle = const TextStyle(color: SdkColors.assistantMessageTextColorLight, fontSize: SdkConstants.cardTitleFontSize, fontWeight: FontWeight.bold),
  37. TextStyle productSubunitsStyle = const TextStyle(color: SdkColors.productCardSubtitleColorLight, fontSize: SdkConstants.cardSubtitleFontSize),
  38. TextStyle productPriceStyle = const TextStyle(color: SdkColors.priceColorLight, fontWeight: FontWeight.bold),
  39. TextStyle productSalePriceStrikeStyle = const TextStyle(color: SdkColors.discountStrikeColorLight, decoration: TextDecoration.lineThrough),
  40. TextStyle pricePerSubunitStyle = const TextStyle(color: SdkColors.pricePerUnitColorLight),
  41. TextStyle expandControlsStyle = const TextStyle(color: SdkColors.expandControlColorLight),
  42. ImageProvider<Object>? chatIconImage,
  43. IconData sendButtonIcon = Icons.send_outlined,
  44. IconData recordAudioIcon = Icons.mic_none,
  45. IconData shopIcon = Icons.storefront,
  46. IconData cartIcon = Icons.shopping_cart_outlined,
  47. IconData cancelRecordingIcon = Icons.close,
  48. IconData closeModalIcon = Icons.close,
  49. IconData playAudioIcon = Icons.play_arrow_rounded,
  50. IconData pauseAudioIcon = Icons.pause_rounded,
  51. IconData attachIcon = Icons.add,
  52. IconData cameraIcon = Icons.photo_camera,
  53. IconData galleryIcon = Icons.insert_photo,
  54. IconData trashIcon = Icons.delete_outline,
  55. IconData imagePlaceHolderIcon = Icons.image,
  56. IconData currencyIcon = Icons.toll,
  57. IconData addIcon = Icons.add,
  58. IconData removeIcon = Icons.remove,
})

Implementation

const ChatTheme({
  // Colors
  this.backgroundColor = SdkColors.backgroundColorLight,
  this.cardBackgroundColor = SdkColors.backgroundColorLight,
  this.cardBorderColor = SdkColors.cardBorderColorLight,
  this.appBarBackgroundColor = SdkColors.appBarBackgroundColorLight,
  this.userMessageColor = SdkColors.userMessageColorLight,
  this.inputTextFieldColor = SdkColors.inputTextFieldColorLight,
  this.inputTextFieldBorderColor = SdkColors.inputTextFieldBorderColorLight,
  this.sendButtonColor = SdkColors.sendButtonColorLight,
  this.attachmentPickerBackgroundColor =
      SdkColors.attachmentPickerBackgroundColorLight,
  this.sendButtonForegroundColor = SdkColors.sendButtonTextColorLight,
  this.waveColor = SdkColors.waveColorLight,
  this.actionIconColor = Colors.black,
  this.cancelRecordingIconColor = SdkColors.messageControlIconColorLight,
  this.closeModalIconColor = SdkColors.messageControlIconColorLight,
  this.playAudioIconColor = SdkColors.messageControlIconColorLight,
  this.pauseAudioIconColor = SdkColors.messageControlIconColorLight,
  this.attachIconColor = SdkColors.messageControlIconColorLight,
  this.cameraIconColor = SdkColors.messageControlIconColorLight,
  this.galleryIconColor = SdkColors.messageControlIconColorLight,
  this.trashIconColor = SdkColors.iconWithBackdropColorLight,
  this.currencyIconColor = SdkColors.priceColorLight,
  this.numericControlIconColor = SdkColors.messageControlIconColorLight,
  this.imagePlaceholderIconColor = SdkColors.messageControlIconColorLight,
  this.imagePlaceholderBackgroundColor = SdkColors.imagePlaceHolderColorLight,
  this.productPriceBackgroundColor = SdkColors.discountBackgroundColorLight,
  this.pricePerSubunitColor = SdkColors.productCardSubtitleColorLight,
  this.pickerButtonBorderColor = SdkColors.pickerButtonBorderColor,
  this.quickReplyColor = SdkColors.userMessageColorLight,
  this.quickReplyBorderColor = SdkColors.quickReplyBorderColor,

  // Text Styles
  this.quickReplyStyle = const TextStyle(
    color: SdkColors.userMessageTextColorLight,
  ),
  this.userMessageTextStyle = const TextStyle(
    color: SdkColors.userMessageTextColorLight,
  ),
  this.assistantMessageTextStyle = const TextStyle(
    color: SdkColors.assistantMessageTextColorLight,
    fontSize: SdkConstants.titleFontSize,
  ),
  this.modalHeaderStyle = const TextStyle(
    color: SdkColors.modalHeaderColorLight,
    fontSize: SdkConstants.titleFontSize,
    fontWeight: FontWeight.bold,
  ),
  this.hintTextStyle = const TextStyle(color: SdkColors.hintColorLight),
  this.timerTextStyle = const TextStyle(color: SdkColors.timerColoLight),
  this.productTitleStyle = const TextStyle(
    color: SdkColors.assistantMessageTextColorLight,
    fontSize: SdkConstants.cardTitleFontSize,
    fontWeight: FontWeight.bold,
  ),
  this.productSubunitsStyle = const TextStyle(
    color: SdkColors.productCardSubtitleColorLight,
    fontSize: SdkConstants.cardSubtitleFontSize,
  ),
  this.productPriceStyle = const TextStyle(
    color: SdkColors.priceColorLight,
    fontWeight: FontWeight.bold,
  ),
  this.productSalePriceStrikeStyle = const TextStyle(
    color: SdkColors.discountStrikeColorLight,
    decoration: TextDecoration.lineThrough,
  ),
  this.pricePerSubunitStyle = const TextStyle(
    color: SdkColors.pricePerUnitColorLight,
  ),
  this.expandControlsStyle = const TextStyle(
    color: SdkColors.expandControlColorLight,
  ),

  // Icons
  this.chatIconImage,
  this.sendButtonIcon = Icons.send_outlined,
  this.recordAudioIcon = Icons.mic_none,
  this.shopIcon = Icons.storefront,
  this.cartIcon = Icons.shopping_cart_outlined,
  this.cancelRecordingIcon = Icons.close,
  this.closeModalIcon = Icons.close,
  this.playAudioIcon = Icons.play_arrow_rounded,
  this.pauseAudioIcon = Icons.pause_rounded,
  this.attachIcon = Icons.add,
  this.cameraIcon = Icons.photo_camera,
  this.galleryIcon = Icons.insert_photo,
  this.trashIcon = Icons.delete_outline,
  this.imagePlaceHolderIcon = Icons.image,
  this.currencyIcon = Icons.toll,
  this.addIcon = Icons.add,
  this.removeIcon = Icons.remove,
});