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. Color ctaButtonColor = SdkColors.ctaButtonBackgroundColorLight,
  31. Color ctaButtonBorderColor = SdkColors.ctaButtonBorderColorLight,
  32. Color ctaButtonForegroundColor = SdkColors.ctaButtonForegroundColorLight,
  33. Color buttonsMessageButtonColor = SdkColors.buttonsMessageButtonBackgroundColorLight,
  34. Color buttonsMessageButtonBorderColor = SdkColors.buttonsMessageButtonBorderColorLight,
  35. Color buttonsMessageButtonForegroundColor = SdkColors.buttonsMessageButtonForegroundColorLight,
  36. Color messageFooterColor = SdkColors.messageFooterColorLight,
  37. TextStyle quickReplyStyle = const TextStyle(color: SdkColors.userMessageTextColorLight),
  38. TextStyle userMessageTextStyle = const TextStyle(color: SdkColors.userMessageTextColorLight),
  39. TextStyle assistantMessageTextStyle = const TextStyle(color: SdkColors.assistantMessageTextColorLight, fontSize: SdkConstants.titleFontSize),
  40. TextStyle modalHeaderStyle = const TextStyle(color: SdkColors.modalHeaderColorLight, fontSize: SdkConstants.titleFontSize, fontWeight: FontWeight.bold),
  41. TextStyle hintTextStyle = const TextStyle(color: SdkColors.hintColorLight),
  42. TextStyle timerTextStyle = const TextStyle(color: SdkColors.timerColoLight),
  43. TextStyle productTitleStyle = const TextStyle(color: SdkColors.assistantMessageTextColorLight, fontSize: SdkConstants.cardTitleFontSize, fontWeight: FontWeight.bold),
  44. TextStyle productSubunitsStyle = const TextStyle(color: SdkColors.productCardSubtitleColorLight, fontSize: SdkConstants.cardSubtitleFontSize),
  45. TextStyle productPriceStyle = const TextStyle(color: SdkColors.priceColorLight, fontWeight: FontWeight.bold),
  46. TextStyle productSalePriceStrikeStyle = const TextStyle(color: SdkColors.discountStrikeColorLight, decoration: TextDecoration.lineThrough),
  47. TextStyle pricePerSubunitStyle = const TextStyle(color: SdkColors.pricePerUnitColorLight),
  48. TextStyle expandControlsStyle = const TextStyle(color: SdkColors.expandControlColorLight),
  49. TextStyle messageHeaderStyle = const TextStyle(color: SdkColors.assistantMessageTextColorLight, fontWeight: FontWeight.bold),
  50. TextStyle messageFooterStyle = const TextStyle(color: SdkColors.messageFooterColorLight, fontSize: SdkConstants.statusFontSize),
  51. TextStyle ctaButtonTextStyle = const TextStyle(color: SdkColors.ctaButtonForegroundColorLight),
  52. TextStyle buttonsMessageButtonTextStyle = const TextStyle(color: SdkColors.buttonsMessageButtonForegroundColorLight),
  53. ImageProvider<Object>? chatIconImage,
  54. IconData sendButtonIcon = Icons.send_outlined,
  55. IconData recordAudioIcon = Icons.mic_none,
  56. IconData shopIcon = Icons.storefront,
  57. IconData cartIcon = Icons.shopping_cart_outlined,
  58. IconData cancelRecordingIcon = Icons.close,
  59. IconData closeModalIcon = Icons.close,
  60. IconData playAudioIcon = Icons.play_arrow_rounded,
  61. IconData pauseAudioIcon = Icons.pause_rounded,
  62. IconData attachIcon = Icons.add,
  63. IconData cameraIcon = Icons.photo_camera,
  64. IconData galleryIcon = Icons.insert_photo,
  65. IconData trashIcon = Icons.delete_outline,
  66. IconData imagePlaceHolderIcon = Icons.image,
  67. IconData currencyIcon = Icons.toll,
  68. IconData addIcon = Icons.add,
  69. IconData removeIcon = Icons.remove,
  70. IconData ctaArrowForwardIcon = Icons.arrow_forward,
})

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,
  this.ctaButtonColor = SdkColors.ctaButtonBackgroundColorLight,
  this.ctaButtonBorderColor = SdkColors.ctaButtonBorderColorLight,
  this.ctaButtonForegroundColor = SdkColors.ctaButtonForegroundColorLight,
  this.buttonsMessageButtonColor =
      SdkColors.buttonsMessageButtonBackgroundColorLight,
  this.buttonsMessageButtonBorderColor =
      SdkColors.buttonsMessageButtonBorderColorLight,
  this.buttonsMessageButtonForegroundColor =
      SdkColors.buttonsMessageButtonForegroundColorLight,
  this.messageFooterColor = SdkColors.messageFooterColorLight,

  // 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,
  ),
  this.messageHeaderStyle = const TextStyle(
    color: SdkColors.assistantMessageTextColorLight,
    fontWeight: FontWeight.bold,
  ),
  this.messageFooterStyle = const TextStyle(
    color: SdkColors.messageFooterColorLight,
    fontSize: SdkConstants.statusFontSize,
  ),
  this.ctaButtonTextStyle = const TextStyle(
    color: SdkColors.ctaButtonForegroundColorLight,
  ),
  this.buttonsMessageButtonTextStyle = const TextStyle(
    color: SdkColors.buttonsMessageButtonForegroundColorLight,
  ),

  // 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,
  this.ctaArrowForwardIcon = Icons.arrow_forward,
});