bitwarden-desktop/src/scss/box.scss

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

489 lines
8.2 KiB
SCSS
Raw Permalink Normal View History

2018-04-17 19:11:10 +02:00
@import "variables.scss";
2018-01-26 20:12:41 +01:00
.box {
position: relative;
2018-01-26 20:12:41 +01:00
width: 100%;
.box-header {
margin: 0 10px 5px 10px;
text-transform: uppercase;
2021-02-18 19:03:20 +01:00
display: flex;
2018-02-01 03:13:42 +01:00
2018-05-30 21:21:41 +02:00
@include themify($themes) {
color: themed("headingColor");
}
2018-02-01 03:13:42 +01:00
button {
background-color: transparent;
border: none;
text-transform: uppercase;
2018-05-30 21:21:41 +02:00
@include themify($themes) {
color: themed("headingColor");
2021-02-18 19:03:20 +01:00
}
}
.toggle {
background-color: transparent;
margin-left: 4px;
font-size: $font-size-small;
@include themify($themes) {
color: themed("headingColor");
}
}
}
.box-header-expandable {
border: none;
padding: 5px 0px;
text-transform: uppercase;
display: flex;
width: 100%;
box-sizing: border-box;
@include themify($themes) {
color: themed("headingColor");
background-color: themed("boxBackgroundColor");
}
&:hover,
&:focus,
&.active {
@include themify($themes) {
background-color: themed("boxBackgroundHoverColor");
}
}
.icon {
display: flex;
align-items: flex-end;
margin-left: 5px;
@include themify($themes) {
2021-02-18 19:03:20 +01:00
color: themed("headingColor");
2018-02-01 03:13:42 +01:00
}
2018-01-26 20:12:41 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-26 20:12:41 +01:00
.box-content {
border-radius: $border-radius;
box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12),
0 1px 5px 0 rgba(0, 0, 0, 0.2);
2018-05-30 15:28:19 +02:00
@include themify($themes) {
background-color: themed("boxBackgroundColor");
}
2018-01-26 20:12:41 +01:00
2018-02-11 05:24:22 +01:00
&.box-content-padded {
padding: 10px 15px;
}
&.condensed .box-content-row,
.box-content-row.condensed {
padding-top: 5px;
padding-bottom: 5px;
}
2018-05-30 15:28:19 +02:00
&.no-hover .box-content-row,
.box-content-row.no-hover {
&:hover,
&:focus {
background-color: initial;
}
}
2021-12-20 15:47:17 +01:00
}
2018-01-26 20:12:41 +01:00
.box-footer {
margin: 5px 10px;
font-size: $font-size-small;
@include themify($themes) {
color: themed("mutedColor");
}
2021-12-20 15:47:17 +01:00
}
}
2018-01-26 20:12:41 +01:00
.box-content-row {
display: block;
Change links to buttons, expose `aria-pressed` for toggles, add `aria-expanded` to send view's "Options" (#1437) * Change links to buttons, expose `aria-pressed` for toggles - also make existing `<a routerLink...>` type controls keyboard focusable with the addition of `tabindex="0"` * Correctly set aria-pressed now that I have a working build environment, could verify correct way to set this with my limited Angular knowledge * Change more links to buttons, initial style changes * Fix layout of <button> elements with .box-content-row * Update jslib submodule * Add `aria-expanded` to the send view's "Show options" expand/collapse control * Fix position of "Edit" pencil when hovering over folders * Update jslib * Change sends list links to buttons * Add `aria-pressed` to vault and send list buttons Programmatically denote which of the buttons is currently active/shown in the right-most panel * Fix incorrect "Options" expand/collapse button in add-edit view Currently, that buttons lacks an accName because the "Options" text is outside of it. * Add `aria-pressed` to the send left-hand column filters * Simplify base, list, and vault styles Since links are now buttons, no need to double up selectors for both types of elements. No need to double-up theming in base, as this also causes incorrect "x" in toasts. * Remove unnecessary `position:relative` Fixes issue with cut-off focus outlines, has no other adverse effect * Fix styling for last child of action buttons Old approach of making right padding smaller results in unsightly, off-center icon (noticeable when focus outline is visible). This visually remains the same, but reduces right-hand margin instead.
2022-04-30 16:09:41 +02:00
width: 100%;
padding: 10px 15px;
position: relative;
z-index: 1;
Change links to buttons, expose `aria-pressed` for toggles, add `aria-expanded` to send view's "Options" (#1437) * Change links to buttons, expose `aria-pressed` for toggles - also make existing `<a routerLink...>` type controls keyboard focusable with the addition of `tabindex="0"` * Correctly set aria-pressed now that I have a working build environment, could verify correct way to set this with my limited Angular knowledge * Change more links to buttons, initial style changes * Fix layout of <button> elements with .box-content-row * Update jslib submodule * Add `aria-expanded` to the send view's "Show options" expand/collapse control * Fix position of "Edit" pencil when hovering over folders * Update jslib * Change sends list links to buttons * Add `aria-pressed` to vault and send list buttons Programmatically denote which of the buttons is currently active/shown in the right-most panel * Fix incorrect "Options" expand/collapse button in add-edit view Currently, that buttons lacks an accName because the "Options" text is outside of it. * Add `aria-pressed` to the send left-hand column filters * Simplify base, list, and vault styles Since links are now buttons, no need to double up selectors for both types of elements. No need to double-up theming in base, as this also causes incorrect "x" in toasts. * Remove unnecessary `position:relative` Fixes issue with cut-off focus outlines, has no other adverse effect * Fix styling for last child of action buttons Old approach of making right padding smaller results in unsightly, off-center icon (noticeable when focus outline is visible). This visually remains the same, but reduces right-hand margin instead.
2022-04-30 16:09:41 +02:00
text-align: left;
&:before {
content: "";
position: absolute;
right: 0;
bottom: 0;
height: 1px;
width: calc(100% - 10px);
border-bottom: 1px solid #000000;
2018-01-26 20:12:41 +01:00
@include themify($themes) {
border-bottom-color: themed("boxBorderColor");
}
2021-12-20 15:47:17 +01:00
}
2018-01-26 20:12:41 +01:00
&:first-child,
&:last-child {
border-radius: $border-radius;
2018-01-26 20:12:41 +01:00
.progress {
border-bottom-left-radius: $border-radius;
border-bottom-right-radius: $border-radius;
}
2021-12-20 15:47:17 +01:00
}
2018-01-26 20:12:41 +01:00
&:last-child {
&:before {
border: none;
height: 0;
2021-12-20 15:47:17 +01:00
}
}
&:after {
content: "";
display: table;
clear: both;
2021-12-20 15:47:17 +01:00
}
&:hover,
&:focus,
&.active {
@include themify($themes) {
2021-02-09 21:57:10 +01:00
background-color: themed("boxBackgroundHoverColor");
2021-12-20 15:47:17 +01:00
> * {
2021-02-09 21:57:10 +01:00
background-color: themed("boxBackgroundHoverColor");
2021-12-20 15:47:17 +01:00
}
}
}
&.pre {
white-space: pre;
overflow-x: auto;
}
2021-12-20 15:47:17 +01:00
2019-03-28 17:09:08 +01:00
&.pre-wrap {
white-space: pre-wrap;
overflow-x: auto;
}
2021-12-20 15:47:17 +01:00
2021-02-22 21:06:18 +01:00
.row-label,
label:not(.unstyled) {
font-size: $font-size-small;
display: block;
width: 100%;
margin-bottom: 5px;
2019-02-12 04:16:22 +01:00
@include themify($themes) {
color: themed("mutedColor");
}
2018-05-30 21:21:41 +02:00
.sub-label {
2021-02-09 21:57:10 +01:00
margin-left: 10px;
}
2021-12-20 15:47:17 +01:00
}
2018-11-15 21:27:27 +01:00
2021-12-20 15:47:17 +01:00
.text,
.detail {
display: block;
2018-01-26 20:12:41 +01:00
2019-03-28 17:09:08 +01:00
@include themify($themes) {
color: themed("textColor");
}
2021-12-20 15:47:17 +01:00
}
2018-05-30 21:21:41 +02:00
2021-02-22 21:06:18 +01:00
.detail {
font-size: $font-size-small;
@include themify($themes) {
color: themed("mutedColor");
}
2021-12-20 15:47:17 +01:00
}
.img-right {
float: right;
margin-left: 10px;
2021-12-20 15:47:17 +01:00
}
.row-main {
flex-grow: 1;
min-width: 0;
}
2018-01-29 22:13:37 +01:00
&.box-content-row-flex,
.box-content-row-flex,
&.box-content-row-checkbox,
&.box-content-row-input,
&.box-content-row-slider,
&.box-content-row-multi {
display: flex;
align-items: center;
word-break: break-word;
}
&.box-content-row-multi {
width: 100%;
2018-03-02 05:45:12 +01:00
input:not([type="checkbox"]):not([type="radio"]) {
width: 100%;
}
2018-01-29 23:11:31 +01:00
input + label.sr-only + select {
margin-top: 5px;
}
2018-01-26 20:12:41 +01:00
Change links to buttons, expose `aria-pressed` for toggles, add `aria-expanded` to send view's "Options" (#1437) * Change links to buttons, expose `aria-pressed` for toggles - also make existing `<a routerLink...>` type controls keyboard focusable with the addition of `tabindex="0"` * Correctly set aria-pressed now that I have a working build environment, could verify correct way to set this with my limited Angular knowledge * Change more links to buttons, initial style changes * Fix layout of <button> elements with .box-content-row * Update jslib submodule * Add `aria-expanded` to the send view's "Show options" expand/collapse control * Fix position of "Edit" pencil when hovering over folders * Update jslib * Change sends list links to buttons * Add `aria-pressed` to vault and send list buttons Programmatically denote which of the buttons is currently active/shown in the right-most panel * Fix incorrect "Options" expand/collapse button in add-edit view Currently, that buttons lacks an accName because the "Options" text is outside of it. * Add `aria-pressed` to the send left-hand column filters * Simplify base, list, and vault styles Since links are now buttons, no need to double up selectors for both types of elements. No need to double-up theming in base, as this also causes incorrect "x" in toasts. * Remove unnecessary `position:relative` Fixes issue with cut-off focus outlines, has no other adverse effect * Fix styling for last child of action buttons Old approach of making right padding smaller results in unsightly, off-center icon (noticeable when focus outline is visible). This visually remains the same, but reduces right-hand margin instead.
2022-04-30 16:09:41 +02:00
> a,
> button {
2021-02-16 19:11:14 +01:00
padding: 8px 8px 8px 4px;
margin: 0;
2018-01-29 22:13:37 +01:00
@include themify($themes) {
color: themed("dangerColor");
2021-12-20 15:47:17 +01:00
}
}
2021-12-20 15:47:17 +01:00
}
2018-01-29 22:13:37 +01:00
&.box-content-row-checkbox,
&.box-content-row-input,
&.box-content-row-slider {
2021-12-20 15:47:17 +01:00
label,
.row-label {
font-size: $font-size-base;
display: inline;
width: initial;
margin-bottom: 0;
@include themify($themes) {
color: themed("textColor");
}
}
2018-01-29 22:13:37 +01:00
2021-12-20 15:47:17 +01:00
> span {
@include themify($themes) {
color: themed("mutedColor");
2021-12-20 15:47:17 +01:00
}
}
2018-01-29 22:13:37 +01:00
> input {
margin: 0 0 0 auto;
padding: 0;
}
2018-01-29 22:13:37 +01:00
> * {
margin-right: 15px;
2018-01-30 05:19:55 +01:00
&:last-child {
margin-right: 0;
2021-12-20 15:47:17 +01:00
}
}
}
2018-02-01 03:33:55 +01:00
&.box-content-row-input {
label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2021-12-20 15:47:17 +01:00
}
input {
text-align: right;
width: 45px !important;
}
2021-12-20 15:47:17 +01:00
}
2018-01-26 20:12:41 +01:00
&.box-content-row-slider {
input[type="range"] {
height: 10px;
width: 220px !important;
}
2018-01-26 20:12:41 +01:00
input[type="number"] {
text-align: right;
width: 45px !important;
}
2018-01-26 20:12:41 +01:00
label {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
2021-12-20 15:47:17 +01:00
}
}
2018-01-26 20:12:41 +01:00
2021-02-16 17:52:23 +01:00
&.box-content-row-radio {
display: flex;
flex-direction: column;
.item {
display: flex;
2021-12-20 15:47:17 +01:00
flex: 1;
align-items: center;
2018-05-31 21:41:48 +02:00
> .radio {
margin-right: 5px;
margin-top: 0;
}
}
2021-12-20 15:47:17 +01:00
}
2018-01-30 03:17:10 +01:00
2021-02-16 17:52:23 +01:00
input:not([type="checkbox"]):not([type="radio"]),
textarea {
border: none;
2021-02-16 19:11:14 +01:00
width: 100%;
background-color: transparent;
2021-02-16 17:52:23 +01:00
&::-webkit-input-placeholder {
@include themify($themes) {
color: themed("inputPlaceholderColor");
}
}
&:focus {
outline: none;
2021-12-20 15:47:17 +01:00
}
}
2018-01-30 05:19:55 +01:00
select {
width: 100%;
border: 1px solid #000000;
border-radius: $border-radius;
2018-01-26 20:12:41 +01:00
@include themify($themes) {
border-color: themed("inputBorderColor");
}
2021-12-20 15:47:17 +01:00
}
.action-buttons {
display: flex;
margin-left: 5px;
2021-12-20 15:47:17 +01:00
.row-btn {
@extend .icon-btn;
}
2018-01-30 19:32:58 +01:00
2019-03-28 05:21:01 +01:00
&.no-pad .row-btn {
padding-top: 0;
padding-bottom: 0;
2019-03-28 05:21:01 +01:00
}
2021-12-20 15:47:17 +01:00
}
2019-03-28 05:21:01 +01:00
2019-03-28 05:26:41 +01:00
&:not(.box-draggable-row) {
.action-buttons .row-btn:last-child {
Change links to buttons, expose `aria-pressed` for toggles, add `aria-expanded` to send view's "Options" (#1437) * Change links to buttons, expose `aria-pressed` for toggles - also make existing `<a routerLink...>` type controls keyboard focusable with the addition of `tabindex="0"` * Correctly set aria-pressed now that I have a working build environment, could verify correct way to set this with my limited Angular knowledge * Change more links to buttons, initial style changes * Fix layout of <button> elements with .box-content-row * Update jslib submodule * Add `aria-expanded` to the send view's "Show options" expand/collapse control * Fix position of "Edit" pencil when hovering over folders * Update jslib * Change sends list links to buttons * Add `aria-pressed` to vault and send list buttons Programmatically denote which of the buttons is currently active/shown in the right-most panel * Fix incorrect "Options" expand/collapse button in add-edit view Currently, that buttons lacks an accName because the "Options" text is outside of it. * Add `aria-pressed` to the send left-hand column filters * Simplify base, list, and vault styles Since links are now buttons, no need to double up selectors for both types of elements. No need to double-up theming in base, as this also causes incorrect "x" in toasts. * Remove unnecessary `position:relative` Fixes issue with cut-off focus outlines, has no other adverse effect * Fix styling for last child of action buttons Old approach of making right padding smaller results in unsightly, off-center icon (noticeable when focus outline is visible). This visually remains the same, but reduces right-hand margin instead.
2022-04-30 16:09:41 +02:00
margin-right: -6px !important;
2019-03-28 05:26:41 +01:00
}
2021-12-20 15:47:17 +01:00
}
2019-03-28 05:26:41 +01:00
2019-03-28 05:21:01 +01:00
&.box-draggable-row {
&.box-content-row-checkbox {
2019-03-28 05:21:01 +01:00
input[type="checkbox"] + .drag-handle {
margin-left: 10px;
}
}
2021-12-20 15:47:17 +01:00
}
2019-03-28 05:21:01 +01:00
.drag-handle {
cursor: move;
padding: 10px 2px 10px 8px;
user-select: none;
2021-12-20 15:47:17 +01:00
2019-03-28 05:21:01 +01:00
@include themify($themes) {
color: themed("mutedColor");
}
2021-12-20 15:47:17 +01:00
}
2019-03-28 05:21:01 +01:00
&.cdk-drag-preview {
position: relative;
display: flex;
2019-03-28 05:21:01 +01:00
align-items: center;
opacity: 0.8;
@include themify($themes) {
background-color: themed("boxBackgroundColor");
}
2021-12-20 15:47:17 +01:00
}
select.field-type {
margin: 5px 0 0 25px;
width: calc(100% - 25px);
2021-12-20 15:47:17 +01:00
}
.row-sub-icon {
@include themify($themes) {
color: themed("disabledIconColor");
2018-01-26 20:12:41 +01:00
}
2021-12-20 15:47:17 +01:00
}
2018-01-26 20:12:41 +01:00
.row-sub-label {
margin: 0 15px;
white-space: nowrap;
2018-05-30 21:21:41 +02:00
@include themify($themes) {
color: themed("mutedColor");
2018-01-26 20:12:41 +01:00
}
2021-12-20 15:47:17 +01:00
}
.progress {
display: flex;
height: 5px;
overflow: hidden;
margin: 5px -15px -10px;
2021-12-20 15:47:17 +01:00
.progress-bar {
display: flex;
flex-direction: column;
justify-content: center;
white-space: nowrap;
background-color: $brand-primary;
}
2021-12-20 15:47:17 +01:00
}
.icon {
display: flex;
justify-content: center;
align-items: center;
min-width: 34px;
height: 100%;
margin-left: -5px;
@include themify($themes) {
color: themed("mutedColor");
}
&.icon-small {
min-width: 25px;
}
2021-12-20 15:47:17 +01:00
}
.radio-group {
display: flex;
justify-content: flex-start;
align-items: center;
margin-bottom: 5px;
input {
flex-grow: 0;
}
label {
margin: 0 0 0 5px;
flex-grow: 1;
font-size: $font-size-base;
display: block;
width: 100%;
@include themify($themes) {
color: themed("textColor");
}
}
&.align-start {
align-items: start;
margin-top: 10px;
label {
margin-top: -4px;
}
}
}
}