Profile Picture UI
Svelte
Using Profile Picture components in Svelte
Installation
npm install @grasco/profile-pictureSetup
Add type definitions for custom elements in src/app.d.ts:
declare namespace svelteHTML {
interface IntrinsicElements {
'profile-picture': any;
'profile-picture-group': any;
}
}Import
<script>
import '@grasco/profile-picture/standalone';
import { setCdnBaseUrl } from '@grasco/profile-picture';
import { onMount } from 'svelte';
onMount(() => {
setCdnBaseUrl('https://api.grasco.dev');
});
</script>Usage
<profile-picture
src="https://example.com/avatar.png"
alt="Kerry Nicholson"
size="xl"
variant="circle"
border="true"
border-color="white"
on:load={() => console.log('loaded')}
on:profile-picture-click={(e) => console.log('clicked', e.detail)}
/>Group Example
<profile-picture-group max="4" size="lg" on:avatar-click={(e) => console.log(e.detail.user)}>
{#each users as user}
<profile-picture src={user.avatar} alt={user.name} data-user-id={user.id} />
{/each}
</profile-picture-group>TypeScript
import type { Size, Variant, PresenceStatus } from '@grasco/profile-picture';