60 lines
1.0 KiB
SCSS
60 lines
1.0 KiB
SCSS
// Common mixins for the project
|
|
|
|
// Flexbox center
|
|
@mixin flex-center {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: center;
|
|
}
|
|
|
|
// Flexbox column
|
|
@mixin flex-column {
|
|
display: flex;
|
|
flex-direction: column;
|
|
}
|
|
|
|
// Truncate text with ellipsis
|
|
@mixin text-ellipsis {
|
|
overflow: hidden;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
// Visually hidden (accessible)
|
|
@mixin visually-hidden {
|
|
position: absolute;
|
|
width: 1px;
|
|
height: 1px;
|
|
padding: 0;
|
|
margin: -1px;
|
|
overflow: hidden;
|
|
clip: rect(0, 0, 0, 0);
|
|
white-space: nowrap;
|
|
border: 0;
|
|
}
|
|
|
|
// Reset button styles
|
|
@mixin reset-button {
|
|
padding: 0;
|
|
border: none;
|
|
background: none;
|
|
cursor: pointer;
|
|
font: inherit;
|
|
color: inherit;
|
|
}
|
|
|
|
// Reset list styles
|
|
@mixin reset-list {
|
|
margin: 0;
|
|
padding: 0;
|
|
list-style: none;
|
|
}
|
|
|
|
|
|
@mixin transparent-color($color, $transparency: 50%) {
|
|
color: color-mix(in srgb, $color $transparency, transparent);
|
|
}
|
|
|
|
@mixin transparent-bg($color, $transparency: 50%) {
|
|
background-color: color-mix(in srgb, $color $transparency, transparent);
|
|
} |