"use strict"; const browserStorage = require("@nextcloud/browser-storage"); const emojiMartVueFast = require("emoji-mart-vue-fast"); const data = require("emoji-mart-vue-fast/data/all.json"); const _interopDefault = (e) => e && e.__esModule ? e : { default: e }; const data__default = /* @__PURE__ */ _interopDefault(data); const storage = browserStorage.getBuilder("nextcloud-vue").persist(true).build(); let emojiIndex; var EmojiSkinTone = /* @__PURE__ */ ((EmojiSkinTone2) => { EmojiSkinTone2[EmojiSkinTone2["Neutral"] = 1] = "Neutral"; EmojiSkinTone2[EmojiSkinTone2["Light"] = 2] = "Light"; EmojiSkinTone2[EmojiSkinTone2["MediumLight"] = 3] = "MediumLight"; EmojiSkinTone2[EmojiSkinTone2["Medium"] = 4] = "Medium"; EmojiSkinTone2[EmojiSkinTone2["MediumDark"] = 5] = "MediumDark"; EmojiSkinTone2[EmojiSkinTone2["Dark"] = 6] = "Dark"; return EmojiSkinTone2; })(EmojiSkinTone || {}); function emojiSearch(query, maxResults = 10) { if (!emojiIndex) { emojiIndex = new emojiMartVueFast.EmojiIndex(data__default.default); } const currentSkinTone = getCurrentSkinTone(); let results; if (query) { results = emojiIndex.search(`:${query}`, maxResults); if (results.length < maxResults) { results = results.concat(emojiIndex.search(query, maxResults - results.length)); } } else { results = emojiMartVueFast.frequently.get(maxResults).map((id) => emojiIndex.emoji(id)) || []; } return results.map((emoji) => emoji.getSkin(currentSkinTone)); } function emojiAddRecent(emojiData) { emojiMartVueFast.frequently.add(emojiData); } function getCurrentSkinTone() { const skinTone = Number.parseInt(storage.getItem("NcEmojiPicker::currentSkinTone") ?? "1"); return Math.min( Math.max( skinTone, 1 /* Neutral */ ), 6 /* Dark */ ); } function setCurrentSkinTone(skinTone) { skinTone = Math.min( Math.max( skinTone, 1 /* Neutral */ ), 6 /* Dark */ ); storage.setItem("NcEmojiPicker::currentSkinTone", skinTone.toString()); } exports.EmojiSkinTone = EmojiSkinTone; exports.emojiAddRecent = emojiAddRecent; exports.emojiSearch = emojiSearch; exports.getCurrentSkinTone = getCurrentSkinTone; exports.setCurrentSkinTone = setCurrentSkinTone;