@tolokoban/ui
Version:
React components with theme
85 lines (75 loc) • 1.86 kB
CSS
.Tabs {
--custom-color-back: var(--theme-color-neutral-2);
--custom-color-text: var(--theme-color-on-neutral-2);
--custom-color-highlight-back: var(--theme-color-primary-5);
--custom-color-highlight-text: var(--theme-color-on-primary-5);
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: stretch;
gap: 0;
margin: 0.25em;
}
.Tabs.vertical {
flex-direction: row;
}
.Tabs > header {
flex: 0 0 auto;
display: flex;
flex-direction: row;
justify-content: flex-start;
align-items: stretch;
flex-wrap: wrap-reverse;
padding: 0;
}
.Tabs.vertical > header {
/* flex-direction: column; */
writing-mode: vertical-rl;
text-orientation: mixed;
}
.Tabs > header > div {
background: var(--custom-color-back);
color: var(--custom-color-text);
border-top: 2px solid var(--custom-color-highlight-back);
border-radius: 2px 2px 0 0;
font-weight: bold;
}
.Tabs > header > button {
all: inherit;
display: inline-block;
cursor: pointer;
transition: all 0.2s;
opacity: 0.6;
}
.Tabs > header > button:hover,
.Tabs > header > button:active {
background: var(--custom-color-highlight-back);
color: var(--custom-color-highlight-text);
}
.Tabs > header > button,
.Tabs > header > div {
margin: 0;
padding: 0 0.5em;
display: grid;
place-items: center;
height: 2em;
max-height: 2em;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
}
.Tabs.vertical > header > button,
.Tabs.vertical > header > div {
writing-mode: vertical-rl;
text-orientation: mixed;
}
.Tabs > main {
flex: 1 1 auto;
padding: 0.5em;
background: linear-gradient(
to bottom,
var(--custom-color-back),
transparent
);
color: var(--custom-color-text);
}