UI: Style tabs component
This commit is contained in:
parent
c3d0e71439
commit
30b734712c
@ -8,38 +8,45 @@ provide("selectedTitle", selectedTitle);
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div>
|
<nav>
|
||||||
<ul class="tabs-header">
|
<ul class="tabs-header">
|
||||||
<li
|
<li
|
||||||
v-for="title in tabTitles"
|
v-for="title in tabTitles"
|
||||||
:key="title"
|
:key="title"
|
||||||
class="tab-item"
|
class="tab-item"
|
||||||
:class="{ selected: selectedTitle === title }"
|
:class="{ active: selectedTitle === title }"
|
||||||
@click="selectedTitle = title"
|
@click="selectedTitle = title"
|
||||||
>
|
>
|
||||||
{{ title }}
|
{{ title }}
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
<slot />
|
<slot />
|
||||||
</div>
|
</nav>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped>
|
||||||
|
nav {
|
||||||
|
margin: var(--spacer-sm) 0;
|
||||||
|
}
|
||||||
|
|
||||||
.tabs-header {
|
.tabs-header {
|
||||||
list-style: none;
|
align-items: center;
|
||||||
padding: 0;
|
|
||||||
margin: 0;
|
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
gap: var(--spacer);
|
||||||
gap: 5px;
|
list-style: none;
|
||||||
}
|
}
|
||||||
.tab-item {
|
.tab-item {
|
||||||
flex: 1;
|
border-bottom: var(--border-width) solid transparent;
|
||||||
padding: 5px 0;
|
color: var(--color-text-hint);
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
|
padding: var(--spacer-sm) 0;
|
||||||
|
transition: border-color var(--transition-speed) ease-in-out, color var(--transition-speed) ease-in-out;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
}
|
}
|
||||||
.tab-item.selected {
|
|
||||||
border-bottom: 1px solid white;
|
.tab-item:hover,
|
||||||
|
.tab-item.active {
|
||||||
|
border-color: var(--color-text);
|
||||||
|
color: var(--color-text);
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user