blob: 551bdf72bfadf4b25039bbc7962413096f61fed8 [file] [log] [blame]
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
<template>
<div>
<div class="rk-sidebox-backdrop" v-show="show" @click="handleHide"></div>
<aside class="rk-sidebox" :style="show?`width:${width};${right ? 'right:0' : 'left:0'}`:`width:${width};${right ? 'right' : 'left'}:-${width}`">
<h3 class="rk-sidebox-title">{{this.title}}
<div class="r rk-sidebox-close" @click="handleHide">
<svg class="icon">
<use xlink:href="#close"></use>
</svg>
</div>
</h3>
<div class="rk-sidebox-inner">
<slot/>
</div>
</aside>
</div>
</template>
<script lang="js"> // tslint:disable
export default {
name: 'RkSidebox',
props: {
show: {},
title: {
default: '',
},
right: {
default: false,
},
width: {
default: '550px',
},
},
methods: {
handleHide() {
this.$emit('update:show', false);
},
},
};
</script>
<style lang="scss">
.rk-sidebox-backdrop{
position: fixed;
top: 50px;
left: 0;
bottom: 0;
right: 0;
background-color: rgba(31, 33, 38, 0.2);
z-index: 199;
}
.rk-sidebox{
overflow-y: auto;
transition: all .3s;
position: fixed;
right: 0;
top: 50px;
bottom: 0;
z-index: 200;
background-color: #fff;
}
.rk-sidebox-inner{
padding: 35px 20px 20px;
}
.rk-sidebox-title {
font-size: 16px;
position: absolute;
width: 100%;
padding: 0 20px;
line-height: 20px;
}
.rk-sidebox-close{
cursor: pointer;
color: #D8D8D8;
transition: color .3s;
.icon{
width: 18px;
height: 20px;
}
&:hover{
color: #3D92FF;
}
}
.rk-sidebox-magnify{
cursor: pointer;
color: #D8D8D8;
transition: color .3s;
.icon{
width: 18px;
height: 20px;
}
&:hover{
color: #3D92FF;
}
}
</style>