Files
gsap-carousel/src/shared/ui/Button/Button.module.scss

108 lines
1.4 KiB
SCSS
Raw Normal View History

.button {
2025-11-24 12:22:02 +03:00
display: inline-flex;
justify-content: center;
align-items: center;
2025-11-24 12:22:02 +03:00
padding: 0;
2025-11-24 12:22:02 +03:00
font-family: var(--font-family-main);
2025-11-24 12:22:02 +03:00
border: none;
2025-11-24 12:22:02 +03:00
background: transparent;
2025-11-24 12:22:02 +03:00
outline: none;
2025-11-24 12:22:02 +03:00
cursor: pointer;
2025-11-24 12:22:02 +03:00
transition: all 0.3s ease;
2025-11-24 12:22:02 +03:00
&:disabled {
cursor: not-allowed;
2025-11-24 12:22:02 +03:00
opacity: 0.5;
}
2025-11-24 12:22:02 +03:00
// Variants
&.round {
border-radius: 50%;
aspect-ratio: 1;
}
2025-11-24 12:22:02 +03:00
&.regular {
padding: 0.5em 1em;
2025-11-24 12:22:02 +03:00
border-radius: 1em;
}
2025-11-24 12:22:02 +03:00
// Sizes
&.small {
height: 40px;
2025-11-24 12:22:02 +03:00
font-size: 14px;
2025-11-24 12:22:02 +03:00
@media (width <=768px) {
height: 20px;
}
2025-11-24 12:22:02 +03:00
}
2025-11-24 12:22:02 +03:00
&.medium {
height: 50px;
2025-11-24 12:22:02 +03:00
font-size: 18px;
2025-11-24 12:22:02 +03:00
@media (width <=768px) {
height: 25px;
}
2025-11-24 12:22:02 +03:00
}
2025-11-24 12:22:02 +03:00
&.large {
height: 60px;
2025-11-24 12:22:02 +03:00
font-size: 24px;
2025-11-24 12:22:02 +03:00
@media (width <=768px) {
height: 30px;
}
2025-11-24 12:22:02 +03:00
}
2025-11-24 12:22:02 +03:00
// Color Schemes
&.primary {
$color-primary: var(--color-primary);
color: $color-primary;
2025-11-24 12:22:02 +03:00
border: 1px solid $color-primary;
2025-11-24 12:22:02 +03:00
background-color: transparent;
2025-11-24 12:22:02 +03:00
&:hover:not(:disabled) {
background-color: var(--color-white);
}
2025-11-24 12:22:02 +03:00
}
2025-11-24 12:22:02 +03:00
&.secondary {
$color-blue: var(--color-blue);
color: $color-blue;
2025-11-24 12:22:02 +03:00
background-color: var(--color-white);
2025-11-24 12:22:02 +03:00
box-shadow: 0 0 15px rgb($color-blue / 10%);
}
2025-11-24 12:22:02 +03:00
// Icon handling
.icon {
display: flex;
justify-content: center;
align-items: center;
2025-11-24 12:22:02 +03:00
width: 100%;
height: 100%;
2025-11-24 12:22:02 +03:00
svg {
width: 40%;
height: 40%;
2025-11-24 12:22:02 +03:00
object-fit: contain;
}
2025-11-24 12:22:02 +03:00
}
}