42 lines
1.6 KiB
Vue
42 lines
1.6 KiB
Vue
|
<!--
|
||
|
This example requires some changes to your config:
|
||
|
|
||
|
```
|
||
|
// tailwind.config.js
|
||
|
module.exports = {
|
||
|
// ...
|
||
|
plugins: [
|
||
|
// ...
|
||
|
require('@tailwindcss/forms'),
|
||
|
],
|
||
|
}
|
||
|
```
|
||
|
-->
|
||
|
<template>
|
||
|
<div>
|
||
|
<div class="sm:hidden">
|
||
|
<label for="tabs" class="sr-only">Select a tab</label>
|
||
|
<!-- Use an "onChange" listener to redirect the user to the selected tab URL. -->
|
||
|
<select id="tabs" name="tabs" class="block w-full rounded-md border-gray-300 focus:border-indigo-500 focus:ring-indigo-500">
|
||
|
<option v-for="tab in tabs" :key="tab.name" :selected="tab.current">{{ tab.name }}</option>
|
||
|
</select>
|
||
|
</div>
|
||
|
<div class="hidden sm:block">
|
||
|
<nav class="isolate flex divide-x divide-gray-200 rounded-lg shadow" aria-label="Tabs">
|
||
|
<a v-for="(tab, tabIdx) in tabs" :key="tab.name" :href="tab.href" :class="[tab.current ? 'text-gray-900' : 'text-gray-500 hover:text-gray-700', tabIdx === 0 ? 'rounded-l-lg' : '', tabIdx === tabs.length - 1 ? 'rounded-r-lg' : '', 'group relative min-w-0 flex-1 overflow-hidden bg-white py-4 px-4 text-center text-sm font-medium hover:bg-gray-50 focus:z-10']" :aria-current="tab.current ? 'page' : undefined">
|
||
|
<span>{{ tab.name }}</span>
|
||
|
<span aria-hidden="true" :class="[tab.current ? 'bg-indigo-500' : 'bg-transparent', 'absolute inset-x-0 bottom-0 h-0.5']" />
|
||
|
</a>
|
||
|
</nav>
|
||
|
</div>
|
||
|
</div>
|
||
|
</template>
|
||
|
|
||
|
<script setup>
|
||
|
const tabs = [
|
||
|
{ name: 'My Account', href: '#', current: true },
|
||
|
{ name: 'Company', href: '#', current: false },
|
||
|
{ name: 'Team Members', href: '#', current: false },
|
||
|
{ name: 'Billing', href: '#', current: false },
|
||
|
]
|
||
|
</script>
|