431 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			431 lines
		
	
	
	
		
			12 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
/*
 | 
						|
This file is part of Telegram Desktop,
 | 
						|
the official desktop application for the Telegram messaging service.
 | 
						|
 | 
						|
For license and copyright information please follow this link:
 | 
						|
https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
 | 
						|
*/
 | 
						|
using "ui/basic.style";
 | 
						|
 | 
						|
using "boxes/boxes.style";
 | 
						|
using "ui/layers/layers.style";
 | 
						|
using "ui/widgets/widgets.style";
 | 
						|
 | 
						|
TabbedSearch {
 | 
						|
	outer: color;
 | 
						|
	bg: color;
 | 
						|
	fg: color;
 | 
						|
	fgActive: color;
 | 
						|
	fadeLeft: icon;
 | 
						|
	fadeRight: icon;
 | 
						|
	field: InputField;
 | 
						|
	search: IconButton;
 | 
						|
	back: IconButton;
 | 
						|
	cancel: CrossButton;
 | 
						|
	defaultFieldWidth: pixels;
 | 
						|
	groupWidth: pixels;
 | 
						|
	groupSkip: pixels;
 | 
						|
	height: pixels;
 | 
						|
}
 | 
						|
 | 
						|
EmojiPan {
 | 
						|
	margin: margins;
 | 
						|
	padding: margins;
 | 
						|
	desiredSize: pixels;
 | 
						|
	verticalSizeSub: pixels;
 | 
						|
	header: pixels;
 | 
						|
	headerLeft: pixels;
 | 
						|
	headerLockLeft: pixels;
 | 
						|
	headerLockedLeft: pixels;
 | 
						|
	headerTop: pixels;
 | 
						|
	footer: pixels;
 | 
						|
	iconSkip: pixels;
 | 
						|
	iconWidth: pixels;
 | 
						|
	iconArea: pixels;
 | 
						|
	bg: color;
 | 
						|
	overBg: color;
 | 
						|
	categoriesBg: color;
 | 
						|
	fadeLeft: icon;
 | 
						|
	fadeRight: icon;
 | 
						|
	search: TabbedSearch;
 | 
						|
	searchMargin: margins;
 | 
						|
}
 | 
						|
 | 
						|
switchPmButton: RoundButton(defaultBoxButton) {
 | 
						|
	width: 320px;
 | 
						|
	height: 34px;
 | 
						|
	textTop: 7px;
 | 
						|
}
 | 
						|
stickersRestrictedLabel: FlatLabel(defaultFlatLabel) {
 | 
						|
	minWidth: 200px;
 | 
						|
	align: align(center);
 | 
						|
	textFg: noContactsColor;
 | 
						|
}
 | 
						|
 | 
						|
stickersTrendingHeader: 56px;
 | 
						|
stickersTrendingSkip: 4px;
 | 
						|
 | 
						|
stickersTrendingHeaderFont: semiboldFont;
 | 
						|
stickersTrendingHeaderFg: windowFg;
 | 
						|
stickersTrendingHeaderTop: 11px;
 | 
						|
stickersTrendingSubheaderFont: normalFont;
 | 
						|
stickersTrendingSubheaderFg: windowSubTextFg;
 | 
						|
stickersTrendingSubheaderTop: 31px;
 | 
						|
 | 
						|
emojiPanButtonRight: 7px;
 | 
						|
emojiPanButtonTop: 8px;
 | 
						|
emojiPanButton: RoundButton(defaultActiveButton) {
 | 
						|
	width: -24px;
 | 
						|
	height: 23px;
 | 
						|
	textTop: 2px;
 | 
						|
}
 | 
						|
emojiPanExpand: RoundButton(defaultActiveButton) {
 | 
						|
	font: font(12px bold);
 | 
						|
	width: -8px;
 | 
						|
	height: 19px;
 | 
						|
	textTop: 1px;
 | 
						|
}
 | 
						|
 | 
						|
stickersTrendingAddTop: 14px;
 | 
						|
stickersTrendingAdd: RoundButton(defaultActiveButton) {
 | 
						|
	width: -16px;
 | 
						|
	height: 26px;
 | 
						|
	textTop: 4px;
 | 
						|
}
 | 
						|
stickersRemove: IconButton(defaultIconButton) {
 | 
						|
	width: 40px;
 | 
						|
	height: 40px;
 | 
						|
 | 
						|
	icon: icon {{ "info/info_media_delete", menuIconFg }};
 | 
						|
	iconOver: icon {{ "info/info_media_delete", menuIconFgOver }};
 | 
						|
 | 
						|
	rippleAreaSize: 40px;
 | 
						|
	rippleAreaPosition: point(0px, 0px);
 | 
						|
	ripple: RippleAnimation(defaultRippleAnimation) {
 | 
						|
		color: windowBgOver;
 | 
						|
	}
 | 
						|
}
 | 
						|
stickersUndoRemove: RoundButton(defaultLightButton) {
 | 
						|
	width: -16px;
 | 
						|
	height: 26px;
 | 
						|
	textTop: 4px;
 | 
						|
}
 | 
						|
stickersRemoveSkip: 4px;
 | 
						|
stickersReorderIcon: icon {{ "stickers_reorder", menuIconFg }};
 | 
						|
stickersReorderSkip: 13px;
 | 
						|
 | 
						|
stickersTabs: defaultTabsSlider;
 | 
						|
 | 
						|
stickerEmojiSkip: 5px;
 | 
						|
 | 
						|
stickersFeaturedBadgeFont: font(12px bold);
 | 
						|
stickersFeaturedBadgeSize: 15px;
 | 
						|
stickersFeaturedBadgeTextTop: -1px;
 | 
						|
stickersFeaturedBadgePadding: 4px;
 | 
						|
stickersFeaturedBadgeSkip: 4px;
 | 
						|
stickersFeaturedBadgeTop: 9px;
 | 
						|
stickersFeaturedPen: lightButtonFg;
 | 
						|
stickersFeaturedUnreadBg: msgFileInBg;
 | 
						|
stickersFeaturedUnreadSize: 5px;
 | 
						|
stickersFeaturedUnreadSkip: 5px;
 | 
						|
stickersFeaturedUnreadTop: 7px;
 | 
						|
stickersFeaturedInstalled: icon {{ "chat/input_save", lightButtonFg }};
 | 
						|
 | 
						|
stickersMaxHeight: 320px;
 | 
						|
stickersPadding: margins(19px, 13px, 19px, 13px);
 | 
						|
stickersSize: size(64px, 64px);
 | 
						|
emojiSetPadding: margins(12px, 0px, 12px, 0px);
 | 
						|
emojiSetMaxHeight: 197px;
 | 
						|
emojiSetSize: size(42px, 39px);
 | 
						|
stickersScroll: ScrollArea(boxScroll) {
 | 
						|
	deltat: 19px;
 | 
						|
	deltab: 9px;
 | 
						|
}
 | 
						|
stickersReorderPadding: margins(0px, 12px, 0px, 12px);
 | 
						|
stickersReorderFg: windowSubTextFg;
 | 
						|
stickersRowDisabledOpacity: 0.4;
 | 
						|
stickersRowDuration: 200;
 | 
						|
 | 
						|
stickersSettings: icon {{ "emoji/emoji_settings", emojiIconFg }};
 | 
						|
stickersTrending: icon {{ "emoji/stickers_add", emojiIconFg }};
 | 
						|
stickersTrendingUnread: icon {
 | 
						|
	{ "emoji/stickers_add_unread", emojiIconFg },
 | 
						|
	{ "emoji/stickers_add_dot", dialogsUnreadBg }
 | 
						|
};
 | 
						|
stickersRecent: icon {{ "emoji/emoji_recent", emojiIconFg }};
 | 
						|
emojiStatusDefault: icon {{ "emoji/stickers_premium", emojiIconFg }};
 | 
						|
 | 
						|
stickersSettingsUnreadSize: 6px;
 | 
						|
stickersSettingsUnreadPosition: point(6px, 10px);
 | 
						|
 | 
						|
filtersRemove: IconButton(stickersRemove) {
 | 
						|
	ripple: defaultRippleAnimation;
 | 
						|
}
 | 
						|
 | 
						|
emojiPanMargins: margins(10px, 10px, 10px, 10px);
 | 
						|
 | 
						|
emojiTabs: SettingsSlider(defaultTabsSlider) {
 | 
						|
	height: 43px;
 | 
						|
	barTop: 40px;
 | 
						|
	labelTop: 12px;
 | 
						|
}
 | 
						|
emojiRecent: icon {{ "emoji/emoji_recent", emojiIconFg }};
 | 
						|
emojiRecentActive: icon {{ "emoji/emoji_recent", emojiSubIconFgActive }};
 | 
						|
emojiPeople: icon {{ "emoji/emoji_smile", emojiIconFg }};
 | 
						|
emojiPeopleActive: icon {{ "emoji/emoji_smile", emojiSubIconFgActive }};
 | 
						|
emojiNature: icon {{ "emoji/emoji_nature", emojiIconFg }};
 | 
						|
emojiNatureActive: icon {{ "emoji/emoji_nature", emojiSubIconFgActive }};
 | 
						|
emojiFood: icon {{ "emoji/emoji_food", emojiIconFg }};
 | 
						|
emojiFoodActive: icon {{ "emoji/emoji_food", emojiSubIconFgActive }};
 | 
						|
emojiActivity: icon {{ "emoji/emoji_activities", emojiIconFg }};
 | 
						|
emojiActivityActive: icon {{ "emoji/emoji_activities", emojiSubIconFgActive }};
 | 
						|
emojiTravel: icon {{ "emoji/emoji_travel", emojiIconFg }};
 | 
						|
emojiTravelActive: icon {{ "emoji/emoji_travel", emojiSubIconFgActive }};
 | 
						|
emojiObjects: icon {{ "emoji/emoji_objects", emojiIconFg }};
 | 
						|
emojiObjectsActive: icon {{ "emoji/emoji_objects", emojiSubIconFgActive }};
 | 
						|
emojiSymbols: icon {{ "emoji/emoji_love", emojiIconFg }};
 | 
						|
emojiSymbolsActive: icon {{ "emoji/emoji_love", emojiSubIconFgActive }};
 | 
						|
 | 
						|
emojiCategoryIconTop: 6px;
 | 
						|
emojiPanAnimation: PanelAnimation(defaultPanelAnimation) {
 | 
						|
	fadeBg: emojiPanBg;
 | 
						|
	shadow: boxRoundShadow;
 | 
						|
}
 | 
						|
emojiPanPadding: 12px;
 | 
						|
emojiPanWidth: 345px;
 | 
						|
emojiPanMinHeight: 278px;
 | 
						|
emojiPanMaxHeight: 640px;
 | 
						|
emojiPanHeightRatio: 0.75;
 | 
						|
emojiPanShowDuration: 200;
 | 
						|
emojiPanDuration: 200;
 | 
						|
emojiPanHover: windowBgOver;
 | 
						|
emojiPanSlideDuration: 200;
 | 
						|
emojiPanArea: size(34px, 32px);
 | 
						|
emojiPanLeft: 13px;
 | 
						|
emojiPanRight: 17px;
 | 
						|
emojiPanRadius: 8px;
 | 
						|
 | 
						|
defaultTabbedSearch: TabbedSearch {
 | 
						|
	outer: emojiPanBg;
 | 
						|
	bg: emojiPanCategories;
 | 
						|
	fg: emojiIconFg;
 | 
						|
	fgActive: emojiSubIconFgActive;
 | 
						|
	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
 | 
						|
	fadeRight: icon {{ "fade_horizontal", emojiPanCategories }};
 | 
						|
	field: InputField(defaultMultiSelectSearchField) {
 | 
						|
		textMargins: margins(2px, 7px, 2px, 0px);
 | 
						|
	}
 | 
						|
	search: IconButton(defaultIconButton) {
 | 
						|
		width: 33px;
 | 
						|
		height: 33px;
 | 
						|
		icon: icon{{ "emoji/emoji_search_input", emojiIconFg }};
 | 
						|
		iconOver: icon{{ "emoji/emoji_search_input", emojiIconFg }};
 | 
						|
		iconPosition: point(7px, -1px);
 | 
						|
		ripple: emptyRippleAnimation;
 | 
						|
	}
 | 
						|
	back: IconButton(defaultIconButton) {
 | 
						|
		width: 33px;
 | 
						|
		height: 33px;
 | 
						|
		icon: icon{{ "emoji/emoji_back", menuIconFg }};
 | 
						|
		iconOver: icon{{ "emoji/emoji_back", menuIconFg }};
 | 
						|
		iconPosition: point(7px, -1px);
 | 
						|
		ripple: emptyRippleAnimation;
 | 
						|
	}
 | 
						|
	cancel: CrossButton {
 | 
						|
		width: 33px;
 | 
						|
		height: 33px;
 | 
						|
 | 
						|
		cross: CrossAnimation {
 | 
						|
			size: 27px;
 | 
						|
			skip: 8px;
 | 
						|
			stroke: 1.;
 | 
						|
			minScale: 0.3;
 | 
						|
		}
 | 
						|
		crossFg: menuIconFg;
 | 
						|
		crossFgOver: menuIconFg;
 | 
						|
		crossPosition: point(1px, 3px);
 | 
						|
 | 
						|
		duration: 150;
 | 
						|
		loadingPeriod: 1000;
 | 
						|
		ripple: emptyRippleAnimation;
 | 
						|
	}
 | 
						|
	defaultFieldWidth: 103px;
 | 
						|
	groupWidth: 30px;
 | 
						|
	groupSkip: 2px;
 | 
						|
	height: 33px;
 | 
						|
}
 | 
						|
defaultEmojiPan: EmojiPan {
 | 
						|
	margin: margins(7px, 0px, 7px, 0px);
 | 
						|
	padding: margins(7px, 0px, 4px, 7px);
 | 
						|
	desiredSize: 37px;
 | 
						|
	verticalSizeSub: 1px;
 | 
						|
	header: 33px;
 | 
						|
	headerLeft: 14px;
 | 
						|
	headerLockLeft: 7px;
 | 
						|
	headerLockedLeft: 26px;
 | 
						|
	headerTop: 10px;
 | 
						|
	footer: 36px;
 | 
						|
	iconSkip: 3px;
 | 
						|
	iconWidth: 30px;
 | 
						|
	iconArea: 28px;
 | 
						|
	bg: emojiPanBg;
 | 
						|
	overBg: emojiPanHover;
 | 
						|
	categoriesBg: emojiPanCategories;
 | 
						|
	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
 | 
						|
	fadeRight: icon {{ "fade_horizontal", emojiPanCategories }};
 | 
						|
	search: defaultTabbedSearch;
 | 
						|
	searchMargin: margins(1px, 11px, 2px, 5px);
 | 
						|
}
 | 
						|
statusEmojiPan: EmojiPan(defaultEmojiPan) {
 | 
						|
	categoriesBg: windowBg;
 | 
						|
	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", windowBg }};
 | 
						|
	fadeRight: icon {{ "fade_horizontal", windowBg }};
 | 
						|
}
 | 
						|
 | 
						|
inlineResultsMinHeight: 278px;
 | 
						|
inlineResultsMaxHeight: 640px;
 | 
						|
 | 
						|
emojiPanHeaderFont: semiboldFont;
 | 
						|
emojiPanRemoveSkip: 10px;
 | 
						|
emojiPanRemoveTop: 10px;
 | 
						|
 | 
						|
emojiColorsPadding: 5px;
 | 
						|
emojiColorsSep: 1px;
 | 
						|
emojiColorsSepColor: shadowFg;
 | 
						|
 | 
						|
emojiIconSelectSkip: 3px;
 | 
						|
emojiPremiumRequired: icon{{ "emoji/premium_lock", windowSubTextFg }};
 | 
						|
 | 
						|
hashtagClose: IconButton {
 | 
						|
	width: 30px;
 | 
						|
	height: 30px;
 | 
						|
 | 
						|
	icon: smallCloseIcon;
 | 
						|
	iconOver: smallCloseIconOver;
 | 
						|
	iconPosition: point(10px, 10px);
 | 
						|
 | 
						|
	rippleAreaPosition: point(5px, 5px);
 | 
						|
	rippleAreaSize: 20px;
 | 
						|
	ripple: RippleAnimation(defaultRippleAnimation) {
 | 
						|
		color: windowBgOver;
 | 
						|
	}
 | 
						|
}
 | 
						|
 | 
						|
stickerPanWidthMin: 64px;
 | 
						|
stickerPanSize: size(stickerPanWidthMin, stickerPanWidthMin);
 | 
						|
stickerPanPadding: 11px;
 | 
						|
stickerPanDeleteIconBg: icon {{ "emoji/emoji_delete_bg", stickerPanDeleteBg }};
 | 
						|
stickerPanDeleteIconFg: icon {{ "emoji/emoji_delete", stickerPanDeleteFg }};
 | 
						|
stickerPanDeleteOpacityBg: 0.3;
 | 
						|
stickerPanDeleteOpacityBgOver: 0.5;
 | 
						|
stickerPanDeleteOpacityFg: 0.8;
 | 
						|
stickerPanDeleteOpacityFgOver: 1.;
 | 
						|
stickerPanRemoveSet: IconButton(hashtagClose) {
 | 
						|
	width: 20px;
 | 
						|
	height: 20px;
 | 
						|
	iconPosition: point(-1px, -1px);
 | 
						|
	rippleAreaPosition: point(0px, 0px);
 | 
						|
}
 | 
						|
stickerIconMove: 400;
 | 
						|
stickerPreviewDuration: 150;
 | 
						|
stickerPreviewMin: 0.1;
 | 
						|
 | 
						|
stickerGroupCategorySize: 28px;
 | 
						|
stickerGroupCategoryAbout: defaultTextStyle;
 | 
						|
stickerGroupCategoryAddMargin: margins(0px, 10px, 0px, 5px);
 | 
						|
stickerGroupCategoryAdd: stickersTrendingAdd;
 | 
						|
 | 
						|
stickersToast: Toast(defaultToast) {
 | 
						|
	minWidth: 340px;
 | 
						|
	maxWidth: 340px;
 | 
						|
	padding: margins(16px, 13px, 16px, 12px);
 | 
						|
}
 | 
						|
 | 
						|
stickersEmpty: icon {{ "stickers_empty", windowSubTextFg }};
 | 
						|
 | 
						|
inlineBotsScroll: ScrollArea(defaultSolidScroll) {
 | 
						|
	deltat: stickerPanPadding;
 | 
						|
	deltab: stickerPanPadding;
 | 
						|
}
 | 
						|
 | 
						|
gifsPadding: margins(9px, 5px, 3px, 9px);
 | 
						|
 | 
						|
emojiSuggestionsDropdown: InnerDropdown(defaultInnerDropdown) {
 | 
						|
	scrollMargin: margins(0px, emojiColorsPadding, 0px, emojiColorsPadding);
 | 
						|
	scrollPadding: margins(0px, 0px, 0px, 0px);
 | 
						|
}
 | 
						|
emojiSuggestionSize: 40px;
 | 
						|
emojiSuggestionsScrolledWidth: 240px;
 | 
						|
emojiSuggestionsPadding: margins(emojiColorsPadding, 0px, emojiColorsPadding, 0px);
 | 
						|
emojiSuggestionsFadeAfter: 20px;
 | 
						|
 | 
						|
mentionHeight: 40px;
 | 
						|
mentionPadding: margins(8px, 5px, 8px, 5px);
 | 
						|
mentionTop: 11px;
 | 
						|
mentionFont: linkFont;
 | 
						|
mentionNameFg: windowFg;
 | 
						|
mentionNameFgOver: windowFgOver;
 | 
						|
mentionPhotoSize: 33px;
 | 
						|
mentionBg: windowBg;
 | 
						|
mentionBgOver: windowBgOver;
 | 
						|
mentionFg: windowSubTextFg;
 | 
						|
mentionFgOver: windowSubTextFgOver;
 | 
						|
mentionFgActive: windowActiveTextFg;
 | 
						|
mentionFgOverActive: windowActiveTextFg;
 | 
						|
 | 
						|
autocompleteSearchPadding: margins(16px, 5px, 16px, 5px);
 | 
						|
autocompleteRowPadding: margins(16px, 5px, 16px, 5px);
 | 
						|
autocompleteRowTitle: semiboldTextStyle;
 | 
						|
autocompleteRowKeys: defaultTextStyle;
 | 
						|
autocompleteRowAnswer: defaultTextStyle;
 | 
						|
 | 
						|
manageEmojiPreview: 22px;
 | 
						|
manageEmojiPreviewWidth: 48px;
 | 
						|
manageEmojiPreviewHeight: 48px;
 | 
						|
manageEmojiPreviewPadding: margins(22px, 9px, 19px, 9px);
 | 
						|
manageEmojiMarginRight: 21px;
 | 
						|
manageEmojiNameTop: 3px;
 | 
						|
manageEmojiStatusTop: 25px;
 | 
						|
 | 
						|
inlineRadialSize: 44px;
 | 
						|
inlineFileSize: 44px;
 | 
						|
 | 
						|
stickersPremiumLock: icon{{ "emoji/premium_lock", premiumButtonFg }};
 | 
						|
 | 
						|
reactStripExtend: margins(21px, 49px, 39px, 0px);
 | 
						|
reactStripHeight: 40px;
 | 
						|
reactStripSize: 32px;
 | 
						|
reactStripMinWidth: 60px;
 | 
						|
reactStripImage: 26px;
 | 
						|
reactStripSkip: 7px;
 | 
						|
reactStripBubble: icon{
 | 
						|
	{ "chat/reactions_bubble_shadow", windowShadowFg },
 | 
						|
	{ "chat/reactions_bubble", windowBg },
 | 
						|
};
 | 
						|
reactStripBubbleRight: 20px;
 | 
						|
reactPanelEmojiPan: EmojiPan(statusEmojiPan) {
 | 
						|
	margin: margins(reactStripSkip, 0px, reactStripSkip, 0px);
 | 
						|
	padding: margins(reactStripSkip, 0px, reactStripSkip, reactStripSkip);
 | 
						|
	desiredSize: reactStripSize;
 | 
						|
	verticalSizeSub: 0px;
 | 
						|
	overBg: transparent;
 | 
						|
	search: TabbedSearch(defaultTabbedSearch) {
 | 
						|
		defaultFieldWidth: 88px;
 | 
						|
	}
 | 
						|
	searchMargin: margins(1px, 10px, 2px, 6px);
 | 
						|
}
 | 
						|
emojiScroll: ScrollArea(defaultSolidScroll) {
 | 
						|
	deltat: 3px;
 | 
						|
	deltab: 3px;
 | 
						|
	round: -1px;
 | 
						|
	width: 7px;
 | 
						|
	deltax: 2px;
 | 
						|
	hiding: 0;
 | 
						|
}
 | 
						|
reactPanelScroll: ScrollArea(emojiScroll) {
 | 
						|
	deltab: 7px;
 | 
						|
}
 | 
						|
 | 
						|
emojiSuggestionsFadeLeft: icon {{ "fade_horizontal-flip_horizontal", boxBg }};
 | 
						|
emojiSuggestionsFadeRight: icon {{ "fade_horizontal", boxBg }};
 | 
						|
 |