egirlskey/packages/frontend/src/components/form/section.vue

49 lines
766 B
Vue
Raw Normal View History

<!--
SPDX-FileCopyrightText: syuilo and other misskey contributors
SPDX-License-Identifier: AGPL-3.0-only
-->
2021-09-29 15:50:45 +00:00
<template>
2023-03-05 11:28:39 +00:00
<div :class="[$style.root, { [$style.rootFirst]: first }]">
<div :class="[$style.label, { [$style.labelFirst]: first }]"><slot name="label"></slot></div>
<div :class="$style.main">
2021-09-29 15:50:45 +00:00
<slot></slot>
</div>
</div>
</template>
2021-12-30 12:47:48 +00:00
<script lang="ts" setup>
2023-01-05 12:04:56 +00:00
defineProps<{
first?: boolean;
}>();
2021-09-29 15:50:45 +00:00
</script>
2023-03-05 11:28:39 +00:00
<style lang="scss" module>
.root {
2021-09-29 15:50:45 +00:00
border-top: solid 0.5px var(--divider);
2023-01-05 12:04:56 +00:00
//border-bottom: solid 0.5px var(--divider);
2023-03-05 11:28:39 +00:00
}
2021-09-29 15:50:45 +00:00
2023-03-05 11:28:39 +00:00
.rootFirst {
border-top: none;
}
2021-11-28 11:07:37 +00:00
2023-03-05 11:28:39 +00:00
.label {
font-weight: bold;
padding: 1.5em 0 0 0;
margin: 0 0 16px 0;
2021-09-29 15:50:45 +00:00
2023-03-05 11:28:39 +00:00
&:empty {
display: none;
2023-01-05 12:04:56 +00:00
}
2023-03-05 11:28:39 +00:00
}
2023-01-05 12:04:56 +00:00
2023-03-05 11:28:39 +00:00
.labelFirst {
padding-top: 0;
}
2023-01-05 12:04:56 +00:00
2023-03-05 11:28:39 +00:00
.main {
margin: 1.5em 0 0 0;
2021-09-29 15:50:45 +00:00
}
</style>