DigitalConsumer.FixMyGlass/src/ux-components/list-button/list-button.vue
2021-12-08 21:00:37 -05:00

53 lines
1.1 KiB
Vue

<template>
<div class="d-flex flex-column w-100">
<button
class="
btn
list-button
d-flex
align-items-center
justify-content-between
py-3
px-4
"
@click="displayComponent"
v-bind:class="[this.isError ? 'error' : '']"
>
<span class="m-0">{{ this.buttonText }}</span>
<loader
v-if="display"
v-bind:style="{ width: `${sizeInRem}rem`, height: `${sizeInRem}rem` }"
v-bind:class="[this.loaderColor, this.loaderPosition]"
/>
</button>
<label class="small mt-1">{{ this.errorText }}</label>
</div>
</template>
<script>
import loader from "@/ux-components/loader/loader";
export default {
name: "listButton",
props: {
buttonText: String,
errorText: String,
loaderColor: String,
loaderPosition: String,
sizeInRem: [Number, String],
},
data() {
return {
display: false,
isError: false,
};
},
methods: {
displayComponent() {
this.display = true;
},
},
components: {
loader,
},
};
</script>