Xaviju 713ff6190b
🔧 Add SCSS linter (stylelint) (#8592)
* 🔧 Add SCSS linter (stylelint)

*  Fix default standard scss errors with extends - WIP

*  Fix default standard scss errors

*  Update and cleanup

*  Update and cleanup

*  Update and cleanup

* 🐛 Fix broken visual regression tests

* 📎 Add to CHANGES

* ♻️ Remove unused class
2026-03-26 10:09:54 +01:00

267 lines
4.8 KiB
SCSS

// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.
//
// Copyright (c) KALEIDOS INC
@use "common/refactor/common-dashboard";
@use "ds/typography.scss" as t;
@use "ds/_borders.scss" as *;
@use "ds/spacing.scss" as *;
@use "ds/_sizes.scss" as *;
@use "ds/z-index.scss" as *;
@use "ds/mixins.scss" as *;
@use "ds/_utils.scss" as *;
.dashboard-container {
flex: 1 0 0;
inline-size: 100%;
margin-inline-end: var(--sp-l);
border-block-start: $b-1 solid var(--panel-border-color);
overflow-y: auto;
padding-block-end: var(--sp-xxxl);
}
.dashboard-projects {
user-select: none;
block-size: calc(100vh - px2rem(64));
}
.with-team-hero {
block-size: calc(100vh - px2rem(280));
}
.dashboard-shared {
inline-size: calc(100vw - px2rem(320));
margin-inline-end: px2rem(52);
}
.search {
margin-block-start: var(--sp-m);
}
.dashboard-project-row {
--actions-opacity: 0;
margin-block-end: var(--sp-xxl);
position: relative;
&:hover,
&:focus,
&:focus-within {
--actions-opacity: 1;
}
}
.pinned-project {
--actions-opacity: 1;
}
.projects-container {
display: grid;
grid-auto-rows: min-content;
}
.project {
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
gap: var(--sp-s);
inline-size: 99%;
max-block-size: $sz-40;
padding: var(--sp-s) var(--sp-s) var(--sp-s) var(--sp-l);
margin-block-start: var(--sp-l);
border-radius: $br-4;
}
.project-name-wrapper {
display: flex;
align-items: center;
justify-content: flex-start;
inline-size: 100%;
min-block-size: $sz-32;
margin-inline-start: var(--sp-s);
}
.project-name {
@include text-ellipsis;
@include t.use-typography("body-large");
color: var(--title-foreground-color-hover);
cursor: pointer;
block-size: $sz-16;
line-height: 0.8;
margin-inline-end: var(--sp-m);
}
.info-wrapper {
display: flex;
align-items: center;
gap: var(--sp-s);
}
.info,
.recent-files-row-title-info {
@include t.use-typography("body-medium");
color: var(--title-foreground-color);
@media (width <= 760px) {
display: none;
}
}
.project-actions {
display: flex;
opacity: var(--actions-opacity);
margin-inline-start: var(--sp-xxxl);
}
.add-file-btn,
.options-btn {
@extend %button-tertiary;
block-size: $sz-32;
inline-size: $sz-32;
margin: 0 var(--sp-s);
padding: var(--sp-s);
}
.add-icon,
.menu-icon {
@extend %button-icon;
stroke: var(--icon-foreground);
}
.grid-container {
inline-size: 100%;
padding: 0 var(--sp-xs);
}
.placeholder-placement {
margin: var(--sp-l) var(--sp-xxxl);
}
.show-more {
--show-more-color: var(--button-secondary-foreground-color-rest);
@include t.use-typography("body-medium");
border: none;
background: none;
cursor: pointer;
position: absolute;
inset-block-start: var(--sp-s);
inset-inline-end: px2rem(52);
display: flex;
align-items: center;
justify-content: space-between;
column-gap: var(--sp-m);
color: var(--show-more-color);
&:hover {
--show-more-color: var(--button-secondary-foreground-color-active);
}
}
.show-more-icon {
block-size: $sz-16;
inline-size: $sz-16;
fill: none;
stroke: var(--show-more-color);
}
// Team hero
.team-hero {
background-color: var(--color-background-tertiary);
border-radius: $br-8;
border: none;
display: flex;
margin: var(--sp-l);
padding: var(--sp-s);
position: relative;
img {
border-radius: $br-4;
inline-size: auto;
@media (width <= 1200px) {
display: none;
inline-size: 0;
}
}
}
.text {
display: flex;
flex-direction: column;
align-items: flex-start;
flex-grow: 1;
padding: var(--sp-xl) var(--sp-xl);
}
.title {
color: var(--color-foreground-primary);
font-size: px2rem(24);
}
.info {
flex: 1;
font-size: $sz-16;
span {
color: var(--color-foreground-secondary);
display: block;
}
a {
color: var(--color-accent-primary);
}
padding: var(--sp-s) 0;
}
.close {
--close-icon-foreground-color: var(--icon-foreground);
position: absolute;
top: var(--sp-xl);
inset-inline-end: var(--sp-xxl);
inline-size: var(--sp-xxl);
background-color: transparent;
border: none;
cursor: pointer;
&:hover {
--close-icon-foreground-color: var(--button-icon-foreground-color-selected);
}
}
.close-icon {
@extend %button-icon;
stroke: var(--close-icon-foreground-color);
}
.invite {
block-size: $sz-32;
inline-size: px2rem(180);
}
.img-wrapper {
display: flex;
align-items: center;
justify-content: center;
inline-size: var(--sp-xl) 0;
block-size: var(--sp-xl) 0;
overflow: hidden;
border-radius: $br-4;
@media (width <= 1200px) {
display: none;
inline-size: 0;
}
}