diff options
| author | Leonardo Bishop <me@leonardobishop.com> | 2024-02-15 14:01:30 +0000 |
|---|---|---|
| committer | Leonardo Bishop <me@leonardobishop.com> | 2024-02-15 14:01:30 +0000 |
| commit | 2aca4247c5d0c7061a300517178dd31316b65fab (patch) | |
| tree | 10e145c2b57d76c778bdf1a11191495dcfe191f3 /src/components/Control/Button.vue | |
Initial commit
Diffstat (limited to 'src/components/Control/Button.vue')
| -rw-r--r-- | src/components/Control/Button.vue | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/src/components/Control/Button.vue b/src/components/Control/Button.vue new file mode 100644 index 0000000..044cca1 --- /dev/null +++ b/src/components/Control/Button.vue @@ -0,0 +1,54 @@ +<script setup lang="ts"> +defineProps({ + type: { + type: String, + required: false, + default: 'text', + }, + label: String, + icon: Array<String>, +}); +</script> + +<template> + <a id="button" :class="{text: type === 'text', solid: type === 'solid'}" > + <font-awesome-icon :icon="icon" /> + {{ label }} + </a> +</template> + +<style scoped> +#button { + display: flex; + align-items: center; + gap: 0.25rem; + user-select: none; +} + +.text { + background-color: transparent; + color: var(--color-text-primary); + transition: color 0.3s; + font-weight: 700; + cursor: pointer; +} + +.solid { + background-color: var(--color-primary); + transition: background-color 0.3s; + color: var(--color-text); + padding: 0.25rem 0.5rem; + border-radius: 4px; + font-weight: 700; + cursor: pointer; +} + +.text:hover { + color: var(--color-primary-dark); +} + +.solid:hover { + background-color: var(--color-primary-dark); +} + +</style>
\ No newline at end of file |
