102 lines
2.2 KiB
Vue
102 lines
2.2 KiB
Vue
<template>
|
|
<div class="select-section">
|
|
<div class="header">
|
|
<span class="label">{{name}}</span>
|
|
<div class="arrow">
|
|
<img
|
|
class="icon"
|
|
src="data:image/svg+xml,%3csvg width='14' height='8' viewBox='0 0 14 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3e %3cpath d='M12.8334 1.08337L7.00008 6.91671L1.16675 1.08337' stroke='white' stroke-linecap='round' stroke-linejoin='round' /%3e %3c/svg%3e"
|
|
/>
|
|
</div>
|
|
</div>
|
|
<div class="sc-eCApnc fAVkeA content">
|
|
<span class="noSelect">{{noSelect}}</span>
|
|
<div class="chooseBtn">
|
|
<button class="general-btn">
|
|
<span>{{btnName}}</span>
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
<script lang="ts">
|
|
import { Component, Prop, Vue } from 'vue-property-decorator'
|
|
|
|
@Component({
|
|
name: 'SelectSection',
|
|
components: {
|
|
}
|
|
})
|
|
export default class extends Vue {
|
|
@Prop() private name!: string;
|
|
@Prop() private btnName!: string;
|
|
@Prop() private noSelect!: string;
|
|
}
|
|
</script>
|
|
<style lang="scss" scoped>
|
|
.select-section {
|
|
display: flex;
|
|
flex-direction: column;
|
|
padding: 1em 0;
|
|
border-bottom: 1px solid #5b3dcb;
|
|
max-width: 100%;
|
|
}
|
|
.select-section .header {
|
|
display: flex;
|
|
flex-direction: row;
|
|
}
|
|
.select-section .header .label {
|
|
display: flex;
|
|
flex: 1;
|
|
font-weight: bold;
|
|
font-size: 0.875em;
|
|
color: rgba(188, 173, 242, 1);
|
|
}
|
|
.select-section .header .arrow {
|
|
display: flex;
|
|
}
|
|
.select-section .header .arrow .icon {
|
|
transform: rotate(180deg);
|
|
transition: all 0.3s;
|
|
}
|
|
.select-section .header .arrow .icon.collapsed {
|
|
transform: rotate(0deg);
|
|
}
|
|
|
|
.select-section .content {
|
|
transition: all 0.3s;
|
|
display: flex;
|
|
flex-direction: column;
|
|
opacity: 1;
|
|
margin-top: 1em;
|
|
}
|
|
.select-section .content.collapsed {
|
|
opacity: 0;
|
|
overflow: hidden;
|
|
height: 0;
|
|
margin-top: 0;
|
|
}
|
|
|
|
.select-section .content .noSelect {
|
|
margin-left: 0.375em;
|
|
margin-bottom: 1.25em;
|
|
font-weight: bold;
|
|
font-size: 0.75em;
|
|
color: #bcadf2;
|
|
height: 1.875em;
|
|
}
|
|
.select-section .content .chooseBtn {
|
|
width: 100%;
|
|
}
|
|
.select-section .content .chooseBtn button {
|
|
width: 100%;
|
|
height: 3.4375em;
|
|
font-size: inherit;
|
|
line-height: inherit;
|
|
}
|
|
|
|
.select-section .content .chooseBtn button span {
|
|
font-size: 0.875em;
|
|
}
|
|
</style>
|