1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
|
// 数据来源: https://unicode.org/emoji/charts/full-emoji-list.html
// index=页面序号, unicode=\u{...} 形式(运行时常量即渲染 emoji),
// emoji=真实emoji字符(来自 full-emoji-list.json 的 unicode 字段), unicode_raw=原始码位, name=CLDR short name
// 注意: \u{...} 为 ES6 转义, 需 tsconfig target >= ES2015
import type { EmojiSubTopic } from '@/lib/const/emojiTopicList.ts'
export interface EmojiItem {
index: number;
unicode: string;
emoji: string;
unicode_raw: string;
hint: string;
}
export interface EmojiTopic {
topic: EmojiSubTopic;
emoji_list: EmojiItem[];
}
/**
* @Description: 颜文字列表
* @Description: Full Emoji List, v18.0 https://unicode.org/emoji/charts/full-emoji-list.html
*/
export const safeEmojiList: Readonly<EmojiTopic[]> = Object.freeze([
{
topic: "face-smiling",
emoji_list: [
{ index: 1, unicode: "\u{1F600}", emoji: "😀", unicode_raw: "U+1F600", hint: "grinning face" },
{ index: 2, unicode: "\u{1F603}", emoji: "😃", unicode_raw: "U+1F603", hint: "grinning face with big eyes" },
{ index: 3, unicode: "\u{1F604}", emoji: "😄", unicode_raw: "U+1F604", hint: "grinning face with smiling eyes" },
{ index: 4, unicode: "\u{1F601}", emoji: "😁", unicode_raw: "U+1F601", hint: "beaming face with smiling eyes" },
{ index: 5, unicode: "\u{1F606}", emoji: "😆", unicode_raw: "U+1F606", hint: "grinning squinting face" },
{ index: 6, unicode: "\u{1F605}", emoji: "😅", unicode_raw: "U+1F605", hint: "grinning face with sweat" },
{ index: 7, unicode: "\u{1F923}", emoji: "🤣", unicode_raw: "U+1F923", hint: "rolling on the floor laughing" },
{ index: 8, unicode: "\u{1F602}", emoji: "😂", unicode_raw: "U+1F602", hint: "face with tears of joy" },
{ index: 9, unicode: "\u{1F642}", emoji: "🙂", unicode_raw: "U+1F642", hint: "slightly smiling face" },
{ index: 10, unicode: "\u{1F643}", emoji: "🙃", unicode_raw: "U+1F643", hint: "upside-down face" },
{ index: 11, unicode: "\u{1FAE0}", emoji: "🫠", unicode_raw: "U+1FAE0", hint: "melting face" },
{ index: 12, unicode: "\u{1FAEB}", emoji: "", unicode_raw: "U+1FAEB", hint: "⊛ cracking face" },
{ index: 13, unicode: "\u{1F609}", emoji: "😉", unicode_raw: "U+1F609", hint: "winking face" },
{ index: 14, unicode: "\u{1F60A}", emoji: "😊", unicode_raw: "U+1F60A", hint: "smiling face with smiling eyes" },
{ index: 15, unicode: "\u{1F607}", emoji: "😇", unicode_raw: "U+1F607", hint: "smiling face with halo" }
],
},
{
topic: "face-affection",
emoji_list: [
{ index: 16, unicode: "\u{1F970}", emoji: "🥰", unicode_raw: "U+1F970", hint: "smiling face with hearts" },
{ index: 17, unicode: "\u{1F60D}", emoji: "😍", unicode_raw: "U+1F60D", hint: "smiling face with heart-eyes" },
{ index: 18, unicode: "\u{1F929}", emoji: "🤩", unicode_raw: "U+1F929", hint: "star-struck" },
{ index: 19, unicode: "\u{1F618}", emoji: "😘", unicode_raw: "U+1F618", hint: "face blowing a kiss" },
{ index: 20, unicode: "\u{1F617}", emoji: "😗", unicode_raw: "U+1F617", hint: "kissing face" },
{ index: 21, unicode: "\u{263A}", emoji: "☺", unicode_raw: "U+263A", hint: "smiling face" },
{ index: 22, unicode: "\u{1F61A}", emoji: "😚", unicode_raw: "U+1F61A", hint: "kissing face with closed eyes" },
{ index: 23, unicode: "\u{1F619}", emoji: "😙", unicode_raw: "U+1F619", hint: "kissing face with smiling eyes" },
{ index: 24, unicode: "\u{1F972}", emoji: "🥲", unicode_raw: "U+1F972", hint: "smiling face with tear" }
],
},
{
topic: "face-tongue",
emoji_list: [
{ index: 25, unicode: "\u{1F60B}", emoji: "😋", unicode_raw: "U+1F60B", hint: "face savoring food" },
{ index: 26, unicode: "\u{1F61B}", emoji: "😛", unicode_raw: "U+1F61B", hint: "face with tongue" },
{ index: 27, unicode: "\u{1F61C}", emoji: "😜", unicode_raw: "U+1F61C", hint: "winking face with tongue" },
{ index: 28, unicode: "\u{1F92A}", emoji: "🤪", unicode_raw: "U+1F92A", hint: "zany face" },
{ index: 29, unicode: "\u{1F61D}", emoji: "😝", unicode_raw: "U+1F61D", hint: "squinting face with tongue" },
{ index: 30, unicode: "\u{1F911}", emoji: "🤑", unicode_raw: "U+1F911", hint: "money-mouth face" }
],
},
{
topic: "face-hand",
emoji_list: [
{ index: 31, unicode: "\u{1F917}", emoji: "🤗", unicode_raw: "U+1F917", hint: "smiling face with open hands" },
{ index: 32, unicode: "\u{1F92D}", emoji: "🤭", unicode_raw: "U+1F92D", hint: "face with hand over mouth" },
{ index: 33, unicode: "\u{1FAE2}", emoji: "🫢", unicode_raw: "U+1FAE2", hint: "face with open eyes and hand over mouth" },
{ index: 34, unicode: "\u{1FAE3}", emoji: "🫣", unicode_raw: "U+1FAE3", hint: "face with peeking eye" },
{ index: 35, unicode: "\u{1F92B}", emoji: "🤫", unicode_raw: "U+1F92B", hint: "shushing face" },
{ index: 36, unicode: "\u{1F914}", emoji: "🤔", unicode_raw: "U+1F914", hint: "thinking face" },
{ index: 37, unicode: "\u{1FAE1}", emoji: "🫡", unicode_raw: "U+1FAE1", hint: "saluting face" }
],
},
// ...
] as const)
|