blob: f04f77650c3d474ce55712260d409cb343a79bef (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
import site from "@/corvos.config.ts";
export interface Props {
pack: string;
emoji: string;
size?: "125" | "150" | "200";
class?: string;
}
export const Emoji = site.$.component(
({ pack, emoji, size, class: cls, ...props }: Props, pages) => {
const query = site.$.query(pages);
const sprite = query.type(".svg").match({ emojiPack: pack }).one();
return (
<svg class:list={["o-emoji o-emoji--sprite", { [`o-emoji--${size}`]: size }, cls]} {...props}>
<use href={`${sprite.url}#${emoji}`} />
</svg>
);
},
);
|