22 lines
607 B
Vue
22 lines
607 B
Vue
<script setup lang="ts">
|
|
defineProps<{ title?: string; padded?: boolean }>()
|
|
</script>
|
|
|
|
<template>
|
|
<div class="app-card">
|
|
<div v-if="title || $slots.header || $slots.actions" class="app-card__header">
|
|
<slot name="header">
|
|
<div class="app-card__header-row">
|
|
<h3 v-if="title" class="app-card__title">{{ title }}</h3>
|
|
<div v-if="$slots.actions" class="app-card__actions">
|
|
<slot name="actions" />
|
|
</div>
|
|
</div>
|
|
</slot>
|
|
</div>
|
|
<div :class="padded ? 'app-card__body--padded' : ''">
|
|
<slot />
|
|
</div>
|
|
</div>
|
|
</template>
|