2024-08-26 19:09:43 +00:00
|
|
|
<!-- eslint-disable vue/multi-word-component-names -->
|
2023-09-07 15:43:05 +00:00
|
|
|
<template>
|
|
|
|
|
<button class="button">
|
2024-08-26 19:09:43 +00:00
|
|
|
<slot name="default">
|
2023-09-14 13:54:23 +00:00
|
|
|
<span v-if="icon !== undefined" class="icon">
|
2024-08-26 19:09:43 +00:00
|
|
|
<FontAwesomeIcon
|
|
|
|
|
v-if="icon !== undefined"
|
|
|
|
|
:icon="icon"
|
|
|
|
|
:beat-fade="busy"
|
|
|
|
|
/>
|
2023-09-14 13:54:23 +00:00
|
|
|
</span>
|
2024-08-26 19:09:43 +00:00
|
|
|
</slot>
|
|
|
|
|
<span v-if="text !== undefined">{{ text }}</span>
|
2023-09-07 15:43:05 +00:00
|
|
|
</button>
|
|
|
|
|
</template>
|
|
|
|
|
|
2024-08-26 19:09:43 +00:00
|
|
|
<script setup lang="ts">
|
|
|
|
|
withDefaults(
|
|
|
|
|
defineProps<{
|
|
|
|
|
icon?: string | string[];
|
|
|
|
|
text?: string;
|
|
|
|
|
busy?: boolean;
|
|
|
|
|
}>(),
|
|
|
|
|
{
|
|
|
|
|
busy: false,
|
2023-09-07 15:43:05 +00:00
|
|
|
},
|
2024-08-26 19:09:43 +00:00
|
|
|
);
|
2023-09-07 15:43:05 +00:00
|
|
|
</script>
|