2023-05-20 16:30:21 +02:00
|
|
|
html {
|
2023-11-09 00:35:32 +01:00
|
|
|
overflow: hidden scroll;
|
2023-05-20 16:30:21 +02:00
|
|
|
overscroll-behavior-y: none;
|
2023-05-27 18:36:43 +02:00
|
|
|
width: calc(100% - var(--disabled-scrollbar-width));
|
2023-05-20 16:30:21 +02:00
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
body,
|
|
|
|
html {
|
2014-01-15 20:13:41 +01:00
|
|
|
height: 100%;
|
2017-07-31 20:03:54 +02:00
|
|
|
touch-action: manipulation;
|
2013-08-13 12:52:26 +02:00
|
|
|
}
|
|
|
|
|
2023-03-24 00:09:48 +01:00
|
|
|
.column-middle,
|
|
|
|
#main_div {
|
|
|
|
background-color: var(--color-background);
|
|
|
|
}
|
|
|
|
|
2019-09-20 06:43:04 +02:00
|
|
|
#app-loading.loaded {
|
2013-11-25 23:05:08 +01:00
|
|
|
display: none !important; /* We are now loaded, by definition. */
|
|
|
|
}
|
|
|
|
|
2012-09-10 20:31:53 +02:00
|
|
|
body {
|
2023-05-27 18:36:43 +02:00
|
|
|
width: 100%;
|
2024-02-15 18:12:29 +01:00
|
|
|
margin: 0;
|
|
|
|
padding: 0;
|
2021-06-11 23:14:08 +02:00
|
|
|
font-size: 14px;
|
|
|
|
line-height: calc(20 / 14);
|
2023-03-27 12:47:59 +02:00
|
|
|
font-family: "Source Sans 3 VF", sans-serif;
|
2023-05-13 08:28:23 +02:00
|
|
|
color: var(--color-text-default);
|
2023-03-24 00:09:48 +01:00
|
|
|
background-color: var(--color-background);
|
2019-04-14 15:21:40 +02:00
|
|
|
transition: background-color 200ms linear;
|
2023-05-28 11:51:00 +02:00
|
|
|
|
2023-05-29 07:03:33 +02:00
|
|
|
/* Implementation for fluid layout width setting. */
|
|
|
|
.header-main,
|
|
|
|
.app .app-main,
|
|
|
|
#compose-container {
|
|
|
|
max-width: 1400px;
|
|
|
|
}
|
|
|
|
|
2023-05-28 11:51:00 +02:00
|
|
|
&.fluid_layout_width {
|
|
|
|
.header-main,
|
|
|
|
.app .app-main,
|
|
|
|
#compose-container {
|
2023-05-29 07:03:33 +02:00
|
|
|
max-width: inherit;
|
2023-05-28 11:51:00 +02:00
|
|
|
}
|
|
|
|
}
|
2013-07-17 00:52:18 +02:00
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
input,
|
|
|
|
button,
|
|
|
|
select,
|
|
|
|
textarea {
|
2023-03-27 12:47:59 +02:00
|
|
|
font-family: "Source Sans 3 VF", sans-serif;
|
2021-06-12 01:13:12 +02:00
|
|
|
/* Disable bootstrap size CSS; we want to use our default font size on
|
|
|
|
body for input elements. */
|
2013-05-07 19:32:12 +02:00
|
|
|
line-height: normal;
|
2021-06-12 01:13:12 +02:00
|
|
|
font-size: inherit;
|
2013-05-07 19:32:12 +02:00
|
|
|
}
|
|
|
|
|
2013-05-14 21:11:22 +02:00
|
|
|
blockquote p {
|
|
|
|
font-weight: normal;
|
|
|
|
}
|
|
|
|
|
2013-06-05 22:43:07 +02:00
|
|
|
a {
|
|
|
|
cursor: pointer;
|
|
|
|
|
2020-05-19 12:09:07 +02:00
|
|
|
&.message_label_clickable:hover {
|
|
|
|
cursor: pointer;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(200deg 100% 40%);
|
2020-05-19 12:09:07 +02:00
|
|
|
}
|
2020-05-19 12:08:23 +02:00
|
|
|
}
|
|
|
|
|
2020-09-18 20:00:21 +02:00
|
|
|
code,
|
|
|
|
pre {
|
2021-04-03 04:01:40 +02:00
|
|
|
font-family: "Source Code Pro", monospace;
|
2020-09-18 20:00:21 +02:00
|
|
|
}
|
|
|
|
|
2017-03-19 01:51:20 +01:00
|
|
|
.no-select {
|
2019-08-27 01:23:48 +02:00
|
|
|
user-select: none;
|
2017-03-19 01:51:20 +01:00
|
|
|
}
|
|
|
|
|
2018-01-11 11:19:32 +01:00
|
|
|
.text-select {
|
2019-08-27 01:23:48 +02:00
|
|
|
user-select: text;
|
2018-01-11 11:19:32 +01:00
|
|
|
}
|
|
|
|
|
2016-08-27 01:47:30 +02:00
|
|
|
p.n-margin {
|
2021-11-05 03:33:16 +01:00
|
|
|
margin: 10px 0 0;
|
2016-08-27 01:47:30 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.small-line-height {
|
|
|
|
line-height: 1.1;
|
|
|
|
}
|
|
|
|
|
|
|
|
.float-left {
|
|
|
|
float: left;
|
|
|
|
}
|
|
|
|
|
|
|
|
.float-right {
|
|
|
|
float: right;
|
|
|
|
}
|
|
|
|
|
|
|
|
.float-clear {
|
|
|
|
clear: both;
|
|
|
|
}
|
|
|
|
|
|
|
|
.no-margin {
|
|
|
|
margin: 0;
|
|
|
|
}
|
|
|
|
|
2018-10-01 20:27:22 +02:00
|
|
|
.history-limited-box {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(16deg 60% 45%);
|
|
|
|
border: 1px solid hsl(16deg 60% 45%);
|
|
|
|
box-shadow: 0 0 2px hsl(16deg 60% 45%);
|
2019-08-13 21:03:48 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.all-messages-search-caution {
|
2023-03-20 22:08:47 +01:00
|
|
|
border: 1px solid hsl(192deg 19% 75% / 20%);
|
|
|
|
box-shadow: 0 0 2px hsl(192deg 19% 75% / 20%);
|
2019-08-13 21:03:48 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.history-limited-box,
|
|
|
|
.all-messages-search-caution {
|
|
|
|
border-radius: 4px;
|
2018-10-01 20:27:22 +02:00
|
|
|
display: none;
|
|
|
|
font-size: 16px;
|
|
|
|
margin: 0 auto 12px;
|
|
|
|
padding: 5px;
|
2022-10-29 05:42:47 +02:00
|
|
|
/* Difference should be 16px to accommodate the icon. */
|
|
|
|
/* This emulates hanging indent. */
|
|
|
|
padding-left: 26px;
|
|
|
|
text-indent: -10px;
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i {
|
2018-12-14 01:45:32 +01:00
|
|
|
margin: 0 3px 0 1px;
|
|
|
|
}
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& p {
|
2018-10-01 20:27:22 +02:00
|
|
|
margin: 0;
|
2018-12-14 01:45:32 +01:00
|
|
|
padding: 4px;
|
2018-10-01 20:27:22 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-05-26 16:27:06 +02:00
|
|
|
.bottom-messages-logo {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2022-11-16 10:50:35 +01:00
|
|
|
.alert-zulip-logo,
|
2020-05-26 16:27:06 +02:00
|
|
|
.top-messages-logo,
|
|
|
|
.bottom-messages-logo {
|
2017-01-05 22:22:21 +01:00
|
|
|
width: 24px;
|
|
|
|
height: 24px;
|
2018-07-08 09:13:47 +02:00
|
|
|
margin: 0 auto 12px;
|
2017-01-05 22:22:21 +01:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& svg {
|
|
|
|
& circle {
|
2023-06-29 19:56:21 +02:00
|
|
|
fill: var(--color-zulip-logo);
|
|
|
|
stroke: var(--color-zulip-logo);
|
2020-05-16 12:25:29 +02:00
|
|
|
}
|
2017-11-30 01:01:51 +01:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& path {
|
2023-06-29 19:56:21 +02:00
|
|
|
fill: var(--color-zulip-logo-z);
|
|
|
|
stroke: var(--color-zulip-logo-z);
|
2020-05-16 12:25:29 +02:00
|
|
|
}
|
|
|
|
}
|
2023-06-29 19:56:21 +02:00
|
|
|
|
|
|
|
&.loading circle {
|
|
|
|
fill: var(--color-zulip-logo-loading);
|
|
|
|
stroke: var(--color-zulip-logo-loading);
|
|
|
|
}
|
2017-11-30 01:01:51 +01:00
|
|
|
}
|
|
|
|
|
2023-04-28 18:07:06 +02:00
|
|
|
.top-messages-logo {
|
|
|
|
/* Since padding under message header is not transparent
|
|
|
|
we need to position it below the padding. */
|
|
|
|
padding-top: var(--header-padding-bottom);
|
|
|
|
margin-bottom: 0;
|
2023-04-29 12:17:12 +02:00
|
|
|
/* To fit the logo inside the spinner. */
|
|
|
|
position: relative;
|
|
|
|
top: -2px;
|
2023-04-28 18:07:06 +02:00
|
|
|
}
|
|
|
|
|
2023-05-24 08:12:18 +02:00
|
|
|
/* See https://web.dev/animations-guide/#triggers before adding any funny animation properties here. */
|
|
|
|
@keyframes feedback-slide-in {
|
|
|
|
from {
|
|
|
|
transform: translateY(-120%);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
to {
|
|
|
|
transform: translateY(50px);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes feedback-slide-out {
|
|
|
|
from {
|
|
|
|
transform: translateY(50px);
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
to {
|
|
|
|
transform: translateY(-120%);
|
|
|
|
opacity: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2018-12-20 19:48:37 +01:00
|
|
|
#feedback_container {
|
2016-08-27 01:47:30 +02:00
|
|
|
display: none;
|
2023-05-24 08:12:18 +02:00
|
|
|
position: fixed;
|
2016-08-27 01:47:30 +02:00
|
|
|
width: 400px;
|
2020-08-06 02:42:07 +02:00
|
|
|
top: 0;
|
2016-08-27 01:47:30 +02:00
|
|
|
left: calc(50vw - 220px);
|
|
|
|
padding: 15px;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 98%);
|
2016-08-27 01:47:30 +02:00
|
|
|
border-radius: 5px;
|
2023-03-20 22:08:47 +01:00
|
|
|
box-shadow: 0 0 30px hsl(0deg 0% 0% / 25%);
|
2016-10-28 22:50:56 +02:00
|
|
|
z-index: 110;
|
2016-08-27 01:47:30 +02:00
|
|
|
|
2023-05-24 08:12:18 +02:00
|
|
|
&.show-feedback-container {
|
|
|
|
display: block;
|
|
|
|
animation: feedback-slide-in 0.6s forwards;
|
|
|
|
}
|
2016-08-27 01:47:30 +02:00
|
|
|
|
2023-05-24 08:12:18 +02:00
|
|
|
&.slide-out-feedback-container {
|
|
|
|
animation: feedback-slide-out 0.6s;
|
2020-05-16 12:28:05 +02:00
|
|
|
}
|
2016-08-27 01:47:30 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& h3 {
|
2020-05-16 12:28:05 +02:00
|
|
|
font-size: 16pt;
|
|
|
|
margin-top: 2px;
|
|
|
|
}
|
2016-08-27 01:47:30 +02:00
|
|
|
|
2020-05-16 12:28:05 +02:00
|
|
|
.exit-me {
|
2021-07-31 23:44:26 +02:00
|
|
|
font-size: 20pt;
|
2020-05-16 12:28:05 +02:00
|
|
|
font-weight: 200;
|
2021-07-31 23:44:26 +02:00
|
|
|
margin: 0 0 0 10px;
|
2020-05-16 12:28:05 +02:00
|
|
|
cursor: pointer;
|
|
|
|
}
|
2020-05-16 12:31:55 +02:00
|
|
|
}
|
|
|
|
|
2023-05-20 16:30:21 +02:00
|
|
|
#navbar-fixed-container {
|
2013-08-13 12:52:26 +02:00
|
|
|
position: fixed;
|
2023-05-20 16:30:21 +02:00
|
|
|
top: 0;
|
|
|
|
z-index: 102;
|
2023-05-27 18:36:43 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/* Adjust width of any fixed / absolute positioned elements that might be visible in
|
|
|
|
the background when a overlay / modal is open. */
|
|
|
|
#navbar-fixed-container,
|
|
|
|
#compose {
|
|
|
|
width: calc(100% - var(--disabled-scrollbar-width));
|
2023-05-20 16:30:21 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.header {
|
2013-08-13 12:52:26 +02:00
|
|
|
width: 100%;
|
2023-03-07 01:18:07 +01:00
|
|
|
height: var(--header-height);
|
2022-12-19 09:16:05 +01:00
|
|
|
/* Since the headers are sticky, we need non-transparent background. */
|
2023-03-24 00:09:48 +01:00
|
|
|
background-color: var(--color-background);
|
2023-05-17 07:40:15 +02:00
|
|
|
/* Add 1px box-shadow below header so that if there is a gap between sticky header
|
|
|
|
and header at some zoom level, it is covered by this */
|
|
|
|
box-shadow: 0 1px 0 0 var(--color-background);
|
2019-02-07 23:36:08 +01:00
|
|
|
}
|
|
|
|
|
2023-03-24 00:09:48 +01:00
|
|
|
#navbar-middle .column-middle-inner,
|
2023-06-14 07:49:16 +02:00
|
|
|
.header,
|
2023-03-24 00:09:48 +01:00
|
|
|
#message_view_header {
|
|
|
|
background-color: var(--color-background-navbar);
|
|
|
|
box-shadow: inset 0 -1px 0 var(--color-navbar-bottom-border);
|
2013-08-13 12:52:26 +02:00
|
|
|
}
|
|
|
|
|
2021-05-17 10:01:02 +02:00
|
|
|
#navbar_alerts_wrapper {
|
2017-09-23 11:27:18 +02:00
|
|
|
font-size: 1rem;
|
2020-08-25 10:02:47 +02:00
|
|
|
position: relative;
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
.alert {
|
2021-06-05 11:16:17 +02:00
|
|
|
/* Since alerts are only rendered into the DOM when they are first
|
|
|
|
displayed, display: block is the right default for this setting. */
|
|
|
|
display: block;
|
2020-05-16 12:46:32 +02:00
|
|
|
margin: 0;
|
|
|
|
padding-top: 12px;
|
|
|
|
padding-bottom: 12px;
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
border: none;
|
|
|
|
border-radius: 0;
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
text-align: center;
|
|
|
|
text-shadow: none;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
&.alert-info {
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(170deg 46% 54%);
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
&.red {
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 46% 54%);
|
2020-05-16 12:46:32 +02:00
|
|
|
}
|
|
|
|
}
|
2018-01-26 22:10:30 +01:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
.close {
|
|
|
|
line-height: 24px;
|
2020-08-25 10:02:47 +02:00
|
|
|
position: absolute;
|
|
|
|
right: 18px;
|
|
|
|
top: 50%;
|
|
|
|
transform: translateY(-50%);
|
2020-05-16 12:46:32 +02:00
|
|
|
}
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
.alert-link {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(169deg 100% 88%);
|
2020-05-16 12:46:32 +02:00
|
|
|
font-weight: 600;
|
|
|
|
}
|
2017-09-23 11:27:18 +02:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
&.red .alert-link {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 100% 88%);
|
2020-05-16 12:46:32 +02:00
|
|
|
}
|
2018-01-26 22:10:30 +01:00
|
|
|
|
2020-05-16 12:46:32 +02:00
|
|
|
.buttons .alert-link {
|
2020-08-06 02:42:07 +02:00
|
|
|
margin: 0 5px;
|
2020-05-16 12:46:32 +02:00
|
|
|
}
|
|
|
|
}
|
2017-09-23 11:27:18 +02:00
|
|
|
}
|
|
|
|
|
2023-09-06 23:40:00 +02:00
|
|
|
.recent_view_container #recent_view_table {
|
2023-05-21 20:52:46 +02:00
|
|
|
margin-top: var(--navbar-fixed-height);
|
|
|
|
}
|
|
|
|
|
2013-08-13 12:52:26 +02:00
|
|
|
.app {
|
2023-11-04 22:43:10 +01:00
|
|
|
min-width: 100%;
|
|
|
|
min-height: 100%;
|
2013-08-13 12:52:26 +02:00
|
|
|
z-index: 99;
|
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
.app-main,
|
|
|
|
.header-main {
|
2014-01-08 16:12:22 +01:00
|
|
|
width: 100%;
|
2013-08-13 12:52:26 +02:00
|
|
|
min-width: 950px;
|
2020-08-06 02:42:07 +02:00
|
|
|
margin: 0 auto;
|
|
|
|
padding: 0;
|
2013-08-13 12:52:26 +02:00
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
2023-05-29 13:31:58 +02:00
|
|
|
body.has-overlay-scrollbar {
|
|
|
|
/* Move simplebar scrollbar to the left so that
|
|
|
|
browser scrollbar doesn't overlap with it. */
|
|
|
|
.column-right .simplebar-track.simplebar-vertical {
|
|
|
|
right: var(--browser-overlay-scrollbar-width);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-08-25 11:06:23 +02:00
|
|
|
/* Styles for popovers rendered as an overlay at the
|
|
|
|
center of the screen, primarily used in mobile sizes. */
|
|
|
|
#popover-overlay-background {
|
|
|
|
position: fixed;
|
|
|
|
inset: 0;
|
|
|
|
|
|
|
|
/* Needs to be higher than the 105 for div.overlay so that the
|
|
|
|
emoji picker can render on top of the user status picker. */
|
|
|
|
z-index: 106;
|
|
|
|
background-color: hsl(0deg 0% 0% / 70%);
|
|
|
|
}
|
|
|
|
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Set flex display on login buttons only in the
|
|
|
|
spectator view. We want them to display none
|
|
|
|
otherwise. */
|
|
|
|
.spectator-view .column-right .spectator_login_buttons {
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
@media (width < $xl_min) or (height < $short_navbar_cutoff_height) {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
.column-right {
|
2023-03-07 01:18:07 +01:00
|
|
|
width: var(--right-sidebar-width);
|
|
|
|
max-width: var(--right-sidebar-width);
|
2014-01-08 16:12:22 +01:00
|
|
|
position: absolute;
|
2021-04-30 20:11:03 +02:00
|
|
|
right: 0;
|
2020-08-06 02:42:07 +02:00
|
|
|
top: 0;
|
2022-10-14 19:52:42 +02:00
|
|
|
|
|
|
|
.spectator_login_buttons {
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Allow the login buttons flexbox to
|
|
|
|
grow and shrink to fit the available
|
|
|
|
area. */
|
|
|
|
flex: 1 1 0;
|
|
|
|
/* Use a flexbox gap of 7px between the
|
|
|
|
buttons to reflect the outer 7px of space. */
|
|
|
|
gap: 7px;
|
2023-12-03 21:29:39 +01:00
|
|
|
/* Don't allow login buttons flexbox to
|
|
|
|
break out of the allotted right-column
|
|
|
|
space. */
|
|
|
|
overflow: hidden;
|
2023-12-03 19:58:35 +01:00
|
|
|
/* This should be removed once the navbar
|
|
|
|
has been rewritten entirely with modern
|
|
|
|
layout methods. For now, we pull this up
|
|
|
|
so that the buttons and search box are
|
|
|
|
the same height and their boxes sit on the
|
|
|
|
same invisible line. */
|
|
|
|
margin-top: -1px;
|
2023-11-26 21:29:46 +01:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& a {
|
2022-10-14 19:52:42 +02:00
|
|
|
font-size: calc(16em / 14);
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Vertically size the buttons to
|
|
|
|
match the search box. */
|
|
|
|
line-height: 28px;
|
2023-12-03 21:29:39 +01:00
|
|
|
font-weight: 450;
|
|
|
|
letter-spacing: 0.03ch;
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Allow individual buttons to grow
|
2023-12-03 21:29:39 +01:00
|
|
|
and shrink inside their containers,
|
|
|
|
with padding to prevent text from
|
|
|
|
sitting against the edge of the button. */
|
2023-12-03 19:58:35 +01:00
|
|
|
flex: 1 1 0;
|
2023-12-03 21:29:39 +01:00
|
|
|
padding: 0 4px;
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Center the text nodes within the
|
|
|
|
flex items. */
|
|
|
|
text-align: center;
|
|
|
|
/* Internationalization: disallow wrapping,
|
|
|
|
and display an ellipsis when there's not
|
|
|
|
space enough to accommodate the button
|
|
|
|
text. */
|
|
|
|
white-space: nowrap;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
2023-12-03 21:29:39 +01:00
|
|
|
/* Button curvature and transitions. */
|
|
|
|
border-radius: 4px;
|
|
|
|
transition: all 100ms ease-out;
|
2022-10-14 19:52:42 +02:00
|
|
|
|
2023-12-03 21:29:39 +01:00
|
|
|
&:hover,
|
|
|
|
&:focus {
|
2022-10-14 19:52:42 +02:00
|
|
|
text-decoration: none;
|
2023-12-03 21:29:39 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
transform: scale(0.98);
|
2022-10-14 19:52:42 +02:00
|
|
|
}
|
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i {
|
2022-10-14 19:52:42 +02:00
|
|
|
margin-right: 3px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-12-03 21:29:39 +01:00
|
|
|
& .signup_button {
|
|
|
|
color: var(
|
|
|
|
--color-navbar-spectator-low-attention-brand-button-text
|
|
|
|
);
|
|
|
|
background-color: var(
|
|
|
|
--color-navbar-spectator-low-attention-brand-button-background
|
|
|
|
);
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(
|
|
|
|
--color-navbar-spectator-low-attention-brand-button-text
|
|
|
|
);
|
|
|
|
background-color: var(
|
|
|
|
--color-navbar-spectator-low-attention-brand-button-background-hover
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
color: var(
|
|
|
|
--color-navbar-spectator-low-attention-brand-button-text
|
|
|
|
);
|
|
|
|
background-color: var(
|
|
|
|
--color-navbar-spectator-low-attention-brand-button-background-active
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
& .login_button {
|
|
|
|
color: var(
|
|
|
|
--color-navbar-spectator-medium-attention-brand-button-text
|
|
|
|
);
|
|
|
|
background-color: var(
|
|
|
|
--color-navbar-spectator-medium-attention-brand-button-background
|
|
|
|
);
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(
|
|
|
|
--color-navbar-spectator-medium-attention-brand-button-text
|
|
|
|
);
|
|
|
|
background-color: var(
|
|
|
|
--color-navbar-spectator-medium-attention-brand-button-background-hover
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
color: var(
|
|
|
|
--color-navbar-spectator-medium-attention-brand-button-text
|
|
|
|
);
|
|
|
|
background-color: var(
|
|
|
|
--color-navbar-spectator-medium-attention-brand-button-background-active
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-10-14 19:52:42 +02:00
|
|
|
.divider {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 88%);
|
2022-10-14 19:52:42 +02:00
|
|
|
font-size: 20px;
|
|
|
|
line-height: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.spectator_narrow_login_button {
|
|
|
|
position: absolute;
|
|
|
|
top: 0;
|
|
|
|
right: 0;
|
2023-07-17 17:26:24 +02:00
|
|
|
height: var(--header-height);
|
|
|
|
width: var(--header-height);
|
2022-10-14 19:52:42 +02:00
|
|
|
|
2023-11-09 00:29:56 +01:00
|
|
|
@media (width >= $xl_min) and (height >= 600px) {
|
2023-11-26 21:29:46 +01:00
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2022-10-14 19:52:42 +02:00
|
|
|
.login_button {
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
|
|
|
height: 100%;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i {
|
2023-12-03 21:51:07 +01:00
|
|
|
color: var(--color-navbar-icon);
|
2022-10-14 19:52:42 +02:00
|
|
|
font-size: 1.6em;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2013-08-13 12:52:26 +02:00
|
|
|
}
|
|
|
|
|
2021-04-30 20:11:03 +02:00
|
|
|
.column-left {
|
2023-03-07 01:18:07 +01:00
|
|
|
width: var(--left-sidebar-width);
|
|
|
|
max-width: var(--left-sidebar-width);
|
2014-01-08 16:12:22 +01:00
|
|
|
position: absolute;
|
2021-04-30 20:11:03 +02:00
|
|
|
left: 0;
|
2020-08-06 02:42:07 +02:00
|
|
|
top: 0;
|
2013-08-13 12:52:26 +02:00
|
|
|
}
|
|
|
|
|
2023-05-21 20:52:46 +02:00
|
|
|
#message_feed_container,
|
|
|
|
.column-left .left-sidebar,
|
|
|
|
.column-right .right-sidebar {
|
|
|
|
padding-top: calc(
|
|
|
|
var(--navbar-fixed-height) + var(--header-padding-bottom)
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
2020-05-16 12:54:44 +02:00
|
|
|
.app-main {
|
|
|
|
height: 100%;
|
|
|
|
min-height: 100%;
|
|
|
|
|
2020-05-16 12:56:11 +02:00
|
|
|
.column-left .left-sidebar,
|
|
|
|
.column-right .right-sidebar {
|
|
|
|
position: fixed;
|
|
|
|
z-index: 100;
|
|
|
|
}
|
2014-01-09 16:58:51 +01:00
|
|
|
|
2020-05-16 12:56:11 +02:00
|
|
|
.column-left .left-sidebar {
|
2023-03-07 01:18:07 +01:00
|
|
|
width: var(--left-sidebar-width);
|
|
|
|
padding-left: var(--left-sidebar-collapse-widget-gutter);
|
2020-05-16 12:56:11 +02:00
|
|
|
}
|
2013-08-13 12:52:26 +02:00
|
|
|
|
2020-05-16 12:56:11 +02:00
|
|
|
.column-right .right-sidebar {
|
|
|
|
padding-left: 10px;
|
|
|
|
width: 240px;
|
|
|
|
}
|
2013-08-13 12:52:26 +02:00
|
|
|
|
2020-05-16 12:56:11 +02:00
|
|
|
.column-middle {
|
|
|
|
min-height: 100%;
|
2022-12-19 09:16:05 +01:00
|
|
|
/* We need `overflow-y: visible` for sticky headers to work. */
|
2020-05-16 12:56:11 +02:00
|
|
|
}
|
2014-01-31 21:36:31 +01:00
|
|
|
}
|
|
|
|
|
2021-04-30 20:11:03 +02:00
|
|
|
.column-middle,
|
2021-06-10 16:52:29 +02:00
|
|
|
#compose-content {
|
2023-03-07 01:18:07 +01:00
|
|
|
margin-right: var(--right-sidebar-width);
|
2022-09-13 13:15:57 +02:00
|
|
|
margin-left: calc(
|
2023-03-07 01:18:07 +01:00
|
|
|
var(--left-sidebar-width) + var(--left-sidebar-collapse-widget-gutter)
|
2022-09-13 13:15:57 +02:00
|
|
|
);
|
2014-01-09 16:58:51 +01:00
|
|
|
position: relative;
|
2013-08-13 12:52:26 +02:00
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
textarea,
|
|
|
|
input {
|
2023-03-27 12:47:59 +02:00
|
|
|
font-family: "Source Sans 3 VF", sans-serif;
|
2012-10-24 23:16:43 +02:00
|
|
|
}
|
|
|
|
|
2013-02-13 23:23:26 +01:00
|
|
|
/* Override Bootstrap's fixed sizes for various elements */
|
2013-08-23 07:31:38 +02:00
|
|
|
textarea,
|
|
|
|
label {
|
2017-03-14 16:36:22 +01:00
|
|
|
font-size: inherit;
|
2013-02-13 23:23:26 +01:00
|
|
|
line-height: inherit;
|
|
|
|
}
|
|
|
|
|
2020-07-15 11:12:05 +02:00
|
|
|
/* Bootstrap's focus outline uses -webkit-focus-ring-color which doesn't exist in Firefox */
|
2021-07-13 08:15:05 +02:00
|
|
|
a:not(:active):focus,
|
|
|
|
button:focus,
|
|
|
|
.new-style label.checkbox input[type="checkbox"]:focus ~ span,
|
|
|
|
i.fa:focus,
|
2023-07-19 19:08:38 +02:00
|
|
|
i.zulip-icon:focus-visible,
|
2022-03-08 07:22:44 +01:00
|
|
|
[role="button"]:focus {
|
2023-09-12 13:01:36 +02:00
|
|
|
outline: 2px solid var(--color-outline-focus);
|
2020-09-15 22:23:01 +02:00
|
|
|
/* TODO: change solid to auto once the Chromium bug #1105822 is fixed */
|
2020-07-15 11:12:05 +02:00
|
|
|
}
|
|
|
|
|
2013-02-13 23:23:26 +01:00
|
|
|
/* List of text-like input types taken from Bootstrap */
|
2020-05-16 12:58:43 +02:00
|
|
|
input {
|
|
|
|
&[type="text"],
|
|
|
|
&[type="password"],
|
|
|
|
&[type="datetime"],
|
|
|
|
&[type="datetime-local"],
|
|
|
|
&[type="date"],
|
|
|
|
&[type="month"],
|
|
|
|
&[type="time"],
|
|
|
|
&[type="week"],
|
|
|
|
&[type="number"],
|
|
|
|
&[type="email"],
|
|
|
|
&[type="url"],
|
|
|
|
&[type="search"],
|
|
|
|
&[type="tel"],
|
|
|
|
&[type="color"] {
|
|
|
|
font-size: inherit;
|
|
|
|
height: 1.4em;
|
|
|
|
}
|
2013-02-13 23:23:26 +01:00
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
li,
|
|
|
|
.table th,
|
|
|
|
.table td {
|
2013-02-13 23:23:26 +01:00
|
|
|
line-height: inherit;
|
|
|
|
}
|
|
|
|
|
|
|
|
.btn {
|
2017-03-14 16:36:22 +01:00
|
|
|
font-size: inherit;
|
|
|
|
height: auto;
|
2013-05-07 19:32:12 +02:00
|
|
|
line-height: 100%;
|
2013-02-13 23:23:26 +01:00
|
|
|
}
|
|
|
|
|
2020-08-27 16:41:30 +02:00
|
|
|
/* Classes which style copy buttons */
|
|
|
|
.copy_button_base {
|
2023-03-20 22:08:47 +01:00
|
|
|
outline-color: hsl(0deg 0% 73%);
|
2020-08-27 16:41:30 +02:00
|
|
|
height: 18px;
|
|
|
|
width: 10px;
|
2021-11-05 03:33:16 +01:00
|
|
|
padding: 6px;
|
2020-08-27 16:41:30 +02:00
|
|
|
display: block;
|
|
|
|
/* The below two avoids the padded element from displaying
|
2022-02-08 00:13:33 +01:00
|
|
|
its own border and background color */
|
2020-08-27 16:41:30 +02:00
|
|
|
border: none;
|
|
|
|
background-clip: content-box;
|
2020-08-28 04:13:23 +02:00
|
|
|
/* The z-index here ensures that the copy-message
|
|
|
|
icon is clickable and is needed because of reduced
|
|
|
|
opacity of readonly textarea */
|
|
|
|
z-index: 2;
|
2020-08-27 16:41:30 +02:00
|
|
|
|
|
|
|
&:hover svg path {
|
2023-10-22 14:23:15 +02:00
|
|
|
fill: var(--color-fill-hover-copy-icon);
|
2020-08-27 16:41:30 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-28 04:13:23 +02:00
|
|
|
.copy_message {
|
2023-03-18 11:20:58 +01:00
|
|
|
float: right;
|
2017-01-17 20:51:30 +01:00
|
|
|
position: relative;
|
2023-03-18 11:20:58 +01:00
|
|
|
cursor: pointer;
|
|
|
|
top: 30px;
|
|
|
|
/* To make sure the svg doesn't occupy any vertical space. */
|
|
|
|
margin-top: -30px;
|
|
|
|
right: 2px;
|
|
|
|
padding-top: 2px;
|
|
|
|
|
|
|
|
#clipboard_image {
|
|
|
|
margin: 0;
|
|
|
|
}
|
2017-01-17 20:51:30 +01:00
|
|
|
}
|
|
|
|
|
2020-10-13 18:17:20 +02:00
|
|
|
#copy_generated_invite_link {
|
|
|
|
position: relative;
|
|
|
|
margin-right: -32px;
|
|
|
|
margin-top: -1px;
|
2021-09-28 21:57:50 +02:00
|
|
|
padding: 6px 3px 6px 13px;
|
2023-06-16 18:54:31 +02:00
|
|
|
float: right;
|
2021-01-25 03:33:29 +01:00
|
|
|
|
|
|
|
/* This property nullifies the box-shadow rendered by .btn class */
|
|
|
|
&:active {
|
|
|
|
box-shadow: none;
|
|
|
|
}
|
2023-10-22 14:23:15 +02:00
|
|
|
|
|
|
|
& path {
|
|
|
|
fill: var(--color-fill-user-invite-copy-icon);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:hover svg path {
|
|
|
|
fill: var(--color-fill-hover-copy-icon);
|
|
|
|
}
|
2020-10-13 18:17:20 +02:00
|
|
|
}
|
|
|
|
|
2017-03-26 12:15:50 +02:00
|
|
|
#clipboard_image {
|
2017-04-06 15:57:50 +02:00
|
|
|
margin-top: -5px;
|
|
|
|
margin-left: -8px;
|
|
|
|
}
|
|
|
|
|
2013-04-24 00:40:47 +02:00
|
|
|
/* Classes for hiding and showing controls */
|
|
|
|
|
|
|
|
.notdisplayed {
|
|
|
|
display: none !important;
|
|
|
|
}
|
|
|
|
|
|
|
|
.notvisible {
|
|
|
|
visibility: hidden !important;
|
2020-08-06 02:42:07 +02:00
|
|
|
width: 0 !important;
|
|
|
|
min-width: 0 !important;
|
|
|
|
min-height: 0 !important;
|
|
|
|
height: 0 !important;
|
2013-04-25 23:08:05 +02:00
|
|
|
overflow: hidden !important;
|
|
|
|
position: absolute !important;
|
2013-04-24 00:40:47 +02:00
|
|
|
}
|
2013-02-13 23:23:26 +01:00
|
|
|
|
2013-05-21 17:47:44 +02:00
|
|
|
/* Lighter strong */
|
|
|
|
|
|
|
|
strong {
|
|
|
|
font-weight: 600;
|
|
|
|
}
|
|
|
|
|
2012-11-29 18:38:18 +01:00
|
|
|
.preserve_spaces {
|
|
|
|
white-space: pre-wrap;
|
|
|
|
}
|
|
|
|
|
2017-09-26 19:52:18 +02:00
|
|
|
.sp-input {
|
|
|
|
width: calc(100% - 14px);
|
|
|
|
box-sizing: initial !important;
|
|
|
|
}
|
|
|
|
|
2012-11-02 22:19:12 +01:00
|
|
|
.logout {
|
|
|
|
white-space: nowrap;
|
|
|
|
}
|
2012-10-12 05:10:48 +02:00
|
|
|
|
2020-05-16 13:09:26 +02:00
|
|
|
.tooltip {
|
|
|
|
&.in {
|
|
|
|
font-size: 12px;
|
|
|
|
line-height: 1.3;
|
2017-09-16 01:51:59 +02:00
|
|
|
|
2020-05-16 13:09:26 +02:00
|
|
|
opacity: 1;
|
2017-09-16 01:51:59 +02:00
|
|
|
|
2020-05-16 13:09:26 +02:00
|
|
|
&.left {
|
|
|
|
margin-left: -12px;
|
|
|
|
margin-top: 3px;
|
|
|
|
}
|
|
|
|
}
|
2017-09-16 01:51:59 +02:00
|
|
|
|
2020-05-16 13:09:26 +02:00
|
|
|
.tooltip-inner {
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 7% / 80%);
|
2020-05-16 13:09:26 +02:00
|
|
|
padding: 3px 5px;
|
|
|
|
}
|
2020-12-17 13:20:39 +01:00
|
|
|
|
|
|
|
/*
|
|
|
|
Since hover and click are activated together on touchscreen
|
|
|
|
devices, the hover state persists until the next click, creating
|
|
|
|
awkward UI where the tooltip sticks around forever :(.
|
|
|
|
|
|
|
|
To resolve this, we just hide the tooltip for touch-events on
|
|
|
|
touch-enabled devices resolving the above problem. This means
|
|
|
|
that tooltips will never appear on touchscreen devices, but that's
|
2021-12-28 18:36:59 +01:00
|
|
|
probably a reasonable tradeoff here.
|
2020-12-17 13:20:39 +01:00
|
|
|
|
|
|
|
Source: https://drafts.csswg.org/mediaqueries-4/#mf-interaction
|
|
|
|
*/
|
|
|
|
|
|
|
|
@media (hover: none) {
|
|
|
|
visibility: hidden !important;
|
|
|
|
}
|
2017-09-16 01:51:59 +02:00
|
|
|
}
|
|
|
|
|
2019-08-04 14:57:32 +02:00
|
|
|
.buddy_list_tooltip_content {
|
|
|
|
text-align: left;
|
2022-02-16 21:59:38 +01:00
|
|
|
word-wrap: break-word;
|
2023-11-04 19:15:09 +01:00
|
|
|
max-width: 280px;
|
2019-08-04 14:57:32 +02:00
|
|
|
}
|
|
|
|
|
2023-07-25 17:21:20 +02:00
|
|
|
#change_visibility_policy_button_tooltip {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
2013-08-12 23:05:20 +02:00
|
|
|
.narrow-filter {
|
|
|
|
display: block;
|
2013-06-12 21:25:49 +02:00
|
|
|
position: relative;
|
|
|
|
}
|
|
|
|
|
2020-09-15 22:23:01 +02:00
|
|
|
/* .dropdown-menu from v2.3.2
|
|
|
|
+ https://github.com/zulip/zulip/commit/7a3a3be7e547d3e8f0ed00820835104867f2433d
|
|
|
|
basic idea of this fix is to remove decorations from :hover and apply them only
|
|
|
|
on :focus. */
|
2020-08-14 16:04:42 +02:00
|
|
|
.typeahead-menu {
|
2023-03-17 22:10:10 +01:00
|
|
|
& li {
|
2023-12-19 20:29:05 +01:00
|
|
|
word-break: break-word;
|
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& a {
|
2020-08-14 16:04:42 +02:00
|
|
|
display: block;
|
|
|
|
padding: 3px 20px;
|
|
|
|
clear: both;
|
|
|
|
font-weight: normal;
|
|
|
|
line-height: 20px;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 20%);
|
2020-08-14 16:04:42 +02:00
|
|
|
white-space: nowrap;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
2020-08-14 16:04:42 +02:00
|
|
|
text-decoration: none;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(200deg 100% 38%);
|
2020-08-14 16:04:42 +02:00
|
|
|
background-image: linear-gradient(
|
|
|
|
to bottom,
|
2023-03-20 22:08:47 +01:00
|
|
|
hsl(200deg 100% 40%),
|
|
|
|
hsl(200deg 100% 35%)
|
2020-08-14 16:04:42 +02:00
|
|
|
);
|
|
|
|
}
|
2021-12-06 23:44:26 +01:00
|
|
|
|
2021-02-26 09:24:04 +01:00
|
|
|
/* styles defined for user_circle here only deal with positioning of user_presence_circle
|
2021-12-28 18:36:59 +01:00
|
|
|
in typeahead list in order to ensure they are rendered correctly in in all screen sizes.
|
2021-02-26 09:24:04 +01:00
|
|
|
Most of the style rules related to color, gradient etc. which are generally common throughout
|
|
|
|
the app are defined in user_circles.css and are not overridden here. */
|
|
|
|
.user_circle {
|
|
|
|
width: 8px;
|
|
|
|
height: 8px;
|
|
|
|
margin: 0 5px 0 -6px;
|
|
|
|
position: relative;
|
|
|
|
top: 6px;
|
2021-03-10 22:06:39 +01:00
|
|
|
right: 8px;
|
2021-02-26 09:24:04 +01:00
|
|
|
display: inline-block;
|
|
|
|
}
|
2020-08-14 16:04:42 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.active > a {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
2020-08-14 16:04:42 +02:00
|
|
|
text-decoration: none;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(200deg 100% 38%);
|
2020-08-14 16:04:42 +02:00
|
|
|
background-image: linear-gradient(
|
|
|
|
to bottom,
|
2023-03-20 22:08:47 +01:00
|
|
|
hsl(200deg 100% 40%),
|
|
|
|
hsl(200deg 100% 35%)
|
2020-08-14 16:04:42 +02:00
|
|
|
);
|
|
|
|
outline: 0;
|
2021-02-26 09:24:04 +01:00
|
|
|
|
|
|
|
.user_circle_empty {
|
2023-03-20 22:08:47 +01:00
|
|
|
border-color: hsl(0deg 0% 25%);
|
2021-02-26 09:24:04 +01:00
|
|
|
}
|
2020-08-14 16:04:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.active > a:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-08-25 13:34:02 +02:00
|
|
|
/* Copied from bootstrap 2.1.1 CSS for dropdown-menu li > a:focus */
|
|
|
|
li.actual-dropdown-menu > a:focus {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
2020-08-25 13:34:02 +02:00
|
|
|
text-decoration: none;
|
2022-03-02 07:02:28 +01:00
|
|
|
background-color: transparent;
|
2020-08-25 13:34:02 +02:00
|
|
|
background-image: none;
|
|
|
|
filter: none;
|
|
|
|
outline: 0;
|
|
|
|
}
|
|
|
|
|
2013-08-16 21:08:43 +02:00
|
|
|
li.actual-dropdown-menu i {
|
|
|
|
/* In gear menu, make icons the same width so labels line up. */
|
|
|
|
display: inline-block;
|
|
|
|
width: 14px;
|
2017-02-01 03:04:10 +01:00
|
|
|
text-align: center;
|
2017-02-01 03:09:43 +01:00
|
|
|
margin-right: 3px;
|
2013-02-12 20:41:01 +01:00
|
|
|
}
|
|
|
|
|
2012-09-10 21:14:01 +02:00
|
|
|
td.pointer {
|
|
|
|
vertical-align: top;
|
2012-09-10 21:16:17 +02:00
|
|
|
padding-top: 10px;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 100%);
|
2012-10-02 20:47:01 +02:00
|
|
|
}
|
|
|
|
|
2013-05-31 19:07:59 +02:00
|
|
|
.new_messages {
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(194deg 53% 79%);
|
2013-05-31 19:07:59 +02:00
|
|
|
}
|
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
.new_messages,
|
|
|
|
.new_messages_fadeout {
|
2019-04-14 15:21:40 +02:00
|
|
|
transition: all 3s ease-in-out;
|
2013-05-16 23:40:07 +02:00
|
|
|
}
|
|
|
|
|
2022-08-04 14:19:26 +02:00
|
|
|
.messagebox-content .message_time {
|
2014-03-10 16:11:34 +01:00
|
|
|
display: block;
|
2023-08-09 19:32:38 +02:00
|
|
|
font-size: 13px;
|
2023-08-24 17:39:00 +02:00
|
|
|
font-weight: 350;
|
2022-08-04 15:35:52 +02:00
|
|
|
text-align: right;
|
2023-05-17 01:52:19 +02:00
|
|
|
opacity: 0.8;
|
2023-05-13 08:30:13 +02:00
|
|
|
color: var(--color-text-default);
|
2022-08-04 15:35:52 +02:00
|
|
|
letter-spacing: 0.02em;
|
2022-08-04 14:19:26 +02:00
|
|
|
/* Disable blue link styling for the message timestamp link. */
|
|
|
|
&:hover {
|
|
|
|
text-decoration: none;
|
2023-07-24 21:31:13 +02:00
|
|
|
color: var(--color-message-action-interactive);
|
2022-08-04 14:19:26 +02:00
|
|
|
}
|
2014-02-07 00:50:23 +01:00
|
|
|
}
|
|
|
|
|
2023-03-17 19:54:09 +01:00
|
|
|
.messagebox-content .slow-send-spinner {
|
|
|
|
display: block;
|
|
|
|
font-size: 12px;
|
|
|
|
text-align: right;
|
2023-05-17 01:52:19 +02:00
|
|
|
opacity: 0.8;
|
2023-05-13 08:30:13 +02:00
|
|
|
color: var(--color-text-default);
|
2023-03-17 19:54:09 +01:00
|
|
|
animation: rotate 1s infinite linear;
|
|
|
|
}
|
|
|
|
|
2014-03-10 16:11:34 +01:00
|
|
|
.status-time {
|
|
|
|
top: 8px !important;
|
2014-01-31 23:52:18 +01:00
|
|
|
}
|
|
|
|
|
2013-05-21 17:47:44 +02:00
|
|
|
.message_controls {
|
2023-07-17 22:43:21 +02:00
|
|
|
display: flex;
|
|
|
|
align-items: baseline;
|
2023-07-17 22:35:29 +02:00
|
|
|
font-size: 16px;
|
2020-09-15 22:23:01 +02:00
|
|
|
/* This is a bit tricky; we need to reserve space for the message
|
|
|
|
controls even when the message isn't hovered, so that hover
|
|
|
|
doesn't disturb the layout. Usually that would be just
|
|
|
|
visibility: hidden, but that cannot be animated, so we set
|
|
|
|
opacity as well, which can be animated. */
|
2021-04-14 09:24:35 +02:00
|
|
|
.message_control_button {
|
2019-03-19 21:17:48 +01:00
|
|
|
opacity: 0;
|
message_controls: Prevent clicks via visibility & not pointer-events.
Previously, the message controls had a bug where they would trigger on
mobile with a single tap over the area they occupy when visible. This
is wrong because a user would expect to first see the controls and
only trigger them once they are visible (with a second tap).
The above bug is caused by the fact that we were using "opacity: 0" on
".message_controls > div" to hide the controls and "opacity: 1" on
".messagebox &:hover .message_controls > div" to show the controls on
hover, however, this would not effect the click action because
"opacity". So we used "pointer-events: none;" and "pointer-events:
all;" with the hopes that it would prevented the above bug, but in
practice, it didn't.
(the most probable explanation being that tapping the message_control
area would cause the "&:hover" rule to trigger and change the
"pointer-event" to "all" before it could prevent the click trigger,
But that explanation is just conjecture.)
This commit replaces both "pointer-events" attributes with
"visibility: hidden" and "visibility: visible" respectively. The
result being that the message_controls behave identically to before,
except without the above bug.
The addition to the ".has_actions_popover .info" selector is important
because without it, we would regress on issue #3172.
Trivia:
An alternate approach to using "opacity" is to set the
"display" attribute to "none", however, using "display" prevents the
transition from animating (which is probably why we were using opacity
here in the first place). "visibility" does not prevent the transition
from animating.
History: The "pointer-events" attribute was introduced in
4d5aa3ddc9e603d2216738f3dffa59ec09ffd830 and it replaced prior code
which relied on the "visibility" attribute... But it seems PR #3792
was mostly focused on improving the positioning through removal of
`display: none`, but introduced opacity to make the animations work
rather than visibility as the replacement solution, which requires the
pointer-events hack and resulted in the bug described here.
Fixes the second bug described in #13642.
2020-06-20 11:11:58 +02:00
|
|
|
visibility: hidden;
|
2019-03-19 21:17:48 +01:00
|
|
|
transition: all 0.2s ease;
|
2023-07-17 22:43:21 +02:00
|
|
|
width: var(--message-box-icon-width);
|
|
|
|
height: var(--message-box-icon-height);
|
2020-07-04 02:13:10 +02:00
|
|
|
text-align: center;
|
2023-07-17 22:35:29 +02:00
|
|
|
color: var(--color-message-action-visible);
|
2020-07-04 02:13:10 +02:00
|
|
|
|
2023-08-25 12:19:43 +02:00
|
|
|
& i {
|
2020-07-04 02:13:10 +02:00
|
|
|
vertical-align: middle;
|
2023-07-19 19:08:38 +02:00
|
|
|
/* TODO: Math for these values, possibly with variables.
|
|
|
|
In short, the icon body is 16px square; the current
|
|
|
|
area for the icon is 26px wide by 25px tall, so these
|
|
|
|
values ensure a 26px x 25px clickable area for the icon. */
|
|
|
|
padding: 2.5px 3px;
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
transform: scale(0.92);
|
|
|
|
transform-origin: center;
|
|
|
|
outline: 0;
|
|
|
|
transition: unset;
|
|
|
|
}
|
2023-07-17 22:35:29 +02:00
|
|
|
|
2023-08-17 21:30:41 +02:00
|
|
|
&:focus {
|
|
|
|
/* Remove the outline but do not color on focus;
|
|
|
|
focus-visible is more appropriate for the color
|
|
|
|
changes, as it only applies color when focus
|
|
|
|
is achieved from a keyboard or other pointerless
|
|
|
|
device. */
|
|
|
|
outline: 0;
|
|
|
|
}
|
|
|
|
|
2023-07-19 19:08:38 +02:00
|
|
|
&:hover,
|
|
|
|
&:focus-visible {
|
|
|
|
outline: 0;
|
|
|
|
color: var(--color-message-action-interactive);
|
|
|
|
}
|
2023-08-17 21:34:27 +02:00
|
|
|
|
|
|
|
/* Separate hover colors for stars */
|
|
|
|
&.star:hover,
|
|
|
|
&.star:focus-visible {
|
|
|
|
color: var(--color-message-star-action);
|
|
|
|
}
|
2023-07-17 22:35:29 +02:00
|
|
|
}
|
2023-07-26 17:49:15 +02:00
|
|
|
|
|
|
|
.zulip-icon-more-vertical {
|
|
|
|
/* Increase visual prominence of the vdots. */
|
|
|
|
font-size: 21px;
|
|
|
|
}
|
2019-03-19 21:17:48 +01:00
|
|
|
}
|
2017-02-23 23:33:57 +01:00
|
|
|
|
2021-04-10 19:20:51 +02:00
|
|
|
/* Tooltips should not follow the width restrictions of their parent element. */
|
|
|
|
[data-tippy-root] {
|
|
|
|
width: max-content;
|
|
|
|
word-wrap: unset;
|
|
|
|
}
|
|
|
|
|
2021-06-16 21:15:47 +02:00
|
|
|
> .view_read_receipts {
|
|
|
|
font-size: 14px;
|
|
|
|
height: 16px;
|
|
|
|
|
|
|
|
&:hover {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(200deg 100% 40%);
|
2021-06-16 21:15:47 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-06-12 00:00:45 +02:00
|
|
|
.edit_content {
|
2023-07-17 22:43:21 +02:00
|
|
|
/* Icons for editing content are determined on message hover;
|
|
|
|
we set an empty `.edit_content` to have 0 height in order to
|
|
|
|
preserve the layout of the other icons prior to any hovering. */
|
|
|
|
&:empty {
|
|
|
|
height: 0;
|
|
|
|
}
|
2021-06-12 00:00:45 +02:00
|
|
|
|
|
|
|
&:hover {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-03-19 21:19:47 +01:00
|
|
|
.message_failed {
|
2019-03-19 21:25:44 +01:00
|
|
|
display: inline-flex;
|
|
|
|
justify-content: space-between;
|
2019-03-19 21:19:47 +01:00
|
|
|
cursor: pointer;
|
|
|
|
position: relative;
|
2021-03-19 00:11:44 +01:00
|
|
|
vertical-align: middle;
|
2022-12-09 10:13:09 +01:00
|
|
|
padding-left: 2px;
|
2019-03-19 21:19:47 +01:00
|
|
|
|
2023-01-19 08:34:22 +01:00
|
|
|
&.hide {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
2019-03-19 21:19:47 +01:00
|
|
|
.rotating {
|
|
|
|
display: inline-block;
|
2023-01-19 19:40:27 +01:00
|
|
|
outline: none;
|
2019-03-19 21:19:47 +01:00
|
|
|
|
|
|
|
animation: rotate 1s infinite linear;
|
|
|
|
}
|
2021-07-17 15:00:38 +02:00
|
|
|
|
|
|
|
.failed_message_action {
|
|
|
|
opacity: 1 !important;
|
2023-05-13 10:50:52 +02:00
|
|
|
color: var(--color-failed-message-send-icon);
|
2021-07-17 15:00:38 +02:00
|
|
|
font-weight: bold;
|
2022-12-09 10:13:09 +01:00
|
|
|
padding: 1px;
|
2021-07-17 15:00:38 +02:00
|
|
|
}
|
2021-12-12 14:32:32 +01:00
|
|
|
|
|
|
|
.message_control_button {
|
|
|
|
visibility: inherit;
|
|
|
|
}
|
2019-03-19 21:19:47 +01:00
|
|
|
}
|
2020-07-03 17:49:19 +02:00
|
|
|
|
|
|
|
.star_container {
|
|
|
|
&:not(.empty-star) {
|
2023-07-17 22:35:29 +02:00
|
|
|
/* Color, opacity, and visibility, as though the message is hovered. */
|
2023-08-17 21:34:27 +02:00
|
|
|
color: var(--color-message-star-action);
|
2023-07-17 22:35:29 +02:00
|
|
|
opacity: 1;
|
2020-07-03 17:49:19 +02:00
|
|
|
visibility: visible !important;
|
|
|
|
}
|
|
|
|
}
|
2017-02-23 23:33:57 +01:00
|
|
|
}
|
|
|
|
|
2019-03-19 21:17:48 +01:00
|
|
|
.star {
|
|
|
|
&:hover {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
2017-02-23 23:33:57 +01:00
|
|
|
}
|
|
|
|
|
2012-10-17 22:03:00 +02:00
|
|
|
.message_header {
|
2012-09-27 21:34:15 +02:00
|
|
|
vertical-align: middle;
|
2017-03-14 16:36:22 +01:00
|
|
|
text-align: left;
|
2013-02-13 23:23:26 +01:00
|
|
|
/* We can overflow-y if the font size gets big */
|
2017-03-14 16:36:22 +01:00
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
font-weight: 600;
|
2023-04-08 02:48:02 +02:00
|
|
|
font-size: calc(15em / 14);
|
|
|
|
line-height: 120%;
|
2014-02-21 19:40:13 +01:00
|
|
|
position: relative;
|
|
|
|
z-index: 0;
|
2023-04-08 02:48:02 +02:00
|
|
|
background-color: var(--color-background);
|
|
|
|
|
|
|
|
.message-header-contents {
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: space-between;
|
|
|
|
height: 28px;
|
2023-03-24 00:09:48 +01:00
|
|
|
border: 1px solid var(--color-message-header-contents-border);
|
2023-05-15 07:17:56 +02:00
|
|
|
border-bottom-color: var(--color-message-header-contents-border-bottom);
|
2023-04-08 02:48:02 +02:00
|
|
|
border-radius: 7px 7px 0 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
&.message_header_stream {
|
|
|
|
/* Add box shadow to hide message border (first one) and message
|
|
|
|
selected box shadow (second one) that are visible
|
|
|
|
due to top borders of sticky recipient bar being curved. */
|
2023-07-21 23:08:07 +02:00
|
|
|
box-shadow:
|
|
|
|
-1px -5px 0 5px var(--color-background),
|
2023-04-08 02:48:02 +02:00
|
|
|
1px -5px 0 0 var(--color-background);
|
|
|
|
|
|
|
|
& a.message_label_clickable {
|
|
|
|
color: var(--color-text-message-header);
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
color: var(--color-text-message-header) !important;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.stream_topic_separator {
|
|
|
|
line-height: 0;
|
|
|
|
color: var(--color-message-header-icon-non-interactive);
|
|
|
|
position: relative;
|
|
|
|
top: 0.5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.stream_topic {
|
|
|
|
display: inline-block;
|
|
|
|
padding: 5px 6px 5px 2px;
|
|
|
|
height: 17px;
|
|
|
|
line-height: 17px;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
|
|
|
|
.message_label_clickable.narrows_by_topic {
|
|
|
|
position: relative;
|
|
|
|
top: 0.5px;
|
2023-05-02 17:44:22 +02:00
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
2023-04-08 02:48:02 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-04-08 02:49:01 +02:00
|
|
|
.stream-privacy i {
|
|
|
|
font-size: 15px;
|
|
|
|
|
|
|
|
&.zulip-icon-globe,
|
|
|
|
&.zulip-icon-hashtag {
|
|
|
|
position: relative;
|
|
|
|
top: -0.5px;
|
|
|
|
}
|
|
|
|
}
|
2023-04-08 02:48:02 +02:00
|
|
|
}
|
2013-12-09 20:15:33 +01:00
|
|
|
}
|
|
|
|
|
2023-08-14 20:32:53 +02:00
|
|
|
.message-feed {
|
2020-05-16 14:31:55 +02:00
|
|
|
.recipient_row {
|
2023-04-28 18:07:06 +02:00
|
|
|
/* Browser overlaps extra top padding of message header and
|
|
|
|
the bottom border message if this margin is not present. */
|
|
|
|
margin-bottom: 1px;
|
2023-04-08 02:48:02 +02:00
|
|
|
border-radius: 5px;
|
|
|
|
|
|
|
|
.message_row:last-of-type {
|
|
|
|
border-radius: 0 0 7px 7px;
|
|
|
|
border-bottom: 1px solid var(--color-message-list-border);
|
|
|
|
|
|
|
|
.unread-marker-fill {
|
|
|
|
border-radius: 0 0 0 7px;
|
|
|
|
height: calc(100% - 2px);
|
|
|
|
}
|
|
|
|
|
|
|
|
.messagebox {
|
|
|
|
border-radius: 0 0 7px 7px;
|
2023-05-23 04:37:50 +02:00
|
|
|
padding-bottom: 4px;
|
2023-04-08 02:48:02 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.message_header + .message_row {
|
|
|
|
.messagebox {
|
|
|
|
padding-top: 5px;
|
|
|
|
}
|
|
|
|
}
|
2020-05-16 14:31:55 +02:00
|
|
|
}
|
2020-05-16 14:30:24 +02:00
|
|
|
|
2022-12-19 09:16:05 +01:00
|
|
|
.message_header {
|
|
|
|
position: sticky;
|
2023-05-21 20:52:46 +02:00
|
|
|
top: var(--navbar-fixed-height);
|
2023-05-01 17:47:04 +02:00
|
|
|
/* Needs to be higher than the z-index of date_row. */
|
|
|
|
z-index: 4;
|
2023-04-08 02:48:02 +02:00
|
|
|
box-shadow: 0 -1px 0 0 var(--color-background);
|
|
|
|
|
2023-05-17 07:11:09 +02:00
|
|
|
.message-header-contents {
|
|
|
|
margin-top: var(--header-padding-bottom);
|
|
|
|
}
|
|
|
|
|
2023-04-08 02:48:02 +02:00
|
|
|
&.sticky_header {
|
2023-05-12 10:56:55 +02:00
|
|
|
box-shadow: var(--unread-marker-left) 0 0 0 var(--color-background);
|
|
|
|
|
2023-04-08 02:48:02 +02:00
|
|
|
.recipient_row_date {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
}
|
2020-05-16 15:58:09 +02:00
|
|
|
}
|
2020-05-16 15:56:28 +02:00
|
|
|
}
|
|
|
|
|
2014-01-15 17:11:37 +01:00
|
|
|
.stream_label {
|
2023-04-08 02:48:02 +02:00
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
gap: 5px;
|
|
|
|
padding: 5px 2px 5px 10px;
|
2014-01-17 16:11:18 +01:00
|
|
|
height: 17px;
|
|
|
|
line-height: 17px;
|
2014-01-15 17:11:37 +01:00
|
|
|
position: relative;
|
2023-04-08 02:48:02 +02:00
|
|
|
top: 0.5px;
|
2014-01-15 17:11:37 +01:00
|
|
|
text-decoration: none;
|
2023-04-08 02:48:02 +02:00
|
|
|
font-weight: 600;
|
|
|
|
overflow: hidden;
|
2014-01-17 16:11:18 +01:00
|
|
|
|
2021-11-19 18:56:24 +01:00
|
|
|
.recipient-row-stream-icon {
|
2020-05-16 16:00:24 +02:00
|
|
|
font-size: 12px;
|
2022-03-01 11:25:40 +01:00
|
|
|
line-height: 12px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.zulip-icon.zulip-icon-globe {
|
|
|
|
position: relative;
|
|
|
|
top: 1px;
|
2020-05-16 16:00:24 +02:00
|
|
|
}
|
2014-01-15 17:11:37 +01:00
|
|
|
|
2020-05-16 16:00:24 +02:00
|
|
|
&:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
2018-02-16 01:47:38 +01:00
|
|
|
|
2023-04-08 02:49:01 +02:00
|
|
|
.stream-privacy {
|
|
|
|
min-width: unset;
|
|
|
|
width: 16px;
|
|
|
|
height: 16px;
|
2018-02-16 01:47:38 +01:00
|
|
|
|
2023-04-08 02:49:01 +02:00
|
|
|
.hashtag {
|
|
|
|
padding-right: 0;
|
|
|
|
|
|
|
|
&::after {
|
|
|
|
font-size: 16px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2014-01-17 16:11:18 +01:00
|
|
|
}
|
|
|
|
|
2020-07-06 15:56:45 +02:00
|
|
|
.recipient_bar_controls {
|
2022-04-21 17:31:34 +02:00
|
|
|
display: flex;
|
2020-07-06 15:56:45 +02:00
|
|
|
flex-grow: 1;
|
2022-04-21 17:31:34 +02:00
|
|
|
align-items: center;
|
2023-07-25 17:21:20 +02:00
|
|
|
|
2023-11-17 16:26:05 +01:00
|
|
|
.external-topic-link {
|
|
|
|
/* Vertically center the external link
|
|
|
|
icon inside its containing anchor. */
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
}
|
|
|
|
|
2023-07-25 17:21:20 +02:00
|
|
|
.change_visibility_policy {
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
i {
|
2023-08-22 16:55:39 +02:00
|
|
|
display: block;
|
2023-07-25 17:21:20 +02:00
|
|
|
}
|
|
|
|
}
|
2020-07-06 15:56:45 +02:00
|
|
|
}
|
2016-08-18 22:18:33 +02:00
|
|
|
|
2020-07-06 15:56:45 +02:00
|
|
|
.recipient_row_date {
|
2022-08-04 15:35:52 +02:00
|
|
|
color: var(--color-date);
|
|
|
|
font-size: calc(12em / 14);
|
|
|
|
padding: 0 10px;
|
|
|
|
text-align: right;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
font-style: normal;
|
2016-08-18 22:18:33 +02:00
|
|
|
font-weight: 600;
|
2022-08-04 15:35:52 +02:00
|
|
|
line-height: 17px; /* identical to box height, or 131% */
|
|
|
|
letter-spacing: 0.04em;
|
|
|
|
text-transform: uppercase;
|
2023-04-08 02:48:02 +02:00
|
|
|
padding-top: 1px;
|
2016-08-18 22:18:33 +02:00
|
|
|
|
2023-03-21 20:20:33 +01:00
|
|
|
/* Display the date when unchanged only for sticky headers. */
|
|
|
|
&.recipient_row_date_unchanged {
|
|
|
|
display: none;
|
|
|
|
|
|
|
|
.sticky_header & {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-02-28 19:53:32 +01:00
|
|
|
&.hide-date-separator-header {
|
2020-05-16 16:01:27 +02:00
|
|
|
display: none;
|
|
|
|
}
|
2016-08-18 22:18:33 +02:00
|
|
|
}
|
|
|
|
|
2020-04-01 20:00:43 +02:00
|
|
|
.recipient_bar_icon {
|
2023-04-08 02:48:02 +02:00
|
|
|
color: var(--color-message-header-icon-interactive);
|
|
|
|
opacity: 0.2;
|
|
|
|
padding-left: 6px;
|
|
|
|
padding-right: 6px;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
opacity: 0.4 !important;
|
2023-08-23 21:12:17 +02:00
|
|
|
cursor: pointer;
|
2023-04-08 02:48:02 +02:00
|
|
|
}
|
2020-04-01 20:00:43 +02:00
|
|
|
}
|
|
|
|
|
2013-07-17 22:53:07 +02:00
|
|
|
.copy-paste-text {
|
|
|
|
/* Hide the text that we want copy paste to capture */
|
|
|
|
position: absolute;
|
|
|
|
text-indent: -99999px;
|
|
|
|
float: left;
|
2020-08-06 02:42:07 +02:00
|
|
|
width: 0;
|
2013-07-17 22:53:07 +02:00
|
|
|
}
|
|
|
|
|
2014-01-03 20:39:12 +01:00
|
|
|
@keyframes rotate {
|
2017-03-18 23:49:11 +01:00
|
|
|
from {
|
|
|
|
transform: rotate(0deg);
|
|
|
|
}
|
2017-11-13 17:26:11 +01:00
|
|
|
|
2017-03-18 23:49:11 +01:00
|
|
|
to {
|
|
|
|
transform: rotate(359deg);
|
|
|
|
}
|
2014-01-03 20:39:12 +01:00
|
|
|
}
|
|
|
|
|
2017-04-13 22:33:26 +02:00
|
|
|
@keyframes fadeInMessage {
|
|
|
|
0% {
|
|
|
|
opacity: 0;
|
|
|
|
}
|
2017-11-13 17:26:11 +01:00
|
|
|
|
2017-04-13 22:33:26 +02:00
|
|
|
100% {
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
@keyframes fadeInEditNotice {
|
|
|
|
0% {
|
|
|
|
transform: translateX(-10px);
|
|
|
|
}
|
2017-11-13 17:26:11 +01:00
|
|
|
|
2017-04-13 22:33:26 +02:00
|
|
|
100% {
|
2020-08-06 02:42:07 +02:00
|
|
|
transform: translateX(0);
|
2017-04-13 22:33:26 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2020-05-16 16:19:36 +02:00
|
|
|
.message_header_private_message {
|
2023-04-08 02:48:02 +02:00
|
|
|
/* This is required for box-shadow appear above the message content. */
|
|
|
|
z-index: 1;
|
2023-07-21 23:08:07 +02:00
|
|
|
box-shadow:
|
|
|
|
-1px -5px 0 5px var(--color-background),
|
2023-04-08 02:48:02 +02:00
|
|
|
1px -5px 0 0 var(--color-background);
|
|
|
|
background-color: var(--color-background);
|
|
|
|
|
|
|
|
.message-header-contents {
|
2023-05-08 20:31:18 +02:00
|
|
|
border-color: var(--color-private-message-header-border);
|
2023-05-15 07:17:56 +02:00
|
|
|
border-bottom-color: var(--color-private-message-header-border-bottom);
|
2023-04-08 02:48:02 +02:00
|
|
|
background-color: var(--color-background-private-message-header);
|
|
|
|
}
|
2022-12-19 09:16:05 +01:00
|
|
|
|
2020-05-16 16:19:36 +02:00
|
|
|
.message_label_clickable {
|
2023-04-08 02:48:02 +02:00
|
|
|
display: flex;
|
|
|
|
padding: 5px 0 5px 10px;
|
|
|
|
font-weight: 600;
|
2020-05-16 16:19:36 +02:00
|
|
|
height: 17px;
|
|
|
|
line-height: 17px;
|
2023-04-08 02:48:02 +02:00
|
|
|
color: var(--color-text-message-header);
|
2013-06-27 08:49:38 +02:00
|
|
|
|
2023-04-08 02:48:02 +02:00
|
|
|
&:hover {
|
|
|
|
color: var(--color-text-message-header) !important;
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
2013-07-18 21:30:37 +02:00
|
|
|
|
2023-04-08 02:48:02 +02:00
|
|
|
.private_message_header_icon {
|
|
|
|
font-size: 15px;
|
|
|
|
position: relative;
|
|
|
|
top: 1px;
|
|
|
|
width: 16px;
|
|
|
|
height: 16px;
|
|
|
|
}
|
2023-05-02 17:53:32 +02:00
|
|
|
|
|
|
|
.private_message_header_name {
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
2020-05-16 16:19:36 +02:00
|
|
|
}
|
2013-07-17 20:52:19 +02:00
|
|
|
}
|
|
|
|
|
2023-04-15 08:17:40 +02:00
|
|
|
.message_row.private-message {
|
2023-04-08 02:48:02 +02:00
|
|
|
background-color: var(--color-background-private-message-content);
|
|
|
|
|
2020-05-16 16:23:28 +02:00
|
|
|
.date_row {
|
2023-04-08 02:48:02 +02:00
|
|
|
background-color: var(--color-background-private-message-content);
|
|
|
|
}
|
2013-06-27 08:49:38 +02:00
|
|
|
}
|
|
|
|
|
2020-05-17 04:28:41 +02:00
|
|
|
.selected_message {
|
|
|
|
.messagebox-content {
|
2023-04-08 02:48:02 +02:00
|
|
|
/* We add an outline and shift it inside the message so that without
|
|
|
|
any vertical padding changes, we can have the outline surrounding
|
|
|
|
the message without overflowing the boundary of the message in any case. */
|
2023-05-11 21:46:11 +02:00
|
|
|
outline: 1px solid hsl(217deg 64% 59%);
|
2023-04-08 02:48:02 +02:00
|
|
|
border-radius: 5px;
|
|
|
|
outline-offset: -1px;
|
2020-05-17 04:28:41 +02:00
|
|
|
}
|
2014-02-24 19:30:22 +01:00
|
|
|
}
|
2013-07-22 20:08:53 +02:00
|
|
|
|
2013-05-10 22:48:02 +02:00
|
|
|
.message_sender {
|
2023-03-17 22:10:10 +01:00
|
|
|
& i.zulip-icon.zulip-icon-bot {
|
2020-05-17 04:58:44 +02:00
|
|
|
font-size: 12px;
|
|
|
|
}
|
2020-05-17 04:57:44 +02:00
|
|
|
}
|
|
|
|
|
2012-10-09 23:58:24 +02:00
|
|
|
.sender_name {
|
2023-09-30 12:56:04 +02:00
|
|
|
display: inline-flex;
|
2014-03-01 05:01:24 +01:00
|
|
|
font-weight: 700;
|
2023-05-13 08:30:13 +02:00
|
|
|
color: var(--color-text-sender-name);
|
2023-09-30 12:56:04 +02:00
|
|
|
column-gap: 3px;
|
|
|
|
|
|
|
|
.sender_name_text {
|
|
|
|
overflow: hidden;
|
|
|
|
white-space: nowrap;
|
2023-09-21 11:25:45 +02:00
|
|
|
display: inline-flex;
|
|
|
|
|
|
|
|
.user-name {
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
2023-09-30 12:56:04 +02:00
|
|
|
}
|
2023-05-13 08:30:13 +02:00
|
|
|
}
|
|
|
|
|
2023-12-24 07:05:59 +01:00
|
|
|
.sender_info_hovered {
|
2023-07-13 21:28:44 +02:00
|
|
|
.sender_name {
|
2023-12-24 07:05:59 +01:00
|
|
|
cursor: pointer;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(200deg 100% 40%);
|
2020-05-17 05:00:44 +02:00
|
|
|
}
|
2023-12-24 07:05:59 +01:00
|
|
|
|
|
|
|
.message-avatar {
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
2013-05-21 17:47:44 +02:00
|
|
|
}
|
|
|
|
|
2022-03-04 21:53:28 +01:00
|
|
|
.always_visible_topic_edit,
|
2022-04-22 00:49:05 +02:00
|
|
|
.on_hover_topic_read,
|
2023-04-22 23:00:26 +02:00
|
|
|
.stream_unmuted.on_hover_topic_unmute,
|
|
|
|
.stream_muted.on_hover_topic_mute {
|
2021-04-30 07:44:43 +02:00
|
|
|
opacity: 0.7;
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
cursor: pointer;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-03-01 07:07:28 +01:00
|
|
|
.on_hover_topic_edit,
|
2021-07-13 18:12:02 +02:00
|
|
|
.on_hover_topic_unresolve,
|
2021-06-27 09:16:03 +02:00
|
|
|
.on_hover_topic_resolve,
|
2023-04-22 23:00:26 +02:00
|
|
|
.stream_unmuted.on_hover_topic_mute,
|
|
|
|
.stream_muted.on_hover_topic_unmute {
|
2021-04-30 07:44:43 +02:00
|
|
|
opacity: 0.2;
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2021-04-30 07:44:43 +02:00
|
|
|
&:hover {
|
|
|
|
cursor: pointer;
|
|
|
|
opacity: 0.7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2022-10-21 14:22:47 +02:00
|
|
|
/* Make the action icon on the message row
|
|
|
|
always visible while the popover is open */
|
|
|
|
.has_actions_popover .actions_hover {
|
|
|
|
visibility: visible !important;
|
|
|
|
pointer-events: all !important;
|
|
|
|
opacity: 1 !important;
|
2022-10-24 19:47:56 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i:focus {
|
2022-10-24 19:47:56 +02:00
|
|
|
/* Avoid displaying a focus outline outside the popover on the \vdots
|
|
|
|
icon when opened via the mouse. */
|
|
|
|
outline: 0 !important;
|
|
|
|
}
|
2022-10-21 14:22:47 +02:00
|
|
|
}
|
|
|
|
|
2019-02-17 15:51:49 +01:00
|
|
|
.has_actions_popover .info {
|
2017-02-23 23:33:57 +01:00
|
|
|
opacity: 1;
|
message_controls: Prevent clicks via visibility & not pointer-events.
Previously, the message controls had a bug where they would trigger on
mobile with a single tap over the area they occupy when visible. This
is wrong because a user would expect to first see the controls and
only trigger them once they are visible (with a second tap).
The above bug is caused by the fact that we were using "opacity: 0" on
".message_controls > div" to hide the controls and "opacity: 1" on
".messagebox &:hover .message_controls > div" to show the controls on
hover, however, this would not effect the click action because
"opacity". So we used "pointer-events: none;" and "pointer-events:
all;" with the hopes that it would prevented the above bug, but in
practice, it didn't.
(the most probable explanation being that tapping the message_control
area would cause the "&:hover" rule to trigger and change the
"pointer-event" to "all" before it could prevent the click trigger,
But that explanation is just conjecture.)
This commit replaces both "pointer-events" attributes with
"visibility: hidden" and "visibility: visible" respectively. The
result being that the message_controls behave identically to before,
except without the above bug.
The addition to the ".has_actions_popover .info" selector is important
because without it, we would regress on issue #3172.
Trivia:
An alternate approach to using "opacity" is to set the
"display" attribute to "none", however, using "display" prevents the
transition from animating (which is probably why we were using opacity
here in the first place). "visibility" does not prevent the transition
from animating.
History: The "pointer-events" attribute was introduced in
4d5aa3ddc9e603d2216738f3dffa59ec09ffd830 and it replaced prior code
which relied on the "visibility" attribute... But it seems PR #3792
was mostly focused on improving the positioning through removal of
`display: none`, but introduced opacity to make the animations work
rather than visibility as the replacement solution, which requires the
pointer-events hack and resulted in the bug described here.
Fixes the second bug described in #13642.
2020-06-20 11:11:58 +02:00
|
|
|
visibility: visible;
|
2013-08-15 23:43:16 +02:00
|
|
|
}
|
|
|
|
|
2013-04-04 17:25:05 +02:00
|
|
|
.small {
|
|
|
|
font-size: 80%;
|
|
|
|
}
|
|
|
|
|
2013-07-15 23:50:53 +02:00
|
|
|
.tiny {
|
|
|
|
font-size: 60%;
|
|
|
|
}
|
|
|
|
|
2021-06-11 23:36:38 +02:00
|
|
|
.settings-forgot-password {
|
2016-11-09 01:26:15 +01:00
|
|
|
display: inline-block;
|
|
|
|
position: relative;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 73%);
|
2021-07-22 17:50:43 +02:00
|
|
|
bottom: 4px;
|
2016-11-09 01:26:15 +01:00
|
|
|
}
|
|
|
|
|
2023-08-14 20:51:37 +02:00
|
|
|
div.message-list {
|
2013-06-22 00:21:55 +02:00
|
|
|
border-collapse: separate;
|
2012-09-11 19:42:06 +02:00
|
|
|
margin-left: auto;
|
2012-09-13 22:00:11 +02:00
|
|
|
display: none;
|
2012-10-02 20:47:01 +02:00
|
|
|
width: 100%;
|
|
|
|
}
|
|
|
|
|
2023-08-16 17:47:06 +02:00
|
|
|
div.focused-message-list {
|
2014-01-06 16:24:26 +01:00
|
|
|
display: block;
|
2012-09-11 17:56:34 +02:00
|
|
|
}
|
|
|
|
|
2020-05-19 12:20:55 +02:00
|
|
|
.rtl {
|
|
|
|
direction: rtl;
|
|
|
|
}
|
|
|
|
|
2014-01-17 16:11:18 +01:00
|
|
|
.topic_edit {
|
|
|
|
display: none;
|
|
|
|
line-height: 22px;
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2020-04-13 12:39:50 +02:00
|
|
|
.alert {
|
|
|
|
display: inline-block;
|
|
|
|
margin: 0;
|
|
|
|
padding: 0 10px;
|
|
|
|
line-height: 17px;
|
|
|
|
}
|
2014-01-17 16:11:18 +01:00
|
|
|
}
|
|
|
|
|
2023-04-18 17:24:55 +02:00
|
|
|
.inline_topic_edit {
|
2016-08-26 21:36:10 +02:00
|
|
|
margin-bottom: 5px;
|
2023-03-27 11:15:16 +02:00
|
|
|
width: 206px;
|
2016-08-26 21:36:10 +02:00
|
|
|
|
2020-05-19 12:24:12 +02:00
|
|
|
&.header-v {
|
|
|
|
height: 18px;
|
|
|
|
display: inline-block;
|
2020-08-06 02:42:07 +02:00
|
|
|
padding: 0 3px;
|
2020-05-19 12:24:12 +02:00
|
|
|
vertical-align: baseline;
|
|
|
|
line-height: 0px;
|
|
|
|
box-shadow: none;
|
2023-06-20 09:18:35 +02:00
|
|
|
color: hsl(0deg 0% 33%);
|
|
|
|
border-radius: 4px;
|
|
|
|
border: 1px solid hsl(0deg 0% 80%);
|
2023-07-21 23:08:07 +02:00
|
|
|
transition:
|
|
|
|
border linear 0.2s,
|
|
|
|
box-shadow linear 0.2s;
|
2023-06-20 09:18:35 +02:00
|
|
|
|
|
|
|
&:focus {
|
|
|
|
border-color: hsl(206deg 80% 62% / 80%);
|
|
|
|
outline: 0;
|
2023-07-21 23:08:07 +02:00
|
|
|
box-shadow:
|
|
|
|
inset 0 1px 1px hsl(0deg 0% 0% / 7.5%),
|
2023-06-20 09:18:35 +02:00
|
|
|
0 0 8px hsl(206deg 80% 62% / 60%);
|
|
|
|
}
|
2020-05-19 12:24:12 +02:00
|
|
|
}
|
2020-05-19 12:23:34 +02:00
|
|
|
}
|
|
|
|
|
2024-01-11 17:07:33 +01:00
|
|
|
.inline_topic_edit:focus {
|
2014-01-17 16:11:18 +01:00
|
|
|
outline: none;
|
|
|
|
}
|
|
|
|
|
2022-12-25 11:42:44 +01:00
|
|
|
#move_topic_modal select {
|
2022-10-07 09:51:59 +02:00
|
|
|
width: auto;
|
2022-08-07 06:50:48 +02:00
|
|
|
margin-bottom: 10px;
|
2016-08-26 21:36:10 +02:00
|
|
|
max-width: 100%;
|
2013-09-03 22:07:59 +02:00
|
|
|
}
|
2012-09-11 19:06:07 +02:00
|
|
|
|
2024-01-11 17:07:33 +01:00
|
|
|
.topic_move_breadcrumb_messages {
|
2021-10-15 15:52:35 +02:00
|
|
|
margin: 0 5px 5px 0;
|
2020-06-03 16:44:57 +02:00
|
|
|
align-self: center;
|
2020-07-06 10:36:31 +02:00
|
|
|
width: 100%;
|
2020-09-28 07:37:12 +02:00
|
|
|
white-space: nowrap;
|
2020-06-03 16:44:57 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& label.checkbox {
|
2021-10-12 00:32:27 +02:00
|
|
|
/* Place the checkboxes on their own lines. */
|
|
|
|
display: block;
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& input {
|
2020-06-03 16:44:57 +02:00
|
|
|
margin: 0;
|
|
|
|
vertical-align: baseline;
|
|
|
|
}
|
2021-10-12 00:32:27 +02:00
|
|
|
|
|
|
|
& + label.checkbox {
|
|
|
|
margin-top: 10px;
|
|
|
|
}
|
2020-06-03 16:44:57 +02:00
|
|
|
}
|
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& label {
|
2020-06-03 16:44:57 +02:00
|
|
|
display: inline-block;
|
|
|
|
margin-right: 10px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2013-03-13 22:47:38 +01:00
|
|
|
.message_length_controller {
|
2023-04-08 15:19:10 +02:00
|
|
|
.message_length_toggle {
|
|
|
|
display: none;
|
|
|
|
width: 100%;
|
|
|
|
height: 24px;
|
|
|
|
margin-bottom: 4px;
|
|
|
|
color: var(--color-text-show-more-less-button);
|
|
|
|
background-color: var(--color-show-more-less-button-background);
|
|
|
|
border-radius: 4px;
|
|
|
|
border: none;
|
|
|
|
outline: none;
|
|
|
|
font-variant: all-small-caps;
|
2013-03-20 23:08:39 +01:00
|
|
|
|
2023-04-08 15:19:10 +02:00
|
|
|
&:hover {
|
|
|
|
background-color: var(
|
|
|
|
--color-show-more-less-button-background-hover
|
|
|
|
);
|
|
|
|
}
|
2013-03-13 22:47:38 +01:00
|
|
|
|
2023-04-08 15:19:10 +02:00
|
|
|
&:active {
|
|
|
|
background-color: var(
|
|
|
|
--color-show-more-less-button-background-active
|
|
|
|
);
|
|
|
|
scale: 0.98;
|
|
|
|
}
|
2020-05-19 12:26:01 +02:00
|
|
|
}
|
2013-03-13 22:47:38 +01:00
|
|
|
}
|
|
|
|
|
2012-09-24 22:28:02 +02:00
|
|
|
.bookend {
|
2017-06-06 01:27:32 +02:00
|
|
|
margin-top: 10px;
|
2013-06-22 00:21:55 +02:00
|
|
|
background-color: transparent;
|
2012-08-29 18:29:01 +02:00
|
|
|
}
|
|
|
|
|
2013-05-10 22:48:02 +02:00
|
|
|
.inline_profile_picture {
|
|
|
|
display: inline-block;
|
2023-06-30 19:27:06 +02:00
|
|
|
width: var(--message-box-avatar-width);
|
|
|
|
height: var(--message-box-avatar-height);
|
|
|
|
/* Don't inherit the line-height from message-avatar;
|
|
|
|
this preserves the dimensions and rounded corners
|
|
|
|
on the image itself. */
|
|
|
|
line-height: 1;
|
2014-01-31 21:36:31 +01:00
|
|
|
margin-right: 11px;
|
2013-06-28 01:35:19 +02:00
|
|
|
vertical-align: top;
|
2017-06-15 21:13:47 +02:00
|
|
|
border-radius: 4px;
|
2017-06-26 16:12:49 +02:00
|
|
|
overflow: hidden;
|
2018-12-16 02:24:52 +01:00
|
|
|
|
|
|
|
&.guest-avatar::after {
|
2023-03-20 22:08:47 +01:00
|
|
|
outline: 2px solid hsl(0deg 0% 100%);
|
2018-12-16 02:24:52 +01:00
|
|
|
}
|
2013-01-07 23:41:36 +01:00
|
|
|
}
|
2012-08-29 18:29:01 +02:00
|
|
|
|
2012-10-17 20:43:20 +02:00
|
|
|
.home-error-bar {
|
2012-08-31 21:33:04 +02:00
|
|
|
margin-top: 5px;
|
|
|
|
display: none;
|
|
|
|
|
2020-05-19 12:28:32 +02:00
|
|
|
.alert {
|
|
|
|
margin-bottom: auto;
|
|
|
|
}
|
2012-08-31 21:33:04 +02:00
|
|
|
}
|
2012-09-10 20:31:53 +02:00
|
|
|
|
2020-05-19 12:27:32 +02:00
|
|
|
.streamname {
|
|
|
|
font-weight: bold;
|
|
|
|
}
|
|
|
|
|
2023-12-02 21:38:21 +01:00
|
|
|
.top-navbar-container {
|
|
|
|
/* Calculate right margin so that title and description
|
|
|
|
elements can truncate and not collide with or run underneath
|
|
|
|
with the search section. */
|
|
|
|
margin-right: calc(
|
|
|
|
var(--search-box-width) + var(--navbar-content-righthand-offset)
|
|
|
|
);
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
|
2020-07-08 23:44:01 +02:00
|
|
|
#message_view_header {
|
2023-05-13 08:30:13 +02:00
|
|
|
color: var(--color-text-message-view-header);
|
2013-05-09 21:12:53 +02:00
|
|
|
z-index: 2;
|
2016-04-09 05:50:24 +02:00
|
|
|
float: left;
|
2023-03-07 01:18:07 +01:00
|
|
|
height: var(--header-height);
|
2020-06-28 03:06:22 +02:00
|
|
|
width: 100%;
|
2023-03-07 01:18:07 +01:00
|
|
|
line-height: var(--header-height);
|
2020-06-28 03:06:22 +02:00
|
|
|
display: flex;
|
2023-11-17 20:12:36 +01:00
|
|
|
align-items: baseline;
|
2020-06-28 03:06:22 +02:00
|
|
|
white-space: nowrap;
|
|
|
|
cursor: default;
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2020-06-28 03:06:22 +02:00
|
|
|
.hidden {
|
|
|
|
display: none;
|
|
|
|
}
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2023-11-17 20:16:05 +01:00
|
|
|
.message-header-stream-settings-button,
|
|
|
|
.navbar_title {
|
2020-06-28 03:06:22 +02:00
|
|
|
font-weight: 600;
|
|
|
|
font-size: 16px;
|
2023-11-17 20:30:44 +01:00
|
|
|
padding: 0 2px 0 6px;
|
2020-10-23 15:13:13 +02:00
|
|
|
overflow: hidden;
|
2020-10-23 15:33:50 +02:00
|
|
|
text-overflow: ellipsis;
|
2023-11-17 20:05:24 +01:00
|
|
|
color: inherit;
|
|
|
|
text-decoration: none;
|
2023-11-17 20:12:36 +01:00
|
|
|
/* Create a flex container for the icon and
|
|
|
|
stream name. */
|
|
|
|
display: flex;
|
|
|
|
/* We want to use baseline alignment so that the
|
|
|
|
stream name and narrow description sit on
|
|
|
|
the same invisible line. */
|
|
|
|
align-items: baseline;
|
2023-11-17 20:05:24 +01:00
|
|
|
|
|
|
|
.zulip-icon {
|
|
|
|
font-size: 14px;
|
2023-11-17 20:12:36 +01:00
|
|
|
/* Pull the icon out of baseline alignment,
|
|
|
|
and center with stream name. */
|
|
|
|
align-self: center;
|
2023-11-17 20:05:24 +01:00
|
|
|
}
|
2023-03-06 03:31:58 +01:00
|
|
|
|
2023-11-17 20:16:05 +01:00
|
|
|
.zulip-icon-inbox {
|
|
|
|
font-size: 16px;
|
|
|
|
}
|
|
|
|
|
2023-11-17 20:24:24 +01:00
|
|
|
.fa-envelope {
|
|
|
|
/* The squatter envelope icon appears
|
|
|
|
better vertically centered when aligned
|
|
|
|
to the baseline of the adjacent DM partners. */
|
|
|
|
align-self: baseline;
|
|
|
|
}
|
|
|
|
|
2023-11-09 00:29:56 +01:00
|
|
|
@media (height < $short_navbar_cutoff_height) {
|
2023-11-17 19:54:34 +01:00
|
|
|
padding: 0 3.5px; /* based on having ~41.66% decrease */
|
2020-06-28 03:06:22 +02:00
|
|
|
}
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i {
|
2023-11-17 20:24:24 +01:00
|
|
|
margin: 0 6px 0 5px;
|
|
|
|
/* Align all icons to center. */
|
|
|
|
align-self: center;
|
2020-06-28 03:06:22 +02:00
|
|
|
}
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2020-06-28 03:06:22 +02:00
|
|
|
.fa {
|
|
|
|
.fa-envelope {
|
|
|
|
font-size: 14px;
|
2021-11-05 03:33:16 +01:00
|
|
|
margin: 0 5px;
|
2020-02-03 17:01:11 +01:00
|
|
|
}
|
2021-10-16 21:57:26 +02:00
|
|
|
|
2020-06-28 03:06:22 +02:00
|
|
|
.fa-hashtag {
|
|
|
|
font-size: 1.2rem;
|
2020-08-06 02:42:07 +02:00
|
|
|
margin: 0 2px 0 5px;
|
2020-02-03 17:01:11 +01:00
|
|
|
}
|
2019-03-10 19:08:36 +01:00
|
|
|
}
|
2020-06-28 03:06:22 +02:00
|
|
|
}
|
2014-01-08 16:12:22 +01:00
|
|
|
|
2023-11-17 20:16:05 +01:00
|
|
|
.message-header-navbar-title {
|
2023-12-02 21:38:21 +01:00
|
|
|
/* Allow long navbar titles (e.g., stream names) to collapse. */
|
|
|
|
flex: 0 1 auto;
|
2023-11-17 20:16:05 +01:00
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
|
|
|
}
|
|
|
|
|
2020-06-28 03:06:22 +02:00
|
|
|
.narrow_description {
|
2020-09-15 22:23:01 +02:00
|
|
|
/* the actual value of flex shrink does not matter, it is the
|
|
|
|
ratio of this value to other flex items that determines the
|
|
|
|
behavior while shrinking, here the other item has the .stream
|
|
|
|
class and a flex of 1, so the value here *is* the ratio, and
|
|
|
|
is chosen such that the narrow description shrinks to close
|
|
|
|
before the stream name must begin to shrink */
|
2020-06-28 03:06:22 +02:00
|
|
|
flex-shrink: 100;
|
2023-10-27 13:31:39 +02:00
|
|
|
background: none;
|
|
|
|
font-size: 14px;
|
|
|
|
color: inherit;
|
|
|
|
font-weight: 400;
|
2023-11-17 20:05:24 +01:00
|
|
|
padding-left: 10px;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow: ellipsis;
|
2020-06-28 03:06:22 +02:00
|
|
|
}
|
2020-06-12 00:00:52 +02:00
|
|
|
|
2020-09-15 22:23:01 +02:00
|
|
|
/* The very last element in the navbar is the search icon, the second
|
|
|
|
last element is either the narrow description (for stream narrows) or
|
|
|
|
the "title" (for other narrows). The flex-grow property ensures these
|
2023-11-17 20:16:05 +01:00
|
|
|
elements take up the entirety of the white space, while flex-shrink
|
|
|
|
accommodates narrower viewports. Setting flex-basis 0 enables an
|
|
|
|
ellipsis to be displayed, as the 0 takes the place of the max-content
|
|
|
|
default that would otherwise run titles under the search box. */
|
2022-05-16 19:24:49 +02:00
|
|
|
.navbar_title,
|
|
|
|
.narrow_description {
|
2023-11-17 20:16:05 +01:00
|
|
|
flex: 1 1 0;
|
2023-09-27 19:37:37 +02:00
|
|
|
margin: 0;
|
2019-03-10 19:08:36 +01:00
|
|
|
}
|
2014-01-08 16:12:22 +01:00
|
|
|
}
|
|
|
|
|
2020-03-27 20:48:20 +01:00
|
|
|
#streamlist-toggle {
|
|
|
|
display: none;
|
|
|
|
position: absolute;
|
2020-08-06 02:42:07 +02:00
|
|
|
top: 0;
|
|
|
|
left: 0;
|
2020-03-27 20:48:20 +01:00
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
2021-06-30 16:20:43 +02:00
|
|
|
.hide-streamlist-toggle-visibility,
|
|
|
|
.hide-navbar-buttons-visibility {
|
|
|
|
visibility: hidden;
|
|
|
|
}
|
|
|
|
|
2020-03-27 20:48:20 +01:00
|
|
|
#streamlist-toggle-button {
|
|
|
|
text-decoration: none;
|
2023-10-26 16:21:52 +02:00
|
|
|
color: var(--color-navbar-icon);
|
2023-10-25 19:43:44 +02:00
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
2020-03-27 20:48:20 +01:00
|
|
|
width: 40px;
|
2023-10-25 19:43:44 +02:00
|
|
|
height: 40px;
|
2023-10-26 16:21:52 +02:00
|
|
|
|
|
|
|
&:hover {
|
|
|
|
background-color: var(--color-header-button-hover);
|
2023-10-26 19:16:08 +02:00
|
|
|
|
|
|
|
#streamlist-toggle-unreadcount {
|
|
|
|
border-color: var(--color-header-button-hover-no-alpha);
|
|
|
|
}
|
2023-10-26 16:21:52 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
background-color: var(--color-header-button-focus);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus {
|
|
|
|
outline: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus-visible {
|
|
|
|
outline: none;
|
|
|
|
background-color: var(--color-header-button-focus);
|
|
|
|
}
|
2023-10-26 19:16:08 +02:00
|
|
|
|
|
|
|
&:active,
|
|
|
|
&:focus-visible {
|
|
|
|
#streamlist-toggle-unreadcount {
|
|
|
|
border-color: var(--color-header-button-focus-no-alpha);
|
|
|
|
}
|
|
|
|
}
|
2020-03-27 20:48:20 +01:00
|
|
|
}
|
|
|
|
|
2023-10-24 22:15:58 +02:00
|
|
|
#streamlist-toggle-unreadcount {
|
2020-03-27 20:48:20 +01:00
|
|
|
position: absolute;
|
|
|
|
display: none;
|
2023-10-25 20:08:09 +02:00
|
|
|
height: 6px;
|
|
|
|
width: 6px;
|
2023-10-26 16:21:52 +02:00
|
|
|
background-color: var(--color-navbar-icon);
|
2023-10-25 20:08:09 +02:00
|
|
|
top: 10px;
|
|
|
|
right: 9px;
|
|
|
|
border: 2px solid var(--color-background-navbar);
|
|
|
|
border-radius: 6px;
|
|
|
|
padding: 0;
|
|
|
|
font-size: 0;
|
2020-03-27 20:48:20 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.nav .dropdown-menu {
|
|
|
|
left: auto;
|
2023-07-17 17:26:24 +02:00
|
|
|
right: -7px;
|
|
|
|
top: 35px;
|
2021-02-11 16:13:18 +01:00
|
|
|
/* Match the width of the right sidebar so that we don't have
|
|
|
|
the presence dots distracting you when looking at this. */
|
|
|
|
min-width: 240px;
|
2023-03-20 22:08:47 +01:00
|
|
|
box-shadow: 0 0 5px hsl(0deg 0% 0% / 20%);
|
2020-03-27 20:48:20 +01:00
|
|
|
|
2020-05-19 12:43:59 +02:00
|
|
|
&::after {
|
|
|
|
position: absolute;
|
2020-08-06 02:42:07 +02:00
|
|
|
width: 0;
|
|
|
|
height: 0;
|
2020-05-19 12:43:59 +02:00
|
|
|
top: -7px;
|
2020-06-21 18:59:37 +02:00
|
|
|
right: 19px;
|
2020-05-19 12:43:59 +02:00
|
|
|
display: inline-block;
|
|
|
|
border-right: 7px solid transparent;
|
2023-03-20 22:08:47 +01:00
|
|
|
border-bottom: 7px solid hsl(0deg 0% 67%);
|
2020-05-19 12:43:59 +02:00
|
|
|
border-left: 7px solid transparent;
|
2020-08-04 23:58:56 +02:00
|
|
|
content: "";
|
2020-05-19 12:43:59 +02:00
|
|
|
z-index: 10;
|
|
|
|
}
|
2020-05-19 12:42:52 +02:00
|
|
|
}
|
|
|
|
|
2020-03-27 20:48:20 +01:00
|
|
|
.nav .dropdown-menu a,
|
|
|
|
.typeahead.dropdown-menu a {
|
|
|
|
color: inherit;
|
|
|
|
}
|
|
|
|
|
2020-05-19 12:46:21 +02:00
|
|
|
.typeahead.dropdown-menu {
|
|
|
|
.active {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
2020-03-27 20:48:20 +01:00
|
|
|
|
2020-05-19 12:46:21 +02:00
|
|
|
.unsubscribed_icon {
|
|
|
|
display: block;
|
|
|
|
float: right;
|
|
|
|
margin-top: 5px;
|
|
|
|
margin-right: -12px;
|
|
|
|
font-size: 0.8em;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(96deg 7% 73%);
|
2020-05-19 12:46:21 +02:00
|
|
|
}
|
|
|
|
}
|
2020-03-27 20:48:20 +01:00
|
|
|
|
2020-05-19 12:46:21 +02:00
|
|
|
.unsubscribed_icon {
|
|
|
|
display: none;
|
|
|
|
}
|
2020-05-19 12:45:13 +02:00
|
|
|
}
|
|
|
|
|
2020-03-27 20:48:20 +01:00
|
|
|
.typeahead-image {
|
|
|
|
display: inline-block;
|
|
|
|
height: 21px;
|
|
|
|
width: 21px;
|
|
|
|
position: relative;
|
2021-03-05 01:45:25 +01:00
|
|
|
margin-top: -4px;
|
2020-03-27 20:48:20 +01:00
|
|
|
vertical-align: middle;
|
|
|
|
top: 2px;
|
|
|
|
right: 8px;
|
|
|
|
border-radius: 4px;
|
|
|
|
|
|
|
|
/* For FontAwesome icons used in place of images for some users. */
|
|
|
|
font-size: 19px;
|
|
|
|
text-align: center;
|
2021-02-26 09:24:04 +01:00
|
|
|
|
2021-03-10 22:51:53 +01:00
|
|
|
&.no-presence-circle {
|
2021-02-26 09:24:04 +01:00
|
|
|
margin-left: 9px;
|
|
|
|
top: 3px;
|
|
|
|
}
|
2020-03-27 20:48:20 +01:00
|
|
|
}
|
|
|
|
|
2020-05-19 12:50:20 +02:00
|
|
|
nav {
|
|
|
|
.column-left {
|
2022-05-16 19:24:49 +02:00
|
|
|
text-align: left;
|
2023-03-25 22:23:04 +01:00
|
|
|
margin-left: 15px;
|
2020-03-27 20:48:20 +01:00
|
|
|
|
2020-05-19 12:50:20 +02:00
|
|
|
.nav-logo {
|
|
|
|
display: inline-block;
|
|
|
|
vertical-align: top;
|
|
|
|
margin-top: 8px;
|
|
|
|
height: 25px;
|
|
|
|
max-width: 200px;
|
2023-11-09 00:29:56 +01:00
|
|
|
|
|
|
|
@media (height < $short_navbar_cutoff_height) {
|
|
|
|
height: 15px;
|
|
|
|
}
|
2020-05-19 12:50:20 +02:00
|
|
|
}
|
|
|
|
}
|
2020-03-27 20:48:20 +01:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& a {
|
2020-05-19 12:50:20 +02:00
|
|
|
&.no-style:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
cursor: pointer;
|
|
|
|
}
|
2020-05-19 12:48:41 +02:00
|
|
|
|
2020-05-19 12:50:20 +02:00
|
|
|
.no-style {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
}
|
2020-03-27 20:48:20 +01:00
|
|
|
}
|
|
|
|
|
2012-09-13 22:20:07 +02:00
|
|
|
#bottom_whitespace {
|
2016-07-18 03:10:51 +02:00
|
|
|
display: block;
|
2023-05-30 20:31:39 +02:00
|
|
|
height: var(--max-unexpanded-compose-height);
|
2012-09-11 20:12:39 +02:00
|
|
|
}
|
2012-09-11 23:37:46 +02:00
|
|
|
|
2013-12-02 22:51:03 +01:00
|
|
|
.operator_value {
|
2021-04-03 04:01:40 +02:00
|
|
|
font-family: "Source Code Pro", monospace;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(353deg 70% 65%);
|
2013-12-02 22:51:03 +01:00
|
|
|
}
|
2017-11-13 17:26:11 +01:00
|
|
|
|
2013-12-02 22:51:03 +01:00
|
|
|
.operator {
|
2021-04-03 04:01:40 +02:00
|
|
|
font-family: "Source Code Pro", monospace;
|
2013-12-02 22:51:03 +01:00
|
|
|
}
|
|
|
|
|
2020-05-26 16:27:06 +02:00
|
|
|
#loading_older_messages_indicator,
|
|
|
|
#loading_newer_messages_indicator {
|
2013-07-12 18:31:26 +02:00
|
|
|
margin: 10px;
|
|
|
|
}
|
|
|
|
|
2020-05-26 16:27:06 +02:00
|
|
|
#loading_older_messages_indicator_box_container,
|
|
|
|
#loading_newer_messages_indicator_box_container {
|
2013-07-12 18:31:26 +02:00
|
|
|
position: absolute;
|
|
|
|
left: 50%;
|
|
|
|
}
|
|
|
|
|
2020-05-26 16:27:06 +02:00
|
|
|
#loading_older_messages_indicator_box,
|
|
|
|
#loading_newer_messages_indicator_box {
|
2013-07-12 18:31:26 +02:00
|
|
|
position: relative;
|
|
|
|
left: -50%;
|
2017-05-16 23:29:26 +02:00
|
|
|
top: -43px;
|
2013-07-12 18:31:26 +02:00
|
|
|
z-index: 1;
|
2017-03-18 23:49:11 +01:00
|
|
|
border-radius: 6px;
|
2013-01-15 21:41:16 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#page_loading_indicator {
|
|
|
|
margin: 10px auto;
|
2012-11-28 22:17:57 +01:00
|
|
|
}
|
2012-11-29 17:22:00 +01:00
|
|
|
|
2017-04-05 03:55:28 +02:00
|
|
|
#page_loading_indicator_box_container {
|
|
|
|
position: absolute;
|
|
|
|
left: 50%;
|
|
|
|
}
|
|
|
|
|
|
|
|
#page_loading_indicator_box {
|
|
|
|
position: relative;
|
|
|
|
left: -50%;
|
2017-05-16 23:29:26 +02:00
|
|
|
top: -43px;
|
2017-04-05 03:55:28 +02:00
|
|
|
z-index: 1;
|
|
|
|
border-radius: 6px;
|
|
|
|
}
|
|
|
|
|
2022-02-08 18:56:40 +01:00
|
|
|
#create_stream_subscribers {
|
2016-08-23 22:23:56 +02:00
|
|
|
margin-top: 10px;
|
|
|
|
|
2020-05-19 12:56:29 +02:00
|
|
|
.checkbox {
|
|
|
|
display: block;
|
2016-07-07 00:58:11 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& input[type="checkbox"] {
|
2020-08-06 02:42:07 +02:00
|
|
|
margin: 5px 0;
|
2020-05-19 12:56:29 +02:00
|
|
|
float: none;
|
|
|
|
}
|
|
|
|
}
|
2016-08-23 22:23:56 +02:00
|
|
|
}
|
|
|
|
|
2016-03-22 16:50:09 +01:00
|
|
|
.sub_button_row {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
2019-01-14 07:10:55 +01:00
|
|
|
.small_square_button {
|
|
|
|
padding: 0;
|
2014-01-17 16:11:18 +01:00
|
|
|
border: none;
|
2019-01-14 07:10:55 +01:00
|
|
|
font-size: 12px;
|
|
|
|
width: 18px;
|
|
|
|
height: 18px;
|
|
|
|
border-radius: 4px;
|
|
|
|
margin-bottom: 3px;
|
2014-01-17 16:11:18 +01:00
|
|
|
|
2019-07-17 21:30:39 +02:00
|
|
|
&:focus {
|
|
|
|
outline: none;
|
|
|
|
}
|
2014-01-17 16:11:18 +01:00
|
|
|
|
2019-07-17 21:30:39 +02:00
|
|
|
&.small_square_x {
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 100%);
|
|
|
|
color: hsl(0deg 0% 47%);
|
2019-07-16 12:48:45 +02:00
|
|
|
|
2019-07-17 21:30:39 +02:00
|
|
|
&:hover {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 18%);
|
2019-07-17 21:30:39 +02:00
|
|
|
}
|
|
|
|
}
|
2014-01-17 16:11:18 +01:00
|
|
|
}
|
|
|
|
|
2018-03-23 08:44:55 +01:00
|
|
|
div.topic_edit_spinner {
|
|
|
|
display: inline-block;
|
|
|
|
width: 18px;
|
|
|
|
height: 18px;
|
|
|
|
margin-top: -1px;
|
|
|
|
padding: 2px;
|
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
|
2023-09-16 09:40:07 +02:00
|
|
|
div.toggle_resolve_topic_spinner {
|
|
|
|
margin-top: -12px;
|
|
|
|
padding-left: 9px;
|
|
|
|
}
|
|
|
|
|
|
|
|
div.topic_edit_spinner .loading_indicator_spinner,
|
|
|
|
div.toggle_resolve_topic_spinner .loading_indicator_spinner {
|
2018-03-23 08:44:55 +01:00
|
|
|
width: 14px;
|
|
|
|
height: 14px;
|
2023-09-16 10:48:22 +02:00
|
|
|
|
|
|
|
& path {
|
|
|
|
fill: var(--color-recipient-bar-controls-spinner);
|
|
|
|
}
|
2018-03-23 08:44:55 +01:00
|
|
|
}
|
|
|
|
|
2022-11-29 19:01:30 +01:00
|
|
|
textarea.invitee_emails {
|
2020-05-19 13:09:00 +02:00
|
|
|
min-height: 40px;
|
|
|
|
max-height: 300px;
|
|
|
|
width: 96%;
|
|
|
|
max-width: 96%;
|
2022-10-11 18:02:39 +02:00
|
|
|
resize: vertical !important;
|
2022-11-29 19:01:30 +01:00
|
|
|
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 33%);
|
|
|
|
background-color: hsl(0deg 0% 100%);
|
2022-11-29 19:01:30 +01:00
|
|
|
border-radius: 4px;
|
|
|
|
vertical-align: middle;
|
2023-03-20 22:08:47 +01:00
|
|
|
border: 1px solid hsl(0deg 0% 80%);
|
2022-11-29 19:01:30 +01:00
|
|
|
padding: 4px 6px;
|
|
|
|
|
2023-03-20 22:08:47 +01:00
|
|
|
box-shadow: inset 0 1px 1px hsl(0deg 0% 0% / 7.5%);
|
2023-07-21 23:08:07 +02:00
|
|
|
transition:
|
|
|
|
border linear 0.2s,
|
|
|
|
box-shadow linear 0.2s;
|
2022-11-29 19:01:30 +01:00
|
|
|
|
|
|
|
&:focus {
|
2023-03-20 22:08:47 +01:00
|
|
|
border-color: hsl(206.5deg 80% 62% / 80%);
|
2022-11-29 19:01:30 +01:00
|
|
|
outline: 0;
|
|
|
|
|
2023-07-21 23:08:07 +02:00
|
|
|
box-shadow:
|
|
|
|
inset 0 1px 1px hsl(0deg 0% 0% / 7.5%),
|
2023-03-20 22:08:47 +01:00
|
|
|
0 0 8px hsl(206.5deg 80% 62% / 60%);
|
2022-11-29 19:01:30 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
&:disabled {
|
|
|
|
cursor: not-allowed;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 93%);
|
2022-11-29 19:01:30 +01:00
|
|
|
}
|
2020-05-19 13:09:00 +02:00
|
|
|
}
|
|
|
|
|
2023-06-20 05:53:00 +02:00
|
|
|
#custom-expiration-time-input,
|
|
|
|
#invite-user-form {
|
|
|
|
margin: 0;
|
2020-05-19 13:09:00 +02:00
|
|
|
}
|
|
|
|
|
2022-12-23 17:47:12 +01:00
|
|
|
select.invite-expires-in,
|
|
|
|
select.custom-expiration-time,
|
|
|
|
select.invite-as {
|
|
|
|
width: 220px;
|
|
|
|
height: 30px;
|
2023-03-31 09:21:02 +02:00
|
|
|
padding: 0 6px;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 33%);
|
2022-12-23 17:47:12 +01:00
|
|
|
border-radius: 4px;
|
2023-03-20 22:08:47 +01:00
|
|
|
border: 1px solid hsl(0deg 0% 80%);
|
2022-12-23 17:47:12 +01:00
|
|
|
cursor: pointer;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 100%);
|
2022-12-23 17:47:12 +01:00
|
|
|
vertical-align: middle;
|
|
|
|
}
|
|
|
|
|
2021-09-28 21:57:50 +02:00
|
|
|
#multiuse_invite_link {
|
2022-10-11 18:02:39 +02:00
|
|
|
width: 370px;
|
2021-09-28 21:57:50 +02:00
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
display: inline-block;
|
|
|
|
overflow: hidden;
|
|
|
|
vertical-align: bottom;
|
|
|
|
}
|
|
|
|
|
2024-01-26 08:36:33 +01:00
|
|
|
.invite-stream-controls button {
|
|
|
|
color: hsl(207.79deg 56.2% 52.55%);
|
|
|
|
background-color: transparent;
|
|
|
|
|
|
|
|
&:focus,
|
|
|
|
&:hover {
|
|
|
|
color: hsl(207.78deg 56.25% 37.65%);
|
|
|
|
text-decoration: underline;
|
|
|
|
background-color: transparent;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2019-02-06 20:32:06 +01:00
|
|
|
#invite-stream-checkboxes {
|
2023-03-17 22:10:10 +01:00
|
|
|
& i.zulip-icon-globe {
|
2022-12-15 06:03:19 +01:00
|
|
|
font-size: 80%;
|
|
|
|
}
|
2019-02-06 20:32:06 +01:00
|
|
|
}
|
|
|
|
|
2023-03-16 11:29:00 +01:00
|
|
|
.invite_type_radio_section {
|
|
|
|
margin: 2px 2px 2px 5px;
|
|
|
|
|
2023-08-03 16:06:40 +02:00
|
|
|
& div {
|
|
|
|
width: fit-content;
|
|
|
|
}
|
|
|
|
|
2023-03-16 11:29:00 +01:00
|
|
|
& input[type="radio"] {
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
&:disabled {
|
|
|
|
cursor: not-allowed;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.control-label-disabled label {
|
|
|
|
pointer-events: none;
|
|
|
|
cursor: not-allowed;
|
|
|
|
}
|
2019-02-06 20:31:45 +01:00
|
|
|
}
|
|
|
|
|
2023-06-20 05:53:00 +02:00
|
|
|
#custom-expiration-time-input {
|
|
|
|
width: 5ch;
|
|
|
|
margin-right: 15px;
|
2022-02-11 17:54:15 +01:00
|
|
|
|
2023-06-20 05:53:00 +02:00
|
|
|
padding: 4px 6px;
|
|
|
|
color: hsl(0deg 0% 33%);
|
|
|
|
border-radius: 4px;
|
|
|
|
border: 1px solid hsl(0deg 0% 80%);
|
|
|
|
box-shadow: inset 0 1px 1px hsl(0deg 0% 0% / 7.5%);
|
2023-07-21 23:08:07 +02:00
|
|
|
transition:
|
|
|
|
border linear 0.2s,
|
|
|
|
box-shadow linear 0.2s;
|
2023-06-20 05:53:00 +02:00
|
|
|
|
|
|
|
&:focus {
|
|
|
|
border-color: hsl(206deg 80% 62% / 80%);
|
|
|
|
outline: 0;
|
2023-07-21 23:08:07 +02:00
|
|
|
box-shadow:
|
|
|
|
inset 0 1px 1px hsl(0deg 0% 0% / 7.5%),
|
2023-06-20 05:53:00 +02:00
|
|
|
0 0 8px hsl(206deg 80% 62% / 60%);
|
2022-02-11 17:54:15 +01:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-06-20 05:53:00 +02:00
|
|
|
#custom-expiration-time-unit {
|
|
|
|
width: auto;
|
|
|
|
}
|
|
|
|
|
2013-02-23 19:38:25 +01:00
|
|
|
.empty_feed_notice {
|
2017-08-24 22:40:27 +02:00
|
|
|
padding: 3em 1em;
|
2013-02-23 19:38:25 +01:00
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
2023-10-20 13:39:47 +02:00
|
|
|
.empty-feed-notice-title {
|
|
|
|
font-size: 1.5em;
|
|
|
|
font-weight: 400;
|
2023-11-04 19:15:09 +01:00
|
|
|
word-wrap: break-word;
|
2023-10-20 13:39:47 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.empty-feed-notice-description {
|
|
|
|
font-size: 1.1em;
|
|
|
|
}
|
|
|
|
|
2017-03-16 19:26:26 +01:00
|
|
|
.message-fade,
|
2017-03-16 20:33:02 +01:00
|
|
|
.user_sidebar_entry.user-fade {
|
2013-07-24 22:32:20 +02:00
|
|
|
opacity: 0.4;
|
2013-02-13 21:30:17 +01:00
|
|
|
}
|
|
|
|
|
2013-03-01 22:07:27 +01:00
|
|
|
.emoji {
|
2014-03-06 22:10:45 +01:00
|
|
|
height: 25px;
|
|
|
|
width: 25px;
|
2023-04-04 22:52:26 +02:00
|
|
|
/* Maintain `vertical-align` for inline-block styles in messages: */
|
2017-08-28 21:56:19 +02:00
|
|
|
vertical-align: middle;
|
2023-04-04 22:52:26 +02:00
|
|
|
/* But, for all others, use flexbox and its align-self property.
|
|
|
|
What is excellent about this is that flexbox will ignore the
|
|
|
|
`vertical-align` value, while inline-block contexts will ignore
|
|
|
|
the `align-self` property: */
|
|
|
|
align-self: center;
|
2017-05-03 22:11:35 +02:00
|
|
|
}
|
|
|
|
|
2023-03-15 21:56:35 +01:00
|
|
|
.status-emoji {
|
2022-02-05 18:02:04 +01:00
|
|
|
height: 16px;
|
|
|
|
width: 16px;
|
|
|
|
/* We are setting minimum width here because when the user's name is very long,
|
|
|
|
emoji's width decreases and causes it to break. */
|
|
|
|
min-width: 16px;
|
2022-02-11 22:04:28 +01:00
|
|
|
/* In most contexts, status emoji appear immediately after a name
|
2022-03-06 07:09:19 +01:00
|
|
|
field with no margin. Position the status emoji with 3px of left
|
2022-02-11 22:04:28 +01:00
|
|
|
margin to space it from the name, and set no right margin so
|
|
|
|
that any components to the right appear equally distant as they
|
|
|
|
would be from a name. */
|
2022-03-06 07:09:19 +01:00
|
|
|
margin-left: 3px;
|
2022-02-11 22:04:28 +01:00
|
|
|
margin-right: 0;
|
2022-02-05 18:02:04 +01:00
|
|
|
}
|
|
|
|
|
2013-04-04 00:55:36 +02:00
|
|
|
/* FIXME: Combine this rule with the one in portico.css somehow? */
|
2013-04-08 20:21:20 +02:00
|
|
|
#pw_strength {
|
2017-12-24 19:00:29 +01:00
|
|
|
width: 100%;
|
|
|
|
height: 10px;
|
2020-08-06 02:42:07 +02:00
|
|
|
margin-bottom: 0;
|
2013-04-04 00:55:36 +02:00
|
|
|
}
|
2013-04-08 19:15:20 +02:00
|
|
|
|
2013-08-23 07:31:38 +02:00
|
|
|
.sub-unsub-message,
|
|
|
|
.date_row {
|
2019-02-14 00:30:19 +01:00
|
|
|
padding-bottom: 10px;
|
2013-04-05 16:44:29 +02:00
|
|
|
}
|
|
|
|
|
2019-02-15 16:00:24 +01:00
|
|
|
.date_row {
|
2022-10-12 01:03:08 +02:00
|
|
|
text-align: right;
|
2013-09-10 18:40:31 +02:00
|
|
|
}
|
|
|
|
|
2017-06-04 23:19:07 +02:00
|
|
|
.sub-unsub-message span,
|
2013-08-29 01:34:10 +02:00
|
|
|
.date_row span {
|
2013-06-24 23:16:50 +02:00
|
|
|
display: block;
|
|
|
|
padding: 4px;
|
|
|
|
overflow: hidden;
|
2013-07-02 20:41:10 +02:00
|
|
|
text-transform: uppercase;
|
2021-11-04 07:11:19 +01:00
|
|
|
}
|
|
|
|
|
2022-08-04 15:35:52 +02:00
|
|
|
.sub-unsub-message .stream-status {
|
2022-10-12 00:44:12 +02:00
|
|
|
opacity: 0.6;
|
2022-11-29 17:39:59 +01:00
|
|
|
|
|
|
|
& i {
|
|
|
|
font-size: 10px;
|
|
|
|
position: relative;
|
|
|
|
top: 1px;
|
|
|
|
margin-left: 2px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.zulip-icon.zulip-icon-lock {
|
|
|
|
font-size: 12px;
|
|
|
|
}
|
2013-06-24 23:16:50 +02:00
|
|
|
}
|
|
|
|
|
2022-10-12 01:03:08 +02:00
|
|
|
.sub-unsub-message {
|
|
|
|
text-align: center;
|
|
|
|
}
|
|
|
|
|
2017-06-04 23:19:07 +02:00
|
|
|
.sub-unsub-message span {
|
|
|
|
font-size: 1em;
|
|
|
|
text-transform: none;
|
|
|
|
}
|
|
|
|
|
2018-07-27 00:58:50 +02:00
|
|
|
.sub-unsub-message span::before,
|
|
|
|
.sub-unsub-message span::after,
|
|
|
|
.date_row span::before,
|
|
|
|
.date_row span::after {
|
2013-06-24 23:16:50 +02:00
|
|
|
display: inline-block;
|
|
|
|
position: relative;
|
|
|
|
content: " ";
|
|
|
|
vertical-align: middle;
|
2020-08-06 02:42:07 +02:00
|
|
|
height: 0;
|
2023-04-08 02:48:02 +02:00
|
|
|
opacity: 0.15;
|
2023-03-20 22:08:47 +01:00
|
|
|
border-bottom: 1px solid hsl(0deg 0% 0%);
|
2013-06-24 23:16:50 +02:00
|
|
|
}
|
|
|
|
|
2018-07-27 00:58:50 +02:00
|
|
|
.sub-unsub-message span::before,
|
2022-10-12 01:03:08 +02:00
|
|
|
.sub-unsub-message span::after {
|
|
|
|
width: 50%;
|
|
|
|
}
|
|
|
|
|
2018-07-27 00:58:50 +02:00
|
|
|
.date_row span::before {
|
2022-10-12 01:03:08 +02:00
|
|
|
width: 100%;
|
2013-06-24 23:16:50 +02:00
|
|
|
}
|
|
|
|
|
2018-07-27 00:58:50 +02:00
|
|
|
.date_row span::after {
|
2022-10-12 01:03:08 +02:00
|
|
|
width: 6px;
|
|
|
|
left: 0.25em;
|
2023-04-08 02:48:02 +02:00
|
|
|
/* Align date with message time and recipient bar date. */
|
|
|
|
margin-right: -1px;
|
2022-10-12 01:03:08 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.sub-unsub-message span::before,
|
|
|
|
.date_row span::before {
|
|
|
|
right: 0.25em;
|
|
|
|
margin-left: -50%;
|
|
|
|
}
|
|
|
|
|
|
|
|
.sub-unsub-message span::after {
|
|
|
|
left: 0.25em;
|
2013-06-24 23:16:50 +02:00
|
|
|
margin-right: -50%;
|
|
|
|
}
|
|
|
|
|
2013-08-16 23:45:13 +02:00
|
|
|
#topic_edit_form {
|
2014-01-17 16:11:18 +01:00
|
|
|
display: inline-block;
|
2021-11-05 03:33:16 +01:00
|
|
|
margin: 0;
|
2014-01-17 16:11:18 +01:00
|
|
|
height: 22px;
|
|
|
|
padding-left: 20px;
|
|
|
|
padding-right: 3px;
|
|
|
|
line-height: 22px;
|
|
|
|
margin-left: -15px;
|
2013-08-16 23:45:13 +02:00
|
|
|
}
|
|
|
|
|
2013-06-27 20:32:08 +02:00
|
|
|
.screen {
|
|
|
|
position: absolute;
|
|
|
|
left: 0;
|
|
|
|
top: 0;
|
2023-03-20 22:08:47 +01:00
|
|
|
background-color: hsl(0deg 0% 0%);
|
2013-06-27 20:32:08 +02:00
|
|
|
z-index: 20000;
|
|
|
|
}
|
2013-06-27 22:18:28 +02:00
|
|
|
|
2019-05-16 10:36:20 +02:00
|
|
|
.deactivated_user .deactivated-user-icon {
|
|
|
|
color: inherit;
|
|
|
|
margin-left: 2px;
|
2020-08-04 23:58:56 +02:00
|
|
|
font-size: 0.9em;
|
2013-11-16 16:26:40 +01:00
|
|
|
}
|
2013-11-13 19:40:02 +01:00
|
|
|
|
2017-06-26 16:12:49 +02:00
|
|
|
.no-drag {
|
2020-08-06 00:16:29 +02:00
|
|
|
-webkit-user-drag: none;
|
2017-06-26 16:12:49 +02:00
|
|
|
user-select: none;
|
|
|
|
}
|
2017-12-07 15:47:23 +01:00
|
|
|
|
2018-03-12 20:23:49 +01:00
|
|
|
.user_popover_email {
|
2017-12-07 15:47:23 +01:00
|
|
|
text-overflow: ellipsis;
|
|
|
|
white-space: nowrap;
|
|
|
|
overflow: hidden;
|
2018-02-03 17:38:35 +01:00
|
|
|
transition: all 0.4s ease;
|
2017-12-07 15:47:23 +01:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i {
|
2018-05-08 01:06:48 +02:00
|
|
|
cursor: pointer;
|
2020-05-19 13:14:13 +02:00
|
|
|
|
2020-05-19 13:15:01 +02:00
|
|
|
&.hide_copy_icon {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
}
|
2020-05-19 13:14:13 +02:00
|
|
|
}
|
|
|
|
|
2018-02-03 17:38:35 +01:00
|
|
|
.email_copied,
|
2018-03-12 20:23:49 +01:00
|
|
|
.user_popover_email i:hover {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(170deg 48% 54%);
|
2018-02-03 17:38:35 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.email_copied i {
|
|
|
|
display: none !important;
|
|
|
|
}
|
|
|
|
|
2021-11-09 17:25:24 +01:00
|
|
|
.flatpickr-calendar {
|
|
|
|
/* Hide the up and down arrows in the Flatpickr datepicker year */
|
|
|
|
.flatpickr-months .numInputWrapper span {
|
|
|
|
display: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flatpickr-time-separator {
|
|
|
|
position: relative;
|
|
|
|
left: 5px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.flatpickr-time input {
|
|
|
|
margin: 0 5px;
|
2022-09-06 12:54:34 +02:00
|
|
|
min-height: 30px;
|
2021-11-09 17:25:24 +01:00
|
|
|
}
|
|
|
|
|
2021-11-11 15:15:01 +01:00
|
|
|
.flatpickr-confirm {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
|
|
|
background-color: hsl(213deg 90% 65%);
|
2021-11-11 15:15:01 +01:00
|
|
|
font-size: 18px;
|
|
|
|
font-weight: 600;
|
|
|
|
}
|
|
|
|
|
2021-11-09 17:25:24 +01:00
|
|
|
@media (width < $md_min) {
|
|
|
|
/* Center align flatpickr on mobile
|
|
|
|
* devices so that it doesn't go out of
|
|
|
|
* the viewport. */
|
|
|
|
left: 0 !important;
|
|
|
|
right: 0 !important;
|
|
|
|
margin: auto;
|
|
|
|
|
|
|
|
&::after,
|
|
|
|
&::before {
|
2021-11-23 19:17:51 +01:00
|
|
|
border-top-width: 0 !important;
|
2021-11-09 17:25:24 +01:00
|
|
|
}
|
|
|
|
}
|
2018-07-06 19:00:15 +02:00
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
|
2021-02-09 11:16:52 +01:00
|
|
|
#about-zulip {
|
|
|
|
.exit {
|
|
|
|
font-size: 1.5rem;
|
|
|
|
font-weight: 600;
|
|
|
|
background-color: transparent;
|
|
|
|
border: none;
|
|
|
|
position: absolute;
|
|
|
|
right: 8px;
|
|
|
|
z-index: 1;
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 67%);
|
2021-02-09 11:16:52 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
.overlay-content {
|
2021-05-13 02:50:42 +02:00
|
|
|
width: 440px;
|
2021-02-09 11:16:52 +01:00
|
|
|
border-radius: 4px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.about-zulip-logo {
|
2021-05-13 02:50:42 +02:00
|
|
|
text-align: center;
|
|
|
|
margin: 30px;
|
2021-02-09 11:16:52 +01:00
|
|
|
}
|
|
|
|
|
2021-05-13 02:50:42 +02:00
|
|
|
.about-zulip-logo img {
|
|
|
|
height: 40px;
|
2021-02-09 11:16:52 +01:00
|
|
|
}
|
2021-07-12 19:28:17 +02:00
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i.fa-copy {
|
2021-07-12 19:28:17 +02:00
|
|
|
cursor: pointer;
|
|
|
|
}
|
2023-05-04 03:11:55 +02:00
|
|
|
|
|
|
|
.fa-copy:hover {
|
|
|
|
color: hsl(170deg 48% 54%);
|
|
|
|
}
|
2023-10-12 08:10:54 +02:00
|
|
|
|
|
|
|
.overlay-body {
|
|
|
|
max-height: 60vh;
|
|
|
|
padding: 15px;
|
|
|
|
}
|
2021-02-09 11:16:52 +01:00
|
|
|
}
|
|
|
|
|
2023-11-09 00:29:56 +01:00
|
|
|
@media (width < $xl_min) or (height < $short_navbar_cutoff_height) {
|
2023-07-17 17:26:24 +02:00
|
|
|
.spectator-view {
|
|
|
|
#navbar-middle {
|
2023-11-09 00:29:56 +01:00
|
|
|
/* = (width of button, square with header) * 3 (number of buttons) + 10px extra margin. */
|
|
|
|
margin-right: calc(var(--header-height) * 3 + 10px);
|
2023-07-17 17:26:24 +02:00
|
|
|
}
|
|
|
|
|
2023-10-21 13:57:36 +02:00
|
|
|
#help-menu,
|
2023-10-13 12:51:35 +02:00
|
|
|
#gear-menu {
|
|
|
|
position: relative;
|
2023-11-09 00:29:56 +01:00
|
|
|
right: var(--header-height);
|
2023-07-17 17:26:24 +02:00
|
|
|
}
|
|
|
|
}
|
2023-11-09 00:29:56 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
@media (width < $xl_min) {
|
|
|
|
.app-main,
|
|
|
|
.header-main {
|
|
|
|
min-width: 750px;
|
|
|
|
}
|
2023-07-17 17:26:24 +02:00
|
|
|
|
2019-10-24 05:38:18 +02:00
|
|
|
.column-right {
|
|
|
|
display: none;
|
|
|
|
|
2020-05-19 13:16:25 +02:00
|
|
|
&.expanded {
|
|
|
|
display: block;
|
|
|
|
position: absolute;
|
|
|
|
float: none;
|
|
|
|
right: 15px;
|
2020-08-06 02:42:07 +02:00
|
|
|
top: 0;
|
2020-05-19 13:16:25 +02:00
|
|
|
|
2023-05-29 13:31:58 +02:00
|
|
|
.simplebar-track.simplebar-vertical {
|
|
|
|
right: 0;
|
|
|
|
}
|
|
|
|
|
2020-05-19 13:16:25 +02:00
|
|
|
.right-sidebar {
|
2023-03-20 22:08:47 +01:00
|
|
|
box-shadow: 0 -2px 3px 0 hsl(0deg 0% 0% / 10%);
|
2024-03-13 14:10:07 +01:00
|
|
|
border-left: 1px solid var(--color-border-sidebar);
|
2023-05-21 20:52:46 +02:00
|
|
|
padding-right: 15px;
|
|
|
|
padding-left: 15px;
|
2020-05-19 13:16:25 +02:00
|
|
|
height: 100%;
|
2020-08-06 02:42:07 +02:00
|
|
|
right: 0;
|
2023-03-24 00:09:48 +01:00
|
|
|
background-color: var(--color-background);
|
2020-05-19 13:16:25 +02:00
|
|
|
}
|
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.nav .dropdown-menu {
|
|
|
|
min-width: 180px;
|
2023-03-20 22:08:47 +01:00
|
|
|
box-shadow: 0 0 5px hsl(0deg 0% 0% / 20%);
|
2019-10-24 05:38:18 +02:00
|
|
|
|
2020-05-19 13:19:33 +02:00
|
|
|
&::after {
|
2020-08-06 02:34:58 +02:00
|
|
|
right: 21px;
|
2020-05-19 13:19:33 +02:00
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.column-middle {
|
|
|
|
margin-right: 7px;
|
|
|
|
}
|
2020-02-03 17:01:11 +01:00
|
|
|
|
2023-02-22 22:30:54 +01:00
|
|
|
#navbar-middle {
|
2023-11-09 00:29:56 +01:00
|
|
|
/* = (width of button, square with header) * 4 (number of buttons) + 10px extra margin. */
|
|
|
|
margin-right: calc(var(--header-height) * 4 + 10px);
|
2020-02-03 17:01:11 +01:00
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
2021-02-04 02:49:05 +01:00
|
|
|
@media (width < $md_min) {
|
2019-10-24 05:38:18 +02:00
|
|
|
.column-left {
|
|
|
|
display: none;
|
|
|
|
|
2020-05-19 13:20:39 +02:00
|
|
|
&.expanded {
|
|
|
|
display: block;
|
|
|
|
position: absolute;
|
|
|
|
float: none;
|
2020-08-06 02:42:07 +02:00
|
|
|
left: 0;
|
|
|
|
top: 0;
|
2019-10-24 05:38:18 +02:00
|
|
|
|
2020-05-19 13:20:39 +02:00
|
|
|
.left-sidebar {
|
2023-03-24 00:09:48 +01:00
|
|
|
background-color: var(--color-background);
|
2023-03-20 22:08:47 +01:00
|
|
|
box-shadow: 0 2px 3px 0 hsl(0deg 0% 0% / 10%);
|
2024-03-13 14:10:07 +01:00
|
|
|
border-right: 1px solid var(--color-border-sidebar);
|
2020-05-19 13:20:39 +02:00
|
|
|
height: 100%;
|
|
|
|
padding-left: 10px;
|
2023-03-07 01:18:07 +01:00
|
|
|
width: var(--left-sidebar-width);
|
2020-05-19 13:20:39 +02:00
|
|
|
}
|
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
body,
|
|
|
|
html,
|
|
|
|
.app-main,
|
|
|
|
.header-main {
|
|
|
|
min-width: 350px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.column-middle,
|
|
|
|
.app-main .column-middle {
|
|
|
|
margin-left: 7px;
|
|
|
|
margin-right: 7px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.header-main .column-middle {
|
2020-08-06 02:42:07 +02:00
|
|
|
margin-left: 0;
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.column-middle-inner {
|
2020-08-06 02:42:07 +02:00
|
|
|
margin-left: 0;
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.app-main .column-middle .column-middle-inner {
|
2020-08-06 02:42:07 +02:00
|
|
|
margin-right: 0;
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#streamlist-toggle {
|
|
|
|
display: block;
|
|
|
|
}
|
|
|
|
|
2022-05-16 19:24:49 +02:00
|
|
|
.top-navbar-container {
|
2020-02-03 17:01:11 +01:00
|
|
|
margin-left: 40px;
|
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
|
2022-05-16 19:24:49 +02:00
|
|
|
.zulip-icon-search {
|
2020-02-03 17:01:11 +01:00
|
|
|
right: 115px;
|
|
|
|
}
|
2022-05-16 19:24:49 +02:00
|
|
|
|
|
|
|
.dropdown-menu ul {
|
|
|
|
margin: 0 -25px 0 0;
|
|
|
|
background: transparent;
|
|
|
|
|
|
|
|
& li {
|
|
|
|
width: 100%;
|
|
|
|
|
|
|
|
& a {
|
|
|
|
white-space: normal;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
2023-11-09 00:29:56 +01:00
|
|
|
@media (height < $short_navbar_cutoff_height) {
|
2019-10-24 05:38:18 +02:00
|
|
|
.column-right.expanded .right-sidebar,
|
|
|
|
.column-left.expanded .left-sidebar {
|
2023-10-25 21:19:09 +02:00
|
|
|
margin-top: var(--navbar-fixed-height);
|
2023-11-09 00:29:56 +01:00
|
|
|
/* For very short screen sizes, skip the relatively large top padding. */
|
2023-10-25 21:19:09 +02:00
|
|
|
padding-top: 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* TODO: Properly and accurately align the
|
|
|
|
topmost headers on the left and right
|
|
|
|
sidebar. */
|
|
|
|
.column-right.expanded .right-sidebar-items {
|
|
|
|
margin-top: 10px;
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
2023-11-21 15:51:57 +01:00
|
|
|
.column-left.expanded .left-sidebar-navigation-area {
|
|
|
|
margin-top: 10px;
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
2023-07-17 17:26:24 +02:00
|
|
|
.nav .dropdown-menu {
|
|
|
|
right: -13px;
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Usually the styling is applied directly to the icon, but here
|
|
|
|
the icon is `position: static`, so we can't. */
|
|
|
|
.search_closed {
|
|
|
|
top: 5px;
|
|
|
|
}
|
|
|
|
|
2019-10-24 05:38:18 +02:00
|
|
|
#streamlist-toggle,
|
2020-07-08 23:44:01 +02:00
|
|
|
#message_view_header,
|
2019-10-24 05:38:18 +02:00
|
|
|
#searchbox,
|
|
|
|
.header {
|
2023-03-07 01:18:07 +01:00
|
|
|
line-height: var(--header-height);
|
|
|
|
height: var(--header-height);
|
2022-10-14 19:52:42 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
.spectator_narrow_login_button {
|
2023-03-07 01:18:07 +01:00
|
|
|
height: var(--header-height) !important;
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#streamlist-toggle-button {
|
2023-03-07 01:18:07 +01:00
|
|
|
height: var(--header-height);
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
2023-10-25 20:08:09 +02:00
|
|
|
#streamlist-toggle-unreadcount {
|
|
|
|
/* Adjust in response to shorter navbar. */
|
|
|
|
top: 5px;
|
|
|
|
}
|
|
|
|
|
2023-07-17 17:26:24 +02:00
|
|
|
.column-right #personal-menu .header-button-avatar {
|
|
|
|
width: 20px;
|
|
|
|
height: 20px;
|
|
|
|
}
|
2019-10-24 05:38:18 +02:00
|
|
|
}
|
|
|
|
|
2021-02-04 02:49:05 +01:00
|
|
|
@media (width < $mm_min) {
|
2019-10-24 05:38:18 +02:00
|
|
|
html {
|
|
|
|
overflow-x: hidden;
|
|
|
|
}
|
|
|
|
|
|
|
|
body,
|
|
|
|
html,
|
|
|
|
.app-main,
|
|
|
|
.header-main {
|
|
|
|
min-width: 320px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2021-02-04 02:49:05 +01:00
|
|
|
@media (width < $md_min) {
|
2019-10-24 05:38:18 +02:00
|
|
|
#feedback_container {
|
|
|
|
width: calc(90% - 30px);
|
|
|
|
left: 5%;
|
|
|
|
top: 5%;
|
|
|
|
}
|
|
|
|
}
|
2020-10-05 16:09:25 +02:00
|
|
|
|
2022-02-14 17:43:32 +01:00
|
|
|
#scroll-to-bottom-button-container {
|
2022-07-06 07:05:37 +02:00
|
|
|
display: block;
|
2022-02-14 17:43:32 +01:00
|
|
|
position: absolute;
|
|
|
|
bottom: 41px;
|
|
|
|
right: 0;
|
2022-07-06 07:05:37 +02:00
|
|
|
visibility: hidden;
|
|
|
|
opacity: 0;
|
2023-07-21 23:08:07 +02:00
|
|
|
transition:
|
|
|
|
visibility 500ms,
|
|
|
|
opacity 500ms ease-in-out;
|
2022-07-06 07:05:37 +02:00
|
|
|
|
|
|
|
&.show {
|
|
|
|
visibility: visible;
|
|
|
|
opacity: 1;
|
|
|
|
}
|
2022-02-14 17:43:32 +01:00
|
|
|
|
|
|
|
#scroll-to-bottom-button-clickable-area {
|
|
|
|
width: 60px;
|
|
|
|
height: 60px;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: center;
|
|
|
|
cursor: pointer;
|
|
|
|
|
|
|
|
&:hover #scroll-to-bottom-button {
|
2023-03-20 22:08:47 +01:00
|
|
|
background: hsl(240deg 96% 68%);
|
2022-02-14 17:43:32 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
#scroll-to-bottom-button {
|
|
|
|
text-align: center;
|
|
|
|
width: 40px;
|
|
|
|
height: 40px;
|
2023-03-20 22:08:47 +01:00
|
|
|
background: hsl(240deg 96% 68% / 50%);
|
2022-02-14 17:43:32 +01:00
|
|
|
border-radius: 50%;
|
|
|
|
|
2023-03-17 22:10:10 +01:00
|
|
|
& i {
|
2023-03-20 22:08:47 +01:00
|
|
|
color: hsl(0deg 0% 100%);
|
2022-02-14 17:43:32 +01:00
|
|
|
margin: 0 auto;
|
|
|
|
font-size: 21px;
|
|
|
|
position: relative;
|
|
|
|
top: 8px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-02-21 09:56:30 +01:00
|
|
|
|
|
|
|
.tooltip_right_arrow {
|
|
|
|
position: relative;
|
|
|
|
top: -1px;
|
|
|
|
font-weight: 600;
|
|
|
|
}
|
2021-11-02 15:45:43 +01:00
|
|
|
|
|
|
|
.spectator_login_for_image_button {
|
|
|
|
max-width: 250px;
|
|
|
|
height: 50px;
|
|
|
|
|
|
|
|
:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
|
|
|
.login_button {
|
|
|
|
padding: 5px;
|
|
|
|
margin-top: 5px;
|
|
|
|
|
|
|
|
.fa {
|
|
|
|
top: 1px;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2022-10-03 04:26:40 +02:00
|
|
|
|
2023-02-07 14:37:33 +01:00
|
|
|
.simplebar-content-wrapper {
|
|
|
|
/* `simplebar-content-wrapper` has `tabindex=0` set, which makes it focusable
|
|
|
|
but we don't want it to have an outline when focused anywhere in the app. */
|
|
|
|
outline: none;
|
2023-06-12 22:03:56 +02:00
|
|
|
|
|
|
|
/* This prevents the popover from closing once the top/bottom is reached */
|
|
|
|
overscroll-behavior: contain;
|
2023-02-07 14:37:33 +01:00
|
|
|
}
|
2023-05-07 14:42:54 +02:00
|
|
|
|
|
|
|
.dropdown-list-container {
|
|
|
|
.dropdown-list-search {
|
|
|
|
display: flex;
|
|
|
|
|
|
|
|
.dropdown-list-search-input {
|
2023-08-16 06:17:00 +02:00
|
|
|
background: var(--color-background-widget-input);
|
2023-05-07 14:42:54 +02:00
|
|
|
color: var(--color-text-dropdown-input);
|
|
|
|
width: 100%;
|
|
|
|
margin: 4px 4px 2px;
|
|
|
|
|
|
|
|
&:focus {
|
|
|
|
background: hsl(0deg 0% 100%);
|
|
|
|
border: 1px solid hsl(229.09deg 21.57% 10% / 80%);
|
|
|
|
box-shadow: 0 0 6px hsl(228deg 9.8% 20% / 30%);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
.dropdown-list-wrapper {
|
2023-05-10 14:52:24 +02:00
|
|
|
/* Sync with `max-height` in dropdown_widget. */
|
2023-05-10 14:52:52 +02:00
|
|
|
max-height: 210px;
|
2023-05-07 14:42:54 +02:00
|
|
|
min-width: 200px;
|
|
|
|
|
|
|
|
.dropdown-list {
|
|
|
|
list-style: none;
|
|
|
|
margin: 0;
|
|
|
|
|
|
|
|
.list-item:focus {
|
|
|
|
background-color: hsl(220deg 12% 4.9% / 5%);
|
|
|
|
outline: none;
|
|
|
|
}
|
2023-11-22 20:12:36 +01:00
|
|
|
}
|
2023-05-07 14:42:54 +02:00
|
|
|
|
2023-11-22 20:12:36 +01:00
|
|
|
.no-dropdown-items {
|
|
|
|
color: hsl(0deg 0% 60%);
|
|
|
|
display: none;
|
2023-05-07 14:42:54 +02:00
|
|
|
}
|
|
|
|
}
|
2023-11-22 20:12:36 +01:00
|
|
|
}
|
2023-05-10 14:59:56 +02:00
|
|
|
|
2023-11-22 20:12:36 +01:00
|
|
|
.dropdown-list-container .dropdown-list-item-common-styles {
|
|
|
|
display: block;
|
|
|
|
color: hsl(0deg 0% 20%);
|
|
|
|
padding: 3px 10px 3px 8px;
|
|
|
|
font-weight: 400;
|
|
|
|
line-height: 20px;
|
|
|
|
white-space: normal;
|
|
|
|
|
|
|
|
.stream-privacy-type-icon {
|
|
|
|
font-size: 13px;
|
|
|
|
width: 13px;
|
|
|
|
height: 13px;
|
|
|
|
padding-right: 2px;
|
|
|
|
}
|
|
|
|
|
|
|
|
&:hover {
|
|
|
|
text-decoration: none;
|
|
|
|
background-color: hsl(220deg 12% 4.9% / 5%);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus {
|
|
|
|
text-decoration: none;
|
|
|
|
outline: none;
|
2023-05-10 14:59:56 +02:00
|
|
|
}
|
2023-05-07 14:42:54 +02:00
|
|
|
}
|
2023-05-13 10:50:52 +02:00
|
|
|
|
2023-11-10 02:45:45 +01:00
|
|
|
.dropdown-list-item-common-styles .dropdown-list-bold-selected {
|
|
|
|
font-weight: 700;
|
|
|
|
}
|
|
|
|
|
2023-05-13 10:50:52 +02:00
|
|
|
#scheduled_messages_overlay .error-icon-message-recipient {
|
|
|
|
width: 15px;
|
|
|
|
height: 100%;
|
|
|
|
display: flex;
|
|
|
|
align-items: center;
|
|
|
|
justify-content: flex-end;
|
|
|
|
flex-grow: 1;
|
|
|
|
color: var(--color-failed-message-send-icon);
|
|
|
|
|
|
|
|
.zulip-icon {
|
|
|
|
padding: 5px;
|
|
|
|
}
|
|
|
|
}
|
2023-10-10 21:21:48 +02:00
|
|
|
|
|
|
|
#unstar_all_messages,
|
|
|
|
.emoji-popover-tab-item {
|
|
|
|
.zulip-icon-star {
|
|
|
|
position: relative;
|
|
|
|
top: 2px;
|
|
|
|
}
|
|
|
|
}
|
2023-03-20 04:22:58 +01:00
|
|
|
|
|
|
|
.typeahead-option-label {
|
|
|
|
display: flex !important;
|
|
|
|
justify-content: space-between;
|
|
|
|
|
|
|
|
> strong {
|
|
|
|
margin-right: 14px;
|
|
|
|
}
|
|
|
|
}
|
2023-07-17 17:26:24 +02:00
|
|
|
|
|
|
|
.header-main .column-right {
|
|
|
|
display: flex;
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Make the top navbar right column its full width,
|
|
|
|
less 7px of space on the left and right. */
|
|
|
|
width: calc(var(--right-sidebar-width) - 7px - 7px);
|
2023-07-17 17:26:24 +02:00
|
|
|
justify-content: flex-end;
|
|
|
|
align-items: center;
|
2023-12-03 19:58:35 +01:00
|
|
|
/* Move the column to the right with absolute
|
|
|
|
positioning, rather than margin. */
|
|
|
|
right: 7px;
|
|
|
|
|
|
|
|
@media (width < $xl_min) or (height < $short_navbar_cutoff_height) {
|
|
|
|
/* For a diminutive right column in the navbar,
|
|
|
|
allow the width to be that of the flexing
|
|
|
|
button elements. */
|
|
|
|
width: auto;
|
|
|
|
}
|
2023-07-17 17:26:24 +02:00
|
|
|
|
|
|
|
& a:focus {
|
|
|
|
filter: none;
|
|
|
|
outline: 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-10-13 12:51:35 +02:00
|
|
|
.header-button {
|
2023-07-17 17:26:24 +02:00
|
|
|
width: var(--header-height);
|
|
|
|
height: var(--header-height);
|
|
|
|
display: flex;
|
|
|
|
justify-content: center;
|
|
|
|
align-items: center;
|
2023-10-13 12:51:35 +02:00
|
|
|
|
|
|
|
&:hover,
|
|
|
|
&:focus {
|
|
|
|
text-decoration: none;
|
|
|
|
}
|
|
|
|
|
2023-10-19 19:23:10 +02:00
|
|
|
&:hover {
|
|
|
|
background-color: var(--color-header-button-hover);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:active {
|
|
|
|
background-color: var(--color-header-button-focus);
|
|
|
|
}
|
|
|
|
|
|
|
|
&:focus-visible {
|
|
|
|
outline: none;
|
|
|
|
background-color: var(--color-header-button-focus);
|
|
|
|
}
|
|
|
|
|
2023-10-13 12:51:35 +02:00
|
|
|
.zulip-icon {
|
|
|
|
color: var(--color-navbar-icon);
|
|
|
|
}
|
|
|
|
|
|
|
|
.zulip-icon-gear {
|
|
|
|
font-size: 18px;
|
|
|
|
}
|
|
|
|
|
2023-11-22 08:25:31 +01:00
|
|
|
.zulip-icon-help-bigger,
|
2023-10-13 12:51:35 +02:00
|
|
|
.zulip-icon-triple-users {
|
|
|
|
font-size: 20px;
|
|
|
|
}
|
2023-10-21 13:57:36 +02:00
|
|
|
|
|
|
|
.zulip-icon-help {
|
|
|
|
position: relative;
|
|
|
|
top: 0.5px;
|
|
|
|
right: -0.5px;
|
|
|
|
}
|
2023-07-17 17:26:24 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
#personal-menu {
|
|
|
|
.header-button-avatar {
|
|
|
|
width: 24px;
|
|
|
|
height: 24px;
|
|
|
|
background-size: cover;
|
|
|
|
border-radius: 4px;
|
|
|
|
background-color: var(--color-background-image-loader);
|
2023-07-17 18:01:16 +02:00
|
|
|
border: 1px solid var(--color-border-personal-menu-avatar);
|
|
|
|
}
|
|
|
|
}
|