You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
willaengine/resources/js/Global/components/Inputs/Link-Button.vue

124 lines
3.4 KiB

4 years ago
<template>
<button :disabled="disabled" :type="type" :class="`link-button ${theme}`">
<div class="overlay"></div>
4 years ago
<div v-if="prepend_icon != ''" class="prepend-icon">
4 years ago
<v-icon>WMi-{{ prepend_icon }}</v-icon>
</div>
<div class="name">
<div class="Fa"> {{ title_fa }} </div>
</div>
</button>
</template>
<script>
export default {
props: {
theme: {default: 'theme-black'},
prepend_icon: {default: ''},
title_fa: {default: 'عنوان دکمه'},
disabled: {default: false},
type: {default: 'button'},
},
}
</script>
<style lang="scss" scoped>
.link-button {
position: relative;
display: flex;
justify-content: right;
padding: 5px 35px 5px 35px;
min-width: 200px;
align-items: center;
cursor: pointer;
margin-bottom: 10px;
-webkit-transform: translateZ(0);
transform: translateZ(0);
-webkit-transition: all 1000ms;
transition: all 1000ms;
color: #383838;
text-align: right;
border-radius: 5px;
}
4 years ago
.link-button .prepend-icon .v-icon {
4 years ago
font-size: 22px;
transition: color 0.3s;
}
.link-button .name {
transition: color 0.3s;
}
.link-button .name .Fa {
font-size: 14px;
}
.link-button:before {
content: "";
position: absolute;
z-index: -1;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: var(--color-black);
-webkit-transform: scaleX(0);
transform: scaleX(0);
-webkit-transform-origin: 100% 50%;
transform-origin: 100% 50%;
-webkit-transition-property: transform;
transition-property: transform;
-webkit-transition: 300ms cubic-bezier(1, 0, 0, 1);
transition: 300ms cubic-bezier(1, 0, 0, 1);
border-radius: 5px;
}
/*----------------------------------------------------*/
/* Colors */
/*----------------------------------------------------*/
@import "resources/js/Global/scss/_vars.scss";
@each $color,
$value in $colors {
4 years ago
.link-button.theme-#{$color} .name, .link-button.theme-#{$color} .prepend-icon .v-icon {
4 years ago
color: $value;
}
}
@each $color,
$value in $colors {
.link-button.theme-#{$color}:before {
background-color: $value;
}
}
4 years ago
/*----------------------------------------------------*/
/* Misc */
/*----------------------------------------------------*/
.link-button.name-mr-2 .name {
margin-right: 10px;
}
4 years ago
/*----------------------------------------------------*/
/* Hover State */
/*----------------------------------------------------*/
.link-button:hover {
-webkit-box-shadow: 0 10px 30px 0px rgba(255, 255, 255, 0.2) !important;
}
.link-button:hover:before {
-webkit-transform: scaleX(1);
transform: scaleX(1);
}
.link-button:hover .name {
color: var(--color-white);
}
4 years ago
.link-button:hover .left-icon .v-icon, .link-button:hover .prepend-icon .v-icon {
4 years ago
color: var(--color-white);
}
.link-button.flat {
-webkit-box-shadow: none;
box-shadow: none;
}
</style>