mirror of
https://github.com/solidtime-io/solidtime.git
synced 2026-05-07 20:32:26 +00:00
44 lines
1.4 KiB
Vue
44 lines
1.4 KiB
Vue
<script setup lang="ts">
|
|
import { computed, useSlots } from 'vue';
|
|
import SectionTitle from './SectionTitle.vue';
|
|
|
|
defineEmits(['submitted']);
|
|
|
|
const hasActions = computed(() => !!useSlots().actions);
|
|
</script>
|
|
|
|
<template>
|
|
<div class="md:grid md:grid-cols-3 md:gap-6">
|
|
<SectionTitle>
|
|
<template #title>
|
|
<slot name="title" />
|
|
</template>
|
|
<template #description>
|
|
<slot name="description" />
|
|
</template>
|
|
</SectionTitle>
|
|
|
|
<div class="mt-5 md:mt-0 md:col-span-2">
|
|
<form @submit.prevent="$emit('submitted')">
|
|
<div
|
|
class="px-4 py-5 bg-card-background sm:p-6 shadow"
|
|
:class="
|
|
hasActions
|
|
? 'sm:rounded-tl-md sm:rounded-tr-md'
|
|
: 'sm:rounded-md'
|
|
">
|
|
<div class="grid grid-cols-6 gap-6">
|
|
<slot name="form" />
|
|
</div>
|
|
</div>
|
|
|
|
<div
|
|
v-if="hasActions"
|
|
class="flex items-center justify-end px-4 py-3 bg-card-background border-t border-card-background-separator text-end sm:px-6 shadow sm:rounded-bl-md sm:rounded-br-md">
|
|
<slot name="actions" />
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</template>
|