Files
classroomio/apps/dashboard/src/lib/components/OrgSelector/OrgSelectorItem.svelte
T

59 lines
1.2 KiB
Svelte
Raw Normal View History

<script>
2023-09-11 11:47:30 +01:00
import Avatar from '$lib/components/Avatar/index.svelte';
import TextChip from '../Chip/Text.svelte';
2023-05-02 23:55:26 +00:00
import ComingSoon from '../ComingSoon/index.svelte';
2023-09-11 11:47:30 +01:00
export let size = '';
export let hasDivider = false;
export let active = false;
2023-09-11 11:47:30 +01:00
export let avatar = '';
export let avatarText = '';
export let text = '';
2023-09-11 11:47:30 +01:00
export let onClick = () => {};
2023-04-22 20:00:37 +00:00
export let disabled = false;
</script>
2023-04-22 20:00:37 +00:00
<div class="relative">
<button
2023-09-27 11:26:04 +01:00
class="{disabled &&
'opacity-25'} flex items-center text-start w-[14rem] py-2 px-3 {hasDivider &&
2023-08-20 19:08:48 +00:00
'border-b border-gray-100'} {active && 'bg-primary-100 dark:bg-gray-500'}"
2023-04-22 20:00:37 +00:00
on:click={onClick}
>
2023-09-11 11:47:30 +01:00
{#if avatar}
<Avatar
src={avatar}
name={text}
shape="rounded-md"
width="w-7"
height="h-7"
className="mr-2"
/>
{:else if avatarText}
2023-04-22 20:00:37 +00:00
<TextChip
value={avatarText}
2023-08-20 19:08:48 +00:00
className="mr-2 bg-primary-200 font-bold dark:bg-gray-600"
2023-04-22 20:00:37 +00:00
{size}
/>
{/if}
{text}
</button>
{#if disabled}
<div class="coming-soon">
2023-05-02 23:55:26 +00:00
<ComingSoon />
2023-04-22 20:00:37 +00:00
</div>
{/if}
2023-04-22 20:00:37 +00:00
</div>
<style>
button {
min-height: 56px;
}
2023-04-22 20:00:37 +00:00
.coming-soon {
position: absolute;
top: 5px;
right: 5px;
}
</style>