@uimkit/uikit-react
Version:
<img style="width:64px" src="https://mgmt.uimkit.chat/media/img/avatar.png"/>
45 lines (40 loc) • 1.89 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib = require('tslib');
var EmoticonItem = require('../../EmoticonItem/EmoticonItem.js');
var emojiMart = require('emoji-mart');
var index = require('../../../node_modules/.pnpm/lodash.first@3.0.0/node_modules/lodash.first/index.js');
var useEmojiTrigger = function () {
return {
component: EmoticonItem.EmoticonItem,
dataProvider: function (query, _, onReady) { return tslib.__awaiter(void 0, void 0, void 0, function () {
var emojis, result;
return tslib.__generator(this, function (_a) {
switch (_a.label) {
case 0:
if (query.length === 0 || query.charAt(0).match(/[^a-zA-Z0-9+-]/)) {
return [2 /*return*/, []];
}
return [4 /*yield*/, (emojiMart.SearchIndex === null || emojiMart.SearchIndex === void 0 ? void 0 : emojiMart.SearchIndex.search(query))];
case 1:
emojis = (_a.sent()) || [];
console.log('emojis: ', emojis, query);
result = emojis.filter(Boolean).slice(0, /* TODO themeVersion === '2' ? 7 : */ 10);
if (onReady)
onReady(result, query);
return [2 /*return*/, result];
}
});
}); },
output: function (entity) {
var _a, _b;
return ({
caretPosition: 'next',
key: entity.id,
text: (_b = (_a = index(entity.skins)) === null || _a === void 0 ? void 0 : _a.native) !== null && _b !== void 0 ? _b : entity.name,
});
},
};
};
exports.useEmojiTrigger = useEmojiTrigger;
//# sourceMappingURL=useEmojiTrigger.js.map