5#include "Common/Html/HtmlElementStyle.h"
6#include "Components/Widget.h"
7#include "CoreMinimal.h"
8#include "Engine/DataAsset.h"
10#include "ThemeDataAsset.generated.h"
16class STREAMCHATUI_API UThemeDataAsset final : public UDataAsset
21 UFUNCTION(BlueprintPure, Category = "Theme")
22 const FLinearColor& GetPaletteColor(const FName& Name) const;
24 static UThemeDataAsset* Get(const UWidget* Widget);
26 UPROPERTY(EditAnywhere, Category = "User")
30 UPROPERTY(EditAnywhere, Category = Colors)
31 TMap<FName, FLinearColor> Palette;
34 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Avatar")
35 FName NamedAvatarTextColor = TEXT("text-high-emphasis");
38 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Bubble")
39 FName MeBubbleColor = TEXT("borders");
41 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Bubble")
42 FName YouBubbleColor = TEXT("bars-bg");
44 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Bubble")
45 FName DeletedBubbleColor = TEXT("input-bg");
47 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Bubble")
48 FName DeletedMessageTextColor = TEXT("text-low-emphasis");
50 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Styles|Message Bubble")
51 FHtmlElementStyles BubbleHtmlStyles;
54 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Attachment")
55 FName MeAttachmentRowColor = TEXT("borders");
57 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Attachment")
58 FName YouAttachmentRowColor = TEXT("bars-bg");
60 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Attachment")
61 FName AttachmentTitleTextColor = TEXT("text-high-emphasis");
63 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Attachment")
64 FName AttachmentSubtitleTextColor = TEXT("text-low-emphasis");
66 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Attachment")
67 FName AttachmentImagePlaceholderColor = TEXT("input-bg");
70 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Thread")
71 FName ThreadFooterTextColor = TEXT("accent-primary");
74 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Moderation")
75 FName ModerationWarningTextColor = TEXT("accent-error");
78 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Composer")
79 FName MessageComposerBackgroundColor = TEXT("bars-bg");
81 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Composer")
82 FName MessageComposerBorderColor = TEXT("borders");
84 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Composer")
85 FName MessageComposerHeaderTextColor = TEXT("text-high-emphasis");
87 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Composer")
88 FName MessageComposerAttachIconColor = TEXT("text-low-emphasis");
90 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Composer")
91 FName MessageComposerAttachStatusTextColor = TEXT("text-low-emphasis");
94 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Input")
95 FName MessageInputTextColor = TEXT("text-high-emphasis");
97 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Input")
98 FName MessageInputBackgroundColor = TEXT("app-bg");
100 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Message Input")
101 FName MessageInputBorderColor = TEXT("borders");
104 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Back Button")
105 FName BackButtonSelectedColor = TEXT("input-bg");
108 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Timestamp")
109 FName TimestampTextColor = TEXT("text-low-emphasis");
112 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
113 FName ContextMenuBorderColor = TEXT("borders");
115 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
116 FName ContextMenuDefaultButtonColor = TEXT("bars-bg");
118 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
119 FName ContextMenuPressedButtonColor = TEXT("input-bg");
121 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
122 FName ContextMenuDefaultTextColor = TEXT("text-high-emphasis");
124 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
125 FName ContextMenuNegativeTextColor = TEXT("accent-error");
127 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
128 FName ContextMenuDefaultIconColor = TEXT("text-low-emphasis");
130 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Context Menu")
131 FName ContextMenuNegativeIconColor = TEXT("accent-error");
134 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Reaction Picker")
135 FName ReactionPickerBackgroundColor = TEXT("bars-bg");
137 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Reaction Picker")
138 FName ReactionPickerSelectedColor = TEXT("input-bg");
141 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Bottom Reactions")
142 FName MeBottomReactionColor = TEXT("borders");
144 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Bottom Reactions")
145 FName YouBottomReactionColor = TEXT("bars-bg");
147 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Bottom Reactions")
148 FName BottomReactionBorderColor = TEXT("borders");
150 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Bottom Reactions")
151 FName BottomReactionTextColor = TEXT("text-high-emphasis");
154 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Reactions Tooltip")
155 FName ReactionsTooltipBackgroundColor = TEXT("bars-bg");
157 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Reactions Tooltip")
158 FName ReactionsTooltipIconHighlightColor = TEXT("link-bg");
161 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Header")
162 FName HeaderBackgroundColor = TEXT("bars-bg");
165 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Header")
166 FName HeaderTitleTextColor = TEXT("text-high-emphasis");
169 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Team Chat")
170 FName MessageListContainerBackgroundColor = TEXT("app-bg");
172 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Team Chat")
173 FName ChannelListContainerBackgroundColor = TEXT("input-bg");
175 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Team Chat")
176 FName TeamChatDividerColor = TEXT("borders");
179 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Channel")
180 FName ChannelHeaderDividerColor = TEXT("borders");
183 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Header")
184 FName HeaderButtonNormalBackgroundColor = TEXT("bars-bg");
186 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Header")
187 FName HeaderButtonHoveredBackgroundColor = TEXT("input-bg");
189 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Header")
190 FName HeaderButtonSelectedBackgroundColor = TEXT("borders");
192 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Channel Status")
193 FName ChannelStatusTitleTextColor = TEXT("text-high-emphasis");
195 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Channel Status")
196 FName ChannelStatusMutedTitleTextColor = TEXT("text-low-emphasis");
198 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Channel Status")
199 FName ChannelStatusRecentMessageTextColor = TEXT("text-low-emphasis");
201 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Channel Status")
202 FName ChannelStatusDividerColor = TEXT("borders");
205 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Channel List Header")
206 FName ChannelListHeaderIconColor = TEXT("text-high-emphasis");
209 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Selected Contact")
210 FName SelectedContactBackgroundColor = TEXT("borders");
213 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Selected Contacts")
214 FName SelectedContactsDividerColor = TEXT("borders");
216 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Selected Contacts")
217 FName SelectedContactsLabelTextColor = TEXT("text-low-emphasis");
219 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Selected Contacts")
220 FName SelectedContactsBackgroundColor = TEXT("bars-bg");
222 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Selected Contacts")
223 FName SelectedContactsInputTextColor = TEXT("text-high-emphasis");
226 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Section Heading")
227 FName SectionHeadingTextColor = TEXT("text-low-emphasis");
229 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Section Heading")
230 FName SectionHeadingBackgroundColor = TEXT("input-bg");
233 UPROPERTY(EditAnywhere, BlueprintReadOnly, Category = "Colors|Section Heading")
234 FName StatusSubtitleTextColor = TEXT("text-low-emphasis");