<script setup lang="ts">
interface Props {
  href?: string
  download?: boolean | any
}

defineProps<Props>()
</script>

<template>
  <a class="link-button" :href="href" :[download]="download">
    <slot></slot>
  </a>
</template>

<style lang="scss">
.link-button {
  display: block;

  position: relative;
  top: 0;

  background-color: var(--color-button);
  color: var(--color-button-text);

  font-weight: 700;
  text-decoration: none;
  text-align: center;

  margin: 0.5rem 0;
  border-radius: 0.25rem;
  padding: 0.5rem 1rem;

  box-shadow: 0 0.5rem 0 0 var(--color-button-box-shadow);

  transition: all 0.1s ease-out;

  &:hover {
    cursor: pointer;
    top: -0.25rem;
    box-shadow: 0 0.75rem 0 0 var(--color-button-box-shadow);
  }

  &:active {
    top: 0.25rem;
    box-shadow: 0 0.25rem 0 0 var(--color-button-box-shadow);
  }
}
</style>
