@meenainwal/rich-text-editor 1.1.0 โ 1.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/ReadME.md +94 -8
- package/dist/EmojiList-CwY20rtO.js +333 -0
- package/dist/EmojiList-qdrW08up.cjs +1 -0
- package/dist/core/Editor.d.ts +9 -0
- package/dist/core/ImageManager.d.ts +9 -0
- package/dist/index.d.ts +1 -0
- package/dist/rich-text-editor.css +1 -1
- package/dist/test-editor.cjs +2 -2
- package/dist/test-editor.mjs +338 -619
- package/dist/ui/Toolbar.d.ts +2 -0
- package/dist/ui/toolbar/EmojiPicker.d.ts +3 -1
- package/package.json +1 -1
package/ReadME.md
CHANGED
|
@@ -7,11 +7,15 @@ A premium, ultra-lightweight, and framework-agnostic **WYSIWYG rich text editor*
|
|
|
7
7
|
|
|
8
8
|

|
|
9
9
|
|
|
10
|
+
## ๐ฎ Live React Preview
|
|
11
|
+
Wanna see it in action? Try the **Interactive React Demo** on StackBlitz:
|
|
12
|
+
[**Run Demo on StackBlitz**](https://stackblitz.com/edit/vitejs-vite-e8u5yntq?embed=1&view=preview)
|
|
13
|
+
|
|
10
14
|
## โจ Premium Features & Why Choose This Editor?
|
|
11
15
|
|
|
12
16
|
### ๐ Key Pros & Capabilities
|
|
13
|
-
- **
|
|
14
|
-
- **
|
|
17
|
+
- **Microscopic Footprint**: Only **~11kB** (Initial gzipped JS) + **2.3kB** (CSS). Total initial load is **~13kB gzipped**.
|
|
18
|
+
- **Performance Optimized**: Heavy components like the Emoji Picker (~19kB) are **lazy-loaded** only when clicked, ensuring your app stays fast.
|
|
15
19
|
- **Framework Agnostic**: Native support for **React**, **Next.js**, **Vue**, **Angular**, and **Svelte**.
|
|
16
20
|
- **Auto-Formatting Magic**: Intelligently parses pasted HTML strings into clean, formatted rich text.
|
|
17
21
|
- **Professional UI/UX**: Modern aesthetics curated with a polished Slate & Indigo color palette.
|
|
@@ -20,6 +24,34 @@ A premium, ultra-lightweight, and framework-agnostic **WYSIWYG rich text editor*
|
|
|
20
24
|
- **Dark Mode**: Sophisticated dark theme for premium developer experiences.
|
|
21
25
|
- **Customizable Toolbar**: Granular control over tool visibility and layout.
|
|
22
26
|
|
|
27
|
+
---
|
|
28
|
+
|
|
29
|
+
## ๐ Documentation Website (Coming Soon!)
|
|
30
|
+
We are currently building a dedicated official website to provide the best possible developer experience.
|
|
31
|
+
|
|
32
|
+
**What to expect:**
|
|
33
|
+
- **Interactive Playground**: Test all features live in your browser.
|
|
34
|
+
- **Deep-Dive Guides**: Detailed integration steps for React, Next.js, Vue, and more.
|
|
35
|
+
- **Full API Reference**: Comprehensive documentation for every method and option.
|
|
36
|
+
- **Custom Theme Builder**: Visually design your editor's look and feel.
|
|
37
|
+
|
|
38
|
+
๐ **Stay tuned for the official launch!**
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
### ๐ฆ Bundle Size Breakdown
|
|
43
|
+
Transparency matters. Here's a breakdown of what your users download:
|
|
44
|
+
|
|
45
|
+
| Asset | Minified | Gzipped (Download) |
|
|
46
|
+
| :--- | :--- | :--- |
|
|
47
|
+
| **Core Bundle (JS)** | ~45 kB | **~11 kB** |
|
|
48
|
+
| **Styles (CSS)** | ~9 kB | **~2 kB** |
|
|
49
|
+
| **Total Initial Load** | **~54 kB** | **~13 kB** |
|
|
50
|
+
| Emoji Picker (Lazy-loaded) | +19 kB | +3 kB |
|
|
51
|
+
|
|
52
|
+
> [!TIP]
|
|
53
|
+
> The editor is optimized for performance. Features like the **Emoji Picker** are only loaded when needed, keeping your initial page load lightning fast.
|
|
54
|
+
|
|
23
55
|
### ๐ Cons (Current Limitations)
|
|
24
56
|
- Base64 image storage can increase the raw output string size for very large images (Backend S3 uploading adapter coming soon).
|
|
25
57
|
- Markdown shortcut typing (e.g., typing `#` for H1) is not natively supported yet.
|
|
@@ -49,29 +81,63 @@ const editor = new TestEditor(container, {
|
|
|
49
81
|
});
|
|
50
82
|
```
|
|
51
83
|
|
|
52
|
-
### In React
|
|
84
|
+
### In React (Preventing Duplicates)
|
|
85
|
+
In React **Strict Mode**, components mount twice in development. Always use the cleanup function to destroy the editor instance.
|
|
53
86
|
|
|
54
87
|
```tsx
|
|
55
|
-
"use client";
|
|
56
88
|
import { useEffect, useRef } from 'react';
|
|
57
89
|
import { TestEditor } from '@meenainwal/rich-text-editor';
|
|
58
90
|
import '@meenainwal/rich-text-editor/style';
|
|
59
91
|
|
|
60
|
-
export default function
|
|
92
|
+
export default function App() {
|
|
61
93
|
const containerRef = useRef<HTMLDivElement>(null);
|
|
94
|
+
const editorRef = useRef<TestEditor | null>(null);
|
|
62
95
|
|
|
63
96
|
useEffect(() => {
|
|
64
|
-
if (containerRef.current) {
|
|
65
|
-
new TestEditor(containerRef.current, {
|
|
66
|
-
|
|
97
|
+
if (containerRef.current && !editorRef.current) {
|
|
98
|
+
editorRef.current = new TestEditor(containerRef.current, {
|
|
99
|
+
placeholder: 'Start writing...',
|
|
67
100
|
});
|
|
68
101
|
}
|
|
102
|
+
|
|
103
|
+
return () => {
|
|
104
|
+
if (editorRef.current) {
|
|
105
|
+
editorRef.current.destroy();
|
|
106
|
+
editorRef.current = null;
|
|
107
|
+
}
|
|
108
|
+
};
|
|
69
109
|
}, []);
|
|
70
110
|
|
|
71
111
|
return <div ref={containerRef} />;
|
|
72
112
|
}
|
|
73
113
|
```
|
|
74
114
|
|
|
115
|
+
### In Next.js (Safe Implementation)
|
|
116
|
+
For Next.js, ensure the editor is only initialized on the client side using `useEffect`.
|
|
117
|
+
|
|
118
|
+
```tsx
|
|
119
|
+
"use client";
|
|
120
|
+
import { useEffect, useRef } from 'react';
|
|
121
|
+
import { TestEditor } from '@meenainwal/rich-text-editor';
|
|
122
|
+
import '@meenainwal/rich-text-editor/style';
|
|
123
|
+
|
|
124
|
+
export default function MyEditor() {
|
|
125
|
+
const containerRef = useRef<HTMLDivElement>(null);
|
|
126
|
+
|
|
127
|
+
useEffect(() => {
|
|
128
|
+
if (!containerRef.current) return;
|
|
129
|
+
|
|
130
|
+
const editor = new TestEditor(containerRef.current, {
|
|
131
|
+
onSave: (html) => console.log(html)
|
|
132
|
+
});
|
|
133
|
+
|
|
134
|
+
return () => editor.destroy(); // Crucial for HMR and Strict Mode
|
|
135
|
+
}, []);
|
|
136
|
+
|
|
137
|
+
return <div ref={containerRef} className="editor-shell" />;
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
75
141
|
---
|
|
76
142
|
|
|
77
143
|
## โ๏ธ Configuration Options
|
|
@@ -88,12 +154,32 @@ export default function Editor() {
|
|
|
88
154
|
|
|
89
155
|
## ๐ API Methods
|
|
90
156
|
|
|
157
|
+
- `destroy()`: **Crucial** - Cleans up DOM, event listeners, and memory leaks.
|
|
91
158
|
- `getHTML()`: Returns the content as a sanitized HTML string.
|
|
92
159
|
- `setHTML(html)`: Programmatically sets the editor content.
|
|
93
160
|
- `focus()`: Forces focus onto the editor.
|
|
94
161
|
- `setDarkMode(boolean)`: Dynamically toggle dark mode.
|
|
95
162
|
- `insertTable(rows, cols)`: Programmatically insert a table.
|
|
96
163
|
|
|
164
|
+
## ๐ก Troubleshooting: Duplicate Editors?
|
|
165
|
+
If you see multiple toolbars or editors, it's likely because:
|
|
166
|
+
1. **React Strict Mode**: Ensure you call `editor.destroy()` in the `useEffect` cleanup.
|
|
167
|
+
2. **Missing Cleanup**: The editor injects elements into the DOM; if you don't destroy it when the component unmounts, those elements remain.
|
|
168
|
+
|
|
169
|
+
## ๐ Patch Notes (v1.1.1)
|
|
170
|
+
|
|
171
|
+
### ๐ Bug Fixes
|
|
172
|
+
- **Fixed Missing `destroy()` Export**: Resolved TypeScript error where the `destroy()` method was missing from the generated type declarations.
|
|
173
|
+
- **Image Resizer Cleanup**: Fixed a memory leak where window-level event listeners for image resizing were not being removed on editor destruction.
|
|
174
|
+
- **Double Initializing Failsafe**: Added an internal check to clear the container before initialization, preventing duplicate editors in React Strict Mode.
|
|
175
|
+
- **Lazy-Loaded Emojis**: Moved the Emoji List to a separate chunk (~19kB) that only loads when the picker is opened, reducing the initial bundle size.
|
|
176
|
+
|
|
177
|
+
### โจ Improvements
|
|
178
|
+
- **Optimized Initial Load**: Critical path JS is now only **~11kB gzipped**.
|
|
179
|
+
- **Robust Documentation**: Added detailed React and Next.js implementation guides with proper lifecycle cleanup examples.
|
|
180
|
+
- **Troubleshooting Guide**: New section for common pitfalls like duplicate editors and SSR issues.
|
|
181
|
+
- **Live Demo**: Added StackBlitz interactive demo for instant preview.
|
|
182
|
+
|
|
97
183
|
---
|
|
98
184
|
|
|
99
185
|
## ๐ License
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
const e = [
|
|
2
|
+
// Smileys & Emotion
|
|
3
|
+
{ emoji: "๐", name: "grinning", category: "Smileys" },
|
|
4
|
+
{ emoji: "๐", name: "smiley", category: "Smileys" },
|
|
5
|
+
{ emoji: "๐", name: "smile", category: "Smileys" },
|
|
6
|
+
{ emoji: "๐", name: "grin", category: "Smileys" },
|
|
7
|
+
{ emoji: "๐", name: "laughing", category: "Smileys" },
|
|
8
|
+
{ emoji: "๐
", name: "sweat smile", category: "Smileys" },
|
|
9
|
+
{ emoji: "๐คฃ", name: "rofl", category: "Smileys" },
|
|
10
|
+
{ emoji: "๐", name: "joy", category: "Smileys" },
|
|
11
|
+
{ emoji: "๐", name: "slight smile", category: "Smileys" },
|
|
12
|
+
{ emoji: "๐", name: "upside down", category: "Smileys" },
|
|
13
|
+
{ emoji: "๐", name: "wink", category: "Smileys" },
|
|
14
|
+
{ emoji: "๐", name: "blush", category: "Smileys" },
|
|
15
|
+
{ emoji: "๐", name: "innocent", category: "Smileys" },
|
|
16
|
+
{ emoji: "๐ฅฐ", name: "smiling face with hearts", category: "Smileys" },
|
|
17
|
+
{ emoji: "๐", name: "heart eyes", category: "Smileys" },
|
|
18
|
+
{ emoji: "๐คฉ", name: "star struck", category: "Smileys" },
|
|
19
|
+
{ emoji: "๐", name: "kissing heart", category: "Smileys" },
|
|
20
|
+
{ emoji: "๐", name: "kissing", category: "Smileys" },
|
|
21
|
+
{ emoji: "๐", name: "kissing closed eyes", category: "Smileys" },
|
|
22
|
+
{ emoji: "๐", name: "yum", category: "Smileys" },
|
|
23
|
+
{ emoji: "๐", name: "stuck out tongue", category: "Smileys" },
|
|
24
|
+
{ emoji: "๐", name: "stuck out tongue winking eye", category: "Smileys" },
|
|
25
|
+
{ emoji: "๐คช", name: "zany face", category: "Smileys" },
|
|
26
|
+
{ emoji: "๐คจ", name: "raised eyebrow", category: "Smileys" },
|
|
27
|
+
{ emoji: "๐ง", name: "monocle", category: "Smileys" },
|
|
28
|
+
{ emoji: "๐ค", name: "nerd", category: "Smileys" },
|
|
29
|
+
{ emoji: "๐", name: "sunglasses", category: "Smileys" },
|
|
30
|
+
{ emoji: "๐ฅณ", name: "partying face", category: "Smileys" },
|
|
31
|
+
{ emoji: "๐", name: "smirk", category: "Smileys" },
|
|
32
|
+
{ emoji: "๐", name: "unamused", category: "Smileys" },
|
|
33
|
+
{ emoji: "๐", name: "disappointed", category: "Smileys" },
|
|
34
|
+
{ emoji: "๐", name: "pensive", category: "Smileys" },
|
|
35
|
+
{ emoji: "๐", name: "worried", category: "Smileys" },
|
|
36
|
+
{ emoji: "๐", name: "confused", category: "Smileys" },
|
|
37
|
+
{ emoji: "๐ซ", name: "tired", category: "Smileys" },
|
|
38
|
+
{ emoji: "๐ฅต", name: "hot face", category: "Smileys" },
|
|
39
|
+
{ emoji: "๐ฅถ", name: "cold face", category: "Smileys" },
|
|
40
|
+
{ emoji: "๐ณ", name: "flushed", category: "Smileys" },
|
|
41
|
+
{ emoji: "๐ฑ", name: "scream", category: "Smileys" },
|
|
42
|
+
{ emoji: "๐คข", name: "nauseated", category: "Smileys" },
|
|
43
|
+
{ emoji: "๐คฎ", name: "vomiting", category: "Smileys" },
|
|
44
|
+
{ emoji: "๐คฌ", name: "cursing", category: "Smileys" },
|
|
45
|
+
{ emoji: "๐คซ", name: "shushing", category: "Smileys" },
|
|
46
|
+
{ emoji: "๐ค", name: "thinking", category: "Smileys" },
|
|
47
|
+
{ emoji: "๐ค", name: "hugs", category: "Smileys" },
|
|
48
|
+
{ emoji: "๐ฅฑ", name: "yawn", category: "Smileys" },
|
|
49
|
+
{ emoji: "๐ด", name: "sleeping", category: "Smileys" },
|
|
50
|
+
{ emoji: "๐คค", name: "drooling", category: "Smileys" },
|
|
51
|
+
{ emoji: "๐ต", name: "dizzy", category: "Smileys" },
|
|
52
|
+
{ emoji: "๐ค", name: "zipper mouth", category: "Smileys" },
|
|
53
|
+
{ emoji: "๐ฅด", name: "woozy", category: "Smileys" },
|
|
54
|
+
{ emoji: "๐ค", name: "fever", category: "Smileys" },
|
|
55
|
+
{ emoji: "๐ค", name: "bandage", category: "Smileys" },
|
|
56
|
+
{ emoji: "๐คก", name: "clown", category: "Smileys" },
|
|
57
|
+
{ emoji: "๐ป", name: "ghost", category: "Smileys" },
|
|
58
|
+
{ emoji: "๐ฝ", name: "alien", category: "Smileys" },
|
|
59
|
+
{ emoji: "๐พ", name: "robot", category: "Smileys" },
|
|
60
|
+
{ emoji: "๐ฉ", name: "poop", category: "Smileys" },
|
|
61
|
+
// Hearts & Symbols
|
|
62
|
+
{ emoji: "โค๏ธ", name: "heart", category: "Symbols" },
|
|
63
|
+
{ emoji: "๐งก", name: "orange heart", category: "Symbols" },
|
|
64
|
+
{ emoji: "๐", name: "yellow heart", category: "Symbols" },
|
|
65
|
+
{ emoji: "๐", name: "green heart", category: "Symbols" },
|
|
66
|
+
{ emoji: "๐", name: "blue heart", category: "Symbols" },
|
|
67
|
+
{ emoji: "๐", name: "purple heart", category: "Symbols" },
|
|
68
|
+
{ emoji: "๐ค", name: "black heart", category: "Symbols" },
|
|
69
|
+
{ emoji: "๐ค", name: "white heart", category: "Symbols" },
|
|
70
|
+
{ emoji: "๐ค", name: "brown heart", category: "Symbols" },
|
|
71
|
+
{ emoji: "๐", name: "broken heart", category: "Symbols" },
|
|
72
|
+
{ emoji: "โฃ๏ธ", name: "heart exclamation", category: "Symbols" },
|
|
73
|
+
{ emoji: "๐", name: "two hearts", category: "Symbols" },
|
|
74
|
+
{ emoji: "๐", name: "revolving hearts", category: "Symbols" },
|
|
75
|
+
{ emoji: "โจ", name: "sparkles", category: "Symbols" },
|
|
76
|
+
{ emoji: "๐ฅ", name: "fire", category: "Symbols" },
|
|
77
|
+
{ emoji: "โญ", name: "star", category: "Symbols" },
|
|
78
|
+
{ emoji: "๐", name: "glowing star", category: "Symbols" },
|
|
79
|
+
{ emoji: "โ
", name: "check", category: "Symbols" },
|
|
80
|
+
{ emoji: "โ", name: "cross", category: "Symbols" },
|
|
81
|
+
{ emoji: "๐ฏ", name: "hundred", category: "Symbols" },
|
|
82
|
+
{ emoji: "๐ข", name: "anger", category: "Symbols" },
|
|
83
|
+
{ emoji: "๐ฅ", name: "collision", category: "Symbols" },
|
|
84
|
+
{ emoji: "๐ซ", name: "dizzy symbol", category: "Symbols" },
|
|
85
|
+
{ emoji: "๐ฆ", name: "sweat drops", category: "Symbols" },
|
|
86
|
+
{ emoji: "๐จ", name: "dash", category: "Symbols" },
|
|
87
|
+
// Hand Gestures
|
|
88
|
+
{ emoji: "๐", name: "thumbs up", category: "Hands" },
|
|
89
|
+
{ emoji: "๐", name: "thumbs down", category: "Hands" },
|
|
90
|
+
{ emoji: "๐", name: "ok", category: "Hands" },
|
|
91
|
+
{ emoji: "โ๏ธ", name: "victory", category: "Hands" },
|
|
92
|
+
{ emoji: "๐ค", name: "fingers crossed", category: "Hands" },
|
|
93
|
+
{ emoji: "๐ค", name: "rock on", category: "Hands" },
|
|
94
|
+
{ emoji: "๐ค", name: "horns", category: "Hands" },
|
|
95
|
+
{ emoji: "๐ค", name: "call me", category: "Hands" },
|
|
96
|
+
{ emoji: "๐", name: "point left", category: "Hands" },
|
|
97
|
+
{ emoji: "๐", name: "point right", category: "Hands" },
|
|
98
|
+
{ emoji: "๐", name: "point up", category: "Hands" },
|
|
99
|
+
{ emoji: "๐", name: "point down", category: "Hands" },
|
|
100
|
+
{ emoji: "๐๏ธ", name: "hand splayed", category: "Hands" },
|
|
101
|
+
{ emoji: "โ", name: "raised hand", category: "Hands" },
|
|
102
|
+
{ emoji: "๐", name: "vulcan salute", category: "Hands" },
|
|
103
|
+
{ emoji: "๐", name: "wave", category: "Hands" },
|
|
104
|
+
{ emoji: "๐", name: "clap", category: "Hands" },
|
|
105
|
+
{ emoji: "๐", name: "hands up", category: "Hands" },
|
|
106
|
+
{ emoji: "๐", name: "open hands", category: "Hands" },
|
|
107
|
+
{ emoji: "๐คฒ", name: "palms up", category: "Hands" },
|
|
108
|
+
{ emoji: "๐ค", name: "handshake", category: "Hands" },
|
|
109
|
+
{ emoji: "๐", name: "pray", category: "Hands" },
|
|
110
|
+
{ emoji: "๐ช", name: "flex", category: "Hands" },
|
|
111
|
+
{ emoji: "โ๏ธ", name: "writing", category: "Hands" },
|
|
112
|
+
{ emoji: "๐คณ", name: "selfie", category: "Hands" },
|
|
113
|
+
// Animals & Nature
|
|
114
|
+
{ emoji: "๐ถ", name: "dog", category: "Animals" },
|
|
115
|
+
{ emoji: "๐ฑ", name: "cat", category: "Animals" },
|
|
116
|
+
{ emoji: "๐ญ", name: "mouse", category: "Animals" },
|
|
117
|
+
{ emoji: "๐น", name: "hamster", category: "Animals" },
|
|
118
|
+
{ emoji: "๐ฐ", name: "rabbit", category: "Animals" },
|
|
119
|
+
{ emoji: "๐ฆ", name: "fox", category: "Animals" },
|
|
120
|
+
{ emoji: "๐ป", name: "bear", category: "Animals" },
|
|
121
|
+
{ emoji: "๐ผ", name: "panda", category: "Animals" },
|
|
122
|
+
{ emoji: "๐จ", name: "koala", category: "Animals" },
|
|
123
|
+
{ emoji: "๐ฏ", name: "tiger", category: "Animals" },
|
|
124
|
+
{ emoji: "๐ฆ", name: "lion", category: "Animals" },
|
|
125
|
+
{ emoji: "๐ฎ", name: "cow", category: "Animals" },
|
|
126
|
+
{ emoji: "๐ท", name: "pig", category: "Animals" },
|
|
127
|
+
{ emoji: "๐ธ", name: "frog", category: "Animals" },
|
|
128
|
+
{ emoji: "๐ต", name: "monkey", category: "Animals" },
|
|
129
|
+
{ emoji: "๐", name: "chicken", category: "Animals" },
|
|
130
|
+
{ emoji: "๐ง", name: "penguin", category: "Animals" },
|
|
131
|
+
{ emoji: "๐ฆ", name: "bird", category: "Animals" },
|
|
132
|
+
{ emoji: "๐ค", name: "chick", category: "Animals" },
|
|
133
|
+
{ emoji: "๐ฆ", name: "duck", category: "Animals" },
|
|
134
|
+
{ emoji: "๐ฆ
", name: "eagle", category: "Animals" },
|
|
135
|
+
{ emoji: "๐ฆ", name: "owl", category: "Animals" },
|
|
136
|
+
{ emoji: "๐ฆ", name: "bat", category: "Animals" },
|
|
137
|
+
{ emoji: "๐ฆ", name: "unicorn", category: "Animals" },
|
|
138
|
+
{ emoji: "๐", name: "bee", category: "Animals" },
|
|
139
|
+
{ emoji: "๐ฆ", name: "butterfly", category: "Animals" },
|
|
140
|
+
{ emoji: "๐", name: "snail", category: "Animals" },
|
|
141
|
+
{ emoji: "๐", name: "ladybeetle", category: "Animals" },
|
|
142
|
+
{ emoji: "๐ข", name: "turtle", category: "Animals" },
|
|
143
|
+
{ emoji: "๐", name: "snake", category: "Animals" },
|
|
144
|
+
{ emoji: "๐", name: "octopus", category: "Animals" },
|
|
145
|
+
{ emoji: "๐ฌ", name: "dolphin", category: "Animals" },
|
|
146
|
+
{ emoji: "๐ณ", name: "whale", category: "Animals" },
|
|
147
|
+
{ emoji: "๐", name: "fish", category: "Animals" },
|
|
148
|
+
{ emoji: "๐ฆ", name: "zebra", category: "Animals" },
|
|
149
|
+
{ emoji: "๐ฆ", name: "giraffe", category: "Animals" },
|
|
150
|
+
{ emoji: "๐", name: "elephant", category: "Animals" },
|
|
151
|
+
{ emoji: "๐ฆ", name: "rhino", category: "Animals" },
|
|
152
|
+
{ emoji: "๐ช", name: "camel", category: "Animals" },
|
|
153
|
+
{ emoji: "๐", name: "monkey", category: "Animals" },
|
|
154
|
+
// Food & Drink
|
|
155
|
+
{ emoji: "๐", name: "apple", category: "Food" },
|
|
156
|
+
{ emoji: "๐", name: "pear", category: "Food" },
|
|
157
|
+
{ emoji: "๐", name: "tangerine", category: "Food" },
|
|
158
|
+
{ emoji: "๐", name: "lemon", category: "Food" },
|
|
159
|
+
{ emoji: "๐", name: "banana", category: "Food" },
|
|
160
|
+
{ emoji: "๐", name: "watermelon", category: "Food" },
|
|
161
|
+
{ emoji: "๐", name: "grapes", category: "Food" },
|
|
162
|
+
{ emoji: "๐", name: "strawberry", category: "Food" },
|
|
163
|
+
{ emoji: "๐", name: "cherries", category: "Food" },
|
|
164
|
+
{ emoji: "๐", name: "peach", category: "Food" },
|
|
165
|
+
{ emoji: "๐ฅญ", name: "mango", category: "Food" },
|
|
166
|
+
{ emoji: "๐", name: "pineapple", category: "Food" },
|
|
167
|
+
{ emoji: "๐ฅฅ", name: "coconut", category: "Food" },
|
|
168
|
+
{ emoji: "๐ฅ", name: "kiwi", category: "Food" },
|
|
169
|
+
{ emoji: "๐
", name: "tomato", category: "Food" },
|
|
170
|
+
{ emoji: "๐ฅ", name: "avocado", category: "Food" },
|
|
171
|
+
{ emoji: "๐", name: "eggplant", category: "Food" },
|
|
172
|
+
{ emoji: "๐ฅ", name: "potato", category: "Food" },
|
|
173
|
+
{ emoji: "๐ฅ", name: "carrot", category: "Food" },
|
|
174
|
+
{ emoji: "๐ฝ", name: "corn", category: "Food" },
|
|
175
|
+
{ emoji: "๐ถ๏ธ", name: "hot pepper", category: "Food" },
|
|
176
|
+
{ emoji: "๐ฅฆ", name: "broccoli", category: "Food" },
|
|
177
|
+
{ emoji: "๐", name: "mushroom", category: "Food" },
|
|
178
|
+
{ emoji: "๐ฅ", name: "peanuts", category: "Food" },
|
|
179
|
+
{ emoji: "๐", name: "bread", category: "Food" },
|
|
180
|
+
{ emoji: "๐ฅ", name: "croissant", category: "Food" },
|
|
181
|
+
{ emoji: "๐ฅฏ", name: "bagel", category: "Food" },
|
|
182
|
+
{ emoji: "๐ฅ", name: "pancakes", category: "Food" },
|
|
183
|
+
{ emoji: "๐ง", name: "cheese", category: "Food" },
|
|
184
|
+
{ emoji: "๐", name: "meat", category: "Food" },
|
|
185
|
+
{ emoji: "๐", name: "poultry leg", category: "Food" },
|
|
186
|
+
{ emoji: "๐ฅ", name: "bacon", category: "Food" },
|
|
187
|
+
{ emoji: "๐", name: "hamburger", category: "Food" },
|
|
188
|
+
{ emoji: "๐", name: "fries", category: "Food" },
|
|
189
|
+
{ emoji: "๐", name: "pizza", category: "Food" },
|
|
190
|
+
{ emoji: "๐ญ", name: "hot dog", category: "Food" },
|
|
191
|
+
{ emoji: "๐ฅช", name: "sandwich", category: "Food" },
|
|
192
|
+
{ emoji: "๐ฎ", name: "taco", category: "Food" },
|
|
193
|
+
{ emoji: "๐ฏ", name: "burrito", category: "Food" },
|
|
194
|
+
{ emoji: "๐ณ", name: "egg", category: "Food" },
|
|
195
|
+
{ emoji: "๐ฒ", name: "stew", category: "Food" },
|
|
196
|
+
{ emoji: "๐ฅฃ", name: "bowl", category: "Food" },
|
|
197
|
+
{ emoji: "๐ฅ", name: "salad", category: "Food" },
|
|
198
|
+
{ emoji: "๐ฟ", name: "popcorn", category: "Food" },
|
|
199
|
+
{ emoji: "๐ฑ", name: "bento", category: "Food" },
|
|
200
|
+
{ emoji: "๐ฃ", name: "sushi", category: "Food" },
|
|
201
|
+
{ emoji: "๐ค", name: "shrimp", category: "Food" },
|
|
202
|
+
{ emoji: "๐ฆ", name: "ice cream", category: "Food" },
|
|
203
|
+
{ emoji: "๐ง", name: "shaved ice", category: "Food" },
|
|
204
|
+
{ emoji: "๐จ", name: "ice cream", category: "Food" },
|
|
205
|
+
{ emoji: "๐ฉ", name: "donut", category: "Food" },
|
|
206
|
+
{ emoji: "๐ช", name: "cookie", category: "Food" },
|
|
207
|
+
{ emoji: "๐", name: "cake", category: "Food" },
|
|
208
|
+
{ emoji: "๐ฐ", name: "shortcake", category: "Food" },
|
|
209
|
+
{ emoji: "๐ง", name: "cupcake", category: "Food" },
|
|
210
|
+
{ emoji: "๐ฅง", name: "pie", category: "Food" },
|
|
211
|
+
{ emoji: "๐ซ", name: "chocolate", category: "Food" },
|
|
212
|
+
{ emoji: "๐ฌ", name: "candy", category: "Food" },
|
|
213
|
+
{ emoji: "๐ญ", name: "lollipop", category: "Food" },
|
|
214
|
+
{ emoji: "๐ฎ", name: "custard", category: "Food" },
|
|
215
|
+
{ emoji: "๐ฏ", name: "honey", category: "Food" },
|
|
216
|
+
{ emoji: "๐ผ", name: "baby bottle", category: "Food" },
|
|
217
|
+
{ emoji: "๐ฅ", name: "milk", category: "Food" },
|
|
218
|
+
{ emoji: "โ", name: "coffee", category: "Food" },
|
|
219
|
+
{ emoji: "๐ต", name: "tea", category: "Food" },
|
|
220
|
+
{ emoji: "๐ถ", name: "sake", category: "Food" },
|
|
221
|
+
{ emoji: "๐พ", name: "champagne", category: "Food" },
|
|
222
|
+
{ emoji: "๐ท", name: "wine", category: "Food" },
|
|
223
|
+
{ emoji: "๐ธ", name: "cocktail", category: "Food" },
|
|
224
|
+
{ emoji: "๐น", name: "tropical drink", category: "Food" },
|
|
225
|
+
{ emoji: "๐บ", name: "beer", category: "Food" },
|
|
226
|
+
{ emoji: "๐ป", name: "beers", category: "Food" },
|
|
227
|
+
{ emoji: "๐ฅ", name: "tumbler glass", category: "Food" },
|
|
228
|
+
{ emoji: "๐ฅค", name: "soda", category: "Food" },
|
|
229
|
+
// Travel & Places
|
|
230
|
+
{ emoji: "๐", name: "car", category: "Travel" },
|
|
231
|
+
{ emoji: "๐", name: "taxi", category: "Travel" },
|
|
232
|
+
{ emoji: "๐", name: "bus", category: "Travel" },
|
|
233
|
+
{ emoji: "๐", name: "trolleybus", category: "Travel" },
|
|
234
|
+
{ emoji: "๐๏ธ", name: "racing car", category: "Travel" },
|
|
235
|
+
{ emoji: "๐", name: "police car", category: "Travel" },
|
|
236
|
+
{ emoji: "๐", name: "ambulance", category: "Travel" },
|
|
237
|
+
{ emoji: "๐", name: "fire engine", category: "Travel" },
|
|
238
|
+
{ emoji: "๐", name: "minibus", category: "Travel" },
|
|
239
|
+
{ emoji: "๐", name: "truck", category: "Travel" },
|
|
240
|
+
{ emoji: "๐", name: "articulated lorry", category: "Travel" },
|
|
241
|
+
{ emoji: "๐", name: "tractor", category: "Travel" },
|
|
242
|
+
{ emoji: "๐ฒ", name: "bicycle", category: "Travel" },
|
|
243
|
+
{ emoji: "๐ต", name: "scooter", category: "Travel" },
|
|
244
|
+
{ emoji: "๐๏ธ", name: "motorcycle", category: "Travel" },
|
|
245
|
+
{ emoji: "๐", name: "bullet train", category: "Travel" },
|
|
246
|
+
{ emoji: "๐", name: "train", category: "Travel" },
|
|
247
|
+
{ emoji: "โ๏ธ", name: "airplane", category: "Travel" },
|
|
248
|
+
{ emoji: "๐", name: "rocket", category: "Travel" },
|
|
249
|
+
{ emoji: "๐ธ", name: "ufo", category: "Travel" },
|
|
250
|
+
{ emoji: "๐", name: "helicopter", category: "Travel" },
|
|
251
|
+
{ emoji: "๐ข", name: "ship", category: "Travel" },
|
|
252
|
+
{ emoji: "โต", name: "sailboat", category: "Travel" },
|
|
253
|
+
{ emoji: "โ", name: "anchor", category: "Travel" },
|
|
254
|
+
{ emoji: "โฝ", name: "fuel pump", category: "Travel" },
|
|
255
|
+
{ emoji: "๐ฆ", name: "traffic light", category: "Travel" },
|
|
256
|
+
// Objects & Tools
|
|
257
|
+
{ emoji: "๐ป", name: "laptop", category: "Objects" },
|
|
258
|
+
{ emoji: "๐ฑ", name: "mobile", category: "Objects" },
|
|
259
|
+
{ emoji: "โ๏ธ", name: "telephone", category: "Objects" },
|
|
260
|
+
{ emoji: "โจ๏ธ", name: "keyboard", category: "Objects" },
|
|
261
|
+
{ emoji: "๐ฅ๏ธ", name: "desktop", category: "Objects" },
|
|
262
|
+
{ emoji: "๐จ๏ธ", name: "printer", category: "Objects" },
|
|
263
|
+
{ emoji: "๐ธ", name: "camera", category: "Objects" },
|
|
264
|
+
{ emoji: "๐ฅ", name: "video camera", category: "Objects" },
|
|
265
|
+
{ emoji: "๐บ", name: "tv", category: "Objects" },
|
|
266
|
+
{ emoji: "๐ป", name: "radio", category: "Objects" },
|
|
267
|
+
{ emoji: "โฐ", name: "alarm clock", category: "Objects" },
|
|
268
|
+
{ emoji: "๐ก", name: "light bulb", category: "Objects" },
|
|
269
|
+
{ emoji: "๐ฆ", name: "flashlight", category: "Objects" },
|
|
270
|
+
{ emoji: "๐ฏ๏ธ", name: "candle", category: "Objects" },
|
|
271
|
+
{ emoji: "๐จ", name: "hammer", category: "Objects" },
|
|
272
|
+
{ emoji: "๐ง", name: "wrench", category: "Objects" },
|
|
273
|
+
{ emoji: "๐ฉ", name: "nut and bolt", category: "Objects" },
|
|
274
|
+
{ emoji: "๐ซ", name: "water pistol", category: "Objects" },
|
|
275
|
+
{ emoji: "๐ธ", name: "money", category: "Objects" },
|
|
276
|
+
{ emoji: "๐ต", name: "dollar bill", category: "Objects" },
|
|
277
|
+
{ emoji: "๐ณ", name: "credit card", category: "Objects" },
|
|
278
|
+
{ emoji: "๐", name: "gem", category: "Objects" },
|
|
279
|
+
{ emoji: "โ๏ธ", name: "balance scale", category: "Objects" },
|
|
280
|
+
{ emoji: "๐", name: "link", category: "Objects" },
|
|
281
|
+
{ emoji: "โ๏ธ", name: "chains", category: "Objects" },
|
|
282
|
+
{ emoji: "๐", name: "syringe", category: "Objects" },
|
|
283
|
+
{ emoji: "๐", name: "pill", category: "Objects" },
|
|
284
|
+
{ emoji: "๐ช", name: "door", category: "Objects" },
|
|
285
|
+
{ emoji: "๐๏ธ", name: "bed", category: "Objects" },
|
|
286
|
+
{ emoji: "๐๏ธ", name: "couch", category: "Objects" },
|
|
287
|
+
{ emoji: "๐ฟ", name: "shower", category: "Objects" },
|
|
288
|
+
{ emoji: "๐", name: "bathtub", category: "Objects" },
|
|
289
|
+
{ emoji: "๐", name: "key", category: "Objects" },
|
|
290
|
+
{ emoji: "๐งน", name: "broom", category: "Objects" },
|
|
291
|
+
// Activities & Hobbies
|
|
292
|
+
{ emoji: "โฝ", name: "soccer", category: "Activities" },
|
|
293
|
+
{ emoji: "๐", name: "basketball", category: "Activities" },
|
|
294
|
+
{ emoji: "๐", name: "football", category: "Activities" },
|
|
295
|
+
{ emoji: "โพ", name: "baseball", category: "Activities" },
|
|
296
|
+
{ emoji: "๐พ", name: "tennis", category: "Activities" },
|
|
297
|
+
{ emoji: "๐", name: "volleyball", category: "Activities" },
|
|
298
|
+
{ emoji: "๐", name: "rugby", category: "Activities" },
|
|
299
|
+
{ emoji: "๐ฑ", name: "pool", category: "Activities" },
|
|
300
|
+
{ emoji: "โณ", name: "golf", category: "Activities" },
|
|
301
|
+
{ emoji: "๐ช", name: "kite", category: "Activities" },
|
|
302
|
+
{ emoji: "๐น", name: "bow and arrow", category: "Activities" },
|
|
303
|
+
{ emoji: "๐ฃ", name: "fishing", category: "Activities" },
|
|
304
|
+
{ emoji: "๐ฅ", name: "boxing", category: "Activities" },
|
|
305
|
+
{ emoji: "๐ฅ", name: "martial arts", category: "Activities" },
|
|
306
|
+
{ emoji: "โธ๏ธ", name: "ice skate", category: "Activities" },
|
|
307
|
+
{ emoji: "๐ฟ", name: "ski", category: "Activities" },
|
|
308
|
+
{ emoji: "๐", name: "snowboard", category: "Activities" },
|
|
309
|
+
{ emoji: "๐๏ธ", name: "weightlifter", category: "Activities" },
|
|
310
|
+
{ emoji: "๐คบ", name: "fencing", category: "Activities" },
|
|
311
|
+
{ emoji: "๐คผ", name: "wrestling", category: "Activities" },
|
|
312
|
+
{ emoji: "๐คธ", name: "cartwheel", category: "Activities" },
|
|
313
|
+
{ emoji: "๐", name: "trophy", category: "Activities" },
|
|
314
|
+
{ emoji: "๐
", name: "medal", category: "Activities" },
|
|
315
|
+
{ emoji: "๐ฅ", name: "first place", category: "Activities" },
|
|
316
|
+
{ emoji: "๐๏ธ", name: "ticket", category: "Activities" },
|
|
317
|
+
{ emoji: "๐ฎ", name: "video game", category: "Activities" },
|
|
318
|
+
{ emoji: "๐ฒ", name: "die", category: "Activities" },
|
|
319
|
+
{ emoji: "โ๏ธ", name: "chess", category: "Activities" },
|
|
320
|
+
{ emoji: "๐น", name: "piano", category: "Activities" },
|
|
321
|
+
{ emoji: "๐ธ", name: "guitar", category: "Activities" },
|
|
322
|
+
{ emoji: "๐บ", name: "trumpet", category: "Activities" },
|
|
323
|
+
{ emoji: "๐ป", name: "violin", category: "Activities" },
|
|
324
|
+
{ emoji: "๐ฅ", name: "drum", category: "Activities" },
|
|
325
|
+
{ emoji: "๐ญ", name: "performing arts", category: "Activities" },
|
|
326
|
+
{ emoji: "๐จ", name: "artist palette", category: "Activities" },
|
|
327
|
+
{ emoji: "๐ฌ", name: "clapper board", category: "Activities" },
|
|
328
|
+
{ emoji: "๐ค", name: "microphone", category: "Activities" },
|
|
329
|
+
{ emoji: "๐ง", name: "headphone", category: "Activities" }
|
|
330
|
+
];
|
|
331
|
+
export {
|
|
332
|
+
e as EMOJI_LIST
|
|
333
|
+
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=[{emoji:"๐",name:"grinning",category:"Smileys"},{emoji:"๐",name:"smiley",category:"Smileys"},{emoji:"๐",name:"smile",category:"Smileys"},{emoji:"๐",name:"grin",category:"Smileys"},{emoji:"๐",name:"laughing",category:"Smileys"},{emoji:"๐
",name:"sweat smile",category:"Smileys"},{emoji:"๐คฃ",name:"rofl",category:"Smileys"},{emoji:"๐",name:"joy",category:"Smileys"},{emoji:"๐",name:"slight smile",category:"Smileys"},{emoji:"๐",name:"upside down",category:"Smileys"},{emoji:"๐",name:"wink",category:"Smileys"},{emoji:"๐",name:"blush",category:"Smileys"},{emoji:"๐",name:"innocent",category:"Smileys"},{emoji:"๐ฅฐ",name:"smiling face with hearts",category:"Smileys"},{emoji:"๐",name:"heart eyes",category:"Smileys"},{emoji:"๐คฉ",name:"star struck",category:"Smileys"},{emoji:"๐",name:"kissing heart",category:"Smileys"},{emoji:"๐",name:"kissing",category:"Smileys"},{emoji:"๐",name:"kissing closed eyes",category:"Smileys"},{emoji:"๐",name:"yum",category:"Smileys"},{emoji:"๐",name:"stuck out tongue",category:"Smileys"},{emoji:"๐",name:"stuck out tongue winking eye",category:"Smileys"},{emoji:"๐คช",name:"zany face",category:"Smileys"},{emoji:"๐คจ",name:"raised eyebrow",category:"Smileys"},{emoji:"๐ง",name:"monocle",category:"Smileys"},{emoji:"๐ค",name:"nerd",category:"Smileys"},{emoji:"๐",name:"sunglasses",category:"Smileys"},{emoji:"๐ฅณ",name:"partying face",category:"Smileys"},{emoji:"๐",name:"smirk",category:"Smileys"},{emoji:"๐",name:"unamused",category:"Smileys"},{emoji:"๐",name:"disappointed",category:"Smileys"},{emoji:"๐",name:"pensive",category:"Smileys"},{emoji:"๐",name:"worried",category:"Smileys"},{emoji:"๐",name:"confused",category:"Smileys"},{emoji:"๐ซ",name:"tired",category:"Smileys"},{emoji:"๐ฅต",name:"hot face",category:"Smileys"},{emoji:"๐ฅถ",name:"cold face",category:"Smileys"},{emoji:"๐ณ",name:"flushed",category:"Smileys"},{emoji:"๐ฑ",name:"scream",category:"Smileys"},{emoji:"๐คข",name:"nauseated",category:"Smileys"},{emoji:"๐คฎ",name:"vomiting",category:"Smileys"},{emoji:"๐คฌ",name:"cursing",category:"Smileys"},{emoji:"๐คซ",name:"shushing",category:"Smileys"},{emoji:"๐ค",name:"thinking",category:"Smileys"},{emoji:"๐ค",name:"hugs",category:"Smileys"},{emoji:"๐ฅฑ",name:"yawn",category:"Smileys"},{emoji:"๐ด",name:"sleeping",category:"Smileys"},{emoji:"๐คค",name:"drooling",category:"Smileys"},{emoji:"๐ต",name:"dizzy",category:"Smileys"},{emoji:"๐ค",name:"zipper mouth",category:"Smileys"},{emoji:"๐ฅด",name:"woozy",category:"Smileys"},{emoji:"๐ค",name:"fever",category:"Smileys"},{emoji:"๐ค",name:"bandage",category:"Smileys"},{emoji:"๐คก",name:"clown",category:"Smileys"},{emoji:"๐ป",name:"ghost",category:"Smileys"},{emoji:"๐ฝ",name:"alien",category:"Smileys"},{emoji:"๐พ",name:"robot",category:"Smileys"},{emoji:"๐ฉ",name:"poop",category:"Smileys"},{emoji:"โค๏ธ",name:"heart",category:"Symbols"},{emoji:"๐งก",name:"orange heart",category:"Symbols"},{emoji:"๐",name:"yellow heart",category:"Symbols"},{emoji:"๐",name:"green heart",category:"Symbols"},{emoji:"๐",name:"blue heart",category:"Symbols"},{emoji:"๐",name:"purple heart",category:"Symbols"},{emoji:"๐ค",name:"black heart",category:"Symbols"},{emoji:"๐ค",name:"white heart",category:"Symbols"},{emoji:"๐ค",name:"brown heart",category:"Symbols"},{emoji:"๐",name:"broken heart",category:"Symbols"},{emoji:"โฃ๏ธ",name:"heart exclamation",category:"Symbols"},{emoji:"๐",name:"two hearts",category:"Symbols"},{emoji:"๐",name:"revolving hearts",category:"Symbols"},{emoji:"โจ",name:"sparkles",category:"Symbols"},{emoji:"๐ฅ",name:"fire",category:"Symbols"},{emoji:"โญ",name:"star",category:"Symbols"},{emoji:"๐",name:"glowing star",category:"Symbols"},{emoji:"โ
",name:"check",category:"Symbols"},{emoji:"โ",name:"cross",category:"Symbols"},{emoji:"๐ฏ",name:"hundred",category:"Symbols"},{emoji:"๐ข",name:"anger",category:"Symbols"},{emoji:"๐ฅ",name:"collision",category:"Symbols"},{emoji:"๐ซ",name:"dizzy symbol",category:"Symbols"},{emoji:"๐ฆ",name:"sweat drops",category:"Symbols"},{emoji:"๐จ",name:"dash",category:"Symbols"},{emoji:"๐",name:"thumbs up",category:"Hands"},{emoji:"๐",name:"thumbs down",category:"Hands"},{emoji:"๐",name:"ok",category:"Hands"},{emoji:"โ๏ธ",name:"victory",category:"Hands"},{emoji:"๐ค",name:"fingers crossed",category:"Hands"},{emoji:"๐ค",name:"rock on",category:"Hands"},{emoji:"๐ค",name:"horns",category:"Hands"},{emoji:"๐ค",name:"call me",category:"Hands"},{emoji:"๐",name:"point left",category:"Hands"},{emoji:"๐",name:"point right",category:"Hands"},{emoji:"๐",name:"point up",category:"Hands"},{emoji:"๐",name:"point down",category:"Hands"},{emoji:"๐๏ธ",name:"hand splayed",category:"Hands"},{emoji:"โ",name:"raised hand",category:"Hands"},{emoji:"๐",name:"vulcan salute",category:"Hands"},{emoji:"๐",name:"wave",category:"Hands"},{emoji:"๐",name:"clap",category:"Hands"},{emoji:"๐",name:"hands up",category:"Hands"},{emoji:"๐",name:"open hands",category:"Hands"},{emoji:"๐คฒ",name:"palms up",category:"Hands"},{emoji:"๐ค",name:"handshake",category:"Hands"},{emoji:"๐",name:"pray",category:"Hands"},{emoji:"๐ช",name:"flex",category:"Hands"},{emoji:"โ๏ธ",name:"writing",category:"Hands"},{emoji:"๐คณ",name:"selfie",category:"Hands"},{emoji:"๐ถ",name:"dog",category:"Animals"},{emoji:"๐ฑ",name:"cat",category:"Animals"},{emoji:"๐ญ",name:"mouse",category:"Animals"},{emoji:"๐น",name:"hamster",category:"Animals"},{emoji:"๐ฐ",name:"rabbit",category:"Animals"},{emoji:"๐ฆ",name:"fox",category:"Animals"},{emoji:"๐ป",name:"bear",category:"Animals"},{emoji:"๐ผ",name:"panda",category:"Animals"},{emoji:"๐จ",name:"koala",category:"Animals"},{emoji:"๐ฏ",name:"tiger",category:"Animals"},{emoji:"๐ฆ",name:"lion",category:"Animals"},{emoji:"๐ฎ",name:"cow",category:"Animals"},{emoji:"๐ท",name:"pig",category:"Animals"},{emoji:"๐ธ",name:"frog",category:"Animals"},{emoji:"๐ต",name:"monkey",category:"Animals"},{emoji:"๐",name:"chicken",category:"Animals"},{emoji:"๐ง",name:"penguin",category:"Animals"},{emoji:"๐ฆ",name:"bird",category:"Animals"},{emoji:"๐ค",name:"chick",category:"Animals"},{emoji:"๐ฆ",name:"duck",category:"Animals"},{emoji:"๐ฆ
",name:"eagle",category:"Animals"},{emoji:"๐ฆ",name:"owl",category:"Animals"},{emoji:"๐ฆ",name:"bat",category:"Animals"},{emoji:"๐ฆ",name:"unicorn",category:"Animals"},{emoji:"๐",name:"bee",category:"Animals"},{emoji:"๐ฆ",name:"butterfly",category:"Animals"},{emoji:"๐",name:"snail",category:"Animals"},{emoji:"๐",name:"ladybeetle",category:"Animals"},{emoji:"๐ข",name:"turtle",category:"Animals"},{emoji:"๐",name:"snake",category:"Animals"},{emoji:"๐",name:"octopus",category:"Animals"},{emoji:"๐ฌ",name:"dolphin",category:"Animals"},{emoji:"๐ณ",name:"whale",category:"Animals"},{emoji:"๐",name:"fish",category:"Animals"},{emoji:"๐ฆ",name:"zebra",category:"Animals"},{emoji:"๐ฆ",name:"giraffe",category:"Animals"},{emoji:"๐",name:"elephant",category:"Animals"},{emoji:"๐ฆ",name:"rhino",category:"Animals"},{emoji:"๐ช",name:"camel",category:"Animals"},{emoji:"๐",name:"monkey",category:"Animals"},{emoji:"๐",name:"apple",category:"Food"},{emoji:"๐",name:"pear",category:"Food"},{emoji:"๐",name:"tangerine",category:"Food"},{emoji:"๐",name:"lemon",category:"Food"},{emoji:"๐",name:"banana",category:"Food"},{emoji:"๐",name:"watermelon",category:"Food"},{emoji:"๐",name:"grapes",category:"Food"},{emoji:"๐",name:"strawberry",category:"Food"},{emoji:"๐",name:"cherries",category:"Food"},{emoji:"๐",name:"peach",category:"Food"},{emoji:"๐ฅญ",name:"mango",category:"Food"},{emoji:"๐",name:"pineapple",category:"Food"},{emoji:"๐ฅฅ",name:"coconut",category:"Food"},{emoji:"๐ฅ",name:"kiwi",category:"Food"},{emoji:"๐
",name:"tomato",category:"Food"},{emoji:"๐ฅ",name:"avocado",category:"Food"},{emoji:"๐",name:"eggplant",category:"Food"},{emoji:"๐ฅ",name:"potato",category:"Food"},{emoji:"๐ฅ",name:"carrot",category:"Food"},{emoji:"๐ฝ",name:"corn",category:"Food"},{emoji:"๐ถ๏ธ",name:"hot pepper",category:"Food"},{emoji:"๐ฅฆ",name:"broccoli",category:"Food"},{emoji:"๐",name:"mushroom",category:"Food"},{emoji:"๐ฅ",name:"peanuts",category:"Food"},{emoji:"๐",name:"bread",category:"Food"},{emoji:"๐ฅ",name:"croissant",category:"Food"},{emoji:"๐ฅฏ",name:"bagel",category:"Food"},{emoji:"๐ฅ",name:"pancakes",category:"Food"},{emoji:"๐ง",name:"cheese",category:"Food"},{emoji:"๐",name:"meat",category:"Food"},{emoji:"๐",name:"poultry leg",category:"Food"},{emoji:"๐ฅ",name:"bacon",category:"Food"},{emoji:"๐",name:"hamburger",category:"Food"},{emoji:"๐",name:"fries",category:"Food"},{emoji:"๐",name:"pizza",category:"Food"},{emoji:"๐ญ",name:"hot dog",category:"Food"},{emoji:"๐ฅช",name:"sandwich",category:"Food"},{emoji:"๐ฎ",name:"taco",category:"Food"},{emoji:"๐ฏ",name:"burrito",category:"Food"},{emoji:"๐ณ",name:"egg",category:"Food"},{emoji:"๐ฒ",name:"stew",category:"Food"},{emoji:"๐ฅฃ",name:"bowl",category:"Food"},{emoji:"๐ฅ",name:"salad",category:"Food"},{emoji:"๐ฟ",name:"popcorn",category:"Food"},{emoji:"๐ฑ",name:"bento",category:"Food"},{emoji:"๐ฃ",name:"sushi",category:"Food"},{emoji:"๐ค",name:"shrimp",category:"Food"},{emoji:"๐ฆ",name:"ice cream",category:"Food"},{emoji:"๐ง",name:"shaved ice",category:"Food"},{emoji:"๐จ",name:"ice cream",category:"Food"},{emoji:"๐ฉ",name:"donut",category:"Food"},{emoji:"๐ช",name:"cookie",category:"Food"},{emoji:"๐",name:"cake",category:"Food"},{emoji:"๐ฐ",name:"shortcake",category:"Food"},{emoji:"๐ง",name:"cupcake",category:"Food"},{emoji:"๐ฅง",name:"pie",category:"Food"},{emoji:"๐ซ",name:"chocolate",category:"Food"},{emoji:"๐ฌ",name:"candy",category:"Food"},{emoji:"๐ญ",name:"lollipop",category:"Food"},{emoji:"๐ฎ",name:"custard",category:"Food"},{emoji:"๐ฏ",name:"honey",category:"Food"},{emoji:"๐ผ",name:"baby bottle",category:"Food"},{emoji:"๐ฅ",name:"milk",category:"Food"},{emoji:"โ",name:"coffee",category:"Food"},{emoji:"๐ต",name:"tea",category:"Food"},{emoji:"๐ถ",name:"sake",category:"Food"},{emoji:"๐พ",name:"champagne",category:"Food"},{emoji:"๐ท",name:"wine",category:"Food"},{emoji:"๐ธ",name:"cocktail",category:"Food"},{emoji:"๐น",name:"tropical drink",category:"Food"},{emoji:"๐บ",name:"beer",category:"Food"},{emoji:"๐ป",name:"beers",category:"Food"},{emoji:"๐ฅ",name:"tumbler glass",category:"Food"},{emoji:"๐ฅค",name:"soda",category:"Food"},{emoji:"๐",name:"car",category:"Travel"},{emoji:"๐",name:"taxi",category:"Travel"},{emoji:"๐",name:"bus",category:"Travel"},{emoji:"๐",name:"trolleybus",category:"Travel"},{emoji:"๐๏ธ",name:"racing car",category:"Travel"},{emoji:"๐",name:"police car",category:"Travel"},{emoji:"๐",name:"ambulance",category:"Travel"},{emoji:"๐",name:"fire engine",category:"Travel"},{emoji:"๐",name:"minibus",category:"Travel"},{emoji:"๐",name:"truck",category:"Travel"},{emoji:"๐",name:"articulated lorry",category:"Travel"},{emoji:"๐",name:"tractor",category:"Travel"},{emoji:"๐ฒ",name:"bicycle",category:"Travel"},{emoji:"๐ต",name:"scooter",category:"Travel"},{emoji:"๐๏ธ",name:"motorcycle",category:"Travel"},{emoji:"๐",name:"bullet train",category:"Travel"},{emoji:"๐",name:"train",category:"Travel"},{emoji:"โ๏ธ",name:"airplane",category:"Travel"},{emoji:"๐",name:"rocket",category:"Travel"},{emoji:"๐ธ",name:"ufo",category:"Travel"},{emoji:"๐",name:"helicopter",category:"Travel"},{emoji:"๐ข",name:"ship",category:"Travel"},{emoji:"โต",name:"sailboat",category:"Travel"},{emoji:"โ",name:"anchor",category:"Travel"},{emoji:"โฝ",name:"fuel pump",category:"Travel"},{emoji:"๐ฆ",name:"traffic light",category:"Travel"},{emoji:"๐ป",name:"laptop",category:"Objects"},{emoji:"๐ฑ",name:"mobile",category:"Objects"},{emoji:"โ๏ธ",name:"telephone",category:"Objects"},{emoji:"โจ๏ธ",name:"keyboard",category:"Objects"},{emoji:"๐ฅ๏ธ",name:"desktop",category:"Objects"},{emoji:"๐จ๏ธ",name:"printer",category:"Objects"},{emoji:"๐ธ",name:"camera",category:"Objects"},{emoji:"๐ฅ",name:"video camera",category:"Objects"},{emoji:"๐บ",name:"tv",category:"Objects"},{emoji:"๐ป",name:"radio",category:"Objects"},{emoji:"โฐ",name:"alarm clock",category:"Objects"},{emoji:"๐ก",name:"light bulb",category:"Objects"},{emoji:"๐ฆ",name:"flashlight",category:"Objects"},{emoji:"๐ฏ๏ธ",name:"candle",category:"Objects"},{emoji:"๐จ",name:"hammer",category:"Objects"},{emoji:"๐ง",name:"wrench",category:"Objects"},{emoji:"๐ฉ",name:"nut and bolt",category:"Objects"},{emoji:"๐ซ",name:"water pistol",category:"Objects"},{emoji:"๐ธ",name:"money",category:"Objects"},{emoji:"๐ต",name:"dollar bill",category:"Objects"},{emoji:"๐ณ",name:"credit card",category:"Objects"},{emoji:"๐",name:"gem",category:"Objects"},{emoji:"โ๏ธ",name:"balance scale",category:"Objects"},{emoji:"๐",name:"link",category:"Objects"},{emoji:"โ๏ธ",name:"chains",category:"Objects"},{emoji:"๐",name:"syringe",category:"Objects"},{emoji:"๐",name:"pill",category:"Objects"},{emoji:"๐ช",name:"door",category:"Objects"},{emoji:"๐๏ธ",name:"bed",category:"Objects"},{emoji:"๐๏ธ",name:"couch",category:"Objects"},{emoji:"๐ฟ",name:"shower",category:"Objects"},{emoji:"๐",name:"bathtub",category:"Objects"},{emoji:"๐",name:"key",category:"Objects"},{emoji:"๐งน",name:"broom",category:"Objects"},{emoji:"โฝ",name:"soccer",category:"Activities"},{emoji:"๐",name:"basketball",category:"Activities"},{emoji:"๐",name:"football",category:"Activities"},{emoji:"โพ",name:"baseball",category:"Activities"},{emoji:"๐พ",name:"tennis",category:"Activities"},{emoji:"๐",name:"volleyball",category:"Activities"},{emoji:"๐",name:"rugby",category:"Activities"},{emoji:"๐ฑ",name:"pool",category:"Activities"},{emoji:"โณ",name:"golf",category:"Activities"},{emoji:"๐ช",name:"kite",category:"Activities"},{emoji:"๐น",name:"bow and arrow",category:"Activities"},{emoji:"๐ฃ",name:"fishing",category:"Activities"},{emoji:"๐ฅ",name:"boxing",category:"Activities"},{emoji:"๐ฅ",name:"martial arts",category:"Activities"},{emoji:"โธ๏ธ",name:"ice skate",category:"Activities"},{emoji:"๐ฟ",name:"ski",category:"Activities"},{emoji:"๐",name:"snowboard",category:"Activities"},{emoji:"๐๏ธ",name:"weightlifter",category:"Activities"},{emoji:"๐คบ",name:"fencing",category:"Activities"},{emoji:"๐คผ",name:"wrestling",category:"Activities"},{emoji:"๐คธ",name:"cartwheel",category:"Activities"},{emoji:"๐",name:"trophy",category:"Activities"},{emoji:"๐
",name:"medal",category:"Activities"},{emoji:"๐ฅ",name:"first place",category:"Activities"},{emoji:"๐๏ธ",name:"ticket",category:"Activities"},{emoji:"๐ฎ",name:"video game",category:"Activities"},{emoji:"๐ฒ",name:"die",category:"Activities"},{emoji:"โ๏ธ",name:"chess",category:"Activities"},{emoji:"๐น",name:"piano",category:"Activities"},{emoji:"๐ธ",name:"guitar",category:"Activities"},{emoji:"๐บ",name:"trumpet",category:"Activities"},{emoji:"๐ป",name:"violin",category:"Activities"},{emoji:"๐ฅ",name:"drum",category:"Activities"},{emoji:"๐ญ",name:"performing arts",category:"Activities"},{emoji:"๐จ",name:"artist palette",category:"Activities"},{emoji:"๐ฌ",name:"clapper board",category:"Activities"},{emoji:"๐ค",name:"microphone",category:"Activities"},{emoji:"๐ง",name:"headphone",category:"Activities"}];exports.EMOJI_LIST=e;
|
package/dist/core/Editor.d.ts
CHANGED
|
@@ -29,6 +29,7 @@ export interface EditorOptions {
|
|
|
29
29
|
onSaving?: () => void;
|
|
30
30
|
onChange?: (html: string) => void;
|
|
31
31
|
autoSaveInterval?: number;
|
|
32
|
+
autoSave?: boolean;
|
|
32
33
|
showStatus?: boolean;
|
|
33
34
|
toolbarItems?: string[];
|
|
34
35
|
}
|
|
@@ -42,6 +43,8 @@ export declare class CoreEditor {
|
|
|
42
43
|
private saveTimeout;
|
|
43
44
|
private historyTimeout;
|
|
44
45
|
private pendingStyles;
|
|
46
|
+
private observer;
|
|
47
|
+
private eventListeners;
|
|
45
48
|
constructor(container: HTMLElement, options?: EditorOptions);
|
|
46
49
|
/**
|
|
47
50
|
* Applies custom theme variables to the editor container.
|
|
@@ -51,6 +54,12 @@ export declare class CoreEditor {
|
|
|
51
54
|
* Toggles dark mode on the editor.
|
|
52
55
|
*/
|
|
53
56
|
setDarkMode(enabled: boolean): void;
|
|
57
|
+
/**
|
|
58
|
+
* Destroys the editor instance and cleans up.
|
|
59
|
+
*/
|
|
60
|
+
destroy(): void;
|
|
61
|
+
protected checkPlaceholder(): void;
|
|
62
|
+
private addEventListener;
|
|
54
63
|
protected setupImageObserver(): void;
|
|
55
64
|
/**
|
|
56
65
|
* Wraps a raw <img> element in the interactive container
|
|
@@ -9,8 +9,17 @@ export declare class ImageManager {
|
|
|
9
9
|
private startHeight;
|
|
10
10
|
private currentHandle;
|
|
11
11
|
private aspectRatio;
|
|
12
|
+
private boundMouseDown;
|
|
13
|
+
private boundMouseMove;
|
|
14
|
+
private boundMouseUp;
|
|
15
|
+
private boundKeyDown;
|
|
12
16
|
constructor(editor: CoreEditor);
|
|
13
17
|
private setupListeners;
|
|
18
|
+
private handleMouseDown;
|
|
19
|
+
private handleMouseMove;
|
|
20
|
+
private handleMouseUp;
|
|
21
|
+
private handleKeyDown;
|
|
22
|
+
destroy(): void;
|
|
14
23
|
private selectImage;
|
|
15
24
|
private deselectImage;
|
|
16
25
|
private startResize;
|
package/dist/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export declare class TestEditor extends CoreEditor {
|
|
|
4
4
|
private toolbar;
|
|
5
5
|
constructor(container: HTMLElement, options?: EditorOptions);
|
|
6
6
|
getToolbar(): Toolbar;
|
|
7
|
+
destroy(): void;
|
|
7
8
|
}
|
|
8
9
|
export { CoreEditor, type EditorOptions } from './core/Editor';
|
|
9
10
|
export { SelectionManager } from './core/SelectionManager';
|