zulip/static/styles/widgets.css
N-Shar-ma e2e39acbc4 widgets: Make the todo and poll widgets look consistent / similar.
Earlier the todo and poll widgets' UI differed a lot, especially in the
font size and weight, and the color and shape of the checkbox and vote
count box.

Now the font weights and sizes are consistent in both the widgets and
the todo widget's checkboxes and poll widget's vote count boxes are
styled similarly.

This is the rebased and cleaned version of #21006, and is visually near
identical.

Fixes: #20283.
2023-01-30 11:51:33 -08:00

229 lines
4.5 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 {
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);
}