diff --git a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx
index 2bd6af4cf4..1d96427f6b 100644
--- a/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx
+++ b/app/javascript/mastodon/features/compose/components/emoji_picker_dropdown.jsx
@@ -12,14 +12,10 @@ import Overlay from 'react-overlays/Overlay';
import MoodIcon from '@/material-icons/400-20px/mood.svg?react';
import { IconButton } from 'mastodon/components/icon_button';
-import emojiCompressed from 'mastodon/features/emoji/emoji_compressed';
-import { assetHost } from 'mastodon/utils/config';
import { buildCustomEmojis, categoriesFromEmojis } from '../../emoji/emoji';
import { EmojiPicker as EmojiPickerAsync } from '../../ui/util/async-components';
-const nimblePickerData = emojiCompressed[5];
-
const messages = defineMessages({
emoji: { id: 'emoji_button.label', defaultMessage: 'Insert emoji' },
emoji_search: { id: 'emoji_button.search', defaultMessage: 'Search...' },
@@ -40,19 +36,11 @@ let EmojiPicker, Emoji; // load asynchronously
const listenerOptions = supportsPassiveEvents ? { passive: true, capture: true } : true;
-const backgroundImageFn = () => `${assetHost}/emoji/sheet_15_1.png`;
-
const notFoundFn = () => (
@@ -110,12 +98,12 @@ class ModifierPickerMenu extends PureComponent {
return (
-
-
-
-
-
-
+
+
+
+
+
+
);
}
@@ -150,7 +138,7 @@ class ModifierPicker extends PureComponent {
return (
-
+
);
@@ -286,16 +274,11 @@ class EmojiPickerMenuImpl extends PureComponent {
return (
`${assetHost}/emoji/sheet_15_1.png`;
+
+const Emoji = ({
+ set = 'twitter',
+ sheetSize = 32,
+ sheetColumns = 62,
+ sheetRows = 62,
+ backgroundImageFn = backgroundImageFnDefault,
+ ...props
+}: EmojiProps) => {
+ return (
+
+ );
+};
+
+const Picker = ({
+ set = 'twitter',
+ sheetSize = 32,
+ sheetColumns = 62,
+ sheetRows = 62,
+ backgroundImageFn = backgroundImageFnDefault,
+ ...props
+}: PickerProps) => {
+ return (
+
+ );
+};
+
+export { Picker, Emoji };
diff --git a/app/javascript/types/emoji_picker.d.ts b/app/javascript/types/emoji_picker.d.ts
new file mode 100644
index 0000000000..4649da7ed0
--- /dev/null
+++ b/app/javascript/types/emoji_picker.d.ts
@@ -0,0 +1,8 @@
+declare module 'emoji-mart' {
+ interface PickerProps {
+ sheetColumns?: number;
+ sheetRows?: number;
+ }
+}
+
+export {};
diff --git a/tsconfig.json b/tsconfig.json
index 4eb94e4318..37c9e87872 100644
--- a/tsconfig.json
+++ b/tsconfig.json
@@ -5,6 +5,7 @@
"module": "CommonJS",
"moduleResolution": "node",
"allowJs": true,
+ "resolveJsonModule": true,
"noEmit": true,
"strict": true,
"noImplicitReturns": true,