Emoji Picker

GitHub

Composable Frimousse emoji picker primitives and a dropdown selection control.

Installation

bash
pnpm dlx shadcn@latest add @cs/emoji-picker

Usage

tsx
import { EmojiSelect } from "@/components/cs/emoji-picker"
tsx
<EmojiSelect value={emoji} onValueChange={setEmoji} />

Emoji picker dropdown

Select an emoji from a searchable dropdown.

tsx
"use client"

import { useState } from "react"

import { EmojiSelect } from "@/registry/cs/ui/emoji-picker"
import { PreviewPanel } from "./preview-utils"

export default function EmojiPickerDropdownPreview() {
	const [emoji, setEmoji] = useState("🎉")

	return (
		<PreviewPanel>
			<EmojiSelect value={emoji} onValueChange={setEmoji} />
		</PreviewPanel>
	)
}

API Reference

EmojiSelect

Renders an emoji picker inside a controlled dropdown menu.

Props

NameTypeDefaultDescription
classNamestring--
disabledboolean--
errorstring | null-Validation error message for the field.
idstring--
labelstring-Visible field label.
namestring--
onValueChange *(emoji: string) => void-Called after the user selects an emoji.
orientation"vertical" | "horizontal" | "responsive" | null | undefined--
requiredboolean-Requires a selected value before the form can submit.
selectClassNamestring-Additional classes applied to the select trigger.
triggerReact.ReactElement-Optional replacement for the default icon trigger.
value *string | undefined | null-Currently selected emoji shown in the default trigger.

EmojiPicker

EmojiPickerSearch

EmojiPickerRow

EmojiPickerEmoji

EmojiPickerCategoryHeader

EmojiPickerContent

EmojiPickerFooter