import type { HTMLAttributes } from "corvos/plugins/jsx.ts"; export type Props = HTMLAttributes<"ul"> & { id: string; sprite: { variants: { size: number; space: number }[]; wrap: number; }; count: number; }; export const EmojiGrid = ({ id, sprite, count, class: cls, ...props }: Props) => { const size = sprite.variants[0]?.size ?? 48; const space = sprite.variants[0]?.space ?? 2; const { wrap } = sprite; const src = `/emojis/${id}/sprite48.avif`; const srcset = `/emojis/${id}/sprite48.avif 1x, /emojis/${id}/sprite96.avif 2x`; const offsetX = (i: number) => -1 * (size + space) * (i % wrap); const offsetY = (i: number) => -1 * (size + space) * Math.floor(i / wrap); return (