/* 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"; 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; } 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; trendingInstalled: icon; overBg: color; pathBg: color; pathFg: color; textFg: color; categoriesBg: color; categoriesBgOver: color; fadeLeft: icon; fadeRight: icon; menu: PopupMenu; tabs: SettingsSlider; search: TabbedSearch; searchMargin: margins; removeSet: IconButton; boxLabel: FlatLabel; icons: ComposeIcons; 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; } ComposeControls { bg: color; radius: pixels; field: InputField; send: SendButton; attach: IconButton; emoji: EmojiButton; suggestions: EmojiSuggestions; tabbed: EmojiPan; tabbedHeightMin: pixels; tabbedHeightMax: pixels; record: RecordBar; } 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; 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; } stickersRowDisabledOpacity: 0.4; stickersRowDuration: 200; emojiStatusDefault: icon {{ "emoji/stickers_premium", emojiIconFg }}; filtersRemove: IconButton(stickersRemove) { ripple: defaultRippleAnimation; } emojiPanMargins: margins(10px, 10px, 10px, 10px); emojiTabs: SettingsSlider(defaultTabsSlider) { height: 43px; barTop: 40px; labelTop: 12px; } 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; 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 }}; emojiEmpty: icon {{ "emoji_empty", windowSubTextFg }}; 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; } 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; trendingInstalled: stickersFeaturedInstalled; 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; tabs: emojiTabs; search: defaultTabbedSearch; searchMargin: margins(1px, 11px, 2px, 5px); removeSet: stickerPanRemoveSet; boxLabel: boxLabel; icons: defaultComposeIcons; autocompleteBottomSkip: 0px; } statusEmojiPan: EmojiPan(defaultEmojiPan) { categoriesBg: windowBg; categoriesBgOver: windowBgOver; fadeLeft: icon {{ "fade_horizontal-flip_horizontal", windowBg }}; fadeRight: icon {{ "fade_horizontal", windowBg }}; } 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; 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; 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; historyReplySkip: 51px; historyReplyNameFg: windowActiveTextFg; historyReplyHeight: 49px; historyReplyIconPosition: point(5px, 5px); historyReplyIcon: icon {{ "chat/input_reply", 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; // 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; } 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 }}; historyRecordVoiceActive: icon {{ "chat/input_record_filled", historyRecordVoiceFgActiveIcon }}; historyRecordSendIconPosition: point(2px, 0px); historyRecordVoiceRippleBgActive: lightButtonBgOver; historyRecordSignalRadius: 5px; historyRecordCancel: windowSubTextFg; historyRecordCancelActive: windowActiveTextFg; historyRecordFont: font(13px); historyRecordDurationSkip: 12px; historyRecordDurationFg: historyComposeAreaFg; 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 }}; historyRecordLockRippleMargin: margins(6px, 6px, 6px, 6px); historyRecordDelete: IconButton(historyAttach) { icon: icon {{ "info/info_media_delete", historyComposeIconFg }}; iconOver: icon {{ "info/info_media_delete", historyComposeIconFgOver }}; iconPosition: point(10px, 11px); } historyRecordWaveformRightSkip: 10px; historyRecordWaveformBgMargins: margins(5px, 7px, 5px, 7px); historyRecordWaveformBar: 3px; historyRecordLockPosition: point(1px, 35px); historyRecordCancelButtonWidth: 100px; historyRecordCancelButtonFg: lightButtonFg; 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; } defaultComposeControls: ComposeControls { bg: historyComposeAreaBg; radius: 0px; field: historyComposeField; send: historySend; attach: historyAttach; emoji: historyAttachEmoji; suggestions: defaultEmojiSuggestions; tabbed: defaultEmojiPan; tabbedHeightMin: emojiPanMinHeight; tabbedHeightMax: emojiPanMaxHeight; record: defaultRecordBar; }