Files
market_screener/ui/src/styles/_buttons.scss
T
2026-06-09 19:34:31 -04:00

130 lines
3.4 KiB
SCSS
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// ── Shared placeholders ───────────────────────────────────────────────────
%btn-disabled {
opacity: 0.45;
cursor: default;
}
%btn-inline-flex {
display: inline-flex;
align-items: center;
justify-content: center;
}
// ── Button base reset ─────────────────────────────────────────────────────
button {
cursor: pointer;
font-family: inherit;
font-size: var(--fs-md);
font-weight: 600;
border: none;
border-radius: var(--radius-md);
padding: 10px 18px;
white-space: nowrap;
transition: background var(--transition), opacity var(--transition), color var(--transition);
&:disabled { @extend %btn-disabled; }
}
// ── btn-primary (blue filled — " New Call", "Save Call") ───────────────
.btn-primary {
@extend %btn-inline-flex;
background: var(--blue-dark);
color: #fff;
gap: 8px;
&:hover:not(:disabled) { background: var(--blue-darker); }
&:disabled { opacity: 0.5; }
}
// ── btn-catalyst (blue filled — "📰 Today Market") ──────────────────────
.btn-catalyst {
@extend %btn-inline-flex;
background: var(--blue-dark);
color: #fff;
gap: 6px;
padding: 10px 20px;
&:hover:not(:disabled) { background: var(--blue-darker); }
}
// ── btn-ghost (dark border — "🔍 Search tickers") ───────────────────────
.btn-ghost {
background: var(--bg-card);
color: var(--text-dim);
border: 1px solid var(--border-input);
font-size: 12px;
padding: 8px 14px;
&:hover { background: #263347; color: var(--text-muted); }
}
// ── btn-screen (muted blue — "Screen" inside search row) ────────────────
.btn-screen {
@extend %btn-inline-flex;
background: var(--blue-surface);
color: var(--blue-muted);
border: 1px solid var(--blue-surface);
min-width: 80px;
&:hover:not(:disabled) { background: #163356; }
}
// ── btn-glossary (ghost — "? Glossary" in section header) ──────────────
.btn-glossary {
@extend %btn-inline-flex;
background: transparent;
color: var(--text-faint);
border: 1px solid var(--border);
font-size: var(--fs-sm);
font-weight: 500;
letter-spacing: 0.03em;
padding: 4px 11px;
border-radius: var(--radius-sm);
white-space: nowrap;
transition: color 0.15s ease, background 0.15s ease, border-color 0.15s ease;
&:hover {
color: var(--text-muted);
background: var(--bg-card);
border-color: var(--border-input);
}
&.btn-glossary-active {
color: #60a5fa;
background: #1e3a5f22;
border-color: #1e3a5f88;
}
}
// ── btn-analyze (ghost blue — "✦ Analyze" in section header) ────────────
.btn-analyze {
@extend %btn-inline-flex;
background: transparent;
color: #7c93b0;
border: 1px solid var(--border);
font-size: var(--fs-sm);
font-weight: 600;
letter-spacing: 0.04em;
padding: 4px 12px;
border-radius: var(--radius-sm);
gap: 5px;
margin-left: 8px;
white-space: nowrap;
&:hover:not(:disabled) {
background: var(--blue-deep);
color: #93c5fd;
border-color: var(--blue-surface);
}
&:disabled { @extend %btn-disabled; opacity: 0.4; }
}