1368 lines
		
	
	
	
		
			37 KiB
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			1368 lines
		
	
	
	
		
			37 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";
 | |
| using "ui/menu_icons.style";
 | |
| using "ui/effects/premium.style";
 | |
| 
 | |
| GroupCallUserpics {
 | |
| 	size: pixels;
 | |
| 	shift: pixels;
 | |
| 	stroke: pixels;
 | |
| 	align: align;
 | |
| }
 | |
| 
 | |
| TabbedSearch {
 | |
| 	outer: color;
 | |
| 	bg: color;
 | |
| 	bgActive: 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;
 | |
| }
 | |
| 
 | |
| ComposeIcons {
 | |
| 	settings: icon;
 | |
| 
 | |
| 	recent: icon;
 | |
| 	recentActive: icon;
 | |
| 	people: icon;
 | |
| 	peopleActive: icon;
 | |
| 	nature: icon;
 | |
| 	natureActive: icon;
 | |
| 	food: icon;
 | |
| 	foodActive: icon;
 | |
| 	activity: icon;
 | |
| 	activityActive: icon;
 | |
| 	travel: icon;
 | |
| 	travelActive: icon;
 | |
| 	objects: icon;
 | |
| 	objectsActive: icon;
 | |
| 	symbols: icon;
 | |
| 	symbolsActive: icon;
 | |
| 
 | |
| 	menuFave: icon;
 | |
| 	menuUnfave: icon;
 | |
| 	menuStickerSet: icon;
 | |
| 	menuRecentRemove: icon;
 | |
| 	menuGifAdd: icon;
 | |
| 	menuGifRemove: icon;
 | |
| 	menuMute: icon;
 | |
| 	menuSchedule: icon;
 | |
| 	menuWhenOnline: icon;
 | |
| 	menuSpoiler: icon;
 | |
| 	menuSpoilerOff: icon;
 | |
| 
 | |
| 	stripBubble: icon;
 | |
| 	stripExpandPanel: icon;
 | |
| 	stripExpandDropdown: icon;
 | |
| }
 | |
| 
 | |
| EmojiSuggestions {
 | |
| 	dropdown: InnerDropdown;
 | |
| 	bg: color;
 | |
| 	overBg: color;
 | |
| 	textFg: color;
 | |
| 	fadeLeft: icon;
 | |
| 	fadeRight: icon;
 | |
| }
 | |
| 
 | |
| EmojiPan {
 | |
| 	margin: margins;
 | |
| 	padding: margins;
 | |
| 	showAnimation: PanelAnimation;
 | |
| 	desiredSize: pixels;
 | |
| 	verticalSizeSub: pixels;
 | |
| 	header: pixels;
 | |
| 	headerLeft: pixels;
 | |
| 	headerLockLeft: pixels;
 | |
| 	headerLockedLeft: pixels;
 | |
| 	headerTop: pixels;
 | |
| 	footer: pixels;
 | |
| 	iconSkip: pixels;
 | |
| 	iconWidth: pixels;
 | |
| 	iconArea: pixels;
 | |
| 	bg: color;
 | |
| 	headerFg: color;
 | |
| 	trendingHeaderFg: color;
 | |
| 	trendingSubheaderFg: color;
 | |
| 	trendingUnreadFg: color;
 | |
| 	overBg: color;
 | |
| 	pathBg: color;
 | |
| 	pathFg: color;
 | |
| 	textFg: color;
 | |
| 	categoriesBg: color;
 | |
| 	categoriesBgOver: color;
 | |
| 	fadeLeft: icon;
 | |
| 	fadeRight: icon;
 | |
| 	menu: PopupMenu;
 | |
| 	expandedSeparator: MenuSeparator;
 | |
| 	tabs: SettingsSlider;
 | |
| 	search: TabbedSearch;
 | |
| 	searchMargin: margins;
 | |
| 	colorAll: IconButton;
 | |
| 	colorAllLabel: FlatLabel;
 | |
| 	removeSet: IconButton;
 | |
| 	boxLabel: FlatLabel;
 | |
| 	icons: ComposeIcons;
 | |
| 	about: FlatLabel;
 | |
| 	aboutPadding: margins;
 | |
| 	autocompleteBottomSkip: pixels;
 | |
| }
 | |
| 
 | |
| MessageBar {
 | |
| 	title: TextStyle;
 | |
| 	titleFg: color;
 | |
| 	text: TextStyle;
 | |
| 	textFg: color;
 | |
| 	textPalette: TextPalette;
 | |
| 	duration: int;
 | |
| }
 | |
| 
 | |
| EmojiButton {
 | |
| 	inner: IconButton;
 | |
| 	bg: color;
 | |
| 	lineFg: color;
 | |
| 	lineFgOver: color;
 | |
| }
 | |
| 
 | |
| SendButton {
 | |
| 	inner: IconButton;
 | |
| 	record: icon;
 | |
| 	recordOver: icon;
 | |
| 	sendDisabledFg: color;
 | |
| }
 | |
| 
 | |
| RecordBarLock {
 | |
| 	ripple: RippleAnimation;
 | |
| 	originTop: icon;
 | |
| 	originBottom: icon;
 | |
| 	originBody: icon;
 | |
| 	shadowTop: icon;
 | |
| 	shadowBottom: icon;
 | |
| 	shadowBody: icon;
 | |
| 	arrow: icon;
 | |
| 	fg: color;
 | |
| }
 | |
| 
 | |
| RecordBar {
 | |
| 	radius: pixels;
 | |
| 	bg: color;
 | |
| 	durationFg: color;
 | |
| 	cancel: color;
 | |
| 	cancelActive: color;
 | |
| 	cancelRipple: RippleAnimation;
 | |
| 	lock: RecordBarLock;
 | |
| 	remove: IconButton;
 | |
| }
 | |
| 
 | |
| ComposeFiles {
 | |
| 	check: Check;
 | |
| 	checkbox: Checkbox;
 | |
| 	menu: IconButton;
 | |
| 	caption: InputField;
 | |
| 	emoji: EmojiButton;
 | |
| 	confirmBg: color;
 | |
| 	buttonFile: IconButton;
 | |
| 	buttonFileEdit: icon;
 | |
| 	buttonFileDelete: icon;
 | |
| 	iconBg: color;
 | |
| 	iconPlay: icon;
 | |
| 	iconImage: icon;
 | |
| 	iconDocument: icon;
 | |
| 	nameFg: color;
 | |
| 	statusFg: color;
 | |
| }
 | |
| 
 | |
| ComposeControls {
 | |
| 	bg: color;
 | |
| 	radius: pixels;
 | |
| 
 | |
| 	field: InputField;
 | |
| 	send: SendButton;
 | |
| 	attach: IconButton;
 | |
| 	emoji: EmojiButton;
 | |
| 	like: IconButton;
 | |
| 	liked: icon;
 | |
| 	suggestions: EmojiSuggestions;
 | |
| 	tabbed: EmojiPan;
 | |
| 	tabbedHeightMin: pixels;
 | |
| 	tabbedHeightMax: pixels;
 | |
| 	record: RecordBar;
 | |
| 	files: ComposeFiles;
 | |
| 	premium: PremiumLimits;
 | |
| 	boxField: InputField;
 | |
| 	restrictionLabel: FlatLabel;
 | |
| 	premiumRequired: ComposePremiumRequired;
 | |
| }
 | |
| 
 | |
| ReportBox {
 | |
| 	button: SettingsButton;
 | |
| 	label: FlatLabel;
 | |
| 	field: InputField;
 | |
| 	spam: icon;
 | |
| 	fake: icon;
 | |
| 	violence: icon;
 | |
| 	children: icon;
 | |
| 	pornography: icon;
 | |
| 	copyright: icon;
 | |
| 	drugs: icon;
 | |
| 	personal: icon;
 | |
| 	other: icon;
 | |
| }
 | |
| 
 | |
| WhoRead {
 | |
| 	userpics: GroupCallUserpics;
 | |
| 	photoLeft: pixels;
 | |
| 	photoSize: pixels;
 | |
| 	photoSkip: pixels;
 | |
| 	nameLeft: pixels;
 | |
| 	iconPosition: point;
 | |
| 	itemPadding: margins;
 | |
| }
 | |
| 
 | |
| defaultWhoRead: WhoRead {
 | |
| 	userpics: GroupCallUserpics {
 | |
| 		size: 22px;
 | |
| 		shift: 8px;
 | |
| 		stroke: 4px;
 | |
| 		align: align(right);
 | |
| 	}
 | |
| 	photoLeft: 13px;
 | |
| 	photoSize: 30px;
 | |
| 	photoSkip: 5px;
 | |
| 	nameLeft: 57px;
 | |
| 	iconPosition: point(15px, 7px);
 | |
| 	itemPadding: margins(44px, 9px, 17px, 7px);
 | |
| }
 | |
| whenReadStyle: TextStyle(defaultTextStyle) {
 | |
| 	font: font(12px);
 | |
| }
 | |
| whenReadPadding: margins(34px, 3px, 17px, 4px);
 | |
| whenReadIconPosition: point(8px, 0px);
 | |
| whenReadSkip: 3px;
 | |
| whenReadShowPadding: margins(6px, 0px, 6px, 2px);
 | |
| 
 | |
| 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;
 | |
| }
 | |
| stickersTrendingInstalled: RoundButton(stickersTrendingAdd) {
 | |
| 	textFg: activeButtonBg;
 | |
| 	textFgOver: activeButtonBgOver;
 | |
| 	textBg: lightButtonBgOver;
 | |
| 	textBgOver: lightButtonBgOver;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: activeButtonSecondaryFg;
 | |
| 	}
 | |
| }
 | |
| 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: 18px;
 | |
| 
 | |
| stickersTabs: defaultTabsSlider;
 | |
| 
 | |
| stickersRowItem: PeerListItem(defaultPeerListItem) {
 | |
| 	height: 52px;
 | |
| 	photoSize: 32px;
 | |
| 	photoPosition: point(18px, 10px);
 | |
| 	namePosition: point(66px, 7px);
 | |
| 	statusPosition: point(66px, 26px);
 | |
| 	button: OutlineButton(defaultPeerListButton) {
 | |
| 		textBg: contactsBg;
 | |
| 		textBgOver: contactsBgOver;
 | |
| 		ripple: defaultRippleAnimation;
 | |
| 	}
 | |
| 	statusFg: contactsStatusFg;
 | |
| 	statusFgOver: contactsStatusFgOver;
 | |
| 	statusFgActive: contactsStatusFgOnline;
 | |
| }
 | |
| 
 | |
| stickerEmojiSkip: 5px;
 | |
| 
 | |
| stickersFeaturedBadgeFont: font(12px bold);
 | |
| stickersFeaturedBadgeSize: 15px;
 | |
| stickersFeaturedBadgeTextTop: -1px;
 | |
| stickersFeaturedBadgePadding: 4px;
 | |
| stickersFeaturedBadgeSkip: 4px;
 | |
| stickersFeaturedBadgeTop: 9px;
 | |
| stickersFeaturedUnreadBg: msgFileInBg;
 | |
| stickersFeaturedUnreadSize: 5px;
 | |
| stickersFeaturedUnreadSkip: 5px;
 | |
| stickersFeaturedUnreadTop: 7px;
 | |
| 
 | |
| 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;
 | |
| }
 | |
| stickersRowDisabledOpacity: 0.4;
 | |
| stickersRowDuration: 200;
 | |
| 
 | |
| emojiStatusDefault: icon {{ "emoji/stickers_premium", emojiIconFg }};
 | |
| 
 | |
| filtersRemove: IconButton(stickersRemove) {
 | |
| 	ripple: defaultRippleAnimation;
 | |
| }
 | |
| 
 | |
| emojiPanMargins: margins(10px, 10px, 10px, 10px);
 | |
| 
 | |
| emojiTabs: defaultTabsSlider;
 | |
| 
 | |
| emojiCategoryIconTop: 6px;
 | |
| emojiPanAnimation: PanelAnimation(defaultPanelAnimation) {
 | |
| 	fadeBg: emojiPanBg;
 | |
| 	shadow: boxRoundShadow;
 | |
| }
 | |
| emojiPanWidth: 345px;
 | |
| emojiPanMinHeight: 278px;
 | |
| emojiPanMaxHeight: 640px;
 | |
| emojiPanHeightRatio: 0.75;
 | |
| emojiPanShowDuration: 200;
 | |
| emojiPanDuration: 200;
 | |
| emojiPanHover: windowBgOver;
 | |
| emojiPanSlideDuration: 200;
 | |
| emojiPanArea: size(34px, 32px);
 | |
| emojiPanRadius: 8px;
 | |
| 
 | |
| defaultTabbedSearchCancel: 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;
 | |
| }
 | |
| defaultTabbedSearchField: InputField(defaultMultiSelectSearchField) {
 | |
| 	textMargins: margins(2px, 7px, 2px, 0px);
 | |
| }
 | |
| defaultTabbedSearchButton: 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;
 | |
| }
 | |
| defaultTabbedSearchBack: IconButton(defaultIconButton) {
 | |
| 	width: 33px;
 | |
| 	height: 33px;
 | |
| 	icon: icon{{ "emoji/emoji_back", menuIconFg }};
 | |
| 	iconOver: icon{{ "emoji/emoji_back", menuIconFg }};
 | |
| 	iconPosition: point(7px, -1px);
 | |
| 	ripple: emptyRippleAnimation;
 | |
| }
 | |
| defaultTabbedSearch: TabbedSearch {
 | |
| 	outer: emojiPanBg;
 | |
| 	bg: emojiPanHover;
 | |
| 	bgActive: windowBgRipple;
 | |
| 	fg: emojiIconFg;
 | |
| 	fgActive: emojiSubIconFgActive;
 | |
| 	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanHover }};
 | |
| 	fadeRight: icon {{ "fade_horizontal", emojiPanHover }};
 | |
| 	field: defaultTabbedSearchField;
 | |
| 	search: defaultTabbedSearchButton;
 | |
| 	back: defaultTabbedSearchBack;
 | |
| 	cancel: defaultTabbedSearchCancel;
 | |
| 	defaultFieldWidth: 103px;
 | |
| 	groupWidth: 30px;
 | |
| 	groupSkip: 2px;
 | |
| 	height: 33px;
 | |
| }
 | |
| 
 | |
| inlineResultsMinHeight: 278px;
 | |
| inlineResultsMaxHeight: 640px;
 | |
| 
 | |
| emojiPanHeaderFont: semiboldFont;
 | |
| emojiPanRemoveSkip: 10px;
 | |
| emojiPanRemoveTop: 10px;
 | |
| emojiPanColorAllSkip: 9px;
 | |
| 
 | |
| 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;
 | |
| 
 | |
| emojiPanColorAll: IconButton(stickerPanRemoveSet) {
 | |
| 	width: 24px;
 | |
| 	height: 24px;
 | |
| 	rippleAreaSize: 24px;
 | |
| 	icon: icon {{ "emoji/emoji_skin", smallCloseIconFg }};
 | |
| 	iconOver: icon {{ "emoji/emoji_skin", smallCloseIconFgOver }};
 | |
| }
 | |
| emojiPanColorAllLabel: FlatLabel(defaultFlatLabel) {
 | |
| 	textFg: windowSubTextFg;
 | |
| 	align: align(top);
 | |
| 	minWidth: 40px;
 | |
| 	style: TextStyle(defaultTextStyle) {
 | |
| 		font: font(12px);
 | |
| 	}
 | |
| }
 | |
| emojiPanColorAllPadding: margins(10px, 6px, 10px, -1px);
 | |
| 
 | |
| 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 }};
 | |
| emojiEmpty: icon {{ "emoji_empty", windowSubTextFg }};
 | |
| 
 | |
| editMediaButtonSize: 32px;
 | |
| 
 | |
| editMediaButtonIconFile: icon {{ "send_media/send_media_replace", menuIconFg }};
 | |
| editMediaButton: IconButton(defaultIconButton) {
 | |
| 	width: editMediaButtonSize;
 | |
| 	height: editMediaButtonSize;
 | |
| 
 | |
| 	icon: editMediaButtonIconFile;
 | |
| 
 | |
| 	rippleAreaSize: editMediaButtonSize;
 | |
| 	ripple: defaultRippleAnimation;
 | |
| }
 | |
| 
 | |
| sendBoxAlbumGroupEditInternalSkip: 8px;
 | |
| sendBoxAlbumGroupSkipRight: 5px;
 | |
| sendBoxAlbumGroupSkipTop: 5px;
 | |
| sendBoxAlbumGroupRadius: 4px;
 | |
| sendBoxAlbumGroupSize: size(62px, 25px);
 | |
| sendBoxAlbumGroupSizeVertical: size(30px, 50px);
 | |
| sendBoxAlbumSmallGroupSize: size(30px, 25px);
 | |
| 
 | |
| sendBoxFileGroupSkipTop: 2px;
 | |
| sendBoxFileGroupSkipRight: 5px;
 | |
| sendBoxFileGroupEditInternalSkip: -1px;
 | |
| 
 | |
| sendBoxAlbumGroupButtonFile: IconButton(editMediaButton) {
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgRipple;
 | |
| 	}
 | |
| }
 | |
| sendBoxAlbumGroupEditButtonIconFile: editMediaButtonIconFile;
 | |
| sendBoxAlbumGroupDeleteButtonIconFile: icon {{ "send_media/send_media_delete", menuIconFg }};
 | |
| 
 | |
| sendBoxAlbumButtonMediaEdit: icon {{ "send_media/send_media_replace", roundedFg }};
 | |
| sendBoxAlbumGroupButtonMediaEdit: icon {{ "send_media/send_media_replace", roundedFg, point(4px, 1px) }};
 | |
| sendBoxAlbumGroupButtonMediaDelete: icon {{ "send_media/send_media_delete", roundedFg }};
 | |
| 
 | |
| defaultComposeIcons: ComposeIcons {
 | |
| 	settings: icon {{ "emoji/emoji_settings", emojiIconFg }};
 | |
| 
 | |
| 	recent: icon {{ "emoji/emoji_recent", emojiIconFg }};
 | |
| 	recentActive: icon {{ "emoji/emoji_recent", emojiSubIconFgActive }};
 | |
| 	people: icon {{ "emoji/emoji_smile", emojiIconFg }};
 | |
| 	peopleActive: icon {{ "emoji/emoji_smile", emojiSubIconFgActive }};
 | |
| 	nature: icon {{ "emoji/emoji_nature", emojiIconFg }};
 | |
| 	natureActive: icon {{ "emoji/emoji_nature", emojiSubIconFgActive }};
 | |
| 	food: icon {{ "emoji/emoji_food", emojiIconFg }};
 | |
| 	foodActive: icon {{ "emoji/emoji_food", emojiSubIconFgActive }};
 | |
| 	activity: icon {{ "emoji/emoji_activities", emojiIconFg }};
 | |
| 	activityActive: icon {{ "emoji/emoji_activities", emojiSubIconFgActive }};
 | |
| 	travel: icon {{ "emoji/emoji_travel", emojiIconFg }};
 | |
| 	travelActive: icon {{ "emoji/emoji_travel", emojiSubIconFgActive }};
 | |
| 	objects: icon {{ "emoji/emoji_objects", emojiIconFg }};
 | |
| 	objectsActive: icon {{ "emoji/emoji_objects", emojiSubIconFgActive }};
 | |
| 	symbols: icon {{ "emoji/emoji_love", emojiIconFg }};
 | |
| 	symbolsActive: icon {{ "emoji/emoji_love", emojiSubIconFgActive }};
 | |
| 
 | |
| 	menuFave: menuIconFave;
 | |
| 	menuUnfave: menuIconUnfave;
 | |
| 	menuStickerSet: menuIconStickers;
 | |
| 	menuRecentRemove: menuIconDelete;
 | |
| 	menuGifAdd: menuIconGif;
 | |
| 	menuGifRemove: menuIconDelete;
 | |
| 	menuMute: menuIconMute;
 | |
| 	menuSchedule: menuIconSchedule;
 | |
| 	menuWhenOnline: menuIconWhenOnline;
 | |
| 	menuSpoiler: menuIconSpoiler;
 | |
| 	menuSpoilerOff: menuIconSpoilerOff;
 | |
| 
 | |
| 	stripBubble: icon{
 | |
| 		{ "chat/reactions_bubble_shadow", windowShadowFg },
 | |
| 		{ "chat/reactions_bubble", emojiPanBg },
 | |
| 	};
 | |
| 	stripExpandPanel: icon{
 | |
| 		{ "chat/reactions_round_big", windowBgRipple },
 | |
| 		{ "chat/reactions_expand_panel", windowSubTextFg },
 | |
| 	};
 | |
| 	stripExpandDropdown: icon{
 | |
| 		{ "chat/reactions_round_small", windowBgRipple },
 | |
| 		{ "chat/reactions_expand_panel", windowSubTextFg },
 | |
| 	};
 | |
| }
 | |
| defaultEmojiPanAbout: FlatLabel(defaultFlatLabel) {
 | |
| 	minWidth: 10px;
 | |
| 	align: align(top);
 | |
| 	textFg: windowSubTextFg;
 | |
| 	style: TextStyle(defaultTextStyle) {
 | |
| 		font: font(11px);
 | |
| 	}
 | |
| }
 | |
| defaultEmojiPan: EmojiPan {
 | |
| 	margin: margins(7px, 0px, 7px, 0px);
 | |
| 	padding: margins(7px, 0px, 4px, 7px);
 | |
| 	showAnimation: emojiPanAnimation;
 | |
| 	desiredSize: 37px;
 | |
| 	verticalSizeSub: 1px;
 | |
| 	header: 33px;
 | |
| 	headerLeft: 14px;
 | |
| 	headerLockLeft: 7px;
 | |
| 	headerLockedLeft: 26px;
 | |
| 	headerTop: 10px;
 | |
| 	footer: 36px;
 | |
| 	iconSkip: 3px;
 | |
| 	iconWidth: 30px;
 | |
| 	iconArea: 28px;
 | |
| 	bg: emojiPanBg;
 | |
| 	headerFg: emojiPanHeaderFg;
 | |
| 	trendingHeaderFg: stickersTrendingHeaderFg;
 | |
| 	trendingSubheaderFg: stickersTrendingSubheaderFg;
 | |
| 	trendingUnreadFg: stickersFeaturedUnreadBg;
 | |
| 	overBg: emojiPanHover;
 | |
| 	pathBg: windowBgRipple;
 | |
| 	pathFg: windowBgOver;
 | |
| 	textFg: windowFg;
 | |
| 	categoriesBg: emojiPanCategories;
 | |
| 	categoriesBgOver: windowBgRipple;
 | |
| 	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", emojiPanCategories }};
 | |
| 	fadeRight: icon {{ "fade_horizontal", emojiPanCategories }};
 | |
| 	menu: popupMenuWithIcons;
 | |
| 	expandedSeparator: MenuSeparator(defaultMenuSeparator) {
 | |
| 		padding: margins(0px, 4px, 0px, 4px);
 | |
| 		width: 6px;
 | |
| 	}
 | |
| 	tabs: emojiTabs;
 | |
| 	search: defaultTabbedSearch;
 | |
| 	searchMargin: margins(1px, 11px, 2px, 5px);
 | |
| 	colorAll: emojiPanColorAll;
 | |
| 	colorAllLabel: emojiPanColorAllLabel;
 | |
| 	removeSet: stickerPanRemoveSet;
 | |
| 	boxLabel: boxLabel;
 | |
| 	icons: defaultComposeIcons;
 | |
| 	about: defaultEmojiPanAbout;
 | |
| 	aboutPadding: margins(12px, 2px, 12px, 2px);
 | |
| 	autocompleteBottomSkip: 0px;
 | |
| }
 | |
| statusEmojiPan: EmojiPan(defaultEmojiPan) {
 | |
| 	categoriesBg: windowBg;
 | |
| 	categoriesBgOver: windowBgOver;
 | |
| 	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", windowBg }};
 | |
| 	fadeRight: icon {{ "fade_horizontal", windowBg }};
 | |
| }
 | |
| backgroundEmojiPan: EmojiPan(defaultEmojiPan) {
 | |
| 	padding: margins(7px, 7px, 4px, 0px);
 | |
| }
 | |
| 
 | |
| 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;
 | |
| 
 | |
| defaultEmojiSuggestions: EmojiSuggestions {
 | |
| 	dropdown: emojiSuggestionsDropdown;
 | |
| 	bg: menuBg;
 | |
| 	overBg: emojiPanHover;
 | |
| 	textFg: windowFg;
 | |
| 	fadeLeft: icon {{ "fade_horizontal-flip_horizontal", boxBg }};
 | |
| 	fadeRight: icon {{ "fade_horizontal", boxBg }};
 | |
| }
 | |
| 
 | |
| 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;
 | |
| inlineResultsLeft: 11px;
 | |
| inlineResultsSkip: 3px;
 | |
| inlineMediaHeight: 96px;
 | |
| inlineThumbSize: 64px;
 | |
| inlineThumbSkip: 10px;
 | |
| inlineTitleFg: windowFg;
 | |
| inlineDescriptionFg: windowSubTextFg;
 | |
| inlineRowMargin: 6px;
 | |
| inlineRowBorder: 1px;
 | |
| inlineRowBorderFg: shadowFg;
 | |
| inlineRowFileNameTop: 2px;
 | |
| inlineRowFileDescriptionTop: 23px;
 | |
| inlineResultsMinWidth: 48px;
 | |
| inlineDurationMargin: 3px;
 | |
| 
 | |
| stickersPremiumLock: icon{{ "emoji/premium_lock", premiumButtonFg }};
 | |
| 
 | |
| reactStripExtend: margins(21px, 49px, 39px, 0px);
 | |
| reactStripHeight: 40px;
 | |
| reactStripSize: 32px;
 | |
| reactStripMinWidth: 60px;
 | |
| reactStripImage: 26px;
 | |
| reactStripSkip: 7px;
 | |
| reactStripBubbleRight: 20px;
 | |
| userpicBuilderEmojiPan: 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;
 | |
| 	}
 | |
| }
 | |
| reactPanelEmojiPan: EmojiPan(userpicBuilderEmojiPan) {
 | |
| 	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;
 | |
| }
 | |
| 
 | |
| choosePeerGroupIcon: icon {{ "info/edit/create_group", lightButtonFg }};
 | |
| choosePeerChannelIcon: icon {{ "info/edit/create_channel", lightButtonFg }};
 | |
| choosePeerCreateIconLeft: 25px;
 | |
| 
 | |
| historyRequestsUserpics: GroupCallUserpics {
 | |
| 	size: 22px;
 | |
| 	shift: 8px;
 | |
| 	stroke: 4px;
 | |
| 	align: align(left);
 | |
| }
 | |
| historyRequestsHeight: 33px;
 | |
| 
 | |
| historySlowmodeCounterMargins: margins(0px, 0px, 10px, 0px);
 | |
| 
 | |
| historyComposeAreaPalette: TextPalette(defaultTextPalette) {
 | |
| 	linkFg: historyComposeAreaFgService;
 | |
| }
 | |
| 
 | |
| defaultMessageBar: MessageBar {
 | |
| 	title: semiboldTextStyle;
 | |
| 	titleFg: windowActiveTextFg;
 | |
| 	text: defaultTextStyle;
 | |
| 	textFg: historyComposeAreaFg;
 | |
| 	textPalette: historyComposeAreaPalette;
 | |
| 	duration: 160;
 | |
| }
 | |
| 
 | |
| historyComposeButton: FlatButton {
 | |
| 	color: windowActiveTextFg;
 | |
| 	overColor: windowActiveTextFg;
 | |
| 
 | |
| 	bgColor: historyComposeButtonBg;
 | |
| 	overBgColor: historyComposeButtonBgOver;
 | |
| 
 | |
| 	width: -32px;
 | |
| 	height: 46px;
 | |
| 
 | |
| 	textTop: 14px;
 | |
| 
 | |
| 	font: semiboldFont;
 | |
| 	overFont: semiboldFont;
 | |
| 
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: historyComposeButtonBgRipple;
 | |
| 	}
 | |
| }
 | |
| historyUnblock: FlatButton(historyComposeButton) {
 | |
| 	color: attentionButtonFg;
 | |
| 	overColor: attentionButtonFgOver;
 | |
| }
 | |
| historyContactStatusButton: FlatButton(historyComposeButton) {
 | |
| 	height: 49px;
 | |
| 	textTop: 16px;
 | |
| 	overBgColor: historyComposeButtonBg;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: historyComposeButtonBgOver;
 | |
| 	}
 | |
| }
 | |
| historyContactStatusBlock: FlatButton(historyContactStatusButton) {
 | |
| 	color: attentionButtonFg;
 | |
| 	overColor: attentionButtonFg;
 | |
| }
 | |
| historyContactStatusLabel: FlatLabel(defaultFlatLabel) {
 | |
| 	minWidth: 240px;
 | |
| }
 | |
| historyEmojiStatusInfoLabel: FlatLabel(historyContactStatusLabel) {
 | |
| 	align: align(top);
 | |
| 	textFg: windowSubTextFg;
 | |
| }
 | |
| historyContactStatusMinSkip: 16px;
 | |
| 
 | |
| historyBusinessBotPhoto: UserpicButton(defaultUserpicButton) {
 | |
| 	size: size(46px, 46px);
 | |
| 	photoSize: 46px;
 | |
| 	photoPosition: point(0px, 0px);
 | |
| }
 | |
| historyBusinessBotName: FlatLabel(defaultFlatLabel) {
 | |
| 	style: semiboldTextStyle;
 | |
| }
 | |
| historyBusinessBotStatus: FlatLabel(historyContactStatusLabel) {
 | |
| 	textFg: windowSubTextFg;
 | |
| }
 | |
| historyBusinessBotToggle: defaultActiveButton;
 | |
| historyBusinessBotSettings: IconButton(defaultIconButton) {
 | |
| 	icon: icon{{ "menu/customize", menuIconFg }};
 | |
| 	iconOver: icon{{ "menu/customize", menuIconFgOver }};
 | |
| 	iconPosition: point(-1px, -1px);
 | |
| 	rippleAreaSize: 40px;
 | |
| 	rippleAreaPosition: point(4px, 9px);
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgOver;
 | |
| 	}
 | |
| 	height: 58px;
 | |
| 	width: 48px;
 | |
| }
 | |
| 
 | |
| historyReplyCancelIcon: icon {{ "box_button_close", historyReplyCancelFg }};
 | |
| historyReplyCancelIconOver: icon {{ "box_button_close", historyReplyCancelFgOver }};
 | |
| 
 | |
| historyReplySkip: 53px;
 | |
| historyReplyNameFg: windowActiveTextFg;
 | |
| historyReplyHeight: 49px;
 | |
| historyReplyIconPosition: point(7px, 7px);
 | |
| historyReplyIcon: icon {{ "chat/input_reply_settings", historyReplyIconFg }};
 | |
| historyLinkIcon: icon {{ "chat/input_link_settings", historyReplyIconFg }};
 | |
| historyQuoteIcon: icon {{ "chat/input_reply_quote", historyReplyIconFg }};
 | |
| historyForwardIcon: icon {{ "chat/input_forward", historyReplyIconFg }};
 | |
| historyEditIcon: icon {{ "chat/input_edit", historyReplyIconFg }};
 | |
| historyReplyCancel: IconButton {
 | |
| 	width: 49px;
 | |
| 	height: 49px;
 | |
| 
 | |
| 	icon: historyReplyCancelIcon;
 | |
| 	iconOver: historyReplyCancelIconOver;
 | |
| 	iconPosition: point(-1px, -1px);
 | |
| 
 | |
| 	rippleAreaPosition: point(4px, 4px);
 | |
| 	rippleAreaSize: 40px;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgOver;
 | |
| 	}
 | |
| }
 | |
| historyPinnedShowAll: IconButton(historyReplyCancel) {
 | |
| 	icon: icon {{ "pinned_show_all", historyReplyCancelFg }};
 | |
| 	iconOver: icon {{ "pinned_show_all", historyReplyCancelFgOver }};
 | |
| }
 | |
| historyPinnedBotButton: RoundButton(defaultActiveButton) {
 | |
| 	width: -34px;
 | |
| 	height: 30px;
 | |
| 	textTop: 6px;
 | |
| 	padding: margins(2px, 10px, 10px, 9px);
 | |
| }
 | |
| historyPinnedBotButtonMaxWidth: 150px;
 | |
| 
 | |
| historyToDownPosition: point(12px, 10px);
 | |
| historyToDownAbove: icon {{ "history_down_arrow", historyToDownFg }};
 | |
| historyToDownAboveOver: icon {{ "history_down_arrow", historyToDownFgOver }};
 | |
| historyToDownPaddingTop: 10px;
 | |
| historyToDownBelow: icon {
 | |
| 	{ "history_down_shadow", historyToDownShadow },
 | |
| 	{ "history_down_circle", historyToDownBg },
 | |
| };
 | |
| historyToDownBelowOver: icon {
 | |
| 	{ "history_down_shadow", historyToDownShadow },
 | |
| 	{ "history_down_circle", historyToDownBgOver },
 | |
| };
 | |
| historyToDown: TwoIconButton {
 | |
| 	width: 52px;
 | |
| 	height: 62px;
 | |
| 
 | |
| 	iconBelow: historyToDownBelow;
 | |
| 	iconBelowOver: historyToDownBelowOver;
 | |
| 	iconAbove: historyToDownAbove;
 | |
| 	iconAboveOver: historyToDownAboveOver;
 | |
| 	iconPosition: point(0px, historyToDownPaddingTop);
 | |
| 
 | |
| 	rippleAreaPosition: point(5px, 15px);
 | |
| 	rippleAreaSize: 42px;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: historyToDownBgRipple;
 | |
| 	}
 | |
| }
 | |
| historyToDownBadgeFont: semiboldFont;
 | |
| historyToDownBadgeSize: 22px;
 | |
| 
 | |
| historyToDownShownAfter: 480px;
 | |
| historyToDownDuration: 150;
 | |
| 
 | |
| dialogsToUpAbove: icon {{ "history_down_arrow-flip_vertical", historyToDownFg, point(0px, 1px) }};
 | |
| dialogsToUpAboveOver: icon {{ "history_down_arrow-flip_vertical", historyToDownFgOver, point(0px, 1px) }};
 | |
| 
 | |
| dialogsToUp: TwoIconButton(historyToDown) {
 | |
| 	iconAbove: dialogsToUpAbove;
 | |
| 	iconAboveOver: dialogsToUpAboveOver;
 | |
| }
 | |
| 
 | |
| historyUnreadMentions: TwoIconButton(historyToDown) {
 | |
| 	iconAbove: icon {{ "history_unread_mention", historyToDownFg }};
 | |
| 	iconAboveOver: icon {{ "history_unread_mention", historyToDownFgOver }};
 | |
| }
 | |
| historyUnreadReactions: TwoIconButton(historyToDown) {
 | |
| 	iconAbove: icon {{ "history_unread_reaction", historyToDownFg }};
 | |
| 	iconAboveOver: icon {{ "history_unread_reaction", historyToDownFgOver }};
 | |
| }
 | |
| historyUnreadThingsSkip: 4px;
 | |
| 
 | |
| historyComposeField: InputField(defaultInputField) {
 | |
| 	font: normalFont;
 | |
| 	textMargins: margins(0px, 0px, 0px, 0px);
 | |
| 	textAlign: align(left);
 | |
| 	textFg: historyComposeAreaFg;
 | |
| 	textBg: historyComposeAreaBg;
 | |
| 	heightMin: 36px;
 | |
| 	heightMax: 72px;
 | |
| 	placeholderFg: placeholderFg;
 | |
| 	placeholderFgActive: placeholderFgActive;
 | |
| 	placeholderFgError: placeholderFgActive;
 | |
| 	placeholderMargins: margins(7px, 5px, 7px, 5px);
 | |
| 	placeholderAlign: align(topleft);
 | |
| 	placeholderScale: 0.;
 | |
| 	placeholderFont: normalFont;
 | |
| 	placeholderShift: -50px;
 | |
| 	border: 0px;
 | |
| 	borderActive: 0px;
 | |
| 	duration: 100;
 | |
| }
 | |
| historyComposeFieldMaxHeight: 224px;
 | |
| historyComposeFieldFadeHeight: 6px;
 | |
| // historyMinHeight: 56px;
 | |
| 
 | |
| historyAttach: IconButton(defaultIconButton) {
 | |
| 	width: 44px;
 | |
| 	height: 46px;
 | |
| 
 | |
| 	icon: icon {{ "chat/input_attach", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "chat/input_attach", historyComposeIconFgOver }};
 | |
| 
 | |
| 	rippleAreaPosition: point(2px, 3px);
 | |
| 	rippleAreaSize: 40px;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgOver;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| historyMessagesTTL: IconButtonWithText {
 | |
| 	iconButton: IconButton(historyAttach) {
 | |
| 		icon: icon {{ "chat/input_autodelete", historyComposeIconFg }};
 | |
| 		iconOver: icon {{ "chat/input_autodelete", historyComposeIconFgOver }};
 | |
| 	}
 | |
| 	textFg: historyComposeIconFg;
 | |
| 	textFgOver: historyComposeIconFgOver;
 | |
| 	textPadding: margins(21px, 20px, 3px, 7px);
 | |
| 	textAlign: align(left);
 | |
| 
 | |
| 	font: font(10px semibold);
 | |
| }
 | |
| historyReplaceMedia: IconButton(historyAttach) {
 | |
| 	icon: icon {{ "chat/input_replace", windowBgActive }};
 | |
| 	iconOver: icon {{ "chat/input_replace", windowBgActive }};
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: lightButtonBgOver;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| historyAttachEmojiActive: icon {{ "chat/input_smile_face", windowBgActive }};
 | |
| historyEmojiCircle: size(20px, 20px);
 | |
| historyEmojiCircleLine: 1.5;
 | |
| historyEmojiCircleFg: historyComposeIconFg;
 | |
| historyEmojiCircleFgOver: historyComposeIconFgOver;
 | |
| historyBotKeyboardShow: IconButton(historyAttach) {
 | |
| 	icon: icon {{ "chat/input_bot_keyboard", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "chat/input_bot_keyboard", historyComposeIconFgOver }};
 | |
| }
 | |
| historyBotKeyboardHide: IconButton(historyAttach) {
 | |
| 	icon: icon {{ "chat/input_bot_keyboard_hide", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "chat/input_bot_keyboard_hide", historyComposeIconFgOver }};
 | |
| }
 | |
| historyBotCommandStart: IconButton(historyAttach) {
 | |
| 	icon: icon {{ "chat/input_bot_command", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "chat/input_bot_command", historyComposeIconFgOver }};
 | |
| }
 | |
| historyScheduledToggle: IconButton(historyAttach) {
 | |
| 	icon: icon {
 | |
| 		{ "chat/input_scheduled", historyComposeIconFg },
 | |
| 		{ "chat/input_scheduled_dot", attentionButtonFg }
 | |
| 	};
 | |
| 	iconOver: icon {
 | |
| 		{ "chat/input_scheduled", historyComposeIconFgOver },
 | |
| 		{ "chat/input_scheduled_dot", attentionButtonFg }
 | |
| 	};
 | |
| }
 | |
| 
 | |
| historyAttachEmojiInner: IconButton(historyAttach) {
 | |
| 	icon: icon {{ "chat/input_smile_face", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "chat/input_smile_face", historyComposeIconFgOver }};
 | |
| }
 | |
| historyAttachEmoji: EmojiButton {
 | |
| 	inner: historyAttachEmojiInner;
 | |
| 	bg: historyComposeAreaBg;
 | |
| 	lineFg: historyEmojiCircleFg;
 | |
| 	lineFgOver: historyEmojiCircleFgOver;
 | |
| }
 | |
| boxAttachEmoji: EmojiButton(historyAttachEmoji) {
 | |
| 	inner: IconButton(historyAttachEmojiInner) {
 | |
| 		width: 30px;
 | |
| 		height: 30px;
 | |
| 		rippleAreaSize: 0px;
 | |
| 	}
 | |
| }
 | |
| boxAttachEmojiTop: 20px;
 | |
| 
 | |
| historySendIcon: icon {{ "chat/input_send", historySendIconFg }};
 | |
| historySendIconOver: icon {{ "chat/input_send", historySendIconFgOver }};
 | |
| historySendIconPosition: point(10px, 11px);
 | |
| historySendSize: size(44px, 46px);
 | |
| historyScheduleIcon: icon {{ "chat/input_schedule", historyComposeAreaBg }};
 | |
| historyScheduleIconPosition: point(7px, 8px);
 | |
| historyEditSaveIcon: icon {{ "chat/input_save", historySendIconFg }};
 | |
| historyEditSaveIconOver: icon {{ "chat/input_save", historySendIconFgOver }};
 | |
| 
 | |
| historyEditMediaBg: videoPlayIconBg;
 | |
| historyEditMedia: icon{{ "chat/input_draw", videoPlayIconFg }};
 | |
| historyMessagesTTLPickerHeight: 200px;
 | |
| historyMessagesTTLPickerItemHeight: 40px;
 | |
| historyMessagesTTLLabel: FlatLabel(defaultFlatLabel) {
 | |
| 	minWidth: 200px;
 | |
| 	align: align(topleft);
 | |
| 	textFg: windowSubTextFg;
 | |
| }
 | |
| 
 | |
| historyCharsLimitationLabel: FlatLabel(defaultFlatLabel) {
 | |
| 	// The same as a width of the historySendSize.
 | |
| 	minWidth: 44px;
 | |
| 	align: align(center);
 | |
| 	textFg: attentionButtonFg;
 | |
| }
 | |
| 
 | |
| historyRecordVoiceFg: historyComposeIconFg;
 | |
| historyRecordVoiceFgOver: historyComposeIconFgOver;
 | |
| historyRecordVoiceFgInactive: attentionButtonFg;
 | |
| historyRecordVoiceFgActive: windowBgActive;
 | |
| historyRecordVoiceFgActiveIcon: windowFgActive;
 | |
| historyRecordVoiceShowDuration: 120;
 | |
| historyRecordVoiceDuration: 120;
 | |
| historyRecordVoice: icon {{ "chat/input_record", historyRecordVoiceFg }};
 | |
| historyRecordVoiceOver: icon {{ "chat/input_record", historyRecordVoiceFgOver }};
 | |
| historyRecordVoiceOnceBg: icon {{ "voice_lock/audio_once_bg", historySendIconFg }};
 | |
| historyRecordVoiceOnceBgOver: icon {{ "voice_lock/audio_once_bg", historySendIconFgOver }};
 | |
| historyRecordVoiceOnceFg: icon {{ "voice_lock/audio_once_number", windowFgActive }};
 | |
| historyRecordVoiceOnceFgOver: icon {{ "voice_lock/audio_once_number", windowFgActive }};
 | |
| historyRecordVoiceOnceInactive: icon {{ "chat/audio_once", windowSubTextFg }};
 | |
| historyRecordVoiceActive: icon {{ "chat/input_record_filled", historyRecordVoiceFgActiveIcon }};
 | |
| historyRecordSendIconPosition: point(2px, 0px);
 | |
| historyRecordVoiceRippleBgActive: lightButtonBgOver;
 | |
| historyRecordSignalRadius: 5px;
 | |
| historyRecordCancel: windowSubTextFg;
 | |
| historyRecordCancelActive: historySendIconFg;
 | |
| historyRecordFont: font(13px);
 | |
| historyRecordDurationSkip: 12px;
 | |
| historyRecordDurationFg: historyComposeAreaFg;
 | |
| historyRecordTTLLineWidth: 2px;
 | |
| 
 | |
| historyRecordMainBlobMinRadius: 23px;
 | |
| historyRecordMainBlobMaxRadius: 37px;
 | |
| historyRecordMinorBlobMinRadius: 40px;
 | |
| historyRecordMinorBlobMaxRadius: 47px;
 | |
| historyRecordMajorBlobMinRadius: 43px;
 | |
| historyRecordMajorBlobMaxRadius: 50px;
 | |
| 
 | |
| historyRecordTextStyle: TextStyle(defaultTextStyle) {
 | |
| 	font: historyRecordFont;
 | |
| }
 | |
| 
 | |
| historyRecordTextWidthForWrap: 210px;
 | |
| historyRecordTextLeft: 15px;
 | |
| historyRecordTextRight: 25px;
 | |
| 
 | |
| historyRecordLockShowDuration: historyToDownDuration;
 | |
| historyRecordLockSize: size(75px, 133px);
 | |
| 
 | |
| historyRecordLockIconSize: size(14px, 17px);
 | |
| historyRecordLockIconBottomHeight: 9px;
 | |
| historyRecordLockIconLineHeight: 2px;
 | |
| historyRecordLockIconLineSkip: 3px;
 | |
| historyRecordLockIconLineWidth: 2px;
 | |
| historyRecordLockIconArcHeight: 4px;
 | |
| historyRecordStopIconWidth: 12px;
 | |
| 
 | |
| historyRecordLockTopShadow: icon {{ "voice_lock/record_lock_top_shadow", historyToDownShadow }};
 | |
| historyRecordLockTop: icon {{ "voice_lock/record_lock_top", historyToDownBg }};
 | |
| historyRecordLockBottomShadow: icon {{ "voice_lock/record_lock_bottom_shadow", historyToDownShadow }};
 | |
| historyRecordLockBottom: icon {{ "voice_lock/record_lock_bottom", historyToDownBg }};
 | |
| historyRecordLockBodyShadow: icon {{ "voice_lock/record_lock_body_shadow", historyToDownShadow }};
 | |
| historyRecordLockBody: icon {{ "voice_lock/record_lock_body", historyToDownBg }};
 | |
| historyRecordLockMargin: margins(4px, 4px, 4px, 4px);
 | |
| historyRecordLockArrow: icon {{ "voice_lock/voice_arrow", historyToDownFg }};
 | |
| historyRecordLockInput: icon {{ "voice_lock/input_mic_s", historyToDownFg }};
 | |
| historyRecordLockRippleMargin: margins(6px, 6px, 6px, 6px);
 | |
| 
 | |
| historyRecordDelete: IconButton(historyAttach) {
 | |
| 	icon: icon {{ "voice_lock/recorded_delete", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "voice_lock/recorded_delete", historyComposeIconFgOver }};
 | |
| 	iconPosition: point(10px, 11px);
 | |
| }
 | |
| historyRecordWaveformRightSkip: 10px;
 | |
| historyRecordWaveformBgMargins: margins(5px, 8px, 5px, 9px);
 | |
| 
 | |
| historyRecordWaveformBar: 3px;
 | |
| 
 | |
| historyRecordLockPosition: point(1px, 22px);
 | |
| 
 | |
| historyRecordCancelButtonWidth: 100px;
 | |
| historyRecordCancelButtonFg: lightButtonFg;
 | |
| 
 | |
| historyRecordTooltip: ImportantTooltip(defaultImportantTooltip) {
 | |
| 	padding: margins(4px, 4px, 4px, 4px);
 | |
| 	radius: 11px;
 | |
| 	arrow: 6px;
 | |
| }
 | |
| 
 | |
| historySilentToggle: IconButton(historyBotKeyboardShow) {
 | |
| 	icon: icon {{ "chat/input_silent", historyComposeIconFg }};
 | |
| 	iconOver: icon {{ "chat/input_silent", historyComposeIconFgOver }};
 | |
| }
 | |
| historySilentToggleOn: icon {{ "chat/input_silent_on", historyComposeIconFg }};
 | |
| historySilentToggleOnOver: icon {{ "chat/input_silent_on", historyComposeIconFgOver }};
 | |
| 
 | |
| defaultRecordBarLock: RecordBarLock {
 | |
| 	ripple: defaultRippleAnimation;
 | |
| 	originTop: historyRecordLockTop;
 | |
| 	originBottom: historyRecordLockBottom;
 | |
| 	originBody: historyRecordLockBody;
 | |
| 	shadowTop: historyRecordLockTopShadow;
 | |
| 	shadowBottom: historyRecordLockBottomShadow;
 | |
| 	shadowBody: historyRecordLockBodyShadow;
 | |
| 	arrow: historyRecordLockArrow;
 | |
| 	fg: historyToDownFg;
 | |
| }
 | |
| defaultRecordBar: RecordBar {
 | |
| 	bg: historyComposeAreaBg;
 | |
| 	durationFg: historyRecordDurationFg;
 | |
| 	cancel: historyRecordCancel;
 | |
| 	cancelActive: historyRecordCancelActive;
 | |
| 	cancelRipple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: lightButtonBgRipple;
 | |
| 	}
 | |
| 	lock: defaultRecordBarLock;
 | |
| 	remove: historyRecordDelete;
 | |
| }
 | |
| 
 | |
| historySend: SendButton {
 | |
| 	inner: IconButton(historyAttach) {
 | |
| 		icon: historySendIcon;
 | |
| 		iconOver: historySendIconOver;
 | |
| 	}
 | |
| 	record: historyRecordVoice;
 | |
| 	recordOver: historyRecordVoiceOver;
 | |
| 	sendDisabledFg: historyComposeIconFg;
 | |
| }
 | |
| 
 | |
| defaultComposeFilesMenu: IconButton(defaultIconButton) {
 | |
| 	width: 48px;
 | |
| 	height: 54px;
 | |
| 
 | |
| 	icon: icon {{ "title_menu_dots", boxTitleCloseFg }};
 | |
| 	iconOver: icon {{ "title_menu_dots", boxTitleCloseFgOver }};
 | |
| 	iconPosition: point(18px, -1px);
 | |
| 
 | |
| 	rippleAreaPosition: point(1px, 6px);
 | |
| 	rippleAreaSize: 42px;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgOver;
 | |
| 	}
 | |
| }
 | |
| defaultComposeFilesField: InputField(defaultInputField) {
 | |
| 	textMargins: margins(1px, 26px, 31px, 4px);
 | |
| 	heightMax: 158px;
 | |
| }
 | |
| defaultComposeFiles: ComposeFiles {
 | |
| 	check: defaultCheck;
 | |
| 	checkbox: defaultBoxCheckbox;
 | |
| 	menu: defaultComposeFilesMenu;
 | |
| 	caption: defaultComposeFilesField;
 | |
| 	emoji: boxAttachEmoji;
 | |
| 	confirmBg: windowBgOver;
 | |
| 	buttonFile: sendBoxAlbumGroupButtonFile;
 | |
| 	buttonFileEdit: sendBoxAlbumGroupEditButtonIconFile;
 | |
| 	buttonFileDelete: sendBoxAlbumGroupDeleteButtonIconFile;
 | |
| 	iconBg: msgFileInBg;
 | |
| 	iconPlay: icon {{ "history_file_play", historyFileInIconFg }};
 | |
| 	iconImage: icon {{ "history_file_image", historyFileInIconFg }};
 | |
| 	iconDocument: icon {{ "history_file_document", historyFileInIconFg }};
 | |
| 	nameFg: historyFileNameInFg;
 | |
| 	statusFg: mediaInFg;
 | |
| }
 | |
| defaultRestrictionLabel: FlatLabel(defaultFlatLabel) {
 | |
| 	minWidth: 12px;
 | |
| 	textFg: placeholderFg;
 | |
| 	align: align(top);
 | |
| }
 | |
| defaultComposeControls: ComposeControls {
 | |
| 	bg: historyComposeAreaBg;
 | |
| 	radius: 0px;
 | |
| 
 | |
| 	field: historyComposeField;
 | |
| 	send: historySend;
 | |
| 	attach: historyAttach;
 | |
| 	emoji: historyAttachEmoji;
 | |
| 	suggestions: defaultEmojiSuggestions;
 | |
| 	tabbed: defaultEmojiPan;
 | |
| 	tabbedHeightMin: emojiPanMinHeight;
 | |
| 	tabbedHeightMax: emojiPanMaxHeight;
 | |
| 	record: defaultRecordBar;
 | |
| 	files: defaultComposeFiles;
 | |
| 	premium: defaultPremiumLimits;
 | |
| 	boxField: defaultInputField;
 | |
| 	restrictionLabel: defaultRestrictionLabel;
 | |
| }
 | |
| 
 | |
| moreChatsBarHeight: 48px;
 | |
| moreChatsBarTextPosition: point(12px, 4px);
 | |
| moreChatsBarStatusPosition: point(12px, 24px);
 | |
| moreChatsBarClose: IconButton(defaultIconButton) {
 | |
| 	width: 48px;
 | |
| 	height: 48px;
 | |
| 
 | |
| 	icon: boxTitleCloseIcon;
 | |
| 	iconOver: boxTitleCloseIconOver;
 | |
| 	iconPosition: point(12px, -1px);
 | |
| 
 | |
| 	rippleAreaPosition: point(0px, 4px);
 | |
| 	rippleAreaSize: 40px;
 | |
| 	ripple: RippleAnimation(defaultRippleAnimation) {
 | |
| 		color: windowBgOver;
 | |
| 	}
 | |
| }
 | |
| 
 | |
| reportReasonTopSkip: 8px;
 | |
| reportReasonButton: SettingsButton(defaultSettingsButton) {
 | |
| 	style: boxTextStyle;
 | |
| 	padding: margins(62px, 7px, 8px, 7px);
 | |
| 	iconLeft: 22px;
 | |
| }
 | |
| 
 | |
| defaultReportBox: ReportBox {
 | |
| 	button: reportReasonButton;
 | |
| 	label: boxLabel;
 | |
| 	field: newGroupDescription;
 | |
| 	spam: menuIconDelete;
 | |
| 	fake: menuIconFake;
 | |
| 	violence: menuIconViolence;
 | |
| 	children: menuIconBlock;
 | |
| 	pornography: menuIconPorn;
 | |
| 	copyright: menuIconCopyright;
 | |
| 	drugs: menuIconDrugs;
 | |
| 	personal: menuIconPersonal;
 | |
| 	other: menuIconReport;
 | |
| }
 | |
| 
 | |
| dragFont: font(27px semibold);
 | |
| dragSubfont: font(19px semibold);
 | |
| dragColor: windowSubTextFg;
 | |
| dragDropColor: windowActiveTextFg;
 | |
| 
 | |
| dragMargin: margins(0px, 10px, 0px, 10px);
 | |
| dragPadding: margins(20px, 10px, 20px, 10px);
 | |
| dragHeight: 72px;
 | |
| 
 | |
| ttlMediaImportantTooltipLabel: FlatLabel(defaultImportantTooltipLabel) {
 | |
| 	style: TextStyle(defaultTextStyle) {
 | |
| 		font: font(14px);
 | |
| 	}
 | |
| }
 | |
| ttlMediaButton: RoundButton(defaultActiveButton) {
 | |
| 	textBg: shadowFg;
 | |
| 	textBgOver: shadowFg;
 | |
| 	ripple: universalRippleAnimation;
 | |
| 	height: 31px;
 | |
| 	textTop: 6px;
 | |
| }
 | |
| ttlMediaButtonBottomSkip: 14px;
 | |
| 
 | |
| editTagAbout: FlatLabel(defaultFlatLabel) {
 | |
| 	minWidth: 256px;
 | |
| }
 | |
| editTagField: InputField(defaultInputField) {
 | |
| 	textBg: transparent;
 | |
| 	textMargins: margins(24px, 10px, 32px, 2px);
 | |
| 
 | |
| 	placeholderFg: placeholderFg;
 | |
| 	placeholderFgActive: placeholderFgActive;
 | |
| 	placeholderFgError: placeholderFgActive;
 | |
| 	placeholderMargins: margins(2px, 0px, 2px, 0px);
 | |
| 	placeholderScale: 0.;
 | |
| 
 | |
| 	heightMin: 36px;
 | |
| }
 | |
| editTagLimit: FlatLabel(defaultFlatLabel) {
 | |
| 	textFg: windowSubTextFg;
 | |
| }
 | 
