Files
cyberduck/src/styles/components/_forms.scss
2026-03-09 16:43:24 +01:00

92 lines
1.9 KiB
SCSS

@use '../variables' as vars;
@use '../mixins' as mixins;
// Basic form controls styling for CyberDuck
form,
.form-control,
.form-select {
font-family: vars.$cyberduck-font-body;
background-color: var(--cyberduck-void-500);
color: var(--color-text-primary);
border: 1px solid var(--color-border-default);
border-radius: 6px;
}
.form-control:focus,
.form-select:focus {
outline: none;
box-shadow:
0 0 10px rgb(var(--color-variant-primary, 255, 211, 0), 0.08),
0 0 18px var(--color-variant-primary);
border-color: var(--color-variant-primary);
}
label {
font-family: vars.$cyberduck-font-display;
font-variant-caps: small-caps;
color: var(--color-text-secondary);
font-size: 0.85rem;
letter-spacing: 0.04em;
}
// Apply chamfered container style to form-group wrapper only
.form-group {
// keep existing simple group styling for generic use
}
// Treat a label combined with an input/select as a single chamfered card
.form-group:has(> label + .form-control),
.form-group:has(> label + .form-select) {
@include mixins.cd-chamfered-container;
padding: 0.5rem;
display: flex;
flex-direction: column;
gap: 0.25rem;
> label {
margin: 0;
background: transparent;
padding: 0 0.25rem;
color: var(--color-text-secondary);
}
> .form-control,
> .form-select {
border: none;
background-color: transparent;
box-shadow: none;
margin: 0;
padding: 0.5rem;
border-radius: 0;
}
}
// Treat input groups as a single chamfered card
.input-group {
@include mixins.cd-chamfered-container;
display: flex;
align-items: center;
gap: 0;
padding: 0.125rem;
> .form-control,
> .form-select {
border: none;
background-color: transparent;
box-shadow: none;
margin: 0;
padding: 0.5rem 0.75rem;
border-radius: 0;
flex: 1 1 auto;
}
> .input-group-text {
background: transparent;
border: none;
padding: 0 0.5rem;
color: var(--color-text-primary);
}
}