mirror of
https://github.com/zulip/zulip.git
synced 2026-06-30 21:11:04 +08:00
CSS nesting is being standardized with the syntactic restriction that the nested selector cannot start with an identifier. This was necessary to allow the syntax to be parsed without lookahead. https://webkit.org/blog/13813/try-css-nesting-today-in-safari-technology-preview/ https://www.w3.org/TR/css-nesting-1/#syntax The postcss-nesting plugin used by postcss-preset-env enforces this restriction. Signed-off-by: Anders Kaseorg <[email protected]>
234 lines
4.7 KiB
CSS
234 lines
4.7 KiB
CSS
.widget-choices {
|
|
& ul {
|
|
padding: 3px;
|
|
}
|
|
|
|
& li {
|
|
padding: 2px;
|
|
list-style: none;
|
|
}
|
|
|
|
& button {
|
|
font-weight: 700;
|
|
color: hsl(240, 100%, 50%);
|
|
}
|
|
|
|
.widget-choices-heading {
|
|
font-weight: 600;
|
|
}
|
|
}
|
|
|
|
.todo-widget {
|
|
/* For the box-shadow to be visible on the left */
|
|
.add-task,
|
|
.add-desc {
|
|
font-size: 14px;
|
|
font-weight: 400;
|
|
margin-right: 4px;
|
|
}
|
|
|
|
& label.checkbox {
|
|
display: flex; /* Arrange that a multi-line description line wraps properly. */
|
|
position: relative;
|
|
vertical-align: top;
|
|
|
|
& input[type="checkbox"] {
|
|
~ span {
|
|
height: 12px;
|
|
width: 12px;
|
|
border: 2px solid hsl(156, 28%, 70%);
|
|
|
|
border-radius: 4px;
|
|
filter: brightness(1);
|
|
|
|
cursor: pointer;
|
|
}
|
|
|
|
&:checked ~ span {
|
|
background-image: url("../images/checkbox-white.svg");
|
|
background-size: 75%;
|
|
background-position: 50% 50%;
|
|
background-repeat: no-repeat;
|
|
background-color: hsl(156, 41%, 40%);
|
|
border: 2px solid hsl(156, 41%, 40%);
|
|
}
|
|
|
|
&:disabled ~ span {
|
|
opacity: 0.5;
|
|
cursor: not-allowed;
|
|
}
|
|
|
|
&:hover ~ span {
|
|
border-color: hsl(156, 30%, 50%);
|
|
}
|
|
|
|
&:focus ~ span {
|
|
outline-color: hsla(0, 0%, 100%, 0);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.todo-widget,
|
|
.poll-widget {
|
|
& h4 {
|
|
font-size: 18px;
|
|
font-weight: 600;
|
|
|
|
/* for example in help `?` widget */
|
|
&.reduced-font-size {
|
|
font-size: 16px;
|
|
}
|
|
}
|
|
|
|
& li {
|
|
list-style: none;
|
|
margin: 2px 2px 6px 0;
|
|
}
|
|
|
|
& ul {
|
|
margin: 0 0 5px;
|
|
padding: 0;
|
|
}
|
|
}
|
|
|
|
.poll-widget {
|
|
.poll-option {
|
|
font-weight: 400;
|
|
font-size: 14px;
|
|
}
|
|
|
|
/* For the box-shadow to be visible on the left */
|
|
& input.poll-option {
|
|
margin-right: 4px;
|
|
}
|
|
|
|
& span.poll-option {
|
|
font-weight: 600;
|
|
padding-top: 28px;
|
|
}
|
|
|
|
.poll-vote {
|
|
/* This is to ensure that even when the list of poll-names overflows,
|
|
the voting button remains clickable and on top of all other containers. */
|
|
position: relative;
|
|
z-index: 1;
|
|
|
|
color: hsl(156, 41%, 40%);
|
|
border-color: hsl(156, 28%, 70%);
|
|
border-style: solid;
|
|
font-weight: 600;
|
|
border-radius: 3px;
|
|
margin-right: 4px;
|
|
padding-left: 2px; /* padding for Chromium browsers */
|
|
padding-right: 2px;
|
|
min-width: 25px;
|
|
height: 25px;
|
|
font-size: 13px;
|
|
background-color: hsl(0, 0%, 100%);
|
|
|
|
&:hover {
|
|
border-color: hsl(156, 30%, 50%);
|
|
}
|
|
|
|
&:focus {
|
|
outline: 0;
|
|
background-color: hsl(156, 41%, 90%);
|
|
}
|
|
}
|
|
|
|
.poll-names {
|
|
color: hsl(0, 0%, 45%);
|
|
padding-left: 4px;
|
|
padding-top: 28px;
|
|
font-size: 14px;
|
|
}
|
|
}
|
|
|
|
button {
|
|
&.task {
|
|
height: 20px;
|
|
width: 20px;
|
|
background-color: transparent;
|
|
border-color: hsl(156, 28%, 70%);
|
|
margin-right: 4px;
|
|
border-radius: 3px;
|
|
|
|
&:hover {
|
|
border: 1px solid hsl(194, 60%, 40%);
|
|
}
|
|
}
|
|
|
|
&.add-task,
|
|
&.poll-option {
|
|
color: hsl(156, 41%, 40%);
|
|
border: 1px solid hsl(156, 28%, 70%);
|
|
width: 100px;
|
|
border-radius: 3px;
|
|
background-color: hsl(0, 0%, 100%);
|
|
padding: 4px;
|
|
padding-left: 14px;
|
|
padding-right: 14px;
|
|
transition: all 0.2s ease;
|
|
|
|
&:hover,
|
|
&:focus {
|
|
outline: 0;
|
|
border-color: hsl(156, 30%, 50%);
|
|
}
|
|
|
|
&:active {
|
|
border-color: hsl(156, 30%, 40%);
|
|
color: hsl(156, 44%, 43%);
|
|
background-color: hsl(154, 33%, 96%);
|
|
}
|
|
}
|
|
}
|
|
|
|
input,
|
|
button {
|
|
&.add-task,
|
|
&.add-desc,
|
|
&.poll-option,
|
|
&.poll-question {
|
|
padding: 4px 6px;
|
|
margin: 2px 0;
|
|
}
|
|
}
|
|
|
|
.widget-error {
|
|
color: hsl(1, 45%, 50%);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.poll-question-check,
|
|
.poll-question-remove {
|
|
width: 28px !important;
|
|
height: 28px;
|
|
border-radius: 3px;
|
|
border: 1px solid hsl(0, 0%, 80%);
|
|
background-color: hsl(0, 0%, 100%);
|
|
|
|
&:hover {
|
|
border-color: hsl(0, 0%, 60%);
|
|
}
|
|
}
|
|
|
|
.poll-edit-question {
|
|
opacity: 0.4;
|
|
display: inline-block;
|
|
margin-left: 5px;
|
|
|
|
&:hover {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
.poll-question-header {
|
|
display: inline;
|
|
}
|
|
|
|
.current-user-vote {
|
|
background-color: hsla(156, 10%, 90%, 0.9);
|
|
}
|