2
0
mirror of https://github.com/tenrok/vue-select.git synced 2026-06-19 09:50:33 +03:00
This commit is contained in:
Jeff Sagal
2022-07-26 22:04:12 -07:00
parent 98c278b2bb
commit 6d59e6fd02
122 changed files with 6151 additions and 9892 deletions
+31
View File
@@ -0,0 +1,31 @@
<script setup lang="ts">
import { computed, useAttrs } from "#imports";
import { NuxtLink } from "#components";
const props = withDefaults(
defineProps<{
variant?: "primary" | "secondary";
}>(),
{
variant: "primary",
}
);
const styles = computed(
() =>
({
primary:
"rounded-full bg-sky-300 py-2 px-4 text-sm font-semibold text-slate-900 hover:bg-sky-200 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-sky-300/50 active:bg-sky-500",
secondary:
"rounded-full bg-slate-800 py-2 px-4 text-sm font-medium text-white hover:bg-slate-700 focus:outline-none focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white/50 active:text-slate-400",
}[props.variant])
);
const hasTo = computed<boolean>(() => Object.keys(useAttrs()).includes("to"));
const component = computed(() => (hasTo.value ? NuxtLink : "button"));
</script>
<template>
<Component :is="component" :class="styles"><slot></slot></Component>
</template>