Files
request-portal/src/webparts/requestPortal/components/RequestGrid/RequestGrid.module.scss
T

129 lines
2.0 KiB
SCSS

@import '../../../../styles/design-tokens';
.grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
gap: 14px;
}
.tile {
position: relative;
display: flex;
align-items: center;
gap: 16px;
width: 100%;
padding: 22px 24px;
text-align: left;
background: $white;
border: 1px solid $gray-200;
border-radius: $r-md;
box-shadow: $sh-1;
cursor: pointer;
overflow: hidden;
font-family: $font-sans;
transition: box-shadow .22s, transform .22s, border-color .22s;
&::before {
content: '';
position: absolute;
left: 0;
top: 0;
bottom: 0;
width: 3px;
background: $grad-gold-v;
opacity: 0;
transition: opacity .22s;
}
&:hover {
box-shadow: $sh-3;
transform: translateY(-2px);
border-color: transparent;
}
&:hover::before {
opacity: 1;
}
}
.tileDisabled {
cursor: not-allowed;
background: $gray-50;
&:hover {
box-shadow: $sh-1;
transform: none;
border-color: $gray-200;
}
&:hover::before {
opacity: 0;
}
.tileIcon {
background: $gray-100;
border-color: $gray-200;
color: $gray-400;
}
.tileTitle {
color: $gray-400;
}
}
.tileIcon {
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
width: 44px;
height: 44px;
border-radius: $r-md;
background: $navy-50;
border: 1px solid $navy-100;
color: $navy-700;
transition: background .22s, color .22s, border-color .22s;
.tile:hover & {
background: $gold-50;
border-color: $gold-300;
color: $gold-600;
}
}
.tileBody {
display: flex;
flex-direction: column;
gap: 2px;
min-width: 0;
}
.tileTitle {
font-size: 14.5px;
font-weight: 600;
letter-spacing: .1px;
color: $navy-900;
}
.tileDesc {
font-size: 12px;
color: $gray-400;
}
.tileArrow {
display: flex;
margin-left: auto;
color: $gray-300;
transition: color .22s, transform .22s;
.tile:hover & {
color: $gold-500;
transform: translateX(3px);
}
}
.empty {
color: $gray-500;
font-size: $fs-sm;
}