Files
overleaf-cep/services/web/frontend/stylesheets/ds/components/button.scss
Tim Down 5bbc5b2e58 Merge pull request #29900 from overleaf/td-ciam-login
Implement unified access login page

GitOrigin-RevId: 9973565099e1e88dd9d6b232d8f5c545dc73e6f7
2025-12-04 09:06:11 +00:00

129 lines
3.2 KiB
SCSS

@import '../mixins';
.btn.btn-ds {
--bs-btn-font-family: var(--ds-font-family-sans);
--bs-btn-border-radius: var(--ds-border-radius-200);
&:focus-visible {
@include ds-focus-outline;
}
// Default size
@include ol-button-size(
$font-size: var(--ds-font-size-400),
$line-height: var(--ds-font-line-height-600),
$padding-x: var(--ds-spacing-400),
$padding-y: var(--ds-spacing-100)
);
&.btn-lg {
@include ol-button-size(
$font-size: var(--ds-font-size-400),
$line-height: var(--ds-font-line-height-600),
$padding-x: var(--ds-spacing-400),
$padding-y: var(--ds-spacing-250)
);
}
&.btn-sm {
@include ol-button-size(
$font-size: var(--ds-font-size-350),
$line-height: var(--ds-font-line-height-500),
$padding-x: var(--ds-spacing-200),
$padding-y: var(--ds-spacing-100)
);
}
// Variants
&.btn-primary {
@include ol-button-variant(
$color: var(--ds-color-white),
$background: var(--ds-color-neutral-950),
$hover-background: var(--ds-color-neutral-900),
$active-background: var(--ds-color-neutral-800),
$disabled-color: var(--ds-color-neutral-700),
$disabled-background: var(--ds-color-neutral-100)
);
}
&.btn-secondary {
@include ol-button-variant(
$color: var(--ds-color-neutral-950),
$background: var(--ds-color-neutral-200),
$hover-background: var(--ds-color-neutral-300),
$active-background: var(--ds-color-neutral-400),
$disabled-color: var(--ds-color-neutral-700),
$disabled-background: var(--ds-color-neutral-100)
);
}
&.btn-tertiary {
@include ol-button-variant(
$color: var(--ds-color-neutral-950),
$background: var(--ds-color-white),
$hover-background: var(--ds-color-neutral-100),
$active-background: var(--ds-color-neutral-200),
$disabled-color: var(--ds-color-neutral-700),
$disabled-background: var(--ds-color-neutral-100)
);
}
&.btn-danger {
@include ol-button-variant(
$color: var(--ds-color-white),
$background: var(--ds-color-red-700),
$hover-background: var(--ds-color-red-800),
$active-background: var(--ds-color-red-900),
$disabled-color: var(--ds-color-neutral-700),
$disabled-background: var(--ds-color-neutral-100)
);
}
&.button-loading {
.spinner-container {
display: flex;
justify-content: center;
align-items: center;
.loading-spinner-small {
border-width: 0.25em;
height: 1.25rem;
width: 1.25rem;
}
.loading-spinner-large {
border-width: 0.25em;
height: 1.5rem;
width: 1.5rem;
}
.spinner-border {
border-right-color: color-mix(
in srgb,
var(--bs-btn-color) 32%,
var(--bs-btn-bg)
);
}
}
// Hide the text when the spinner is visible
& > [aria-hidden='true'] {
visibility: hidden;
}
}
.button-content {
display: inline-flex;
align-items: center;
gap: var(--ds-spacing-200); // Add gap between text and icons
justify-content: center;
}
.btn-social-icon {
height: 24px;
width: 24px;
padding: var(--ds-spacing-50);
margin: 0;
}
}