aboutsummaryrefslogtreecommitdiff
path: root/resources/vue/components/StudipContentBox.vue
blob: ab5bf9584c20ff267e6b0cba472940af5a0b1933 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<template>
    <section class="contentbox">
        <header v-if="title || $slots.header">
            <slot name="header">
                <h1>
                    <StudipIcon v-if="icon" :shape="icon" />
                    {{ title }}
                </h1>
            </slot>
            <slot name="header-nav">
                <nav v-if="items">
                    <StudipActionMenu :items="items" />
                </nav>
            </slot>
        </header>

        <slot></slot>

        <footer>
            <slot name="footer"></slot>
        </footer>
    </section>
</template>

<script>
import StudipActionMenu from './StudipActionMenu.vue';
import StudipIcon from './StudipIcon.vue';

export default {
    components: { StudipActionMenu, StudipIcon },
    props: {
        icon: {
            type: String,
            required: false,
        },
        items: {
            type: Array,
            required: false,
        },
        title: {
            type: String,
            required: true,
        },
    },
};
</script>