Sharkey/src/client/app/common/views/components/ui/card.vue

60 lines
988 B
Vue
Raw Normal View History

2018-06-14 07:52:37 +02:00
<template>
2018-10-18 23:57:57 +02:00
<div class="ui-card" :class="{ shadow: $store.state.settings.useShadow }">
2018-06-14 07:52:37 +02:00
<header>
<slot name="title"></slot>
</header>
<slot></slot>
</div>
</template>
<script lang="ts">
import Vue from 'vue';
2018-06-14 11:53:02 +02:00
export default Vue.extend({
provide() {
return {
isCardChild: true
};
}
});
2018-06-14 07:52:37 +02:00
</script>
<style lang="stylus" scoped>
2018-09-27 10:29:57 +02:00
.ui-card
2018-06-14 11:53:02 +02:00
margin 16px
2018-11-29 08:24:02 +01:00
max-width 850px
2018-09-27 10:29:57 +02:00
color var(--faceText)
2018-09-26 13:28:13 +02:00
background var(--face)
2018-10-18 23:57:57 +02:00
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)
2018-06-14 09:48:49 +02:00
2018-06-14 07:52:37 +02:00
> header
2018-09-05 06:47:26 +02:00
padding 16px
font-weight bold
font-size 20px
2018-09-27 10:29:57 +02:00
color var(--faceText)
2018-06-14 14:38:39 +02:00
2018-09-05 06:47:26 +02:00
@media (min-width 500px)
padding 24px 32px
> section
padding 20px 16px
2018-12-30 06:00:57 +01:00
border-top solid var(--lineWidth) var(--faceDivider)
2018-09-05 06:47:26 +02:00
@media (min-width 500px)
padding 32px
&.fit-top
padding-top 0
2018-11-05 23:22:39 +01:00
&.fit-bottom
padding-bottom 0
2018-09-05 06:47:26 +02:00
> header
margin-bottom 16px
font-weight bold
2018-09-27 10:29:57 +02:00
color var(--faceText)
2018-06-14 07:52:37 +02:00
</style>