tdesktop/Telegram/SourceFiles/boxes/boxes.style

1023 lines
26 KiB
Plaintext

/*
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;
}