@geoffcox/sterling-svelte-themes
Version:
A modern theme for the sterling-svelte component library.
98 lines (83 loc) • 2.12 kB
CSS
.sterling-tab {
align-content: center;
align-items: center;
appearance: none;
background-color: var(--stsv-common__background-color);
border-color: transparent;
border-radius: 8px;
border-style: solid;
border-width: 0;
box-sizing: border-box;
color: var(--stsv-common__color);
cursor: pointer;
display: grid;
font: inherit;
overflow: hidden;
padding: 0.5em 1em 0.25em 1em;
position: relative;
text-decoration: none;
text-overflow: ellipsis;
transition:
background-color 250ms,
color 250ms,
border-color 250ms;
white-space: nowrap;
}
.sterling-tab:not(.vertical) {
grid-template-columns: 1fr;
grid-template-rows: 1fr 1em;
justify-content: center;
justify-items: center;
row-gap: 0.15em;
}
.sterling-tab.vertical {
grid-template-columns: 1fr 1em;
grid-template-rows: 1fr;
justify-content: flex-start;
justify-items: flex-start;
align-content: center;
align-items: center;
column-gap: 0.15em;
padding: 0.25em 1em;
}
.sterling-tab.using-keyboard:focus-visible {
outline-color: var(--stsv-common__outline-color);
outline-offset: 0;
outline-style: solid;
outline-width: var(--stsv-common__outline-width);
}
/* ----- content -----*/
.sterling-tab .content {
padding: 0 0.2em;
}
/* ----- indicator -----*/
.sterling-tab .indicator {
background-color: transparent;
border-radius: 10000px;
transition: background-color 250ms;
}
.sterling-tab:not(.vertical) .indicator {
justify-self: stretch;
height: 0.4em;
}
.sterling-tab.vertical .indicator {
align-self: stretch;
width: 0.4em;
}
.sterling-tab:not(:disabled):not(.selected):not(:active):hover .indicator {
background-color: var(--stsv-common__color--subtle);
}
.sterling-tab:not(:disabled):active .indicator {
background-color: var(--stsv-input__border-color--selected);
}
.sterling-tab:not(:disabled).selected .indicator {
background-color: var(--stsv-input__border-color--selected);
}
/* ----- reduced motion -----*/
@media (prefers-reduced-motion) {
.sterling-tab,
.sterling-tab::after,
.sterling-tab .indicator {
transition: none;
}
}