/* 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 "ui/layers/layers.style"; using "ui/widgets/widgets.style"; using "intro/intro.style"; UserpicButton { size: size; photoSize: pixels; photoPosition: point; changeButton: RoundButton; changeIcon: icon; changeIconPosition: point; duration: int; uploadHeight: pixels; uploadBg: color; uploadIcon: icon; uploadIconPosition: point; } ShortInfoBox { label: FlatLabel; labeled: FlatLabel; labeledOneLine: FlatLabel; } countryRowHeight: 36px; countryRowNameFont: semiboldFont; countryRowNameFg: boxTextFg; countryRowPadding: margins(22px, 9px, 8px, 0px); countryRowCodeFont: font(fsize); countryRowBg: windowBg; countryRowBgOver: windowBgOver; countryRowCodeFg: windowSubTextFg; countryRowCodeFgOver: windowSubTextFgOver; countriesSkip: 12px; countriesScroll: ScrollArea(boxScroll) { deltat: 9px; deltab: 3px; } boxPhotoTitlePosition: point(28px, 20px); boxPhotoPadding: margins(28px, 28px, 28px, 18px); boxPhotoCompressedSkip: 20px; boxPhotoCaptionSkip: 8px; defaultChangeUserpicIcon: icon {{ "new_chat_photo", activeButtonFg }}; defaultUploadUserpicIcon: icon {{ "upload_chat_photo", msgDateImgFg }}; defaultUserpicButton: UserpicButton { size: size(72px, 72px); photoSize: 72px; photoPosition: point(-1px, -1px); changeButton: defaultActiveButton; changeIcon: defaultChangeUserpicIcon; changeIconPosition: point(21px, 23px); duration: 500; uploadHeight: 24px; uploadBg: msgDateImgBgOver; uploadIcon: defaultUploadUserpicIcon; uploadIconPosition: point(-1px, 1px); } uploadUserpicSize: 32px; uploadUserpicButton: UserpicButton(defaultUserpicButton) { size: size(uploadUserpicSize, uploadUserpicSize); photoSize: uploadUserpicSize; changeIcon: icon {{ "settings/photo", activeButtonFg }}; changeIconPosition: point(4px, 4px); } uploadUserpicButtonBorder: 2px; restoreUserpicIcon: UserpicButton(defaultUserpicButton) { size: size(22px, 22px); photoSize: 22px; } confirmInviteTitle: FlatLabel(defaultFlatLabel) { align: align(center); minWidth: 320px; maxHeight: 24px; textFg: windowBoldFg; style: TextStyle(defaultTextStyle) { font: font(18px semibold); } } confirmInviteAbout: FlatLabel(boxLabel) { align: align(center); minWidth: 320px; maxHeight: 60px; style: TextStyle(boxLabelStyle) { lineHeight: 19px; } } confirmInviteStatus: FlatLabel(confirmInviteAbout) { textFg: windowSubTextFg; style: boxLabelStyle; maxHeight: 0px; } confirmInviteAboutPadding: margins(36px, 4px, 36px, 10px); confirmInviteAboutRequestsPadding: margins(36px, 9px, 36px, 15px); confirmInviteTitleTop: 141px; confirmInvitePhotoSize: 96px; confirmInvitePhotoTop: 33px; confirmInviteStatusTop: 164px; confirmInviteUserHeight: 100px; confirmInviteUserPhotoSize: 50px; confirmInviteUserPhotoTop: 210px; confirmInviteUsersWidth: 320px; confirmInviteUserName: FlatLabel(defaultFlatLabel) { align: align(center); minWidth: 66px; maxHeight: 20px; } confirmInviteUserNameTop: 264px; confirmPhoneAboutLabel: FlatLabel(defaultFlatLabel) { minWidth: 272px; } confirmPhoneCodeField: InputField(defaultInputField) { } aboutRevokePublicLabel: FlatLabel(defaultFlatLabel) { align: align(topleft); minWidth: 320px; } contactUserIcon: icon {{ "settings/settings_name", menuIconFg }}; contactPhoneIcon: icon {{ "settings/settings_phone_number", menuIconFg }}; contactIconPosition: point(-5px, 23px); contactPadding: margins(49px, 2px, 0px, 14px); contactSkip: 9px; contactPhoneSkip: 30px; contactsPhotoSize: 42px; contactsPadding: margins(16px, 7px, 16px, 7px); contactsNameTop: 2px; contactsNameStyle: TextStyle(defaultTextStyle) { font: semiboldFont; } contactsStatusTop: 23px; contactsStatusFont: font(fsize); contactsCheckPosition: point(8px, 16px); contactsSortButton: IconButton(defaultIconButton) { width: 48px; height: 54px; icon: icon{{ "contacts_alphabet", boxTitleCloseFg }}; iconOver: icon{{ "contacts_alphabet", boxTitleCloseFgOver }}; iconPosition: point(10px, -1px); rippleAreaPosition: point(1px, 6px); rippleAreaSize: 42px; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } contactsSortOnlineIcon: icon{{ "contacts_online", boxTitleCloseFg }}; contactsSortOnlineIconOver: icon{{ "contacts_online", boxTitleCloseFgOver }}; membersMarginTop: 10px; membersMarginBottom: 10px; peerListBoxItem: PeerListItem(defaultPeerListItem) { height: 56px; photoSize: contactsPhotoSize; photoPosition: point(16px, 7px); namePosition: point(74px, 9px); statusPosition: point(74px, 30px); button: OutlineButton(defaultPeerListButton) { textBg: contactsBg; textBgOver: contactsBgOver; ripple: defaultRippleAnimation; } statusFg: contactsStatusFg; statusFgOver: contactsStatusFgOver; statusFgActive: contactsStatusFgOnline; } peerListBox: PeerList(defaultPeerList) { padding: margins( 0px, membersMarginTop, 0px, membersMarginBottom); item: peerListBoxItem; } localStorageRowHeight: 50px; localStorageRowPadding: margins(22px, 5px, 20px, 5px); localStorageRowTitle: FlatLabel(defaultFlatLabel) { textFg: windowBoldFg; maxHeight: 20px; style: TextStyle(defaultTextStyle) { font: font(14px semibold); } } localStorageRowSize: FlatLabel(defaultFlatLabel) { textFg: contactsStatusFg; maxHeight: 20px; style: TextStyle(defaultTextStyle) { font: font(14px); } } localStorageClear: defaultBoxButton; localStorageLimitLabel: LabelSimple(defaultLabelSimple) { font: boxTextFont; } localStorageLimitLabelMargin: margins(22px, 10px, 20px, 5px); localStorageLimitSlider: MediaSlider(defaultContinuousSlider) { seekSize: size(15px, 15px); } localStorageLimitMargin: margins(22px, 5px, 20px, 10px); shareRowsTop: 12px; shareRowHeight: 108px; sharePhotoTop: 6px; shareBoxListItem: PeerListItem(defaultPeerListItem) { nameStyle: TextStyle(defaultTextStyle) { font: font(11px); } nameFg: windowFg; nameFgChecked: windowActiveTextFg; checkbox: RoundImageCheckbox(defaultPeerListCheckbox) { imageRadius: 28px; imageSmallRadius: 24px; } } shareBoxList: PeerList(defaultPeerList) { bg: boxBg; item: shareBoxListItem; } shareNameTop: 6px; shareColumnSkip: 6px; shareActivateDuration: 150; shareScrollDuration: 300; shareComment: InputField(defaultInputField) { font: normalFont; textMargins: margins(8px, 8px, 8px, 6px); heightMin: 36px; heightMax: 72px; placeholderFg: placeholderFg; placeholderFgActive: placeholderFgActive; placeholderFgError: placeholderFgActive; placeholderMargins: margins(2px, 0px, 2px, 0px); placeholderScale: 0.; placeholderFont: normalFont; border: 0px; borderActive: 0px; } shareCommentPadding: margins(5px, 5px, 5px, 5px); notificationsBoxMonitor: icon {{ "monitor", notificationsBoxMonitorFg }}; notificationsBoxScreenTop: 10px; notificationsBoxScreenSize: size(280px, 160px); notificationsSampleSkip: 5px; notificationsSampleTopSkip: 5px; notificationsSampleBottomSkip: 5px; notificationsSampleMargin: 2px; notificationSampleOpacity: 0.5; notificationSampleSize: size(64px, 16px); membersAboutLimitPadding: margins(0px, 16px, 0px, 16px); membersAbout: FlatLabel(defaultFlatLabel) { minWidth: 240px; textFg: membersAboutLimitFg; align: align(top); style: boxLabelStyle; } fragmentBoxButton: RoundButton(introFragmentButton) { width: 256px; } passcodeHeaderFont: font(19px); passcodeHeaderHeight: 80px; passcodeInput: InputField(introPhone) { textMargins: margins(1px, 27px, 1px, 6px); } passcodeSubmit: RoundButton(introNextButton) { width: 225px; } passcodeSubmitSkip: 40px; passcodePadding: margins(0px, 0px, 0px, 5px); passcodeTextLine: 28px; passcodeLittleSkip: 5px; passcodeAboutSkip: 7px; passcodeSkip: 23px; newGroupAboutFg: windowSubTextFg; newGroupPadding: margins(4px, 6px, 4px, 3px); newGroupSkip: 27px; newGroupInfoPadding: margins(0px, -4px, 0px, 1px); newGroupLinkPadding: margins(4px, 27px, 4px, 21px); newGroupLinkTop: 3px; newGroupLinkFont: font(16px); newGroupNamePosition: point(27px, 5px); newGroupDescriptionPadding: margins(0px, 13px, 0px, 4px); newGroupDescription: InputField(defaultInputField) { textMargins: margins(1px, 26px, 1px, 4px); heightMax: 116px; } setupChannelLink: InputField(defaultInputField) { textMargins: margins(0px, 6px, 0px, 4px); heightMin: 32px; } themeWarningWidth: boxWideWidth; themeWarningHeight: 150px; themeWarningTextTop: 60px; aboutWidth: 390px; aboutVersionTop: -3px; aboutVersionLink: LinkButton(defaultLinkButton) { color: windowSubTextFg; overColor: windowSubTextFg; } aboutTextTop: 34px; aboutSkip: 14px; aboutLabel: FlatLabel(defaultFlatLabel) { minWidth: 300px; align: align(topleft); style: TextStyle(defaultTextStyle) { lineHeight: 22px; } } autoDownloadTitleFont: font(15px semibold); autoDownloadLimitSlider: MediaSlider(defaultContinuousSlider) { seekSize: size(15px, 15px); } autoDownloadLimitPadding: margins(22px, 8px, 22px, 8px); confirmMaxHeight: 245px; supportInfoField: InputField(defaultInputField) { heightMax: 256px; } connectionHostInputField: InputField(defaultInputField) { width: 160px; } connectionPortInputField: InputField(defaultInputField) { width: 55px; } connectionUserInputField: InputField(defaultInputField) { width: 95px; } connectionPasswordInputField: InputField(defaultInputField) { width: 120px; } connectionIPv6Skip: 11px; autolockWidth: 256px; autolockButton: Checkbox(defaultBoxCheckbox) { width: 200px; } langsRadio: Radio(defaultRadio) { bg: boxBg; } backgroundPadding: 10px; backgroundSize: size(108px, 193px); backgroundScroll: ScrollArea(boxScroll) { deltax: 3px; width: 10px; deltat: 10px; deltab: 10px; } sendMediaPreviewSize: 308px; sendMediaPreviewHeightMax: 1280; sendMediaRowSkip: 10px; editMediaHintLabel: FlatLabel(defaultFlatLabel) { textFg: windowSubTextFg; minWidth: sendMediaPreviewSize; } calendarTitleHeight: boxTitleHeight; calendarPrevious: IconButton { width: calendarTitleHeight; height: calendarTitleHeight; icon: icon {{ "calendar_down-flip_vertical", boxTitleFg }}; iconPosition: point(-1px, -1px); rippleAreaPosition: point(2px, 2px); rippleAreaSize: 44px; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } calendarPreviousDisabled: icon {{ "calendar_down-flip_vertical", menuIconFg }}; calendarNext: IconButton(calendarPrevious) { icon: icon {{ "calendar_down", boxTitleFg }}; } CalendarSizes { width: pixels; daysHeight: pixels; cellSize: size; cellInner: pixels; padding: margins; } calendarNextDisabled: icon {{ "calendar_down", menuIconFg }}; calendarTitleFont: boxTitleFont; defaultCalendarSizes: CalendarSizes { width: boxWideWidth; daysHeight: 40px; cellSize: size(48px, 40px); cellInner: 34px; padding: margins(14px, 0px, 14px, 0px); } calendarDaysFont: normalFont; calendarDaysFg: boxTitleAdditionalFg; calendarScroll: ScrollArea(defaultSolidScroll) { deltat: 3px; deltab: 3px; round: 1px; width: 8px; deltax: 3px; hiding: 1000; } CalendarColors { dayTextColor: color; dayTextGrayedOutColor: color; iconButtonNext: IconButton; iconButtonNextDisabled: icon; iconButtonPrevious: IconButton; iconButtonPreviousDisabled: icon; iconButtonRippleColorDisabled: color; rippleColor: color; rippleColorHighlighted: color; rippleGrayedOutColor: color; titleTextColor: color; } defaultCalendarColors: CalendarColors { dayTextColor: boxTextFg; dayTextGrayedOutColor: windowSubTextFg; iconButtonNext: calendarNext; iconButtonNextDisabled: calendarNextDisabled; iconButtonPrevious: calendarPrevious; iconButtonPreviousDisabled: calendarPreviousDisabled; iconButtonRippleColorDisabled: boxBg; rippleColor: windowBgOver; rippleColorHighlighted: dialogsRippleBgActive; rippleGrayedOutColor: windowBgRipple; titleTextColor: boxTitleFg; } passcodeTextStyle: TextStyle(defaultTextStyle) { lineHeight: 20px; } usernamePadding: margins(24px, 2px, 24px, 10px); usernameSkip: 44px; usernameDefaultFg: windowSubTextFg; editMediaLabelMargins: margins(0px, 11px, 0px, 0px); editMediaCheckboxMargins: margins(0px, 15px, 23px, 15px); downloadPathSkip: 10px; colorEditWidth: 390px; colorEditSkip: 10px; colorPickerSize: 256px; colorPickerMarkRadius: 6px; colorPickerMarkLine: 1px; colorSliderSkip: 8px; colorSliderArrowLeft: icon {{ "color_slider_arrow", sliderBgActive }}; colorSliderArrowRight: icon {{ "color_slider_arrow-flip_horizontal", sliderBgActive }}; colorSliderArrowTop: icon {{ "color_slider_arrow_vertical", sliderBgActive }}; colorSliderArrowBottom: icon {{ "color_slider_arrow_vertical-flip_vertical", sliderBgActive }}; colorSliderWidth: 19px; colorSampleSize: size(60px, 34px); colorFieldSkip: 13px; colorValueInput: InputField(defaultInputField) { textMargins: margins(16px, 3px, 0px, 2px); heightMin: 27px; } colorResultInput: InputField(colorValueInput) { } changePhoneButton: RoundButton(defaultActiveButton) { width: 256px; } changePhoneButtonPadding: margins(0px, 32px, 0px, 44px); changePhoneTitle: FlatLabel(boxTitle) { } changePhoneTitlePadding: margins(0px, 8px, 0px, 8px); changePhoneDescription: FlatLabel(defaultFlatLabel) { minWidth: 332px; align: align(top); textFg: windowSubTextFg; } changePhoneDescriptionPadding: margins(0px, 1px, 0px, 8px); changePhoneIconPadding: margins(0px, 39px, 0px, 5px); changePhoneIconSize: 120px; changePhoneLabel: FlatLabel(defaultFlatLabel) { minWidth: 275px; textFg: windowSubTextFg; } changePhoneError: FlatLabel(changePhoneLabel) { textFg: boxTextFgError; } adminLogFilterUserpicLeft: 15px; adminLogFilterLittleSkip: 16px; adminLogFilterCheckbox: Checkbox(defaultBoxCheckbox) { style: TextStyle(boxTextStyle) { font: font(boxFontSize semibold); } } adminLogFilterSkip: 32px; adminLogFilterUserCheckbox: Checkbox(defaultBoxCheckbox) { margin: margins(8px, 6px, 8px, 6px); checkPosition: point(8px, 6px); } rightsCheckbox: Checkbox(defaultCheckbox) { textPosition: point(10px, 1px); rippleBg: attentionButtonBgOver; } rightsToggle: Toggle(defaultToggle) { toggledFg: windowBgActive; untoggledFg: attentionButtonFg; lockIcon: icon {{ "info/info_rights_lock", windowBgActive }}; xsize: 8px; vsize: 5px; vshift: 1px; stroke: 2px; duration: 120; } rightsButton: SettingsButton(defaultSettingsButton) { padding: margins(22px, 8px, 22px, 8px); toggle: rightsToggle; toggleOver: rightsToggle; toggleSkip: 20px; } rightsButtonToggleWidth: 70px; rightsDividerMargin: margins(0px, 0px, 0px, 20px); rightsHeaderMargin: margins(22px, 13px, 22px, 7px); rightsToggleMargin: margins(22px, 8px, 22px, 8px); rightsAboutMargin: margins(22px, 8px, 22px, 8px); rightsPhotoButton: UserpicButton(defaultUserpicButton) { size: size(60px, 60px); photoSize: 60px; } rightsPhotoMargin: margins(20px, 0px, 15px, 18px); rightsNameStyle: TextStyle(semiboldTextStyle) { font: font(15px semibold); } rightsNameTop: 8px; rightsStatusTop: 32px; rightsHeaderLabel: FlatLabel(boxLabel) { style: TextStyle(semiboldTextStyle) { font: font(boxFontSize semibold); } textFg: windowActiveTextFg; } rightsUntilMargin: margins(0px, 8px, 0px, 20px); rightsRankMargin: margins(0px, 7px, 0px, 20px); groupStickersRemove: defaultMultiSelectSearchCancel; groupStickersRemovePosition: point(6px, 6px); groupStickersFieldPadding: margins(8px, 6px, 8px, 6px); groupStickersField: InputField(defaultMultiSelectSearchField) { placeholderFont: boxTextFont; font: boxTextFont; placeholderMargins: margins(0px, 0px, 0px, 0px); textMargins: margins(0px, 7px, 0px, 0px); textBg: boxBg; heightMin: 32px; } groupStickersSubTitleHeight: 48px; proxyUsePadding: margins(22px, 6px, 22px, 5px); proxyTryIPv6Padding: margins(22px, 8px, 22px, 5px); proxyRowPadding: margins(22px, 8px, 8px, 8px); proxyRowIconSkip: 32px; proxyRowSkip: 2px; proxyRowRipple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } proxyRowTitleFg: windowFg; proxyRowTitlePalette: TextPalette(defaultTextPalette) { linkFg: windowSubTextFg; } proxyRowTitleStyle: TextStyle(defaultTextStyle) { font: semiboldFont; } proxyRowStatusFg: windowSubTextFg; proxyRowStatusFgOnline: windowActiveTextFg; proxyRowStatusFgOffline: boxTextFgError; proxyRowStatusFgAvailable: boxTextFgGood; proxyEditTitle: FlatLabel(defaultFlatLabel) { style: TextStyle(defaultTextStyle) { font: autoDownloadTitleFont; } textFg: boxTitleFg; } proxyEditTitlePadding: margins(22px, 16px, 22px, 0px); proxyEditTypePadding: margins(22px, 4px, 22px, 8px); proxyEditInputPadding: margins(22px, 0px, 22px, 0px); proxyEditSkip: 16px; proxyEmptyListLabel: FlatLabel(defaultFlatLabel) { align: align(top); textFg: windowSubTextFg; } proxyEmptyListPadding: margins(22px, 48px, 22px, 0px); proxyCheckingPosition: point(2px, 5px); proxyCheckingSkip: 6px; proxyCheckingAnimation: InfiniteRadialAnimation(defaultInfiniteRadialAnimation) { color: windowSubTextFg; thickness: 1px; size: size(8px, 8px); } proxyDropdownDownPosition: point(-2px, 35px); proxyDropdownUpPosition: point(-2px, 20px); proxyAboutPadding: margins(22px, 7px, 22px, 14px); proxyAboutSponsorPadding: margins(22px, 7px, 22px, 0px); markdownLinkFieldPadding: margins(22px, 0px, 22px, 10px); termsContent: FlatLabel(defaultFlatLabel) { minWidth: 285px; } termsPadding: margins(22px, 4px, 16px, 16px); termsAgePadding: margins(22px, 16px, 16px, 0px); themesSmallSkip: 10px; themesMenuToggle: IconButton(defaultIconButton) { width: 44px; height: 44px; icon: menuToggleIcon; iconOver: menuToggleIconOver; iconPosition: point(-1px, -1px); rippleAreaPosition: point(4px, 4px); rippleAreaSize: 36px; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } themesMenuPosition: point(-2px, 25px); createPollField: InputField(defaultInputField) { font: boxTextFont; textMargins: margins(0px, 4px, 0px, 4px); textAlign: align(left); heightMin: 36px; heightMax: 86px; placeholderFg: placeholderFg; placeholderFgActive: placeholderFgActive; placeholderFgError: placeholderFgActive; placeholderMargins: margins(2px, 0px, 2px, 0px); placeholderAlign: align(topleft); placeholderScale: 0.; placeholderFont: boxTextFont; placeholderShift: -50px; border: 0px; borderActive: 0px; duration: 100; } createPollFieldPadding: margins(22px, 5px, 22px, 5px); createPollOptionField: InputField(createPollField) { textMargins: margins(22px, 11px, 40px, 11px); placeholderMargins: margins(2px, 0px, 2px, 0px); heightMax: 68px; } createPollSolutionField: InputField(createPollField) { textMargins: margins(0px, 4px, 0px, 4px); border: 1px; borderActive: 2px; } createPollLimitPadding: margins(22px, 10px, 22px, 16px); createPollOptionRemove: CrossButton { width: 22px; height: 22px; cross: CrossAnimation { size: 22px; skip: 6px; stroke: 1.; minScale: 0.3; } crossFg: boxTitleCloseFg; crossFgOver: boxTitleCloseFgOver; crossPosition: point(0px, 0px); duration: 150; loadingPeriod: 1000; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } createPollOptionRemovePosition: point(11px, 9px); createPollWarning: FlatLabel(defaultFlatLabel) { textFg: windowSubTextFg; palette: TextPalette(defaultTextPalette) { linkFg: boxTextFgError; } } createPollWarningPosition: point(16px, 6px); createPollCheckboxMargin: margins(22px, 10px, 22px, 10px); createPollFieldTitlePadding: margins(22px, 7px, 10px, 6px); backgroundCheckbox: Checkbox(defaultCheckbox) { textFg: msgServiceFg; textFgActive: msgServiceFg; width: -50px; margin: margins(0px, 0px, 0px, 0px); textPosition: point(0px, 6px); checkPosition: point(0px, 0px); style: semiboldTextStyle; } backgroundCheck: ServiceCheck { margin: margins(10px, 6px, 8px, 6px); diameter: 18px; shift: 2px; thickness: 2px; tip: point(7px, 13px); small: 3px; large: 6px; stroke: 2px; color: msgServiceFg; duration: 200; } backgroundConfirmPadding: margins(24px, 16px, 24px, 16px); backgroundConfirm: RoundButton(defaultActiveButton) { height: 44px; textTop: 12px; font: font(13px semibold); } backgroundConfirmCancel: RoundButton(backgroundConfirm) { textFg: mediaviewSaveMsgFg; textFgOver: mediaviewSaveMsgFg; numbersTextFg: mediaviewSaveMsgFg; numbersTextFgOver: mediaviewSaveMsgFg; textBg: shadowFg; textBgOver: shadowFg; height: 44px; textTop: 12px; font: font(13px semibold); ripple: RippleAnimation(defaultRippleAnimation) { color: shadowFg; } } urlAuthCheckbox: Checkbox(defaultBoxCheckbox) { width: 240px; } addContactFieldMargin: margins(19px, 0px, 19px, 10px); addContactWarningMargin: margins(19px, 10px, 19px, 5px); blockUserConfirmation: FlatLabel(boxLabel) { minWidth: 240px; } transferCheckWidth: 320px; slowmodeLabelsMargin: margins(0px, 5px, 0px, 0px); slowmodeLabel: LabelSimple(defaultLabelSimple) { textFg: windowSubTextFg; } boostsUnrestrictLabel: FlatLabel(defaultFlatLabel) { textFg: windowSubTextFg; } customBadgeField: InputField(defaultInputField) { textMargins: margins(2px, 7px, 2px, 0px); placeholderFg: placeholderFg; placeholderFgActive: placeholderFgActive; placeholderFgError: placeholderFgActive; placeholderMargins: margins(0px, 0px, 0px, 0px); placeholderScale: 0.; placeholderFont: normalFont; heightMin: 32px; } pollResultsQuestion: FlatLabel(defaultFlatLabel) { minWidth: 320px; textFg: windowBoldFg; style: TextStyle(defaultTextStyle) { font: font(16px semibold); } } pollResultsVotesCount: FlatLabel(defaultFlatLabel) { textFg: windowSubTextFg; } pollResultsHeaderPadding: margins(22px, 22px, 22px, 8px); pollResultsShowMore: SettingsButton(defaultSettingsButton) { textFg: lightButtonFg; textFgOver: lightButtonFgOver; textBg: windowBg; textBgOver: windowBgOver; style: semiboldTextStyle; height: 20px; padding: margins(71px, 10px, 8px, 8px); ripple: defaultRippleAnimation; } inviteViaLinkButton: SettingsButton(defaultSettingsButton) { textFg: lightButtonFg; textFgOver: lightButtonFgOver; textBg: windowBg; textBgOver: windowBgOver; style: TextStyle(defaultTextStyle) { font: font(14px semibold); } height: 20px; padding: margins(74px, 8px, 8px, 9px); ripple: defaultRippleAnimation; } inviteViaLinkIcon: icon {{ "info/edit/group_manage_links", lightButtonFg }}; inviteViaLinkIconPosition: point(23px, 2px); peerListWithInviteViaLink: PeerList(peerListBox) { padding: margins( 0px, 0px, 0px, membersMarginBottom); } peerListSingleRow: PeerList(peerListBox) { padding: margins(0px, 0px, 0px, 0px); } scheduleHeight: 95px; scheduleDateTop: 38px; scheduleDateField: InputField(defaultInputField) { textMargins: margins(2px, 0px, 2px, 0px); placeholderScale: 0.; heightMin: 30px; textAlign: align(top); font: font(14px); } scheduleTimeField: InputField(scheduleDateField) { border: 0px; borderActive: 0px; heightMin: 28px; placeholderFont: font(14px); placeholderFgActive: placeholderFgActive; } scheduleDateWidth: 136px; scheduleTimeWidth: 72px; scheduleAtSkip: 24px; scheduleAtTop: 42px; scheduleAtLabel: FlatLabel(defaultFlatLabel) { } scheduleTimeSeparator: FlatLabel(defaultFlatLabel) { style: TextStyle(defaultTextStyle) { font: font(14px); } } scheduleTimeSeparatorPadding: margins(2px, 0px, 2px, 0px); muteBoxTimeField: InputField(scheduleDateField) { textMargins: margins(0px, 0px, 0px, 0px); placeholderMargins: margins(0px, 0px, 0px, 0px); placeholderScale: 0.; heightMin: 30px; textAlign: align(left); font: font(14px); } muteBoxTimeFieldPadding: margins(5px, 0px, 5px, 0px); boxAttentionDividerLabel: FlatLabel(boxDividerLabel) { textFg: boxTextFgError; } autolockDateField: InputField(scheduleDateField) { heightMin: 22px; } autolockTimeField: InputField(scheduleTimeField) { heightMin: 20px; } autolockTimeWidth: 52px; sponsoredUrlButtonSkip: 11px; sponsoredUrlButton: RoundButton(defaultActiveButton) { height: 32px; width: -42px; textBg: transparent; textBgOver: transparent; radius: roundRadiusLarge; padding: margins(2px, 2px, 2px, 2px); textFg: historyLinkInFg; textFgOver: historyLinkInFg; textTop: 7px; font: normalFont; ripple: RippleAnimation(defaultRippleAnimation) { color: windowBgOver; } } requestPeerRestriction: FlatLabel(defaultFlatLabel) { minWidth: 240px; textFg: membersAboutLimitFg; style: TextStyle(boxTextStyle) { lineHeight: 22px; } } requestsBoxItem: PeerListItem(peerListBoxItem) { height: 99px; button: OutlineButton(defaultPeerListButton) { textBg: contactsBg; textBgOver: contactsBg; ripple: RippleAnimation(defaultRippleAnimation) { color: contactsBgOver; } } } requestsBoxList: PeerList(peerListBox) { padding: margins(0px, 12px, 0px, 12px); item: requestsBoxItem; } contactsWithStories: PeerList(peerListBox) { padding: margins(0px, 0px, 0px, 0px); item: PeerListItem(peerListBoxItem) { height: 52px; photoPosition: point(18px, 5px); namePosition: point(70px, 7px); statusPosition: point(70px, 27px); checkbox: RoundImageCheckbox(defaultPeerListCheckbox) { selectExtendTwice: 1px; imageRadius: 21px; imageSmallRadius: 19px; check: RoundCheckbox(defaultPeerListCheck) { size: 0px; } } nameFgChecked: contactsNameFg; } } storiesReadLineTwice: 2px; storiesUnreadLineTwice: 4px; requestsAcceptButton: RoundButton(defaultActiveButton) { width: -28px; height: 30px; textTop: 6px; } requestsRejectButton: RoundButton(defaultLightButton) { width: -28px; height: 30px; textTop: 6px; } requestAcceptPosition: point(71px, 58px); requestButtonsSkip: 9px; ringtonesBoxButton: SettingsButton(defaultSettingsButton) { textFg: lightButtonFg; textFgOver: lightButtonFgOver; padding: margins(56px, 10px, 22px, 8px); iconLeft: 25px; } ringtonesBoxSkip: 7px; gradientButtonGlareDuration: 700; gradientButtonGlareTimeout: 2000; gradientButtonGlareWidth: 100px; infoLabeledOneLine: FlatLabel(defaultFlatLabel) { maxHeight: 20px; style: TextStyle(defaultTextStyle) { lineHeight: 19px; } margin: margins(5px, 5px, 5px, 5px); } infoLabelSkip: 2px; infoLabeled: FlatLabel(infoLabeledOneLine) { minWidth: 180px; maxHeight: 0px; margin: margins(5px, 5px, 5px, 5px); } infoLabel: FlatLabel(infoLabeled) { textFg: windowSubTextFg; } shortInfoBox: ShortInfoBox { label: infoLabel; labeled: infoLabeled; labeledOneLine: infoLabeledOneLine; } birthdayLabeled: FlatLabel(infoLabeled) { margin: margins(0px, 0px, 0px, 0px); } birthdayLabel: FlatLabel(infoLabel) { margin: margins(0px, 0px, 0px, 0px); } birthdayTodayIcon: icon {{ "menu/gift_premium", windowActiveTextFg }}; inviteForbiddenUserpicsPadding: margins(10px, 10px, 10px, 0px); inviteForbiddenInfo: FlatLabel(defaultFlatLabel) { minWidth: 240px; align: align(top); } inviteForbiddenInfoPadding: margins(32px, 10px, 32px, 4px); inviteForbiddenSubscribePadding: margins(16px, 12px, 16px, 16px); inviteForbiddenOrLabelPadding: margins(32px, 0px, 32px, 0px); inviteForbiddenTitle: FlatLabel(boxTitle) { minWidth: 120px; align: align(top); } inviteForbiddenTitlePadding: margins(32px, 4px, 32px, 0px); inviteForbiddenLockBg: dialogsUnreadBgMuted; inviteForbiddenLockIcon: icon {{ "emoji/premium_lock", dialogsUnreadFg }}; collectibleIconDiameter: 72px; collectibleIcon: 64px; collectibleIconPadding: margins(24px, 32px, 24px, 12px); collectibleHeader: FlatLabel(boxTitle) { minWidth: 120px; maxHeight: 0px; align: align(top); } collectibleHeaderPadding: margins(24px, 16px, 24px, 12px); collectibleOwnerPadding: margins(24px, 4px, 24px, 8px); collectibleInfo: inviteForbiddenInfo; collectibleInfoPadding: margins(24px, 12px, 24px, 12px); collectibleInfoTonMargins: margins(0px, 3px, 0px, 0px); collectibleMore: RoundButton(defaultActiveButton) { height: 36px; textTop: 9px; radius: 6px; } collectibleMorePadding: margins(24px, 12px, 24px, 0px); collectibleCopy: RoundButton(defaultLightButton) { height: 36px; textTop: 9px; radius: 6px; } collectibleBox: Box(defaultBox) { buttonPadding: margins(24px, 12px, 24px, 12px); buttonHeight: 36px; button: collectibleCopy; }