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

44 lines
655 B
Vue
Raw Normal View History

2021-09-29 18:50:45 +03:00
<template>
2023-03-05 13:28:39 +02: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 18:50:45 +03:00
<slot></slot>
</div>
</div>
</template>
2021-12-30 14:47:48 +02:00
<script lang="ts" setup>
2023-01-05 14:04:56 +02:00
defineProps<{
first?: boolean;
}>();
2021-09-29 18:50:45 +03:00
</script>
2023-03-05 13:28:39 +02:00
<style lang="scss" module>
.root {
2021-09-29 18:50:45 +03:00
border-top: solid 0.5px var(--divider);
2023-01-05 14:04:56 +02:00
//border-bottom: solid 0.5px var(--divider);
2023-03-05 13:28:39 +02:00
}
2021-09-29 18:50:45 +03:00
2023-03-05 13:28:39 +02:00
.rootFirst {
border-top: none;
}
2021-11-28 13:07:37 +02:00
2023-03-05 13:28:39 +02:00
.label {
font-weight: bold;
padding: 1.5em 0 0 0;
margin: 0 0 16px 0;
2021-09-29 18:50:45 +03:00
2023-03-05 13:28:39 +02:00
&:empty {
display: none;
2023-01-05 14:04:56 +02:00
}
2023-03-05 13:28:39 +02:00
}
2023-01-05 14:04:56 +02:00
2023-03-05 13:28:39 +02:00
.labelFirst {
padding-top: 0;
}
2023-01-05 14:04:56 +02:00
2023-03-05 13:28:39 +02:00
.main {
margin: 1.5em 0 0 0;
2021-09-29 18:50:45 +03:00
}
</style>