<template>
<div class="ui-card" :class="{ shadow: $store.state.settings.useShadow }">
	<header>
		<slot name="title"></slot>
	</header>

	<slot></slot>
</div>
</template>

<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
	provide() {
		return {
			isCardChild: true
		};
	}
});
</script>

<style lang="stylus" scoped>
.ui-card
	margin 16px
	max-width 850px
	color var(--faceText)
	background var(--face)
	border-radius var(--round)

	&.shadow
		box-shadow 0 3px 1px -2px rgba(#000, 0.2), 0 2px 2px 0 rgba(#000, 0.14), 0 1px 5px 0 rgba(#000, 0.12)

	> header
		padding 16px
		font-weight bold
		font-size 20px
		color var(--faceText)

		@media (min-width 500px)
			padding 24px 32px

	> section
		padding 20px 16px
		border-top solid 1px var(--faceDivider)

		@media (min-width 500px)
			padding 32px

		&.fit-top
			padding-top 0

		&.fit-bottom
			padding-bottom 0

		> header
			margin-bottom 16px
			font-weight bold
			color var(--faceText)
</style>