open-design/packages/components/src/button.module.css

75 lines
1.4 KiB
CSS

.button {
font: inherit;
color: var(--text);
background: var(--bg-panel);
border: 1px solid var(--border);
border-radius: var(--radius-sm);
padding: 6px 12px;
cursor: pointer;
transition: background 120ms ease, border-color 120ms ease, color 120ms ease, box-shadow 120ms ease;
}
.button:hover:not(:disabled) {
background: var(--bg-subtle);
border-color: var(--border-strong);
}
.button:focus-visible {
outline: 2px solid var(--accent);
outline-offset: 2px;
}
.primary {
background: var(--accent);
border-color: var(--accent);
color: white;
font-weight: 500;
box-shadow: 0 1px 0 rgba(180, 90, 59, 0.18) inset, var(--shadow-xs);
}
.primary:hover:not(:disabled) {
background: var(--accent-hover);
border-color: var(--accent-hover);
}
.primaryGhost {
background: var(--bg-panel);
border-color: var(--accent);
color: var(--accent);
font-weight: 500;
}
.primaryGhost:hover:not(:disabled) {
background: var(--accent-tint);
}
.ghost {
background: transparent;
border-color: var(--border);
color: var(--text);
}
.ghost:hover:not(:disabled) {
background: var(--bg-subtle);
border-color: var(--border-strong);
}
.subtle {
background: var(--bg-subtle);
border-color: transparent;
color: var(--text);
}
.subtle:hover:not(:disabled) {
background: var(--bg-muted);
}
.icon {
padding: 6px 10px;
font-size: 13px;
}
.button:disabled {
opacity: 0.5;
cursor: not-allowed;
}