tweb/src/scss/style.scss

2566 lines
53 KiB
SCSS
Raw Permalink Normal View History

2021-04-08 15:52:31 +02:00
/*
* https://github.com/morethanwords/tweb
* Copyright (C) 2019-2021 Eduard Kuzmenko
* https://github.com/morethanwords/tweb/blob/master/LICENSE
*/
@import "variables";
@function hover-color($color, $alpha: $hover-alpha) {
@return rgba($color, $alpha);
}
2022-02-08 20:18:01 +01:00
@function rgba-to-rgb($rgba, $background: #fff) {
2023-01-06 20:27:29 +01:00
@if $background == true {
$background: #fff;
}
2022-02-08 20:18:01 +01:00
@return mix(rgb(red($rgba), green($rgba), blue($rgba)), $background, alpha($rgba) * 100%);
}
2023-01-06 20:27:29 +01:00
@mixin avatar-color($color, $top, $bottom) {
--peer-avatar-#{$color}-top: #{$top};
--peer-avatar-#{$color}-bottom: #{$bottom};
}
/* @mixin safari-overflow() {
html.is-safari & {
-webkit-mask-image: -webkit-radial-gradient(circle, white 100%, black 100%);
@content;
}
} */
@import "mixins";
2021-02-06 14:49:45 +01:00
:root {
--vh: 1vh;
--z-below: -1;
--hover-alpha: #{$hover-alpha};
2023-11-14 12:47:02 +01:00
--reflect: 1;
--transition-standard-easing: cubic-bezier(.4, .0, .2, 1);
2021-04-15 10:44:27 +02:00
--transition-standard-in-time: .3s;
--transition-standard-out-time: .25s;
--transition-standard-in: var(--transition-standard-in-time) var(--transition-standard-easing);
--transition-standard-out: var(--transition-standard-out-time) var(--transition-standard-easing);
2023-11-22 15:12:17 +01:00
--transform-origin-inline-start: left;
--transform-origin-inline-end: right;
2023-11-14 12:47:02 +01:00
--transform-origin-left-center: left center;
2023-11-22 15:12:17 +01:00
--transform-origin-right-center: right center;
2023-11-14 12:47:02 +01:00
&.is-rtl {
--reflect: -1;
2023-11-22 15:12:17 +01:00
--transform-origin-inline-start: right;
--transform-origin-inline-end: left;
2023-11-14 12:47:02 +01:00
--transform-origin-left-center: right center;
2023-11-22 15:12:17 +01:00
--transform-origin-right-center: left center;
2023-11-14 12:47:02 +01:00
}
--pm-transition: .2s ease-in-out;
--layer-transition: .2s cubic-bezier(.4, .0, .2, 1);
--slide-header-transition: .4s ease-in-out;
--tabs-transition: .2s ease-in-out;
2021-04-09 18:44:43 +02:00
--btn-menu-transition: .2s cubic-bezier(.4, 0, .2, 1);
--esg-transition: var(--btn-menu-transition);
2022-07-02 02:53:09 +02:00
--input-transition: .2s ease-out;
2023-11-14 12:47:02 +01:00
--input-placeholder-transition: .15s ease-out;
2022-08-15 16:02:15 +02:00
--sticker-viewer-open-transition-in: .2s var(--transition-standard-easing);
--sticker-viewer-open-transition-out: .2s var(--transition-standard-easing);
// --sticker-viewer-switch-transition: .2s cubic-bezier(.07,1.21,.56,1.2);
--sticker-viewer-switch-transition: .2s cubic-bezier(.12,1.1,.56,1.2);
2021-04-09 18:44:43 +02:00
--popup-transition-function: cubic-bezier(.4, 0, .2, 1);
// --popup-transition-time: .15s;
2021-04-09 18:44:43 +02:00
--popup-transition-time: .15s;
2023-10-17 13:02:36 +02:00
--popup-transition: var(--popup-transition-time) var(--popup-transition-function);
//--layer-transition: .3s cubic-bezier(.33, 1, .68, 1);
//--layer-transition: none;
--btn-corner-transition: .2s cubic-bezier(.34, 1.56, .64, 1);
2023-01-06 20:27:29 +01:00
--chatlist-badge-transition-in: .25s cubic-bezier(.35,.35,.47,1.34); // 1.34
--chatlist-badge-transition-out: .25s cubic-bezier(.35,.35,.7,1);
--message-handhelds-margin: 5.5625rem;
2021-10-21 15:16:43 +02:00
--message-beside-button-size: 2.375rem;
--message-beside-button-margin: calc((var(--message-beside-button-size) + .5rem) * -1);
--message-time-background: rgba(0, 0, 0, .35);
--messages-container-width: #{$messages-container-width};
2021-01-03 13:02:35 +01:00
--messages-text-size: 16px;
2022-11-27 14:09:10 +01:00
--messages-line-height: 1.3125;
2023-11-29 20:53:32 +01:00
// --messages-line-height: calc(var(--messages-text-size) + 5px);
2021-08-09 22:29:40 +02:00
--messages-secondary-text-size: calc(var(--messages-text-size) - 2px);
2022-02-25 14:36:13 +01:00
--messages-secondary-line-height: calc(var(--messages-secondary-text-size) + 4px);
2022-11-07 15:25:27 +01:00
--messages-time-text-size: calc(var(--messages-text-size) - 4px);
// --messages-service-text-size: calc(var(--messages-text-size) - 2px);
2022-11-07 15:25:27 +01:00
--messages-service-text-size: calc(var(--messages-text-size) - 1px);
--messages-custom-emoji-size: calc(var(--messages-text-size) + 4px);
--bubble-transition-in: transform var(--transition-standard-in), opacity var(--transition-standard-in);
--bubble-transition-out: transform var(--transition-standard-out), opacity var(--transition-standard-out);
2022-11-27 14:09:10 +01:00
--line-height-20: 26px;
--line-height-18: 24px;
2022-02-25 14:36:13 +01:00
--line-height-16: 21px;
--line-height-15: 20px;
2022-02-25 14:36:13 +01:00
--line-height-14: 18px;
--line-height-13: 17px;
--line-height-12: 16px;
--line-height-11: 15px;
2022-11-27 14:09:10 +01:00
--line-height: 1.3125;
2022-07-18 15:00:41 +02:00
--font-size-20: 20px;
--font-size-18: 18px;
2022-02-25 14:36:13 +01:00
--font-size-16: 16px;
--font-size-15: 15px;
2022-02-25 14:36:13 +01:00
--font-size-14: 14px;
2023-10-11 14:30:35 +02:00
--font-size-13: 13px;
--font-size-12: 12px;
--font-size-11: 11px;
2022-11-27 14:09:10 +01:00
--font-size: var(--font-size-16);
2022-11-01 18:39:23 +01:00
--esg-sticker-size: 72px;
--esg-custom-emoji-size: 36px;
--popup-sticker-size: 80px;
--disabled-opacity: .3;
--round-video-size: 280px;
2022-06-07 14:28:50 +02:00
--menu-box-shadow: 0px 0px 10px var(--menu-box-shadow-color);
--menu-backdrop-filter: blur(50px);
2023-11-24 09:32:47 +01:00
--font-regular: "Roboto", -apple-system, apple color emoji, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
2022-04-14 02:37:06 +02:00
--font-monospace: 'Roboto Mono', monospace;
--font-weight-bold: 500;
2022-11-27 14:09:10 +01:00
--font-weight-normal: 400;
2022-11-01 18:39:23 +01:00
--selection-background-color: rgba(var(--primary-color-rgb), .4);
--selection-color: inherit;
--white: #ffffff;
--ripple-duration: .7s;
--ripple-start-scale: 0;
--ripple-end-scale: 2;
@include respond-to(until-floating-left-sidebar) {
--ripple-duration: .4s;
--ripple-start-scale: .27;
}
2021-12-11 17:37:08 +01:00
--topbar-floating-scaleX: 1;
2024-03-12 18:00:59 +01:00
--topbar-call-group-call-height: 3rem;
--topbar-call-call-height: 3rem;
--topbar-call-rtmp-height: 1.6875rem;
2021-12-11 17:37:08 +01:00
--topbar-floating-call-height: 0px;
--call-button-size: 3.375rem;
--call-button-margin: 2rem;
2022-11-07 15:25:27 +01:00
--custom-emoji-size: 1.25rem;
2022-08-31 06:22:16 +02:00
--esg-width: 100%;
--chat-input-border-radius: 1rem;
--chat-input-max-width: var(--messages-container-width);
--chat-input-btn-send-margin: #{$btn-send-margin};
// https://github.com/overtake/TelegramSwift/blob/5cc7d2475fe4738a6aa0486c23eaf80a89d33b97/submodules/TGUIKit/TGUIKit/PresentationTheme.swift#L2054
2023-01-06 20:27:29 +01:00
@include avatar-color("red", #FF845E, #D45246);
@include avatar-color("orange", #FEBB5B, #F68136);
@include avatar-color("violet", #B694F9, #6C61DF);
@include avatar-color("green", #9AD164, #46BA43);
@include avatar-color("cyan", #53edd6, #28c9b7);
2024-01-19 12:57:20 +01:00
@include avatar-color("blue", #5CAFFA, #408ACF);
2023-01-06 20:27:29 +01:00
@include avatar-color("pink", #FF8AAC, #D95574);
2023-01-28 15:11:39 +01:00
// @include avatar-color("saved", #69BFFA, #3D9DE0);
2023-01-06 20:27:29 +01:00
@include avatar-color("archive", #B8C2CC, #9EAAB5);
2023-01-28 15:11:39 +01:00
--peer-avatar-saved-top: var(--light-filled-saved-color);
--peer-avatar-saved-bottom: var(--saved-color);
--peer-color: var(--primary-color);
--peer-color-rgb: var(--primary-color-rgb);
--avatar-color-story-unread-from: #34c76f;
--avatar-color-story-unread-to: #3da1fd;
--avatar-color-story-close-from: #88D93A;
--avatar-color-story-close-to: #30B73B;
2023-11-13 16:45:29 +01:00
--avatar-color-story-read: var(--secondary-color);
--avatar-color-top: var(--peer-avatar-saved-top);
--avatar-color-bottom: var(--peer-avatar-saved-bottom);
2023-01-06 20:27:29 +01:00
--avatar-border-radius-forum: 37%;
--premium-gradient: linear-gradient(52.62deg, #6B93FF 12.22%, #976FFF 50.25%, #E46ACE 98.83%);
@include respond-to(handhelds) {
--right-column-width: 100vw;
2020-09-26 00:47:43 +02:00
--esg-sticker-size: 68px;
2022-11-01 18:39:23 +01:00
--popup-sticker-size: 68px;
--round-video-size: 240px;
--chat-input-size: #{$chat-input-handhelds-size};
--chat-input-padding: #{$chat-padding-handhelds};
--chat-input-inner-padding: #{$chat-input-inner-padding-handhelds};
}
@include respond-to(not-handhelds) {
--right-column-width: calc(#{$large-screen} / 4);
2024-03-19 19:31:08 +01:00
// --right-column-width: calc(400px);
--chat-input-size: #{$chat-input-size};
--chat-input-padding: #{$chat-padding};
--chat-input-inner-padding: #{$chat-input-inner-padding};
2024-03-19 19:31:08 +01:00
}
@include respond-to(esg-bottom) {
--chat-input-size: #{$chat-input-handhelds-size};
--chat-input-inner-padding: #{$chat-input-inner-padding-handhelds};
}
@include respond-to(esg-top) {
--esg-width: 23.875rem;
}
@include respond-to(only-medium-screens) {
--right-column-width: 25vw;
}
}
@mixin splitColor($property, $color, $light: true, $dark: true, $light-filled: false, $dark-filled: false, $rgb: false, $alpha: $hover-alpha) {
2021-04-02 23:45:51 +02:00
--#{$property}: #{$color};
2022-02-08 20:18:01 +01:00
$lightened: hover-color($color);
2021-04-02 23:45:51 +02:00
@if $light != false {
2022-02-08 20:18:01 +01:00
--light-#{$property}: #{$lightened};
}
@if $light-filled != false {
--light-filled-#{$property}: #{rgba-to-rgb($lightened, $light-filled)};
2021-04-02 23:45:51 +02:00
}
2022-11-11 17:21:29 +01:00
$darkened: darken($color, $alpha * 100);
2021-04-02 23:45:51 +02:00
@if $dark != false {
2022-02-08 20:18:01 +01:00
--dark-#{$property}: #{$darkened};
}
@if $dark-filled != false {
--dark-filled-#{$property}: #{rgba-to-rgb($darkened, $dark-filled)};
2021-04-02 23:45:51 +02:00
}
2022-11-01 18:39:23 +01:00
@if $rgb != false {
--#{$property}-rgb: #{red($color)}, #{green($color)}, #{blue($color)};
}
2021-04-02 23:45:51 +02:00
}
:root {
// * Day theme
--body-background-color: #fff;
--body-background-color-rgb: 255, 255, 255;
--background-color-true: #f4f4f5;
// --background-color: #fff;
--background-color: var(--background-color-true);
--border-color: #dfe1e5;
2021-04-02 23:45:51 +02:00
--scrollbar-color: rgba(0, 0, 0, .2);
--section-box-shadow-color: rgba(0, 0, 0, .06);
2022-06-07 14:28:50 +02:00
--menu-box-shadow-color: rgba(0, 0, 0, .15);
--input-search-background-color: #fff;
--input-search-border-color: #dfe1e5;
--secondary-color: #c4c9cc;
2023-11-24 09:32:47 +01:00
--warning-color: #fed85a;
2024-04-05 17:56:54 +02:00
--green-color: #3ba748;
// --avatar-online-color: #0ac630;
--avatar-online-color: var(--primary-color);
// --avatar-color-top: var(--peer-avatar-saved-top);
// --avatar-color-bottom: var(--peer-avatar-saved-bottom);
--chatlist-status-color: var(--avatar-online-color);
--chatlist-pinned-color: #a2abb2;
--badge-text-color: #fff;
--link-color: #00488f;
--ripple-color: rgba(0, 0, 0, #{$hover-alpha});
--skeleton-color: rgba(0, 0, 0, .12);
2021-04-15 10:44:27 +02:00
--poll-circle-color: var(--border-color);
2022-01-18 16:40:07 +01:00
--spoiler-background-color: #e3e5e8;
--spoiler-draft-background-color: #d9d9d9;
--monospace-text-color: var(--danger-color);
2022-11-01 18:39:23 +01:00
--backdrop-opacity: .85;
--menu-background-color: rgba(var(--surface-color-rgb), var(--backdrop-opacity));
--rlottie-vector-fill: rgba(0, 0, 0, #{$hover-alpha});
2023-10-21 11:02:24 +02:00
--limit-line-empty-background: #F1F3F5;
2024-01-26 20:40:00 +01:00
--old-input-background-color: #F1F3F5;
2024-01-16 13:13:07 +01:00
--premium-color: #9275ff;
2021-12-11 17:37:08 +01:00
--gc-background-color: #212121;
--gc-button-leave-color: rgba(255, 89, 90, .3);
--gc-button-unmuted-color: rgba(1, 200, 80, .2);
--gc-button-muted-color: rgba(60, 135, 247, .2);
--gc-button-hand-color: rgba(223, 68, 184, .2);
--gc-button-unmuted-fill-color: #195530;
--gc-button-muted-fill-color: #3C87F7;
--gc-green-color: #195530;
--gc-blue-color: #3C87F7;
--gc-red-color: #643333;
--gc-primary-text-color: #fff;
--gc-secondary-text-color: #aaaaaa;
--gc-green-text-color: #5CC85E;
--gc-blue-text-color: #3390ec;
--gc-red-text-color: #ff595a;
--gc-right-column-width: 26.25rem;
// * Day theme end
}
2021-12-11 17:37:08 +01:00
.night {
//:root {
// * Night theme
--body-background-color: #181818;
--body-background-color-rgb: 24, 24, 24;
--background-color-true: #181818;
// --background-color: #212121;
--background-color: var(--background-color-true);
--border-color: #0f0f0f;
2021-04-02 23:45:51 +02:00
--scrollbar-color: rgba(255, 255, 255, .2);
--section-box-shadow-color: rgba(0, 0, 0, .12);
--input-search-background-color: #181818;
--input-search-border-color: #2f2f2f;
--secondary-color: #707579;
// --avatar-online-color: #0ac630;
--avatar-online-color: var(--primary-color);
// --avatar-color-top: var(--peer-avatar-violet-top);
// --avatar-color-bottom: var(--peer-avatar-violet-bottom);
--chatlist-status-color: var(--primary-color);
--chatlist-pinned-color: var(--secondary-color);
--badge-text-color: #fff;
--link-color: var(--primary-color);
--ripple-color: rgba(255, 255, 255, #{$hover-alpha});
--skeleton-color: rgba(255, 255, 255, .12);
2021-04-15 10:44:27 +02:00
--poll-circle-color: #fff;
2022-01-18 16:40:07 +01:00
--spoiler-background-color: #373e4e;
--spoiler-draft-background-color: #484848;
--monospace-text-color: var(--primary-text-color);
--menu-background-color: rgba(var(--surface-color-rgb), .75);
--rlottie-vector-fill: var(--light-secondary-text-color);
2023-10-21 11:02:24 +02:00
--limit-line-empty-background: var(--light-filled-secondary-text-color);
2024-01-29 14:22:40 +01:00
--old-input-background-color: var(--background-color-true);
2024-03-26 16:13:35 +01:00
// * Night theme end
}
.chat {
--message-highlighting-color: hsla(85.5319, 36.9171%, 40.402%, .4);//rgba(77, 142, 80, .4);
--message-highlighting-hover-color: rgba(var(--message-highlighting-color-rgb), calc(var(--message-highlighting-alpha) + .24));
--message-time-color: var(--secondary-text-color);
--message-checkbox-color: #61c642;
--message-checkbox-border-color: #fff;
--message-primary-color: var(--primary-color);
--message-primary-color-rgb: var(--primary-color-rgb);
--light-filled-message-primary-color: var(--light-filled-primary-color);
--message-status-color: var(--secondary-text-color);
--message-secondary-color: var(--secondary-color);
--message-error-color: var(--danger-color);
--message-icon-text-color: #fff;
--message-empty-primary-color: #fff;
--message-empty-primary-color-rgb: 255,255,255;
--message-reaction-tag-dot-color: rgba(255, 255, 255, .4);
--message-out-link-color: var(--link-color);
--message-out-status-color: var(--message-out-primary-color);
--message-out-time-color: var(--message-out-status-color);
--message-out-icon-text-color: #fff;
--message-out-selection-background-color: var(--selection-background-color);
--message-out-reaction-tag-dot-color: var(--message-reaction-tag-dot-color);
}
.night .chat {
--message-time-color: var(--secondary-text-color);
--message-checkbox-color: var(--primary-color);
--message-checkbox-border-color: #fff;
--message-status-color: var(--secondary-color);
--message-secondary-color: var(--secondary-color);
2022-09-02 19:43:54 +02:00
--message-error-color: #fff;
2023-10-23 15:27:27 +02:00
--message-icon-text-color: #fff;
--message-out-link-color: #fff;
--message-out-status-color: #fff;
--message-out-time-color: rgba(255, 255, 255, .6);
2023-10-23 15:27:27 +02:00
--message-out-icon-text-color: var(--message-out-background-color);
2022-11-01 18:39:23 +01:00
--message-out-selection-background-color: rgba(var(--surface-color-rgb), .4);
2024-01-18 20:22:33 +01:00
// --message-out-reaction-tag-dot-color: rgba(var(--message-out-background-color-rgb), 1);
--message-out-reaction-tag-dot-color: var(--message-out-background-color);
}
2023-11-24 09:32:47 +01:00
@import "components/prism";
2022-04-09 19:24:12 +02:00
@import "tgico";
2022-04-14 02:37:06 +02:00
@import "fonts/roboto";
@import "fonts/robotoMono";
@import "partials/input";
2020-10-21 21:17:49 +02:00
@import "partials/button";
@import "partials/animatedIcon";
2021-05-16 04:07:17 +02:00
@import "partials/autocompleteHelper";
@import "partials/autocompletePeerHelper";
@import "partials/badge";
2021-10-05 22:40:07 +02:00
@import "partials/ckin";
@import "partials/checkbox";
@import "partials/chatlist";
@import "partials/chat";
@import "partials/chatTopbar";
@import "partials/chatBubble";
@import "partials/chatPinned";
@import "partials/chatMarkupTooltip";
@import "partials/chatStickersHelper";
@import "partials/chatEmojiHelper";
@import "partials/chatInlineHelper";
2021-02-25 19:29:56 +01:00
@import "partials/chatSearch";
@import "partials/chatDrop";
2022-03-04 13:55:08 +01:00
@import "partials/chatBotCommands";
2021-02-04 01:06:24 +01:00
@import "partials/crop";
@import "partials/sidebar";
@import "partials/profile";
@import "partials/slider";
@import "partials/leftSidebar";
@import "partials/rightSidebar";
@import "partials/mediaViewer";
@import "partials/scrollable";
2024-05-03 12:02:57 +02:00
@import "partials/emojiDropdown";
@import "partials/selector";
@import "partials/gifsMasonry";
2020-08-27 20:25:47 +02:00
@import "partials/preloader";
@import "partials/ripple";
@import "partials/avatar";
@import "partials/document";
@import "partials/audio";
2021-02-25 19:29:56 +01:00
@import "partials/quizHint";
@import "partials/peerTyping";
@import "partials/poll";
@import "partials/transition";
@import "partials/row";
2021-04-22 18:58:31 +02:00
@import "partials/colorPicker";
2021-07-02 07:17:51 +02:00
@import "partials/replyKeyboard";
// @import "partials/peopleNearby";
2022-01-18 16:40:07 +01:00
@import "partials/spoiler";
@import "partials/emojiAnimation";
2022-02-08 20:18:01 +01:00
@import "partials/reactions";
@import "partials/reaction";
@import "partials/stackedAvatars";
2022-08-15 16:02:15 +02:00
@import "partials/stickerViewer";
2022-08-31 06:22:16 +02:00
@import "partials/customEmoji";
2023-01-06 20:27:29 +01:00
@import "partials/usernames";
@import "partials/topics";
@import "partials/themes";
@import "partials/print";
@import "partials/movableElement";
@import "partials/shimmer";
@import "partials/inviteLink";
@import "partials/markup";
2023-11-24 09:32:47 +01:00
@import "partials/quote";
@import "partials/similarChannels";
@import "partials/tooltip";
2024-01-26 20:40:00 +01:00
@import "partials/topbarSearch";
@import "partials/popups/popup";
@import "partials/popups/editAvatar";
@import "partials/popups/mediaAttacher";
@import "partials/popups/peer";
@import "partials/popups/stickers";
@import "partials/popups/datePicker";
2020-06-16 22:48:08 +02:00
@import "partials/popups/createPoll";
@import "partials/popups/forward";
@import "partials/popups/instanceDeactivated";
2021-06-29 16:21:16 +02:00
@import "partials/popups/joinChatInvite";
2021-08-26 00:05:29 +02:00
@import "partials/popups/reportMessages";
@import "partials/popups/call";
2022-03-24 15:30:00 +01:00
@import "partials/popups/groupCall";
2022-01-15 00:20:59 +01:00
@import "partials/popups/sponsored";
@import "partials/popups/mute";
2022-02-08 20:18:01 +01:00
@import "partials/popups/reactedList";
2022-07-18 15:00:41 +02:00
@import "partials/popups/payment";
@import "partials/popups/paymentCard";
@import "partials/popups/paymentShippingMethods";
@import "partials/popups/paymentVerification";
@import "partials/popups/paymentCardConfirmation";
2022-09-25 19:49:33 +02:00
@import "partials/popups/limit";
@import "partials/popups/giftPremium";
2023-03-25 14:03:22 +01:00
@import "partials/popups/webApp";
@import "partials/popups/chatlistInvite";
2023-10-11 14:30:35 +02:00
@import "partials/popups/boostsViaGifts";
2023-10-17 13:02:36 +02:00
@import "partials/popups/premium";
2023-10-21 11:02:24 +02:00
@import "partials/popups/boost";
2023-11-09 16:27:35 +01:00
@import "partials/popups/giftLink";
@import "partials/popups/toggleReadDate";
@import "partials/popups/confirmation";
2024-04-20 19:03:13 +02:00
@import "partials/popups/translate";
2024-05-07 22:36:44 +02:00
@import "partials/popups/reportAd";
2024-05-07 23:13:25 +02:00
@import "partials/popups/aboutAd";
2024-05-18 19:55:12 +02:00
@import "partials/popups/deleteMegagroupMessages";
@import "partials/pages/pages";
@import "partials/pages/authCode";
@import "partials/pages/chats";
@import "partials/pages/password";
2022-11-27 14:09:10 +01:00
html,
body {
height: 100%;
width: 100%;
margin: 0;
padding: 0;
2022-11-27 14:09:10 +01:00
overflow: hidden; // + disable overscroll behavior on macOS
@include respond-to(handhelds) {
2020-09-01 18:44:53 +02:00
height: calc(var(--vh, 1vh) * 100);
}
2020-09-01 18:44:53 +02:00
/* @include respond-to(handhelds) {
//overflow-y: auto;
height: 100%;
min-height: 100%;
min-width: 100%;
}
@include respond-to(not-handhelds) {
width: 100%;
height: 100%;
} */
}
2021-05-11 18:27:26 +02:00
html.is-ios {
//&, body {
position: fixed; // fix iOS fullscreen scroll
//}
// disable image longtapping
-webkit-user-select: none;
-webkit-touch-callout: none;
2021-05-11 18:27:26 +02:00
}
2022-06-08 14:06:04 +02:00
html.no-backdrop {
--menu-background-color: var(--surface-color);
--menu-backdrop-filter: none;
}
2021-05-10 00:50:44 +02:00
@supports(padding: unquote('max(0px)')) {
html {
padding: 0 unquote('min(16px, env(safe-area-inset-right))') 0 unquote('min(16px, env(safe-area-inset-left))');
}
}
html {
font-size: 16px;
//overflow: hidden;
-webkit-font-smoothing: antialiased;
-webkit-text-size-adjust: 100%;
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
//text-rendering: optimizeSpeed;
}
body {
//touch-action: pan-x pan-y;
background-color: var(--body-background-color);
2021-04-02 23:45:51 +02:00
color: var(--primary-text-color);
2023-05-21 14:18:21 +02:00
user-select: none;
}
body.deactivated {
animation: grayscale-in var(--transition-standard-in) forwards;
}
body.deactivated-backwards {
animation: grayscale-out var(--transition-standard-out) forwards;
}
@keyframes grayscale-in {
0% {
filter: grayscale(0);
}
100% {
filter: grayscale(1);
}
}
@keyframes grayscale-out {
0% {
filter: grayscale(1);
}
100% {
filter: grayscale(0);
}
}
/* body {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
min-height: 0!important;
} */
a {
color: var(--link-color);
}
button,
input,
optgroup,
select,
textarea,
html {
2023-11-24 09:32:47 +01:00
font-family: var(--font-regular);
}
input,
textarea,
button,
select,
a,
div {
-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
pre,
code,
kbd,
samp {
2022-04-14 02:37:06 +02:00
font-family: var(--font-monospace);
}
.whole {
min-height: 100%;
width: 100%;
//min-width: 100%;
margin: 0 auto;
max-width: $large-screen;
//@include respond-to(not-handhelds) {
height: 100%;
//}
}
@include respond-to(not-handhelds) {
.only-handhelds {
display: none !important;
}
}
.container {
margin: 0 auto;
}
2023-11-24 09:32:47 +01:00
h1,
h2,
h3,
h4,
h5,
h6 {
2022-04-14 02:37:06 +02:00
font-weight: var(--font-weight-bold);
}
h4 {
font-size: 2rem;
//margin: 1.5rem 0 1rem 0;
margin: 22px 0 14px;
line-height: 110%;
2020-06-20 03:11:24 +02:00
@include respond-to(handhelds) {
font-size: 20px;
margin: 2px 0 8px;
}
}
input,
[contenteditable=true] {
caret-color: var(--primary-color);
color: var(--primary-text-color);
2021-04-02 23:45:51 +02:00
background-color: transparent;
}
2022-07-21 01:52:46 +02:00
// [contenteditable] [style*="bold"] {
// font-weight: var(--font-weight-bold) !important;
// }
2022-04-14 02:37:06 +02:00
input,
textarea {
-webkit-appearance: none;
font-size: inherit;
}
// Possible fix Safari's password autocomplete
input::-webkit-contacts-auto-fill-button,
input::-webkit-credentials-auto-fill-button {
visibility: hidden;
position: absolute;
right: 0;
}
2022-07-18 15:00:41 +02:00
input:-webkit-autofill::first-line {
font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Ubuntu, Arial, sans-serif;
font-size: 16px
}
/* input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
transition: background-color 5000s ease-in-out 0s;
} */
2024-01-28 20:50:59 +01:00
.secondary {
color: var(--secondary-text-color);
}
.subtitle {
/* font-weight: 500; */
color: var(--secondary-text-color);
line-height: var(--line-height);
}
.danger {
color: var(--danger-color) !important;
.c-ripple__circle {
background-color: var(--light-danger-color);
}
}
2022-11-27 14:09:10 +01:00
.blue,
.primary {
color: var(--primary-color) !important;
.c-ripple__circle {
background-color: var(--light-primary-color);
}
}
2022-11-27 14:09:10 +01:00
.primary-text {
color: var(--primary-text-color) !important;
}
.color-premium {
background: var(--premium-gradient);
-webkit-background-clip: text;
-webkit-text-fill-color: transparent;
}
.blue,
.primary,
.danger {
.button-icon,
.btn-menu-item-icon {
color: inherit !important;
}
}
2024-04-05 17:56:54 +02:00
.green {
color: var(--green-color) !important;
}
2020-11-15 04:33:47 +01:00
.bg-warning {
2021-06-22 03:34:04 +02:00
background: #fed85a !important;
2020-11-15 04:33:47 +01:00
}
2021-03-01 20:49:36 +01:00
.contextmenu {
position: fixed !important;
right: auto !important;
bottom: auto !important;
width: auto !important;
z-index: 4 !important;
max-width: calc(100vw - 1rem);
}
.preloader {
width: 50px;
height: 50px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
// ! do not change it to &-path
.preloader-path {
stroke: var(--primary-color);
}
}
@keyframes thumbnail-fade-in-opacity {
0% {
opacity: 0;
}
to {
opacity: .8;
}
}
@keyframes fade-in-opacity {
0% {
opacity: 0;
}
to {
opacity: 1;
}
}
@keyframes fade-out-opacity {
0% {
opacity: 1;
}
to {
opacity: 0;
}
}
@keyframes fade-in-backwards-opacity {
0% {
opacity: 1;
}
100% {
opacity: 0;
}
}
@keyframes fade-out-backwards-opacity {
0% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes fade-in-opacity-fade-out-opacity {
0% {
opacity: 0;
}
10% {
opacity: 1;
}
50% {
opacity: 1;
}
to {
opacity: 0;
}
}
2023-09-21 15:54:38 +02:00
.toasts-container {
position: fixed;
2023-09-21 15:54:38 +02:00
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 5;
display: flex;
align-items: center;
justify-content: center;
pointer-events: none;
}
.toast {
padding: .5rem 1rem;
background-color: rgba(0, 0, 0, .66);
color: #fff;
font-size: 1rem;
border-radius: $border-radius-medium;
2022-08-10 21:50:25 +02:00
max-width: unquote('min(30rem, calc(100vw - 2rem))');
opacity: 0;
backdrop-filter: blur(25px);
2023-09-21 15:54:38 +02:00
pointer-events: all;
word-break: break-word;
2022-08-10 21:50:25 +02:00
&.is-visible {
opacity: 1;
}
@include animation-level(2) {
transition: opacity var(--transition-standard-in);
}
2021-06-22 04:28:37 +02:00
b {
color: inherit;
}
2022-08-10 21:50:25 +02:00
a {
color: #60a5e9!important;
cursor: pointer;
}
}
hr {
width: 100%;
border: none;
border-top: 1px solid var(--border-color);
margin: 0;
padding-bottom: .5rem;
}
2022-11-27 14:09:10 +01:00
b {
2023-01-06 20:27:29 +01:00
// color: var(--primary-text-color);
2022-04-14 02:37:06 +02:00
font-weight: var(--font-weight-bold);
}
.avatar-edit {
position: relative;
border-radius: 50%;
cursor: pointer;
overflow: hidden;
2023-01-06 20:27:29 +01:00
&.is-forum {
border-radius: var(--avatar-border-radius-forum);
}
&-canvas {
max-width: 100%;
max-height: 100%;
width: 100%;
height: 100%;
background: linear-gradient(var(--avatar-color-top), var(--avatar-color-bottom));
}
html.no-touch body.animation-level-2 & {
.avatar-edit-icon {
transform: translateY(-50%) translateX(-50%) scale(1);
transition: transform .2s ease-in-out;
}
&:hover {
.avatar-edit-icon {
transform: translateY(-50%) translateX(-50%) scale(1.2);
}
}
}
&-icon {
position: absolute;
2023-01-06 20:27:29 +01:00
font-size: 3rem;
line-height: 1;
width: 3rem;
height: 3rem;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
z-index: 2;
color: #fff;
}
.avatar-placeholder {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
filter: brightness(0.7);
}
}
2021-10-05 22:40:07 +02:00
.missing-icon {
width: 1.5rem;
height: 1.5rem;
&-path {
fill: currentColor;
}
}
.select-wrapper {
max-height: 23.5rem;
/* height: auto; */
position: absolute;
width: 100%;
top: calc(100% + .5rem);
left: 0;
overflow: hidden;
background-color: var(--surface-color);
z-index: 3;
border-radius: $border-radius-medium;
display: flex;
flex-direction: column;
flex-wrap: wrap;
2020-08-23 14:44:33 +02:00
transition: opacity .2s ease-out, transform .2s ease-out;
transform: scale(.95);
transform-origin: top center;
opacity: 0;
&.active {
transform: scale(1);
opacity: 1;
}
ul {
margin: .5rem 0;
}
li {
/* display: flex; */
align-items: center;
padding: 0 1rem;
justify-content: space-between;
height: 3.5rem;
cursor: pointer;
/* font-weight: 500; */
2023-01-16 21:48:28 +01:00
text-align: start;
display: grid;
2021-01-20 02:38:59 +01:00
grid-template-columns: calc(26px + 2rem) 1fr 80px;
@include hover-background-effect();
}
// +2 px bc of whitespace
.emoji {
height: 26px;
width: 26px;
font-size: 26px;
line-height: 1;
}
.scrollable {
position: relative;
}
}
.phone-code {
color: $placeholder-color;
2023-01-16 21:48:28 +01:00
text-align: end;
}
// this dimensions will be used for monkey business
.auth-image {
width: 166px;
height: 166px;
margin: 0 auto 18px;
position: relative;
2020-06-20 03:11:24 +02:00
@include respond-to(handhelds) {
width: 120px;
height: 120px;
}
}
/* .phone-wrapper {
display: flex;
align-items: ;
} */
.phone-edit {
2023-01-06 20:27:29 +01:00
width: 1.5rem;
height: 1.5rem;
2023-01-16 18:26:51 +01:00
margin-inline-start: .4rem;
opacity: .5;
2021-02-06 14:49:45 +01:00
transition: .2s opacity;
cursor: pointer;
font-size: 1.5rem;
2023-01-06 20:27:29 +01:00
line-height: 1;
2020-06-20 03:11:24 +02:00
2021-02-06 14:49:45 +01:00
@include hover() {
opacity: 1;
}
}
.emoji-native {
2020-10-15 20:51:55 +02:00
display: inline !important;
//line-height: 1em;
//font-size: 1em;
2022-08-31 06:22:16 +02:00
font-family: apple color emoji,segoe ui emoji,noto color emoji,android emoji,emojisymbols,emojione mozilla,twemoji mozilla,segoe ui symbol;
2022-08-31 06:22:16 +02:00
vertical-align: unset !important;
line-height: 1 !important;
2022-08-31 06:22:16 +02:00
// vertical-align: text-top !important;
}
// non-Retina device
@media
not screen and (-webkit-min-device-pixel-ratio: 2),
not screen and ( min--moz-device-pixel-ratio: 2),
not screen and ( -o-min-device-pixel-ratio: 2/1),
not screen and ( min-device-pixel-ratio: 2),
not screen and ( min-resolution: 192dpi),
not screen and ( min-resolution: 2dppx) {
html:not(.is-safari) {
.emoji-native {
2023-01-16 18:26:51 +01:00
margin-inline-end: 5px !important;
}
avatar-element .emoji-native {
2023-01-16 18:26:51 +01:00
margin-inline-end: 0 !important;
}
}
}
.emoji-image {
width: 18px;
height: 18px;
2021-09-25 14:46:55 +02:00
// margin: 0 .125rem;
2020-10-15 20:51:55 +02:00
display: inline-block;
/* width: 100%;
height: 100%; */
max-width: 100%;
max-height: 100%;
vertical-align: middle;
}
[contenteditable=true] {
user-select: text;
outline: none;
cursor: text;
2021-08-27 02:04:54 +02:00
white-space: pre-wrap;
2022-11-01 18:39:23 +01:00
.custom-emoji {
display: inline-block;
margin-bottom: -2px; // compensate difference in sizes
// color: transparent;
&:before {
content: none;
// display: inline;
}
}
}
.sticky_sentinel {
position: absolute;
left: 0;
right: 0; /* needs dimensions */
visibility: hidden;
pointer-events: none;
}
2020-11-28 16:56:28 +01:00
.super-stickers {
width: 100%;
display: grid;
grid-template-columns: repeat(auto-fill, var(--esg-sticker-size)); // 64px
// grid-column-gap: 1px;
2020-11-28 16:56:28 +01:00
justify-content: space-between;
}
.super-sticker {
2021-02-06 14:49:45 +01:00
@include hover-background-effect() {
border-radius: $border-radius-medium;
2020-11-28 16:56:28 +01:00
}
/* &:nth-child(5n+5) {
2023-01-16 18:26:51 +01:00
margin-inline-end: 0;
2020-11-28 16:56:28 +01:00
} */
/* > img, > .rlottie {
2020-11-28 16:56:28 +01:00
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
> img {
object-fit: contain;
@include animation-level(2) {
animation: fade-in-opacity .2s ease forwards;
}
} */
2020-11-28 16:56:28 +01:00
}
.fade-in-transition {
opacity: 1;
@include animation-level(2) {
transition: opacity .2s ease-in-out;
}
}
2021-09-17 18:50:29 +02:00
/* .fade-in-new {
opacity: 1;
transition: opacity .2s ease-in-out;
&.not-yet {
opacity: 0;
}
} */
2020-06-21 14:25:17 +02:00
// .message .audio .preloader-container {
// @include respond-to(handhelds) {
// width: 30px;
// height: 30px;
// left: 2px;
// }
// }
2020-08-30 23:16:26 +02:00
.content-empty {
color: var(--secondary-text-color);
2020-08-30 23:16:26 +02:00
}
// .message,
// [contenteditable],
// input {
// &::selection {
// background: var(--selection-background-color);
// }
// }
2022-11-01 18:39:23 +01:00
.selection:after {
content: " ";
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
.input-something {
display: inline-block;
}
.input-selectable {
position: relative;
}
@keyframes grow-icon {
0% {
transform: scale(.5);
opacity: .8;
}
50% {
transform: scale(1.1);
opacity: 1;
}
100% {
transform: scale(1);
}
}
@keyframes hide-icon {
from {
transform: scale(1);
opacity: .4;
}
to {
transform: scale(.5);
opacity: 0;
}
}
2021-02-20 18:10:26 +01:00
.popup-disable-password, .popup-skip-email {
.popup-description {
max-width: 284px;
}
}
.grid {
width: 100%;
display: grid;
grid-template-columns: repeat(3, 1fr);
grid-auto-rows: 1fr;
grid-gap: .25rem;
&-item {
height: 0;
padding-bottom: 100%;
//overflow: hidden;
position: relative;
cursor: pointer;
user-select: none;
&-media {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
object-fit: cover;
}
2020-09-26 00:47:43 +02:00
}
}
.animated-super {
&-row {
--translateY: 100%;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
transition: transform var(--pm-transition), opacity var(--pm-transition);
2021-01-03 16:59:13 +01:00
body.animation-level-0 & {
transition: none;
}
/* &:not(.is-hiding) {
transform: none !important;
} */
&.is-hiding {
opacity: 0;
&.from-top {
transform: translate3d(0, calc(var(--translateY) * -1), 0);
//transform: translateY(calc(var(--translateY) * -1));
//transform: translateY(-100%);
}
&.from-bottom {
transform: translate3d(0, var(--translateY), 0);
//transform: translateY(var(--translateY));
//transform: translateY(100%);
}
/* &.backwards {
opacity: 1;
transform: translateY(0) !important;
} */
}
}
}
.animated-counter {
display: inline-flex;
&-decimal {
position: relative;
&-placeholder {
color: transparent;
}
&-wrapper {
position: absolute;
left: 0;
top: 0;
bottom: 0;
right: 0;
}
/* &:not(:first-child) {
.animated-super {
&-row {
&.is-hiding {
&.from-top {
transform: translateY(100%);
}
&.from-bottom {
transform: translateY(-100%);
}
}
}
}
} */
}
/* &.from-top {
.animated-super-row.is-hiding {
&.from-top {
transform: translateY(100%) !important;
}
}
} */
}
2020-06-21 14:25:17 +02:00
// *:not(input):not(textarea) {
// -webkit-user-select: none; /* disable selection/Copy of UIWebView */
// -webkit-touch-callout: none; /* disable the IOS popup when long-press on a link */
// }
middle-ellipsis-element {
width: 100%;
overflow: hidden;
display: block;
}
2020-11-09 20:57:06 +01:00
.album-item {
&-media {
width: 100%;
height: 100%;
}
}
2021-01-06 10:16:53 +01:00
.hover-effect {
2021-02-06 14:49:45 +01:00
@include hover-background-effect();
}
2024-05-18 19:55:12 +02:00
.hover-primary-effect {
@include hover-background-effect(primary);
}
.hover-danger-effect {
@include hover-background-effect(red);
}
.progress-ring {
position: absolute;
top: 0;
left: 0;
pointer-events: none;
&__circle {
transition: stroke-dashoffset;
stroke-linecap: round;
}
}
.rlottie {
&,
&-vector {
left: 0;
top: 0;
bottom: 0;
right: 0;
position: absolute;
max-width: 100%;
max-height: 100%;
width: 100%;
height: 100%;
}
2021-01-11 17:09:20 +01:00
&-icon {
position: relative;
pointer-events: none;
}
2021-12-11 17:37:08 +01:00
&-vector {
fill: var(--rlottie-vector-fill);
}
2021-01-11 17:09:20 +01:00
&.fade-in {
@include animation-level(2) {
animation: fade-in-opacity .2s ease-in-out forwards;
}
}
2021-01-11 17:09:20 +01:00
}
2022-04-21 17:55:00 +02:00
.canvas-thumbnail {
position: absolute;
width: 100%;
height: 100%;
}
2022-07-18 20:32:00 +02:00
.media-container-contain {
position: relative;
.media-photo {
object-fit: contain;
2022-07-20 19:20:00 +02:00
max-width: 100%;
max-height: 100%;
2022-07-18 20:32:00 +02:00
}
}
2022-07-18 15:00:41 +02:00
.media-container-cover {
position: relative;
.media-photo {
object-fit: cover;
width: 100%;
height: 100%;
}
}
2023-03-25 14:03:22 +01:00
.fade-in {
@include animation-level(2) {
animation: fade-in-opacity .2s ease-in-out forwards;
}
}
.fade-out {
@include animation-level(2) {
animation: fade-out-opacity .2s ease-in-out forwards;
}
}
.media-photo,
.media-video,
.media-sticker,
.media-round,
.media-poster {
2021-09-17 18:50:29 +02:00
// & ~ & {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
// }
}
.media-video {
z-index: 1; // * overflow media-photo
}
.media-sticker {
margin: auto;
object-fit: contain;
width: 100%;
height: 100%;
max-width: 100%;
max-height: 100%;
&-wrapper {
&.is-premium-sticker {
.premium-sticker-lock {
position: absolute;
bottom: .125rem;
left: 50%;
transform: translateX(-50%);
width: 1.25rem;
height: 1.25rem;
background: rgba(0, 0, 0, .2);
// backdrop-filter: blur(25px) saturate(1.5);
border-radius: 50%;
color: #fff;
z-index: 1;
display: flex;
align-items: center;
justify-content: center;
background-image: var(--lock-url);
background-repeat: no-repeat;
background-size: cover;
@include premium(true) {
display: none;
}
}
}
}
}
2021-02-01 06:01:16 +01:00
.media-round {
max-width: var(--round-video-size);
max-height: var(--round-video-size);
2021-02-01 06:01:16 +01:00
z-index: 1;
.video-round-canvas {
2021-02-01 06:01:16 +01:00
width: 100%;
height: 100%;
border-radius: 50%;
position: relative;
}
.video-time {
2021-09-25 20:03:11 +02:00
padding: 0 .375rem;
2023-11-24 09:32:47 +01:00
background-color: var(--message-highlighting-color) !important;
&:before {
2023-01-16 18:26:51 +01:00
margin-inline-start: .25rem;
}
&-icon {
font-size: 1.125rem;
}
}
&.is-unread .video-time {
&:before {
order: 1;
width: .5rem;
height: .5rem;
background-color: #fff;
border-radius: 50%;
content: " ";
}
2021-02-01 06:01:16 +01:00
}
}
.gradient-delimiter {
width: 100%;
height: .75rem;
background-color: var(--background-color-true);
position: relative;
&:before {
content: " ";
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
background: linear-gradient(180deg, rgba(0, 0, 0, .06) 0%, rgba(0, 0, 0, 0) 20%, rgba(0, 0, 0, 0) 94%, rgba(0, 0, 0, .06) 100%);
}
}
.sidebar-left {
&-section {
background-color: var(--surface-color);
padding: .5rem 0 !important;
margin-bottom: .75rem;
box-shadow: 0px 1px 3px 0px var(--section-box-shadow-color);
&.no-shadow {
box-shadow: none !important;
}
&-name {
padding: .5rem 1rem;
2023-05-21 14:18:21 +02:00
display: flex;
justify-content: space-between;
&-right {
font-weight: var(--font-weight-normal);
}
}
&-caption {
margin: -0.1875rem 0 1rem;
2022-11-27 14:09:10 +01:00
font-size: var(--font-size-14);
line-height: var(--line-height-14);
padding: 0 1.5rem;
2022-04-04 15:37:59 +02:00
&:first-child {
margin-top: .8125rem;
margin-bottom: .8125rem;
}
2022-11-27 14:09:10 +01:00
@include respond-to(handhelds) {
padding: 0 1rem;
}
}
&-container {
user-select: none;
2023-01-06 20:27:29 +01:00
a {
cursor: pointer;
}
}
}
}
hr {
display: none !important;
}
2021-04-16 06:11:52 +02:00
.stealthy {
left: 0;
margin: 0;
max-height: 1px;
max-width: 1px;
opacity: 0;
outline: none;
overflow: hidden;
pointer-events: none;
position: absolute;
top: 0;
z-index: -1;
}
2021-04-19 17:30:51 +02:00
2021-05-16 04:07:17 +02:00
.navigable-list {
.active {
background-color: var(--light-secondary-text-color);
border-radius: inherit;
}
}
.super-emojis {
2022-11-01 18:39:23 +01:00
--esg-emoji-size: 2.125rem;
--esg-emoji-total-size: calc(var(--esg-emoji-size) + .5rem);
--custom-emoji-size: 2.25rem;
// ! No chrome 56 support
display: grid;
2022-11-01 18:39:23 +01:00
grid-template-columns: repeat(auto-fill, var(--esg-emoji-total-size));
justify-content: space-between;
2022-11-01 18:39:23 +01:00
position: relative;
font-size: var(--esg-emoji-size);
line-height: var(--esg-emoji-size);
column-gap: .25rem;
.custom-emoji {
display: block;
&-renderer {
z-index: 1;
}
2022-11-01 18:39:23 +01:00
&:before {
content: none;
}
}
}
.super-emoji {
display: inline-block;
padding: .25rem;
line-height: inherit;
border-radius: $border-radius;
cursor: pointer;
user-select: none;
vertical-align: middle;
width: var(--esg-emoji-total-size);
height: var(--esg-emoji-total-size);
// html:not(.emoji-supported) & {
position: relative;
// }
// border-radius: unset;
// @include hover-effect() {
// &:before {
// content: " ";
// border-radius: $border-radius;
// background-color: var(--light-secondary-text-color);
// position: absolute;
// top: -.1875rem;
// right: -.1875rem;
// bottom: -.1875rem;
// left: -.1875rem;
// }
// }
.emoji-placeholder {
position: absolute;
left: 7px;
top: 7px;
width: 1.75rem;
height: 1.75rem;
border-radius: 50%;
background-color: var(--light-secondary-text-color);
pointer-events: none;
2022-11-01 18:39:23 +01:00
@include animation-level(2) {
opacity: 0;
transition: opacity .2s ease-in-out;
2023-01-06 20:27:29 +01:00
}
}
2022-11-01 18:39:23 +01:00
.emoji {
width: 100%;
height: 100%;
vertical-align: unset;
margin: 0;
@include animation-level(2) {
opacity: 1;
transition: opacity .2s ease-in-out;
2022-11-01 18:39:23 +01:00
}
}
&.active {
background-color: var(--light-secondary-text-color);
2022-11-01 18:39:23 +01:00
}
&-custom {
padding: .1875rem;
}
2022-11-01 18:39:23 +01:00
&-regular {
overflow: hidden;
2022-11-01 18:39:23 +01:00
html.native-emoji & {
padding-top: .3125rem;
padding-bottom: .3125rem;
2022-11-01 18:39:23 +01:00
}
}
@include hover-background-effect();
}
.sending-status {
/* &.animating {
.sending-status-icon {
background: var(--background);
}
} */
&-icon {
position: absolute;
line-height: 1 !important;
&-sendingerror {
color: var(--danger-color);
}
}
}
2022-02-08 20:18:01 +01:00
.quick-reaction-title {
display: flex;
align-items: center;
}
.quick-reaction-sticker {
width: 32px !important;
height: 32px !important;
position: relative !important;
margin: 0 .5rem 0 0 !important;
}
.verified-icon {
&-svg {
width: 1rem;
height: 1rem;
}
&-check {
fill: #fff;
}
&-background {
fill: var(--primary-color);
}
}
2021-12-11 17:37:08 +01:00
.verified-icon,
2022-11-01 18:39:23 +01:00
.premium-icon,
.emoji-status {
flex: 0 0 auto;
font-size: 1rem;
display: flex;
align-items: center;
justify-content: center;
2023-01-16 18:26:51 +01:00
margin-inline-start: .125rem;
width: 1.25rem;
height: 1.25rem;
}
2022-11-01 18:39:23 +01:00
.emoji-status {
position: relative;
width: 1.125rem;
height: 1.125rem;
2023-01-16 18:26:51 +01:00
margin-inline-start: .25rem;
2022-11-01 18:39:23 +01:00
}
.premium-icon {
color: var(--primary-color);
margin-top: -.0625rem;
}
2022-04-07 14:04:43 +02:00
.badge-fake {
2022-04-07 14:26:11 +02:00
flex: 0 0 auto;
2022-04-07 14:04:43 +02:00
color: var(--danger-color);
border: 1px solid var(--danger-color);
padding: .125rem .25rem;
border-radius: .185rem;
font-size: .625rem;
2022-04-14 02:37:06 +02:00
font-weight: var(--font-weight-bold);
2022-04-07 14:04:43 +02:00
line-height: 1 !important;
2023-01-16 18:26:51 +01:00
margin-inline: .25rem .25rem;
2022-04-07 14:04:43 +02:00
}
.peer-title {
&.with-icons {
display: flex;
align-items: center;
2023-01-06 20:27:29 +01:00
overflow: hidden;
}
&-inner {
@include text-overflow();
}
}
2022-09-25 19:49:33 +02:00
.limit-line {
height: 2rem;
2023-10-21 11:02:24 +02:00
border-radius: $border-radius-medium;
2022-09-25 19:49:33 +02:00
font-weight: var(--font-weight-bold);
display: flex;
2023-10-21 11:02:24 +02:00
overflow: hidden;
position: relative;
2022-09-25 19:49:33 +02:00
2023-10-21 11:02:24 +02:00
&.is-alone,
&-container {
--limit-progress: 50%;
2022-09-25 19:49:33 +02:00
}
2023-10-21 11:02:24 +02:00
&-container {
display: flex;
flex-direction: column;
align-items: center;
margin: .75rem .5rem;
position: relative;
2022-09-25 19:49:33 +02:00
2023-10-21 11:02:24 +02:00
.limit-line {
align-self: stretch;
margin: 3rem 0 0;
}
2022-09-25 19:49:33 +02:00
}
2023-10-21 11:02:24 +02:00
&-hint {
--translateX: 0;
color: #fff;
display: flex;
align-items: center;
justify-content: center;
font-weight: var(--font-weight-bold);
transform: scale(.6) translate(-280px, 16px) rotate(-30deg);
@include animation-level(2) {
transition: transform .3s cubic-bezier(.12, 1.1, .56, 1.2)/* , left .3s cubic-bezier(.12, 1.1, .56, 1.2) */;
}
&.active {
transform: scale(1) translate(var(--translateX), 0) rotate(0);
}
&:not(.is-locked) {
--translateX: -50%;
left: var(--limit-progress);
height: 2rem;
border-radius: 1rem;
padding: 0 .75rem;
position: absolute;
background: linear-gradient(73.4deg, #6C93FF -7.21%, #976FFF 114.57%, #DF69D1 241.52%);
background-size: 200px 2rem;
&:after {
display: block;
content: " ";
width: 100%; // 26
height: 9px;
position: absolute;
bottom: -9px;
clip-path: path("M0 0H26H24.4853C22.894 0 21.3679 0.632141 20.2426 1.75736L14.4142 7.58579C13.6332 8.36684 12.3668 8.36683 11.5858 7.58579L5.75736 1.75736C4.63214 0.632139 3.10602 0 1.51472 0H0Z");
background: inherit;
background-size: inherit;
background-position-x: calc(-50% + -86px);
background-repeat: no-repeat;
left: 50%;
margin-left: -13px;
}
}
&.is-locked {
height: 2.75rem;
border-radius: 1.375rem;
padding: 0 1.25rem 0 1rem;
margin-right: -.25rem;
background-color: var(--primary-color);
}
&.is-start {
left: 0;
border-bottom-left-radius: 0;
&:after {
transform: scaleX(-1);
left: 0;
transform-origin: left center;
margin-left: 20.6px;
background-position-x: -5%;
}
}
&.is-end {
right: 0;
left: auto;
border-bottom-right-radius: 0;
background-position-x: 100% !important;
min-width: 66px;
&:after {
left: 100%;
margin-left: -20.6px;
background-position-x: 134%;
}
}
&.is-end,
&.is-start {
--translateX: 0;
background: linear-gradient(84.4deg,#6c93ff -4.85%,#976fff 51.72%,#df69d1 110.7%);
background-size: 200px 2rem;
@include animation-level(2) {
transition: transform .3s cubic-bezier(.12, 1.1, .56, 1.1);
}
&:after {
height: 12px;
bottom: -11.3px;
clip-path: path("M8.44528 0.5H20.5V10.1943C20.5 10.9154 19.9154 11.5 19.1943 11.5C18.8178 11.5 18.4597 11.3375 18.2117 11.0541L10.2274 1.92918C9.75146 1.38523 9.18812 0.924478 8.56057 0.565879L8.44528 0.5Z");
}
}
&-icon {
font-size: 1.25rem;
margin-right: .25rem;
display: flex;
}
2022-09-25 19:49:33 +02:00
}
2023-10-21 11:02:24 +02:00
&-part {
color: var(--primary-text-color);
background: var(--limit-background, var(--limit-line-empty-background));
2022-09-25 19:49:33 +02:00
flex: 1 1 0;
padding: 0 .75rem;
display: flex;
align-items: center;
justify-content: space-between;
}
2023-10-21 11:02:24 +02:00
&-absolute {
position: absolute;
inset: 0;
-webkit-mask-image: linear-gradient(
to right,
rgb(0, 0, 0) var(--limit-progress),
rgba(0, 0, 0, 0) calc(var(--limit-progress) + 0.01%)
);
// &-container {
// position: absolute;
// inset: 0;
// overflow: hidden;
// }
}
&-filled {
color: #fff;
--limit-background: linear-gradient(84.4deg, #6C93FF -4.85%, #976FFF 51.72%, #DF69D1 110.7%);
}
2022-09-25 19:49:33 +02:00
}
2022-11-27 14:09:10 +01:00
.chatlist-chat {
2023-01-06 20:27:29 +01:00
&.row-with-padding {
2023-01-16 18:26:51 +01:00
padding-inline-start: 4.5rem !important;
2023-01-06 20:27:29 +01:00
}
2022-11-27 14:09:10 +01:00
// span {
// @include text-overflow(true);
// }
2022-11-27 14:09:10 +01:00
.row {
&-title {
font-size: var(--font-size-16) !important;
line-height: 1.375rem;
&-right-secondary {
2024-05-08 17:49:10 +02:00
display: flex;
align-items: center;
height: 1.25rem;
2022-11-27 14:09:10 +01:00
margin-top: -.4375rem;
font-size: var(--font-size-12) !important;
line-height: var(--line-height-12) !important;
}
// .peer-title {
// font-weight: var(--font-weight-bold);
// }
}
&-row {
height: 1.375rem;
}
}
&.chatlist-chat-abitbigger {
.row {
&-subtitle {
margin-top: 0;
}
}
}
&.chatlist-chat-bigger {
.row {
&-subtitle {
margin-top: 0;
font-size: var(--font-size-16) !important;
line-height: 1.375rem;
&-row {
margin-top: .125rem;
}
}
&-title {
.peer-title {
font-weight: var(--font-weight-bold);
}
}
}
}
}
2023-01-06 20:27:29 +01:00
.username-purchase-help {
b {
font-weight: var(--font-weight-normal) !important;
color: var(--danger-color) !important;
}
}
.media-spoiler {
&-container {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
z-index: 1;
border-radius: inherit;
&.is-revealing {
opacity: 1;
&:not(.backwards) {
opacity: 0;
}
&.animating {
transition: opacity var(--transition-standard-out);
}
}
}
&-thumbnail,
.canvas-thumbnail {
position: absolute;
// top: 0;
// right: 0;
// bottom: 0;
// left: 0;
object-fit: unset !important;
width: 100%;
height: 100%;
}
}
.accordion {
overflow: hidden;
height: 0;
&.is-expanded {
height: var(--max-height);
}
@include animation-level(2) {
transition: height var(--transition-standard-in);
}
&-icon {
2024-05-18 19:55:12 +02:00
--translateY: 4px;
transform: rotate(0deg) translateY(var(--translateY));
color: var(--secondary-text-color);
font-size: 1.25rem;
display: inline-block;
line-height: 0;
@include animation-level(2) {
transition: transform var(--transition-standard-in);
}
}
2024-05-18 19:55:12 +02:00
&-right-button {
min-width: 3.875rem;
height: 3rem;
border-radius: $border-radius-medium;
display: flex;
align-items: center;
justify-content: center;
font-weight: var(--font-weight-bold);
color: var(--primary-text-color);
cursor: pointer;
position: relative;
@include hover-background-effect();
.accordion-icon {
2024-05-18 19:55:12 +02:00
--translateY: 0px;
color: currentColor;
display: block;
font-size: 1rem;
margin-inline: .125rem -.25rem;
}
.accordion-counter {
font-size: var(--font-size-13);
margin-inline-start: .0625rem;
}
}
&-toggler {
&-expanded {
.accordion-icon {
transform: translateY(var(--translateY)) rotate(180deg);
}
}
&-round {
padding-inline-end: 0;
padding-top: 0 !important;
padding-bottom: 0 !important;
}
}
}
2023-03-25 14:03:22 +01:00
.cant-select {
.checkbox {
&-box {
&-border {
border-style: dotted;
}
}
}
}
.inner-shadow {
--inner-shadow-degree: 90deg;
--inner-shadow-size: 1rem;
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
content: " ";
pointer-events: none;
border-radius: inherit;
background: linear-gradient(var(--inner-shadow-degree), var(--surface-color) 0%, rgba(var(--surface-color-rgb), 0) var(--inner-shadow-size), rgba(var(--surface-color-rgb), 0) calc(100% - var(--inner-shadow-size)), var(--surface-color) 100%);
&-inset {
background: linear-gradient(var(--inner-shadow-degree), var(--surface-color) 0%, var(--surface-color) calc(var(--inner-shadow-size) / 2), transparent var(--inner-shadow-size), transparent calc(100% - var(--inner-shadow-size)), var(--surface-color) calc(100% - var(--inner-shadow-size) / 2), var(--surface-color) 100%);
}
}
2023-05-21 14:18:21 +02:00
.range-steps-selector {
padding-top: 2.375rem;
}
.expired-story-icon {
display: inline-block;
font-size: 1.2857142857em;
margin-top: -6px;
vertical-align: middle;
margin-left: -4px;
}
.privacy-bg {
background: linear-gradient(180deg, var(--gradient-colors));
&-public {
--gradient-colors: #50ABFF, #007AFF;
}
&-close {
--gradient-colors: #88D93A, #30B73B;
}
&-selected {
--gradient-colors: #FFB743, #F69A36;
}
&-contacts {
--gradient-colors: #C36EFF, #8B60FA;
}
}
.reacted-list {
&-reaction-icon {
--size: 1.5rem;
--custom-emoji-size: var(--size);
display: flex;
width: var(--size);
height: var(--size);
position: absolute;
top: 50%;
inset-inline-end: 1rem;
transform: translateY(-50%);
}
&-checks {
margin-inline-end: .25rem;
font-size: 1.125rem;
}
}
.force-reconnect {
pointer-events: all;
color: currentColor;
text-decoration: underline;
cursor: pointer;
}
.tgico {
pointer-events: none;
}
2023-10-27 17:15:13 +02:00
.no-view-transition::view-transition-old(root) {
animation: none;
}
.no-view-transition::view-transition-new(root) {
animation: none;
}
2023-10-28 21:55:45 +02:00
2023-11-10 12:06:33 +01:00
.reverse::view-transition-old(root) {
background: none;
// position: relative;
z-index: 2;
}
.inline-icon {
vertical-align: bottom;
line-height: inherit;
}
2023-11-22 15:12:17 +01:00
.icon-reflect {
display: inline-block;
transform: scaleX(-1);
}
2023-11-24 09:32:47 +01:00
.code {
--font-size: var(--messages-secondary-text-size);
display: block;
margin: .25rem 0;
// padding: .5rem;
font-size: var(--font-size);
&-header {
background-color: rgba(var(--primary-color-rgb), .2);
color: var(--primary-color);
font-family: var(--font-regular);
font-weight: var(--font-weight-bold);
display: flex;
align-items: center;
padding-inline-end: .0625rem !important;
cursor: pointer;
line-height: 1;
padding: .0625rem .625rem;
2023-12-13 20:53:24 +01:00
// .night & {
// background-color: rgba(0, 0, 0, .2);
// }
2023-11-24 09:32:47 +01:00
&-name {
flex: 1 1 auto;
@include text-overflow(true);
}
&-button {
font-size: calc(var(--font-size) + 4px);
pointer-events: all;
border-radius: 50%;
padding: .25rem;
@include hover() {
background-color: rgba(var(--primary-color-rgb), .16);
}
}
&-toggle-wrap {
margin-inline-start: .875rem;
}
}
&-content {
line-height: calc(var(--font-size) + 5px);
// padding: .25rem .625rem;
}
&-code {
display: block;
padding: .25rem .625rem;
}
&.is-scrollable &-code {
overflow: auto;
white-space: pre;
}
.night & {
background-color: rgba(0, 0, 0, .8);
}
}
.tchart {
&--wrapper {
--tchart-letter-spacing-small: auto !important;
--tchart-letter-spacing-large: auto !important;
margin-top: -12px;
z-index: 0;
}
&--zoom {
inset: -8px 1rem auto auto !important;
}
}
.privacy-premium-icon {
vertical-align: text-top;
color: var(--primary-color);
font-size: 1.125rem;
margin-inline-start: .25rem;
}
.show-when {
background: rgba(0, 0, 0, $hover-alpha);
border-radius: 12px;
padding: 0 6px;
display: inline-block;
}
.delimiter-with-text {
display: flex;
align-items: center;
justify-content: center;
position: relative;
opacity: .4;
gap: .5rem;
flex: 0 0 auto;
padding: 0 .25rem;
&-stripe {
display: block;
height: .0625rem;
background-color: currentColor;
flex: 1 1 auto;
border-radius: 1px;
opacity: .5;
}
}
2024-04-05 17:56:54 +02:00
.business-hours {
font-size: var(--font-size-14);
position: absolute;
// top: 3.5rem;
top: 3.25rem;
width: calc(100% - 4.5rem - 1rem);
pointer-events: none;
opacity: 0;
2024-05-08 17:49:10 +02:00
@include respond-to(handhelds) {
width: calc(100% - 4.5rem - .5rem);
}
2024-04-05 17:56:54 +02:00
@include animation-level(2) {
transition: opacity var(--transition-standard-in);
}
&-container {
@include animation-level(2) {
transition: padding-bottom var(--transition-standard-in);
}
.row-icon {
top: .75rem;
transform: none;
font-size: 2rem;
margin-inline-start: -.3125rem;
}
&.is-expanded {
.business-hours {
opacity: 1;
}
}
}
&-row {
display: flex;
justify-content: space-between;
line-height: 27px;
&-time {
color: var(--secondary-text-color);
}
}
&-switch-time {
background-color: var(--light-primary-color);
border-radius: 1.5rem;
padding: .125rem .375rem;
color: var(--primary-color);
font-size: var(--font-size-14);
cursor: pointer;
pointer-events: all;
position: relative;
z-index: 1;
}
}
.business-location {
2024-04-17 16:02:45 +02:00
padding-inline-end: 4rem;
.row-media {
inset-inline: auto .5rem !important;
border-radius: $border-radius-medium;
}
.media-photo {
width: 100%;
height: 100%;
border-radius: inherit;
}
}
2024-04-10 17:47:30 +02:00
.personal-channel {
&-name {
display: flex;
align-items: center;
}
&-counter {
border-radius: 5px;
padding: 1px 6px;
background-color: rgba(var(--primary-color-rgb), .2);
font-size: var(--font-size-12);
margin-inline-start: .5rem;
}
.skeleton {
background-color: var(--light-filled-secondary-text-color);
position: absolute;
width: 75%;
top: 0;
z-index: 1;
border-radius: 8px;
&-container {
height: 1.25rem;
}
}
.dialog-title-details {
min-width: 2.5rem;
.skeleton {
inset-inline-end: 0;
width: 100%;
&-child {
display: inline;
}
}
}
}
// * animation from WebA
.text-loading {
--background-gradient-size: 20rem;
background-image: linear-gradient(to right, transparent 10%, var(--skeleton-color) 50%, transparent 90%);
background-size: var(--background-gradient-size);
box-decoration-break: clone;
border-radius: 0.25rem;
animation: text-loading 1.5s linear infinite;
@keyframes text-loading {
0% {
background-position-x: 0;
opacity: 1;
}
50% {
opacity: 0.8;
}
100% {
background-position-x: var(--background-gradient-size);
opacity: 1;
}
}
}
.playback-rate-menu {
width: 5.625rem;
min-width: auto;
}
2024-05-02 12:17:48 +02:00
.animated {
&-item {
position: absolute;
}
}