{"version":3,"file":"helper.mjs","sources":["../../../../../../packages/components/emoji/src/helper.ts"],"sourcesContent":["import { computed, ref } from 'vue'\nimport { useAxios } from '@vueuse/integrations/useAxios'\n\nexport type EmoticonListItem = {\n  describe: string\n  code: string\n  text: string\n  emojiId: number\n  image: string\n  icon?: string\n  className?: string\n  [key: string]: any\n}\n\nexport type FontEmoticonListItem = {\n  text: string\n  [key: string]: any\n}\n\nexport type EmoticonList = EmoticonListItem[]\n\nexport const emoticonBaseList = [\n  {\n    describe: '微笑',\n    code: '/::)',\n  },\n  {\n    describe: '撇嘴',\n    code: '/::~',\n  },\n  {\n    describe: '色',\n    code: '/::B',\n  },\n  {\n    describe: '发呆',\n    code: '/::|',\n  },\n  {\n    describe: '得意',\n    code: '/:8-)',\n  },\n  {\n    describe: '流泪',\n    code: '/::<',\n  },\n  {\n    describe: '害羞',\n    code: '/::$',\n  },\n  {\n    describe: '闭嘴',\n    code: '/::X',\n  },\n  {\n    describe: '睡',\n    code: '/::Z',\n  },\n  {\n    describe: '大哭',\n    code: \"/::'(\",\n  },\n  {\n    describe: '尴尬',\n    code: '/::-|',\n  },\n  {\n    describe: '发怒',\n    code: '/::@',\n  },\n  {\n    describe: '调皮',\n    code: '/::P',\n  },\n  {\n    describe: '呲牙',\n    code: '/::D',\n  },\n  {\n    describe: '惊讶',\n    code: '/::O',\n  },\n  {\n    describe: '难过',\n    code: '/::(',\n  },\n  {\n    describe: '酷',\n    code: '/::+',\n  },\n  {\n    describe: '冷汗',\n    code: '/:--b',\n  },\n  {\n    describe: '抓狂',\n    code: '/::Q',\n  },\n  {\n    describe: '吐',\n    code: '/::T',\n  },\n  {\n    describe: '偷笑',\n    code: '/:,@P',\n  },\n  {\n    describe: '愉快',\n    code: '/:,@-D',\n  },\n  {\n    describe: '白眼',\n    code: '/::d',\n  },\n  {\n    describe: '傲慢',\n    code: '/:,@o',\n  },\n  {\n    describe: '饥饿',\n    code: '/::g',\n  },\n  {\n    describe: '困',\n    code: '/:|-)',\n  },\n  {\n    describe: '惊恐',\n    code: '/::!',\n  },\n  {\n    describe: '流汗',\n    code: '/::L',\n  },\n  {\n    describe: '憨笑',\n    code: '/::>',\n  },\n  {\n    describe: '悠闲',\n    code: '/::,@',\n  },\n  {\n    describe: '奋斗',\n    code: '/:,@f',\n  },\n  {\n    describe: '咒骂',\n    code: '/::-S',\n  },\n  {\n    describe: '疑问',\n    code: '/:?',\n  },\n  {\n    describe: '嘘',\n    code: '/:,@x',\n  },\n  {\n    describe: '晕',\n    code: '/:,@@',\n  },\n  {\n    describe: '疯了',\n    code: '/::8',\n  },\n  {\n    describe: '衰',\n    code: '/:,@!',\n  },\n  {\n    describe: '骷髅',\n    code: '/:!!!',\n  },\n  {\n    describe: '敲打',\n    code: '/:xx',\n  },\n  {\n    describe: '再见',\n    code: '/:bye',\n  },\n  {\n    describe: '擦汗',\n    code: '/:wipe',\n  },\n  {\n    describe: '抠鼻',\n    code: '/:dig',\n  },\n  {\n    describe: '鼓掌',\n    code: '/:handclap',\n  },\n  {\n    describe: '糗大了',\n    code: '/:&-(',\n  },\n  {\n    describe: '坏笑',\n    code: '/:B-)',\n  },\n  {\n    describe: '左哼哼',\n    code: '/:<@',\n  },\n  {\n    describe: '右哼哼',\n    code: '/:@>',\n  },\n  {\n    describe: '哈欠',\n    code: '/::-O',\n  },\n  {\n    describe: '鄙视',\n    code: '/:>-|',\n  },\n  {\n    describe: '委屈',\n    code: '/:P-(',\n  },\n  {\n    describe: '快哭了',\n    code: \"/::'|\",\n  },\n  {\n    describe: '阴险',\n    code: '/:X-)',\n  },\n  {\n    describe: '亲亲',\n    code: '/::*',\n  },\n  {\n    describe: '吓',\n    code: '/:@x',\n  },\n  {\n    describe: '可怜',\n    code: '/:8*',\n  },\n  {\n    describe: '菜刀',\n    code: '/:pd',\n  },\n  {\n    describe: '西瓜',\n    code: '/:<W>',\n  },\n  {\n    describe: '啤酒',\n    code: '/:beer',\n  },\n  {\n    describe: '篮球',\n    code: '/:basketb',\n  },\n  {\n    describe: '乒乓',\n    code: '/:oo',\n  },\n  {\n    describe: '咖啡',\n    code: '/:coffee',\n  },\n  {\n    describe: '饭',\n    code: '/:eat',\n  },\n  {\n    describe: '猪头',\n    code: '/:pig',\n  },\n  {\n    describe: '玫瑰',\n    code: '/:rose',\n  },\n  {\n    describe: '凋谢',\n    code: '/:fade',\n  },\n  {\n    describe: '嘴唇',\n    code: '/:showlove',\n  },\n  {\n    describe: '爱心',\n    code: '/:heart',\n  },\n  {\n    describe: '心碎',\n    code: '/:break',\n  },\n  {\n    describe: '蛋糕',\n    code: '/:cake',\n  },\n  {\n    describe: '闪电',\n    code: '/:li',\n  },\n  {\n    describe: '炸弹',\n    code: '/:bome',\n  },\n  {\n    describe: '刀',\n    code: '/:kn',\n  },\n  {\n    describe: '足球',\n    code: '/:footb',\n  },\n  {\n    describe: '瓢虫',\n    code: '/:ladybug',\n  },\n  {\n    describe: '便便',\n    code: '/:shit',\n  },\n  {\n    describe: '月亮',\n    code: '/:moon',\n  },\n  {\n    describe: '太阳',\n    code: '/:sun',\n  },\n  {\n    describe: '礼物',\n    code: '/:gift',\n  },\n  {\n    describe: '拥抱',\n    code: '/:hug',\n  },\n  {\n    describe: '强',\n    code: '/:strong',\n  },\n  {\n    describe: '弱',\n    code: '/:weak',\n  },\n  {\n    describe: '握手',\n    code: '/:share',\n  },\n  {\n    describe: '胜利',\n    code: '/:v',\n  },\n  {\n    describe: '抱拳',\n    code: '/:@)',\n  },\n  {\n    describe: '勾引',\n    code: '/:jj',\n  },\n  {\n    describe: '拳头',\n    code: '/:@@',\n  },\n  {\n    describe: '差劲',\n    code: '/:bad',\n  },\n  {\n    describe: '爱你',\n    code: '/:lvu',\n  },\n  {\n    describe: 'NO',\n    code: '/:no',\n  },\n  {\n    describe: 'OK',\n    code: '/:ok',\n  },\n  {\n    describe: '爱情',\n    code: '/:love',\n  },\n  {\n    describe: '飞吻',\n    code: '/:<L>',\n  },\n  {\n    describe: '跳跳',\n    code: '/:jump',\n  },\n  {\n    describe: '发抖',\n    code: '/:shake',\n  },\n  {\n    describe: '怄火',\n    code: '/:<O>',\n  },\n  {\n    describe: '转圈',\n    code: '/:circle',\n  },\n  {\n    describe: '磕头',\n    code: '/:kotow',\n  },\n  {\n    describe: '回头',\n    code: '/:turn',\n  },\n  {\n    describe: '跳绳',\n    code: '/:skip',\n  },\n  {\n    describe: '投降',\n    code: '/:oY',\n  },\n  // 兼容企业微信 选择[疯了]会被转为[折磨]的问题\n  {\n    describe: '折磨',\n    code: '/::8',\n  },\n]\n\nexport const emoticonList: EmoticonList = emoticonBaseList.map(\n  (item, index: number) => {\n    const image =\n      item.describe === '折磨'\n        ? `https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/35.gif`\n        : `https://res.wx.qq.com/mpres/htmledition/images/icon/emotion/${index}.gif`\n    return {\n      ...item,\n      image,\n      emojiId: index,\n      text: `[${item.describe}]`,\n      className: `face${index}`,\n    }\n  }\n)\n\nexport const emoticonListKeys = emoticonList.reduce(\n  (buff: string[], item: EmoticonListItem) => {\n    return buff.concat([item.code, item.text])\n  },\n  []\n)\n\nexport const emoticonListMap = emoticonListKeys.reduce(\n  (buff: Record<string, any>, value: string) => {\n    const item = emoticonList.find(\n      (_: EmoticonListItem) => _.code === value || _.text === value\n    )\n    return {\n      ...buff,\n      [value]: item?.['image'],\n    }\n  },\n  {}\n)\n\nexport const WX_TYPE = 'wx'\nexport const COMMOM_TYPE = 'cm'\n\ninterface Categorie {\n  id: string\n  emojis: string[]\n}\ninterface skinItem {\n  unified: string\n  native: string\n}\ninterface emojiItem {\n  id: string\n  keywords: string[]\n  name: string\n  skins: skinItem[]\n  version: number\n}\ninterface EmojiMartData {\n  categories: Categorie[]\n  emojis: {\n    [prop: string]: emojiItem\n  }\n  [prop: string]: any\n}\n\nconst emojiMartData = ref<EmojiMartData | null>(null)\n\nexport const setEmojiMartData = (data: EmojiMartData) => {\n  emojiMartData.value = data\n}\n\nconst initRemoteData = async () => {\n  const { execute } = useAxios()\n  if (emojiMartData.value !== null) return\n  await execute('https://cdn.jsdelivr.net/npm/@emoji-mart/data', {\n    method: 'get',\n  })\n    .then((res: any) => {\n      emojiMartData.value = res.response.value.data\n    })\n    .catch(() => {\n      emojiMartData.value = null\n    })\n}\n\nexport const useFontEmoticon = () => {\n  initRemoteData()\n\n  const peopleList = computed<FontEmoticonListItem[]>(() => {\n    const data = emojiMartData.value\n    if (data) {\n      const emojiKeys =\n        data.categories.find((item: { id: string }) => item.id === 'people')\n          ?.emojis ?? []\n      const emojis = emojiKeys.map((key: string) => data['emojis'][key])\n      const list = emojis.map((item) => item.skins[0]['native'])\n      return list.map((text: string) => {\n        return {\n          text,\n        }\n      })\n    } else {\n      return []\n    }\n  })\n\n  return {\n    peopleList,\n  }\n}\n"],"names":[],"mappings":"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"}