mirror of
https://github.com/tenrok/vue-select.git
synced 2026-05-17 02:29:37 +03:00
30 lines
1.1 KiB
Vue
30 lines
1.1 KiB
Vue
<script setup lang="ts">
|
|
defineProps<{
|
|
icon: string
|
|
href: string
|
|
title: string
|
|
}>()
|
|
</script>
|
|
|
|
<template>
|
|
<div
|
|
class="group relative rounded-xl border border-slate-200 dark:border-slate-800"
|
|
>
|
|
<div
|
|
class="absolute -inset-px rounded-xl border-2 border-transparent opacity-0 [background:linear-gradient(var(--quick-links-hover-bg,theme(colors.sky.50)),var(--quick-links-hover-bg,theme(colors.sky.50)))_padding-box,linear-gradient(to_top,theme(colors.indigo.400),theme(colors.cyan.400),theme(colors.sky.500))_border-box] group-hover:opacity-100 dark:[--quick-links-hover-bg:theme(colors.slate.800)]"
|
|
/>
|
|
<div class="relative overflow-hidden rounded-xl p-6">
|
|
<slot name="icon" />
|
|
<h2 class="mt-4 font-display text-base text-slate-900 dark:text-white">
|
|
<NuxtLink :to="href">
|
|
<span class="absolute -inset-px rounded-xl" />
|
|
{{ title }}
|
|
</NuxtLink>
|
|
</h2>
|
|
<p class="mt-1 text-sm text-slate-700 dark:text-slate-400">
|
|
<ContentSlot :use="$slots.default" unwrap="p" />
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</template>
|