This repository has been archived on 2024-04-04. You can view files and clone it, but cannot push or open issues or pull requests.
tailwindui/vue/components/application-ui/feedback/empty-states/with_recommendations_grid.vue
2024-01-24 19:02:44 +08:00

109 lines
5.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
This example requires some changes to your config:
```
// tailwind.config.js
module.exports = {
// ...
plugins: [
// ...
require('@tailwindcss/forms'),
],
}
```
-->
<template>
<div class="mx-auto max-w-md sm:max-w-3xl">
<div>
<div class="text-center">
<svg class="mx-auto h-12 w-12 text-gray-400" fill="none" stroke="currentColor" viewBox="0 0 48 48" aria-hidden="true">
<path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M34 40h10v-4a6 6 0 00-10.712-3.714M34 40H14m20 0v-4a9.971 9.971 0 00-.712-3.714M14 40H4v-4a6 6 0 0110.713-3.714M14 40v-4c0-1.313.253-2.566.713-3.714m0 0A10.003 10.003 0 0124 26c4.21 0 7.813 2.602 9.288 6.286M30 14a6 6 0 11-12 0 6 6 0 0112 0zm12 6a4 4 0 11-8 0 4 4 0 018 0zm-28 0a4 4 0 11-8 0 4 4 0 018 0z" />
</svg>
<h2 class="mt-2 text-base font-semibold leading-6 text-gray-900">Add team members</h2>
<p class="mt-1 text-sm text-gray-500">You havent added any team members to your project yet.</p>
</div>
<form class="mt-6 sm:flex sm:items-center" action="#">
<label for="emails" class="sr-only">Email addresses</label>
<div class="grid grid-cols-1 sm:flex-auto">
<input type="text" name="emails" id="emails" class="peer relative col-start-1 row-start-1 border-0 bg-transparent py-1.5 text-gray-900 placeholder:text-gray-400 focus:ring-0 sm:text-sm sm:leading-6" placeholder="Enter an email" />
<div class="col-start-1 col-end-3 row-start-1 rounded-md shadow-sm ring-1 ring-inset ring-gray-300 peer-focus:ring-2 peer-focus:ring-indigo-600" aria-hidden="true" />
<div class="col-start-2 row-start-1 flex items-center">
<span class="h-4 w-px flex-none bg-gray-200" aria-hidden="true" />
<label for="role" class="sr-only">Role</label>
<select id="role" name="role" class="rounded-md border-0 bg-transparent py-1.5 pl-4 pr-7 text-gray-900 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6">
<option>Can edit</option>
<option>Can view</option>
</select>
</div>
</div>
<div class="mt-3 sm:ml-4 sm:mt-0 sm:flex-shrink-0">
<button type="submit" class="block w-full rounded-md bg-indigo-600 px-3 py-2 text-center text-sm font-semibold text-white shadow-sm hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600">Send invite</button>
</div>
</form>
</div>
<div class="mt-10">
<h3 class="text-sm font-medium text-gray-500">Recommended team members</h3>
<ul role="list" class="mt-4 grid grid-cols-1 gap-4 sm:grid-cols-2">
<li v-for="(person, personIdx) in people" :key="personIdx">
<button type="button" class="group flex w-full items-center justify-between space-x-3 rounded-full border border-gray-300 p-2 text-left shadow-sm hover:bg-gray-50 focus:outline-none focus:ring-2 focus:ring-indigo-500 focus:ring-offset-2">
<span class="flex min-w-0 flex-1 items-center space-x-3">
<span class="block flex-shrink-0">
<img class="h-10 w-10 rounded-full" :src="person.imageUrl" alt="" />
</span>
<span class="block min-w-0 flex-1">
<span class="block truncate text-sm font-medium text-gray-900">{{ person.name }}</span>
<span class="block truncate text-sm font-medium text-gray-500">{{ person.role }}</span>
</span>
</span>
<span class="inline-flex h-10 w-10 flex-shrink-0 items-center justify-center">
<PlusIcon class="h-5 w-5 text-gray-400 group-hover:text-gray-500" aria-hidden="true" />
</span>
</button>
</li>
</ul>
</div>
</div>
</template>
<script setup>
import { PlusIcon } from '@heroicons/vue/20/solid'
const people = [
{
name: 'Lindsay Walton',
role: 'Front-end Developer',
imageUrl:
'https://images.unsplash.com/photo-1517841905240-472988babdf9?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
},
{
name: 'Courtney Henry',
role: 'Designer',
imageUrl:
'https://images.unsplash.com/photo-1438761681033-6461ffad8d80?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
},
{
name: 'Tom Cook',
role: 'Director of Product',
imageUrl:
'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
},
{
name: 'Whitney Francis',
role: 'Copywriter',
imageUrl:
'https://images.unsplash.com/photo-1517365830460-955ce3ccd263?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
},
{
name: 'Leonard Krasner',
role: 'Senior Designer',
imageUrl:
'https://images.unsplash.com/photo-1519345182560-3f2917c472ef?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
},
{
name: 'Floyd Miles',
role: 'Principal Designer',
imageUrl:
'https://images.unsplash.com/photo-1463453091185-61582044d556?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
},
]
</script>