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

60 lines
975 B
Vue
Raw Normal View History

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