default-emoji.ts 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. /**
  2. * Emoji input interface in the chat screen.
  3. * In respect for the copyright of the emoji design, the Chat Demo/TUIKit project does not include the cutouts of large emoji elements.
  4. * Please replace them with your own designed or copyrighted emoji packs before the official launch for commercial use.
  5. * The default small yellow face emoji pack is copyrighted by Tencent Cloud and can be authorized for a fee.
  6. * If you wish to obtain authorization, please submit a ticket to contact us.
  7. *
  8. * submit a ticket url:https://console.tencentcloud.com/workorder/category?level1_id=29&level2_id=40&source=14&data_title=Chat&step=1
  9. */
  10. import { default as emojiCNLocales } from './locales/zh_cn';
  11. import { default as emojiENLocales } from './locales/en';
  12. import { EMOJI_TYPE } from '../../../constant';
  13. import { IEmojiGroupList } from '../../../interface';
  14. export const DEFAULT_BASIC_EMOJI_URL = 'https://web.sdk.qcloud.com/im/assets/emoji-plugin/';
  15. export const DEFAULT_BIG_EMOJI_URL = 'https://web.sdk.qcloud.com/im/assets/face-elem/';
  16. export const DEFAULT_BASIC_EMOJI_URL_MAPPING: Record<string, string> = {
  17. '[TUIEmoji_Expect]': 'emoji_0@2x.png',
  18. '[TUIEmoji_Blink]': 'emoji_1@2x.png',
  19. '[TUIEmoji_Guffaw]': 'emoji_2@2x.png',
  20. '[TUIEmoji_KindSmile]': 'emoji_3@2x.png',
  21. '[TUIEmoji_Haha]': 'emoji_4@2x.png',
  22. '[TUIEmoji_Cheerful]': 'emoji_5@2x.png',
  23. '[TUIEmoji_Smile]': 'emoji_6@2x.png',
  24. '[TUIEmoji_Sorrow]': 'emoji_7@2x.png',
  25. '[TUIEmoji_Speechless]': 'emoji_8@2x.png',
  26. '[TUIEmoji_Amazed]': 'emoji_9@2x.png',
  27. '[TUIEmoji_Complacent]': 'emoji_10@2x.png',
  28. '[TUIEmoji_Lustful]': 'emoji_11@2x.png',
  29. '[TUIEmoji_Stareyes]': 'emoji_12@2x.png',
  30. '[TUIEmoji_Giggle]': 'emoji_13@2x.png',
  31. '[TUIEmoji_Daemon]': 'emoji_14@2x.png',
  32. '[TUIEmoji_Rage]': 'emoji_15@2x.png',
  33. '[TUIEmoji_Yawn]': 'emoji_16@2x.png',
  34. '[TUIEmoji_TearsLaugh]': 'emoji_17@2x.png',
  35. '[TUIEmoji_Silly]': 'emoji_18@2x.png',
  36. '[TUIEmoji_Wail]': 'emoji_19@2x.png',
  37. '[TUIEmoji_Kiss]': 'emoji_20@2x.png',
  38. '[TUIEmoji_Trapped]': 'emoji_21@2x.png',
  39. '[TUIEmoji_Fear]': 'emoji_22@2x.png',
  40. '[TUIEmoji_BareTeeth]': 'emoji_23@2x.png',
  41. '[TUIEmoji_FlareUp]': 'emoji_24@2x.png',
  42. '[TUIEmoji_Tact]': 'emoji_25@2x.png',
  43. '[TUIEmoji_Shit]': 'emoji_26@2x.png',
  44. '[TUIEmoji_ShutUp]': 'emoji_27@2x.png',
  45. '[TUIEmoji_Sigh]': 'emoji_28@2x.png',
  46. '[TUIEmoji_Hehe]': 'emoji_29@2x.png',
  47. '[TUIEmoji_Silent]': 'emoji_30@2x.png',
  48. '[TUIEmoji_Skull]': 'emoji_31@2x.png',
  49. '[TUIEmoji_Mask]': 'emoji_32@2x.png',
  50. '[TUIEmoji_Beer]': 'emoji_33@2x.png',
  51. '[TUIEmoji_Cake]': 'emoji_34@2x.png',
  52. '[TUIEmoji_RedPacket]': 'emoji_35@2x.png',
  53. '[TUIEmoji_Bombs]': 'emoji_36@2x.png',
  54. '[TUIEmoji_Ai]': 'emoji_37@2x.png',
  55. '[TUIEmoji_Celebrate]': 'emoji_38@2x.png',
  56. '[TUIEmoji_Bless]': 'emoji_39@2x.png',
  57. '[TUIEmoji_Flower]': 'emoji_40@2x.png',
  58. '[TUIEmoji_Watermelon]': 'emoji_41@2x.png',
  59. '[TUIEmoji_Cow]': 'emoji_42@2x.png',
  60. '[TUIEmoji_Fool]': 'emoji_43@2x.png',
  61. '[TUIEmoji_Surprised]': 'emoji_44@2x.png',
  62. '[TUIEmoji_Askance]': 'emoji_45@2x.png',
  63. '[TUIEmoji_Monster]': 'emoji_46@2x.png',
  64. '[TUIEmoji_Pig]': 'emoji_47@2x.png',
  65. '[TUIEmoji_Coffee]': 'emoji_48@2x.png',
  66. '[TUIEmoji_Ok]': 'emoji_49@2x.png',
  67. '[TUIEmoji_Heart]': 'emoji_50@2x.png',
  68. '[TUIEmoji_Sun]': 'emoji_51@2x.png',
  69. '[TUIEmoji_Moon]': 'emoji_52@2x.png',
  70. '[TUIEmoji_Star]': 'emoji_53@2x.png',
  71. '[TUIEmoji_Rich]': 'emoji_54@2x.png',
  72. '[TUIEmoji_Fortune]': 'emoji_55@2x.png',
  73. '[TUIEmoji_857]': 'emoji_56@2x.png',
  74. '[TUIEmoji_666]': 'emoji_57@2x.png',
  75. '[TUIEmoji_Prohibit]': 'emoji_58@2x.png',
  76. '[TUIEmoji_Convinced]': 'emoji_59@2x.png',
  77. '[TUIEmoji_Knife]': 'emoji_60@2x.png',
  78. '[TUIEmoji_Like]': 'emoji_61@2x.png',
  79. };
  80. export const BIG_EMOJI_GROUP_LIST: IEmojiGroupList = [
  81. {
  82. emojiGroupID: 1,
  83. type: EMOJI_TYPE.BIG,
  84. url: DEFAULT_BIG_EMOJI_URL,
  85. list: ['yz00', 'yz01', 'yz02', 'yz03', 'yz04', 'yz05', 'yz06', 'yz07', 'yz08',
  86. 'yz09', 'yz10', 'yz11', 'yz12', 'yz13', 'yz14', 'yz15', 'yz16', 'yz17'],
  87. },
  88. {
  89. emojiGroupID: 2,
  90. type: EMOJI_TYPE.BIG,
  91. url: DEFAULT_BIG_EMOJI_URL,
  92. list: ['ys00', 'ys01', 'ys02', 'ys03', 'ys04', 'ys05', 'ys06', 'ys07', 'ys08',
  93. 'ys09', 'ys10', 'ys11', 'ys12', 'ys13', 'ys14', 'ys15'],
  94. },
  95. {
  96. emojiGroupID: 3,
  97. type: EMOJI_TYPE.BIG,
  98. url: DEFAULT_BIG_EMOJI_URL,
  99. list: ['gcs00', 'gcs01', 'gcs02', 'gcs03', 'gcs04', 'gcs05', 'gcs06', 'gcs07',
  100. 'gcs08', 'gcs09', 'gcs10', 'gcs11', 'gcs12', 'gcs13', 'gcs14', 'gcs15', 'gcs16'],
  101. },
  102. ];
  103. export const BASIC_EMOJI_NAME_TO_KEY_MAPPING = {
  104. ...Object.fromEntries(
  105. Object.entries(emojiCNLocales)?.map(([key, val]) => [val, key]),
  106. ),
  107. ...Object.fromEntries(
  108. Object.entries(emojiENLocales)?.map(([key, val]) => [val, key]),
  109. ),
  110. };