@polymorfa/ui 0.1.0-dev.20260922094209

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.
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Framework-neutral composer helpers shared by the React and Web Component
3
+ * composers: caret-aware insertion, "/" quick replies, popover placement,
4
+ * and the recording timer.
5
+ */
6
+ export interface QuickReplyOption {
7
+ readonly id: string;
8
+ /** Typed after "/", such as `thanks`. A leading "/" is ignored. */
9
+ readonly shortcut: string;
10
+ /** Text that replaces the "/shortcut" word. */
11
+ readonly text: string;
12
+ readonly description?: string;
13
+ }
14
+ export interface TextEdit {
15
+ readonly text: string;
16
+ /** Caret position after the edit. */
17
+ readonly caret: number;
18
+ }
19
+ /** Replace `text[start, end)` with `insert` and put the caret after it. */
20
+ export declare function insertText(text: string, insert: string, start?: number, end?: number): TextEdit;
21
+ export interface QuickReplyQuery {
22
+ /** Index of the "/" that starts the word. */
23
+ readonly start: number;
24
+ /** End of the word (the caret, or the end of the word it sits in). */
25
+ readonly end: number;
26
+ /** Text after "/", without it. */
27
+ readonly query: string;
28
+ }
29
+ /**
30
+ * The "/word" the caret is in, when that word starts at the beginning of the
31
+ * text or after whitespace. `undefined` otherwise.
32
+ */
33
+ export declare function findQuickReplyQuery(text: string, caret?: number): QuickReplyQuery | undefined;
34
+ /**
35
+ * Options matching `query` by shortcut or text, case-insensitively.
36
+ * Shortcut prefix matches come first, then other shortcut matches, then
37
+ * text matches; ties keep their original order.
38
+ */
39
+ export declare function filterQuickReplies(options: readonly QuickReplyOption[], query: string): readonly QuickReplyOption[];
40
+ /** Replace the "/word" with the option's text. */
41
+ export declare function applyQuickReply(text: string, query: QuickReplyQuery, option: QuickReplyOption): TextEdit;
42
+ /** `/shortcut`, with exactly one leading slash. */
43
+ export declare function quickReplyLabel(option: QuickReplyOption): string;
44
+ export interface PopoverRect {
45
+ readonly top: number;
46
+ readonly left: number;
47
+ readonly bottom: number;
48
+ readonly right: number;
49
+ }
50
+ export interface PopoverPlacement {
51
+ readonly top: number;
52
+ readonly left: number;
53
+ readonly placement: "top" | "bottom";
54
+ /** Height available on the chosen side, for `max-height`. */
55
+ readonly maxHeight: number;
56
+ }
57
+ /**
58
+ * Where to put a fixed popover of `size` next to `anchor` so it stays in the
59
+ * viewport: above the anchor when there is room (as WhatsApp does for the
60
+ * composer), otherwise on the side with more space.
61
+ */
62
+ export declare function placePopover(anchor: PopoverRect, size: {
63
+ readonly width: number;
64
+ readonly height: number;
65
+ }, viewport: {
66
+ readonly width: number;
67
+ readonly height: number;
68
+ }, options?: {
69
+ readonly gap?: number;
70
+ readonly margin?: number;
71
+ readonly align?: "start" | "end";
72
+ readonly direction?: "ltr" | "rtl";
73
+ }): PopoverPlacement;
74
+ /** `mm:ss` for a recording, or `h:mm:ss` past an hour. */
75
+ export declare function formatElapsed(milliseconds: number): string;
76
+ //# sourceMappingURL=composer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.d.ts","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,qCAAqC;IACrC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAMD,2EAA2E;AAC3E,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAoB,EAC3B,GAAG,GAAE,MAAc,GAClB,QAAQ,CAOV;AAED,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,sEAAsE;IACtE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAoB,GAC1B,eAAe,GAAG,SAAS,CAQ7B;AAMD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,SAAS,gBAAgB,EAAE,EACpC,KAAK,EAAE,MAAM,GACZ,SAAS,gBAAgB,EAAE,CAoB7B;AAED,kDAAkD;AAClD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,eAAe,EACtB,MAAM,EAAE,gBAAgB,GACvB,QAAQ,CAEV;AAED,mDAAmD;AACnD,wBAAgB,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAEhE;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,KAAK,GAAG,QAAQ,CAAC;IACrC,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;CAC5B;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EACzD,QAAQ,EAAE;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;CAAE,EAC7D,OAAO,GAAE;IACP,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CAC/B,GACL,gBAAgB,CAoBlB;AAED,0DAA0D;AAC1D,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM,CAQ1D"}
@@ -0,0 +1,99 @@
1
+ /**
2
+ * Framework-neutral composer helpers shared by the React and Web Component
3
+ * composers: caret-aware insertion, "/" quick replies, popover placement,
4
+ * and the recording timer.
5
+ */
6
+ function clamp(value, min, max) {
7
+ return Math.min(Math.max(value, min), max);
8
+ }
9
+ /** Replace `text[start, end)` with `insert` and put the caret after it. */
10
+ export function insertText(text, insert, start = text.length, end = start) {
11
+ const from = clamp(Math.min(start, end), 0, text.length);
12
+ const to = clamp(Math.max(start, end), from, text.length);
13
+ return {
14
+ text: text.slice(0, from) + insert + text.slice(to),
15
+ caret: from + insert.length,
16
+ };
17
+ }
18
+ /**
19
+ * The "/word" the caret is in, when that word starts at the beginning of the
20
+ * text or after whitespace. `undefined` otherwise.
21
+ */
22
+ export function findQuickReplyQuery(text, caret = text.length) {
23
+ const position = clamp(caret, 0, text.length);
24
+ let start = position;
25
+ while (start > 0 && !/\s/.test(text.charAt(start - 1)))
26
+ start -= 1;
27
+ if (text.charAt(start) !== "/")
28
+ return undefined;
29
+ let end = position;
30
+ while (end < text.length && !/\s/.test(text.charAt(end)))
31
+ end += 1;
32
+ return { start, end, query: text.slice(start + 1, position) };
33
+ }
34
+ function normalizedShortcut(shortcut) {
35
+ return shortcut.replace(/^\//, "").toLowerCase();
36
+ }
37
+ /**
38
+ * Options matching `query` by shortcut or text, case-insensitively.
39
+ * Shortcut prefix matches come first, then other shortcut matches, then
40
+ * text matches; ties keep their original order.
41
+ */
42
+ export function filterQuickReplies(options, query) {
43
+ const needle = query.toLowerCase().trim();
44
+ const ranked = [];
45
+ options.forEach((option, index) => {
46
+ const shortcut = normalizedShortcut(option.shortcut);
47
+ const rank = needle === "" || shortcut.startsWith(needle)
48
+ ? 0
49
+ : shortcut.includes(needle)
50
+ ? 1
51
+ : option.text.toLowerCase().includes(needle) ||
52
+ (option.description?.toLowerCase().includes(needle) ?? false)
53
+ ? 2
54
+ : -1;
55
+ if (rank >= 0)
56
+ ranked.push({ option, rank, index });
57
+ });
58
+ return ranked
59
+ .sort((a, b) => a.rank - b.rank || a.index - b.index)
60
+ .map(({ option }) => option);
61
+ }
62
+ /** Replace the "/word" with the option's text. */
63
+ export function applyQuickReply(text, query, option) {
64
+ return insertText(text, option.text, query.start, query.end);
65
+ }
66
+ /** `/shortcut`, with exactly one leading slash. */
67
+ export function quickReplyLabel(option) {
68
+ return `/${option.shortcut.replace(/^\//, "")}`;
69
+ }
70
+ /**
71
+ * Where to put a fixed popover of `size` next to `anchor` so it stays in the
72
+ * viewport: above the anchor when there is room (as WhatsApp does for the
73
+ * composer), otherwise on the side with more space.
74
+ */
75
+ export function placePopover(anchor, size, viewport, options = {}) {
76
+ const gap = options.gap ?? 8;
77
+ const margin = options.margin ?? 8;
78
+ const above = anchor.top - gap - margin;
79
+ const below = viewport.height - anchor.bottom - gap - margin;
80
+ const placement = size.height <= above || above >= below ? "top" : "bottom";
81
+ const maxHeight = Math.max(0, placement === "top" ? above : below);
82
+ const height = Math.min(size.height, maxHeight);
83
+ const top = placement === "top" ? anchor.top - gap - height : anchor.bottom + gap;
84
+ const alignEnd = ((options.align ?? "start") === "end") !== (options.direction === "rtl");
85
+ const preferred = alignEnd ? anchor.right - size.width : anchor.left;
86
+ const left = clamp(preferred, margin, Math.max(margin, viewport.width - size.width - margin));
87
+ return { top: Math.max(margin, top), left, placement, maxHeight };
88
+ }
89
+ /** `mm:ss` for a recording, or `h:mm:ss` past an hour. */
90
+ export function formatElapsed(milliseconds) {
91
+ const total = Math.max(0, Math.floor(milliseconds / 1000));
92
+ const hours = Math.floor(total / 3600);
93
+ const minutes = Math.floor((total % 3600) / 60);
94
+ const seconds = String(total % 60).padStart(2, "0");
95
+ return hours > 0
96
+ ? `${hours}:${String(minutes).padStart(2, "0")}:${seconds}`
97
+ : `${String(minutes).padStart(2, "0")}:${seconds}`;
98
+ }
99
+ //# sourceMappingURL=composer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"composer.js","sourceRoot":"","sources":["../src/composer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Compact built-in emoji set for the composer's emoji picker. Each line is
3
+ * `emoji name: extra keywords`. Kept in its own module so bundlers drop it
4
+ * when no picker is used.
5
+ */
6
+ export declare const EMOJI_CATEGORIES: readonly ["smileys", "people", "nature", "food", "activities", "travel", "objects", "symbols", "flags"];
7
+ export type EmojiCategory = (typeof EMOJI_CATEGORIES)[number];
8
+ export declare const EMOJI_SOURCE: Readonly<Record<EmojiCategory, string>>;
9
+ //# sourceMappingURL=emoji-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-data.d.ts","sourceRoot":"","sources":["../src/emoji-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,gBAAgB,yGAUnB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE9D,eAAO,MAAM,YAAY,EAAE,QAAQ,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,CAibhE,CAAC"}
@@ -0,0 +1,451 @@
1
+ /**
2
+ * Compact built-in emoji set for the composer's emoji picker. Each line is
3
+ * `emoji name: extra keywords`. Kept in its own module so bundlers drop it
4
+ * when no picker is used.
5
+ */
6
+ export const EMOJI_CATEGORIES = [
7
+ "smileys",
8
+ "people",
9
+ "nature",
10
+ "food",
11
+ "activities",
12
+ "travel",
13
+ "objects",
14
+ "symbols",
15
+ "flags",
16
+ ];
17
+ export const EMOJI_SOURCE = {
18
+ smileys: `๐Ÿ˜€ grinning face: smile happy
19
+ ๐Ÿ˜ƒ grinning face with big eyes: smile happy joy
20
+ ๐Ÿ˜„ grinning face with smiling eyes: smile happy laugh
21
+ ๐Ÿ˜ beaming face: grin smile teeth
22
+ ๐Ÿ˜† grinning squinting face: laugh happy
23
+ ๐Ÿ˜… grinning face with sweat: relief nervous
24
+ ๐Ÿคฃ rolling on the floor laughing: lol rofl
25
+ ๐Ÿ˜‚ face with tears of joy: lol laugh cry
26
+ ๐Ÿ™‚ slightly smiling face: smile
27
+ ๐Ÿ™ƒ upside-down face: silly sarcasm
28
+ ๐Ÿ˜‰ winking face: wink flirt
29
+ ๐Ÿ˜Š smiling face with smiling eyes: blush happy
30
+ ๐Ÿ˜‡ smiling face with halo: angel innocent
31
+ ๐Ÿฅฐ smiling face with hearts: love adore
32
+ ๐Ÿ˜ smiling face with heart-eyes: love crush
33
+ ๐Ÿคฉ star-struck: wow amazing
34
+ ๐Ÿ˜˜ face blowing a kiss: kiss love
35
+ ๐Ÿ˜‹ face savoring food: yum tasty
36
+ ๐Ÿ˜› face with tongue: playful
37
+ ๐Ÿ˜œ winking face with tongue: crazy playful
38
+ ๐Ÿคช zany face: crazy goofy
39
+ ๐Ÿค‘ money-mouth face: rich money
40
+ ๐Ÿค— smiling face with open hands: hug
41
+ ๐Ÿคญ face with hand over mouth: oops giggle
42
+ ๐Ÿคซ shushing face: quiet secret
43
+ ๐Ÿค” thinking face: hmm think
44
+ ๐Ÿคจ face with raised eyebrow: suspicious doubt
45
+ ๐Ÿ˜ neutral face: meh
46
+ ๐Ÿ˜ถ face without mouth: speechless
47
+ ๐Ÿ˜ smirking face: smirk smug
48
+ ๐Ÿ˜’ unamused face: meh annoyed
49
+ ๐Ÿ™„ face with rolling eyes: eyeroll whatever
50
+ ๐Ÿ˜ฌ grimacing face: awkward nervous
51
+ ๐Ÿ˜Œ relieved face: calm relief
52
+ ๐Ÿ˜” pensive face: sad thoughtful
53
+ ๐Ÿ˜ด sleeping face: sleep zzz tired
54
+ ๐Ÿ˜ท face with medical mask: sick ill
55
+ ๐Ÿค’ face with thermometer: sick fever
56
+ ๐Ÿคข nauseated face: sick gross
57
+ ๐Ÿฅต hot face: heat sweat
58
+ ๐Ÿฅถ cold face: freezing
59
+ ๐Ÿคฏ exploding head: mind blown shock
60
+ ๐Ÿฅณ partying face: party celebrate birthday
61
+ ๐Ÿ˜Ž smiling face with sunglasses: cool
62
+ ๐Ÿค“ nerd face: geek
63
+ ๐Ÿง face with monocle: inspect curious
64
+ ๐Ÿ˜• confused face: unsure
65
+ ๐Ÿ˜Ÿ worried face: concerned
66
+ ๐Ÿ™ slightly frowning face: sad
67
+ ๐Ÿ˜ฎ face with open mouth: surprised wow
68
+ ๐Ÿ˜ฒ astonished face: shocked
69
+ ๐Ÿ˜ณ flushed face: embarrassed
70
+ ๐Ÿฅบ pleading face: puppy eyes please
71
+ ๐Ÿ˜จ fearful face: scared
72
+ ๐Ÿ˜ฐ anxious face with sweat: nervous
73
+ ๐Ÿ˜ข crying face: sad tear
74
+ ๐Ÿ˜ญ loudly crying face: sob sad
75
+ ๐Ÿ˜ฑ face screaming in fear: scream shock
76
+ ๐Ÿ˜ž disappointed face: sad
77
+ ๐Ÿ˜ฉ weary face: tired frustrated
78
+ ๐Ÿฅฑ yawning face: bored tired
79
+ ๐Ÿ˜ค face with steam from nose: frustrated triumph
80
+ ๐Ÿ˜ก enraged face: angry mad
81
+ ๐Ÿคฌ face with symbols on mouth: swear angry
82
+ ๐Ÿ˜ˆ smiling face with horns: devil
83
+ ๐Ÿ’€ skull: dead lol
84
+ ๐Ÿ’ฉ pile of poo: poop
85
+ ๐Ÿคก clown face: clown
86
+ ๐Ÿ‘ป ghost: halloween spooky
87
+ ๐Ÿ‘ฝ alien: ufo space
88
+ ๐Ÿค– robot: bot
89
+ ๐Ÿ˜น cat with tears of joy: cat laugh
90
+ ๐Ÿ˜ป smiling cat with heart-eyes: cat love
91
+ ๐Ÿ™ˆ see-no-evil monkey: monkey shy
92
+ ๐Ÿ™Š speak-no-evil monkey: monkey oops
93
+ ๐Ÿ’‹ kiss mark: lips
94
+ ๐Ÿ’ฏ hundred points: perfect score 100
95
+ ๐Ÿ’ฅ collision: boom
96
+ ๐Ÿ’จ dashing away: fast wind
97
+ ๐Ÿ’ฌ speech balloon: chat message comment
98
+ ๐Ÿ’ญ thought balloon: think
99
+ ๐Ÿ’ค zzz: sleep`,
100
+ people: `๐Ÿ‘‹ waving hand: hello hi bye wave
101
+ โœ‹ raised hand: high five stop
102
+ ๐Ÿ‘Œ ok hand: okay perfect
103
+ โœŒ๏ธ victory hand: peace
104
+ ๐Ÿคž crossed fingers: luck hope
105
+ ๐Ÿค™ call me hand: shaka phone
106
+ โ˜๏ธ index pointing up: one
107
+ ๐Ÿ‘ thumbs up: like yes approve good
108
+ ๐Ÿ‘Ž thumbs down: dislike no bad
109
+ ๐Ÿ‘Š oncoming fist: punch bump
110
+ ๐Ÿ‘ clapping hands: applause bravo clap
111
+ ๐Ÿ™Œ raising hands: hooray celebrate
112
+ ๐Ÿค handshake: deal agreement
113
+ ๐Ÿ™ folded hands: please thanks pray
114
+ ๐Ÿ’ช flexed biceps: strong muscle
115
+ ๐Ÿง  brain: smart
116
+ ๐Ÿ‘€ eyes: look see watching
117
+ ๐Ÿ‘ถ baby: child
118
+ ๐Ÿ™… person gesturing no: no stop
119
+ ๐Ÿ™‹ person raising hand: question hello
120
+ ๐Ÿคฆ person facepalming: facepalm ugh
121
+ ๐Ÿคท person shrugging: shrug dunno whatever
122
+ ๐Ÿง‘โ€๐Ÿ’ป technologist: developer coder computer
123
+ ๐Ÿฆธ superhero: hero
124
+ ๐ŸŽ… santa claus: christmas
125
+ ๐Ÿ’ƒ woman dancing: dance party
126
+ ๐Ÿ•บ man dancing: dance party
127
+ ๐Ÿง˜ person in lotus position: yoga meditate
128
+ ๐Ÿ—ฃ๏ธ speaking head: talk speak
129
+ ๐Ÿ‘ค bust in silhouette: user profile
130
+ ๐Ÿ‘ฅ busts in silhouette: users group`,
131
+ nature: `๐Ÿถ dog face: puppy pet
132
+ ๐Ÿฑ cat face: kitten pet
133
+ ๐Ÿฐ rabbit face: bunny
134
+ ๐ŸฆŠ fox: animal
135
+ ๐Ÿป bear: animal
136
+ ๐Ÿผ panda: animal
137
+ ๐Ÿฏ tiger face: animal
138
+ ๐Ÿฆ lion: animal king
139
+ ๐Ÿท pig face: animal
140
+ ๐Ÿธ frog: animal
141
+ ๐Ÿ” chicken: bird
142
+ ๐Ÿง penguin: bird
143
+ ๐Ÿฆ bird: tweet
144
+ ๐Ÿฆ‰ owl: bird night
145
+ ๐Ÿฆ„ unicorn: magic
146
+ ๐Ÿ honeybee: bee insect
147
+ ๐Ÿฆ‹ butterfly: insect
148
+ ๐Ÿข turtle: slow
149
+ ๐Ÿ™ octopus: sea
150
+ ๐Ÿฌ dolphin: sea
151
+ ๐Ÿณ spouting whale: whale sea
152
+ ๐Ÿ˜ elephant: animal
153
+ ๐Ÿพ paw prints: pet
154
+ ๐Ÿ’ bouquet: flowers
155
+ ๐ŸŒธ cherry blossom: flower spring
156
+ ๐ŸŒน rose: flower love
157
+ ๐ŸŒบ hibiscus: flower
158
+ ๐ŸŒป sunflower: flower
159
+ ๐ŸŒท tulip: flower
160
+ ๐ŸŒฑ seedling: plant grow
161
+ ๐Ÿชด potted plant: plant
162
+ ๐ŸŒณ deciduous tree: tree
163
+ ๐ŸŒด palm tree: beach tropical
164
+ ๐ŸŒต cactus: desert
165
+ ๐Ÿ€ four leaf clover: luck
166
+ ๐Ÿ maple leaf: autumn fall
167
+ ๐Ÿ‚ fallen leaf: autumn
168
+ ๐ŸŒ globe showing europe-africa: earth world
169
+ ๐ŸŒ™ crescent moon: night
170
+ ๐ŸŒ• full moon: night
171
+ โญ star: favorite
172
+ ๐ŸŒŸ glowing star: sparkle
173
+ โœจ sparkles: magic shiny new
174
+ โšก high voltage: lightning zap
175
+ ๐Ÿ”ฅ fire: hot lit flame
176
+ ๐ŸŒˆ rainbow: pride
177
+ โ˜€๏ธ sun: sunny weather
178
+ โ›… sun behind cloud: weather
179
+ โ˜๏ธ cloud: weather
180
+ ๐ŸŒง๏ธ cloud with rain: rain weather
181
+ โ„๏ธ snowflake: cold winter
182
+ ๐ŸŒŠ water wave: ocean sea
183
+ ๐Ÿ’ง droplet: water`,
184
+ food: `๐Ÿ green apple: fruit
185
+ ๐ŸŽ red apple: fruit
186
+ ๐ŸŠ tangerine: orange fruit
187
+ ๐Ÿ‹ lemon: fruit sour
188
+ ๐ŸŒ banana: fruit
189
+ ๐Ÿ‰ watermelon: fruit summer
190
+ ๐Ÿ‡ grapes: fruit
191
+ ๐Ÿ“ strawberry: fruit
192
+ ๐Ÿ‘ peach: fruit
193
+ ๐Ÿฅญ mango: fruit
194
+ ๐Ÿ pineapple: fruit
195
+ ๐Ÿ… tomato: vegetable
196
+ ๐Ÿฅ‘ avocado: vegetable
197
+ ๐Ÿฅฆ broccoli: vegetable
198
+ ๐Ÿฅ• carrot: vegetable
199
+ ๐ŸŒถ๏ธ hot pepper: spicy
200
+ ๐Ÿฅ croissant: bread breakfast
201
+ ๐Ÿž bread: loaf
202
+ ๐Ÿง€ cheese wedge: cheese
203
+ ๐Ÿฅš egg: breakfast
204
+ ๐Ÿณ cooking: fried egg breakfast
205
+ ๐Ÿฅž pancakes: breakfast
206
+ ๐Ÿฅ“ bacon: breakfast
207
+ ๐Ÿ” hamburger: burger fast food
208
+ ๐ŸŸ french fries: fries chips
209
+ ๐Ÿ• pizza: slice
210
+ ๐Ÿฅช sandwich: lunch
211
+ ๐ŸŒฎ taco: mexican
212
+ ๐Ÿฅ— green salad: salad healthy
213
+ ๐Ÿ spaghetti: pasta
214
+ ๐Ÿœ steaming bowl: ramen noodles
215
+ ๐Ÿฃ sushi: japanese
216
+ ๐Ÿฆ soft ice cream: dessert
217
+ ๐Ÿฉ doughnut: donut dessert
218
+ ๐Ÿช cookie: dessert
219
+ ๐ŸŽ‚ birthday cake: party
220
+ ๐Ÿฐ shortcake: cake dessert
221
+ ๐Ÿง cupcake: dessert
222
+ ๐Ÿซ chocolate bar: dessert
223
+ ๐Ÿฟ popcorn: movie
224
+ โ˜• hot beverage: coffee tea
225
+ ๐Ÿต teacup without handle: tea
226
+ ๐Ÿง‹ bubble tea: boba
227
+ ๐Ÿฅค cup with straw: soda drink
228
+ ๐Ÿบ beer mug: beer drink
229
+ ๐Ÿป clinking beer mugs: cheers drinks
230
+ ๐Ÿฅ‚ clinking glasses: cheers celebrate
231
+ ๐Ÿท wine glass: wine drink
232
+ ๐Ÿธ cocktail glass: drink
233
+ ๐Ÿพ bottle with popping cork: champagne celebrate
234
+ ๐Ÿฝ๏ธ fork and knife with plate: dinner meal`,
235
+ activities: `โšฝ soccer ball: football sport
236
+ ๐Ÿ€ basketball: sport
237
+ ๐ŸŽพ tennis: sport
238
+ ๐ŸฅŠ boxing glove: sport fight
239
+ โ›ณ flag in hole: golf
240
+ ๐Ÿ‹๏ธ person lifting weights: gym workout
241
+ ๐Ÿšด person biking: bike cycling
242
+ ๐ŸŠ person swimming: swim
243
+ ๐Ÿ„ person surfing: surf
244
+ ๐Ÿ† trophy: win award champion
245
+ ๐Ÿฅ‡ 1st place medal: gold winner
246
+ ๐Ÿ… sports medal: award
247
+ ๐ŸŽŸ๏ธ admission tickets: event
248
+ ๐ŸŽญ performing arts: theater
249
+ ๐ŸŽจ artist palette: art paint
250
+ ๐ŸŽฌ clapper board: movie film
251
+ ๐ŸŽค microphone: sing karaoke
252
+ ๐ŸŽง headphone: music listen
253
+ ๐ŸŽธ guitar: music rock
254
+ ๐ŸŽฒ game die: dice game
255
+ ๐ŸŽฏ bullseye: target goal
256
+ ๐ŸŽฎ video game: controller gaming
257
+ ๐Ÿงฉ puzzle piece: jigsaw
258
+ ๐ŸŽ‰ party popper: celebrate congrats tada
259
+ ๐ŸŽŠ confetti ball: celebrate party
260
+ ๐ŸŽˆ balloon: party birthday
261
+ ๐ŸŽ wrapped gift: present birthday
262
+ ๐ŸŽ„ christmas tree: holiday
263
+ ๐ŸŽƒ jack-o-lantern: halloween
264
+ ๐ŸŽ† fireworks: celebrate`,
265
+ travel: `๐Ÿš— automobile: car drive
266
+ ๐Ÿš• taxi: cab
267
+ ๐ŸšŒ bus: transit
268
+ ๐Ÿš‘ ambulance: emergency
269
+ ๐Ÿšš delivery truck: shipping delivery
270
+ ๐Ÿšฒ bicycle: bike
271
+ ๐Ÿšจ police car light: siren alert
272
+ โ›ต sailboat: boat
273
+ ๐Ÿšข ship: boat
274
+ โœˆ๏ธ airplane: flight travel plane
275
+ ๐Ÿ›ซ airplane departure: flight takeoff
276
+ ๐Ÿ›ฌ airplane arrival: flight landing
277
+ ๐Ÿš helicopter: flight
278
+ ๐Ÿš€ rocket: launch space ship
279
+ ๐Ÿš† train: rail
280
+ ๐Ÿ—บ๏ธ world map: travel
281
+ ๐Ÿ”๏ธ snow-capped mountain: mountain
282
+ โ›ฐ๏ธ mountain: hike
283
+ ๐Ÿ–๏ธ beach with umbrella: vacation
284
+ ๐Ÿ  house: home
285
+ ๐Ÿข office building: work
286
+ ๐Ÿฅ hospital: health
287
+ ๐Ÿฆ bank: money
288
+ ๐Ÿจ hotel: travel
289
+ ๐Ÿซ school: education
290
+ ๐Ÿฐ castle: palace
291
+ ๐ŸŒ… sunrise: morning
292
+ ๐ŸŒ‡ sunset: evening
293
+ โฐ alarm clock: time wake
294
+ โณ hourglass not done: time wait loading`,
295
+ objects: `โŒš watch: time
296
+ ๐Ÿ“ฑ mobile phone: cell smartphone
297
+ ๐Ÿ’ป laptop: computer
298
+ ๐Ÿ–ฅ๏ธ desktop computer: computer
299
+ ๐Ÿ“ท camera: photo picture
300
+ ๐Ÿ“ธ camera with flash: photo
301
+ ๐Ÿ“ž telephone receiver: call phone
302
+ ๐Ÿ“บ television: tv
303
+ ๐ŸŽ™๏ธ studio microphone: podcast record
304
+ โฑ๏ธ stopwatch: timer
305
+ ๐Ÿ”‹ battery: power
306
+ ๐Ÿ”Œ electric plug: power
307
+ ๐Ÿ’ก light bulb: idea
308
+ ๐Ÿ’ธ money with wings: spend
309
+ ๐Ÿ’ต dollar banknote: money cash
310
+ ๐Ÿ’ฐ money bag: rich
311
+ ๐Ÿ’ณ credit card: payment card
312
+ ๐Ÿงพ receipt: invoice bill
313
+ ๐Ÿ’Ž gem stone: diamond jewel
314
+ โš–๏ธ balance scale: law justice
315
+ ๐Ÿ”ง wrench: tool fix
316
+ ๐Ÿ”จ hammer: tool build
317
+ ๐Ÿ› ๏ธ hammer and wrench: tools settings
318
+ โš™๏ธ gear: settings cog
319
+ ๐Ÿ’ฃ bomb: explode
320
+ ๐Ÿ›ก๏ธ shield: protect security
321
+ ๐Ÿ’Š pill: medicine
322
+ ๐Ÿ’‰ syringe: vaccine shot
323
+ ๐Ÿ›’ shopping cart: shop buy
324
+ ๐Ÿ›‹๏ธ couch and lamp: sofa home
325
+ ๐Ÿ”‘ key: lock password
326
+ ๐Ÿ”’ locked: secure private
327
+ ๐Ÿ”” bell: notification
328
+ ๐Ÿ“ฃ megaphone: announce
329
+ ๐Ÿ“ข loudspeaker: announce
330
+ ๐Ÿ“ฆ package: box shipping delivery
331
+ โœ‰๏ธ envelope: email mail letter
332
+ ๐Ÿ“ง e-mail: email
333
+ ๐Ÿ“ memo: note write
334
+ ๐Ÿ“„ page facing up: document file
335
+ ๐Ÿ“Š bar chart: stats graph
336
+ ๐Ÿ“ˆ chart increasing: growth trend up
337
+ ๐Ÿ“‰ chart decreasing: decline trend down
338
+ ๐Ÿ“… calendar: date schedule
339
+ ๐Ÿ—“๏ธ spiral calendar: date schedule
340
+ ๐Ÿ“‹ clipboard: list
341
+ ๐Ÿ“ file folder: directory
342
+ ๐Ÿ“Œ pushpin: pin
343
+ ๐Ÿ“ round pushpin: location pin
344
+ ๐Ÿ“Ž paperclip: attach attachment
345
+ โœ‚๏ธ scissors: cut
346
+ โœ๏ธ pencil: write edit
347
+ ๐Ÿ”Ž magnifying glass tilted right: search find
348
+ ๐Ÿ“š books: read library
349
+ ๐Ÿ”— link: url chain
350
+ ๐Ÿท๏ธ label: tag
351
+ ๐ŸŽ“ graduation cap: school education
352
+ ๐Ÿ•ถ๏ธ sunglasses: cool
353
+ ๐Ÿ‘• t-shirt: clothes
354
+ ๐Ÿ‘— dress: clothes
355
+ ๐Ÿ‘Ÿ running shoe: sneaker
356
+ ๐ŸŽ’ backpack: bag school
357
+ ๐Ÿ’ผ briefcase: work business
358
+ ๐Ÿงณ luggage: travel suitcase
359
+ ๐Ÿ’ ring: wedding engagement
360
+ ๐Ÿ‘‘ crown: king queen royal`,
361
+ symbols: `โค๏ธ red heart: love like
362
+ ๐Ÿงก orange heart: love
363
+ ๐Ÿ’› yellow heart: love
364
+ ๐Ÿ’š green heart: love
365
+ ๐Ÿ’™ blue heart: love
366
+ ๐Ÿ’œ purple heart: love
367
+ ๐Ÿ–ค black heart: love
368
+ ๐Ÿค white heart: love
369
+ ๐Ÿ’” broken heart: sad breakup
370
+ ๐Ÿ’• two hearts: love
371
+ ๐Ÿ’– sparkling heart: love
372
+ ๐Ÿ’˜ heart with arrow: love cupid
373
+ ๐Ÿ’ heart with ribbon: love gift
374
+ โœ… check mark button: done yes ok
375
+ โœ”๏ธ check mark: done yes
376
+ โ˜‘๏ธ check box with check: done
377
+ โŒ cross mark: no wrong cancel
378
+ โž• plus: add
379
+ โž– minus: subtract
380
+ โ“ red question mark: question
381
+ โ— red exclamation mark: important
382
+ โ€ผ๏ธ double exclamation mark: important
383
+ โ‰๏ธ exclamation question mark: what
384
+ โš ๏ธ warning: caution alert
385
+ ๐Ÿšซ prohibited: forbidden no
386
+ โ›” no entry: forbidden stop
387
+ ๐Ÿ’ข anger symbol: angry
388
+ โ™ป๏ธ recycling symbol: recycle
389
+ ๐Ÿ†— ok button: okay
390
+ ๐Ÿ†• new button: new
391
+ โฌ†๏ธ up arrow: up
392
+ โฌ‡๏ธ down arrow: down
393
+ โฌ…๏ธ left arrow: left
394
+ โžก๏ธ right arrow: right
395
+ โ†ฉ๏ธ right arrow curving left: reply return
396
+ โ†ช๏ธ left arrow curving right: forward
397
+ ๐Ÿ”„ counterclockwise arrows button: refresh sync
398
+ ๐Ÿ” repeat button: repeat loop
399
+ โ–ถ๏ธ play button: play start
400
+ โธ๏ธ pause button: pause
401
+ โน๏ธ stop button: stop
402
+ โฉ fast-forward button: skip
403
+ ๐Ÿ”Š speaker high volume: sound loud
404
+ ๐Ÿ”‡ muted speaker: mute
405
+ ๐ŸŽต musical note: music
406
+ ๐ŸŽถ musical notes: music
407
+ ๐Ÿ’ฒ heavy dollar sign: money
408
+ 1๏ธโƒฃ keycap 1: one number
409
+ โ„น๏ธ information: info
410
+ ๐Ÿ”ด red circle: dot
411
+ ๐ŸŸข green circle: dot online
412
+ ๐Ÿ”ต blue circle: dot
413
+ โšซ black circle: dot
414
+ โ˜ฎ๏ธ peace symbol: peace
415
+ โ˜ฏ๏ธ yin yang: balance
416
+ โ™ฟ wheelchair symbol: accessibility
417
+ ๐Ÿ“ก satellite antenna: wifi signal
418
+ ๐Ÿ“ถ antenna bars: signal
419
+ ๐ŸŒ globe with meridians: web internet
420
+ ๐Ÿ†˜ sos button: help emergency
421
+ ๐Ÿ chequered flag: finish race`,
422
+ flags: `๐Ÿณ๏ธ white flag: surrender
423
+ ๐Ÿšฉ triangular flag: red flag
424
+ ๐Ÿณ๏ธโ€๐ŸŒˆ rainbow flag: pride lgbt
425
+ ๐Ÿ‡ช๐Ÿ‡บ flag european union: eu
426
+ ๐Ÿ‡ฆ๐Ÿ‡ช flag united arab emirates: uae
427
+ ๐Ÿ‡ฆ๐Ÿ‡บ flag australia: au
428
+ ๐Ÿ‡ง๐Ÿ‡ท flag brazil: br
429
+ ๐Ÿ‡จ๐Ÿ‡ฆ flag canada: ca
430
+ ๐Ÿ‡จ๐Ÿ‡ณ flag china: cn
431
+ ๐Ÿ‡ฉ๐Ÿ‡ช flag germany: de
432
+ ๐Ÿ‡ช๐Ÿ‡ฌ flag egypt: eg
433
+ ๐Ÿ‡ช๐Ÿ‡ธ flag spain: es
434
+ ๐Ÿ‡ซ๐Ÿ‡ท flag france: fr
435
+ ๐Ÿ‡ฌ๐Ÿ‡ง flag united kingdom: uk gb britain
436
+ ๐Ÿ‡ฎ๐Ÿ‡ฑ flag israel: il
437
+ ๐Ÿ‡ฎ๐Ÿ‡ณ flag india: in
438
+ ๐Ÿ‡ฎ๐Ÿ‡น flag italy: it
439
+ ๐Ÿ‡ฏ๐Ÿ‡ต flag japan: jp
440
+ ๐Ÿ‡ฐ๐Ÿ‡ท flag south korea: kr
441
+ ๐Ÿ‡ฒ๐Ÿ‡ฝ flag mexico: mx
442
+ ๐Ÿ‡ณ๐Ÿ‡ฌ flag nigeria: ng
443
+ ๐Ÿ‡ณ๐Ÿ‡ฑ flag netherlands: nl
444
+ ๐Ÿ‡ต๐Ÿ‡ธ flag palestinian territories: ps palestine
445
+ ๐Ÿ‡ธ๐Ÿ‡ฆ flag saudi arabia: sa ksa
446
+ ๐Ÿ‡น๐Ÿ‡ท flag turkey: tr tรผrkiye
447
+ ๐Ÿ‡บ๐Ÿ‡ฆ flag ukraine: ua
448
+ ๐Ÿ‡บ๐Ÿ‡ธ flag united states: us usa america
449
+ ๐Ÿ‡ฟ๐Ÿ‡ฆ flag south africa: za`,
450
+ };
451
+ //# sourceMappingURL=emoji-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"emoji-data.js","sourceRoot":"","sources":["../src/emoji-data.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,QAAQ;IACR,SAAS;IACT,SAAS;IACT,OAAO;CACC,CAAC;AAIX,MAAM,CAAC,MAAM,YAAY,GAA4C;IACnE,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAiFG;IACZ,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oCA8B0B;IAClC,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;kBAoDQ;IAChB,IAAI,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2CAkDmC;IACzC,UAAU,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBA6BU;IACtB,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wCA6B8B;IACtC,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAiEgB;IACzB,OAAO,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;+BA4DoB;IAC7B,KAAK,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;2BA2BkB;CAC1B,CAAC"}