@utilix-tech/sdk 0.34.0 → 0.35.0
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/CHANGELOG.md +4 -0
- package/README.md +14 -5
- package/dist/{chunk-ZPQOE7KD.js → chunk-7AJRK57W.js} +29 -1
- package/dist/{chunk-H2USEUHD.js → chunk-F2CEN226.js} +306 -1
- package/dist/index.cjs +333 -0
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +2 -2
- package/dist/{text-CA-zuD0C.d.cts → text-kHkT9VtT.d.cts} +34 -2
- package/dist/{text-CA-zuD0C.d.ts → text-kHkT9VtT.d.ts} +34 -2
- package/dist/tools/text.cjs +305 -0
- package/dist/tools/text.d.cts +1 -1
- package/dist/tools/text.d.ts +1 -1
- package/dist/tools/text.js +1 -1
- package/dist/tools/units.cjs +28 -0
- package/dist/tools/units.d.cts +1 -1
- package/dist/tools/units.d.ts +1 -1
- package/dist/tools/units.js +1 -1
- package/dist/{units-BhoxdHhs.d.ts → units-c90DW-OZ.d.cts} +30 -2
- package/dist/{units-BhoxdHhs.d.cts → units-c90DW-OZ.d.ts} +30 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
Full release notes for all Utilix surfaces (browser tools, REST API, SDKs, MCP server) live at [utilix.tech/changelog](https://utilix.tech/changelog). This file tracks just this package.
|
|
4
4
|
|
|
5
|
+
## 0.35.0
|
|
6
|
+
- Add `calculateRoi` (roi-calculator): return on investment percent from an initial and final value, plus the annualized (CAGR) return given an optional holding period in years.
|
|
7
|
+
- Add `searchEmoji`, `getEmojiByShortcode`, `getEmojiByChar`, `getEmojiByCategory`, `getEmojiCategories` (emoji-lookup): search a curated table of ~280 common emoji by name, keyword, or GitHub-style shortcode, or look one up exactly.
|
|
8
|
+
|
|
5
9
|
## 0.34.0
|
|
6
10
|
- Add `buildReferrerPolicy` (referrer-policy-builder): build a Referrer-Policy header value from one or more policy tokens with a plain-English explanation of each and warnings for risky choices like unsafe-url.
|
|
7
11
|
- Add `generateMarkdownToc` (markdown-toc-generator): scan a Markdown document's ATX headings and build a nested table of contents with GitHub-style anchor slugs, disambiguating duplicates.
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @utilix-tech/sdk
|
|
2
2
|
|
|
3
|
-
**
|
|
3
|
+
**600 developer utility functions for Node.js: runs locally, no API key required.**
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@utilix-tech/sdk)
|
|
6
6
|
[](https://www.npmjs.com/package/@utilix-tech/sdk)
|
|
@@ -140,7 +140,8 @@ generateHtpasswdFile([{ username: "alice", password: "secret" }]);
|
|
|
140
140
|
```ts
|
|
141
141
|
import { convertCase, slugify, countWords, generateWords, generateParagraphs,
|
|
142
142
|
escapeString, htmlToMarkdown, applyOps, detectPassiveVoice, scoreReadability,
|
|
143
|
-
detectFillerWords, calculateStringDistance, analyzeSentenceLengths
|
|
143
|
+
detectFillerWords, calculateStringDistance, analyzeSentenceLengths,
|
|
144
|
+
searchEmoji, getEmojiByShortcode } from "@utilix-tech/sdk/text";
|
|
144
145
|
|
|
145
146
|
convertCase("hello world", "camelCase"); // "helloWorld"
|
|
146
147
|
convertCase("hello world", "PascalCase"); // "HelloWorld"
|
|
@@ -177,6 +178,10 @@ calculateStringDistance("kitten", "sitting");
|
|
|
177
178
|
// Histogram + mean/median/stddev of sentence lengths, distinct from readability grade scores
|
|
178
179
|
analyzeSentenceLengths("The cat sat on the mat. It was a sunny day, and the dog ran across the yard to play.");
|
|
179
180
|
// { sentenceCount: 2, meanLength: 10, stdDev: 4, consistency: "Moderate variation in sentence length", buckets: [...] }
|
|
181
|
+
|
|
182
|
+
// Search ~280 common emoji by name, keyword, or GitHub-style shortcode
|
|
183
|
+
searchEmoji("fire"); // [{ emoji: "🔥", name: "fire", shortcode: "fire", codepoint: "U+1F525", ... }]
|
|
184
|
+
getEmojiByShortcode(":joy:"); // { emoji: "😂", name: "face with tears of joy", ... }
|
|
180
185
|
```
|
|
181
186
|
|
|
182
187
|
---
|
|
@@ -291,7 +296,7 @@ formatIso8601Duration(90061); // { iso: "P1DT1H1M1S", ... }
|
|
|
291
296
|
### `/units`: Conversions
|
|
292
297
|
|
|
293
298
|
```ts
|
|
294
|
-
import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi } from "@utilix-tech/sdk/units";
|
|
299
|
+
import { convertBytes, pxToAll, convert, formatValue, validateCardNumber, validateIban, calculateLoan, validateBarcode, calculateTax, calculateCompoundInterest, validateIsbn, calculateTipSplit, calculateSimpleInterest, calculateTimeValue, calculatePercentageChange, convertAprApy, calculateMarginMarkup, calculateDiscount, applySuccessiveDiscounts, calculateBreakEven, calculateVideoBitrate, calculateRuleOf72, calculateEmi, calculateRoi } from "@utilix-tech/sdk/units";
|
|
295
300
|
|
|
296
301
|
// File sizes
|
|
297
302
|
convertBytes(1073741824, "GB"); // 1
|
|
@@ -385,6 +390,10 @@ calculateRuleOf72(8, "rate-to-years");
|
|
|
385
390
|
// EMI: equated monthly installment with a year-by-year principal/interest breakdown
|
|
386
391
|
calculateEmi(500000, 8.5, 5, "years");
|
|
387
392
|
// { emi: 10258.27, totalInterest: 115495.89, tenureMonths: 60, yearlyBreakdown: [...] }
|
|
393
|
+
|
|
394
|
+
// ROI: return on investment percent, plus annualized (CAGR) return if years is given
|
|
395
|
+
calculateRoi({ initialValue: 1000, finalValue: 1610.51, years: 5 });
|
|
396
|
+
// { profit: 610.51, roiPercent: 61.051, annualizedReturnPercent: 10, ... }
|
|
388
397
|
```
|
|
389
398
|
|
|
390
399
|
---
|
|
@@ -667,11 +676,11 @@ readVideoInfo(new Uint8Array(videoBytes));
|
|
|
667
676
|
| `@utilix-tech/sdk/json` | Format, minify, diff, validate, JSONPath, CSV↔JSON, YAML↔JSON, TS types from data or from a JSON Schema |
|
|
668
677
|
| `@utilix-tech/sdk/encoding` | Base64, URL, HTML entities, Base32/Base58/Base62 encode/decode |
|
|
669
678
|
| `@utilix-tech/sdk/hashing` | MD5, SHA-1/256/512, bcrypt, HMAC, .htpasswd |
|
|
670
|
-
| `@utilix-tech/sdk/text` | Case convert, slugify, word count, lorem ipsum, line ops, HTML→Markdown, Levenshtein/Damerau string distance, readability scoring, sentence length distribution |
|
|
679
|
+
| `@utilix-tech/sdk/text` | Case convert, slugify, word count, lorem ipsum, line ops, HTML→Markdown, Levenshtein/Damerau string distance, readability scoring, sentence length distribution, emoji lookup |
|
|
671
680
|
| `@utilix-tech/sdk/data` | CSV, YAML, TOML, XML, INI, NDJSON parse and convert, SRT/WebVTT subtitles, Markdown front matter parser |
|
|
672
681
|
| `@utilix-tech/sdk/generators` | UUID v4/v7, ULID, passwords, strength check, entropy estimator, fake data |
|
|
673
682
|
| `@utilix-tech/sdk/time` | Date diff, timezone convert, cron parse, relative time |
|
|
674
|
-
| `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator |
|
|
683
|
+
| `@utilix-tech/sdk/units` | Bytes, CSS px/rem, number bases, currency format, credit card/IBAN/barcode/ISBN validation, loan calculator, EMI calculator, compound/simple interest calculators, VAT/sales tax calculator, tip/bill split calculator, break-even point calculator, Rule of 72 calculator, savings goal calculator, ROI calculator |
|
|
675
684
|
| `@utilix-tech/sdk/network` | HTTP status codes, IP validation, country flags, geolocation URLs, HAR file parsing, User-Agent parsing, IPv6 address compress/expand |
|
|
676
685
|
| `@utilix-tech/sdk/api` | cURL build/parse, JWT decode/sign, JWKS parse, CORS headers, CSP header |
|
|
677
686
|
| `@utilix-tech/sdk/code` | SQL format/minify, HTML format/minify, regex tester, GraphQL format, MIME type lookup, GitHub URL parsing, regex ReDoS detector, Conventional Commits linter |
|
|
@@ -26,6 +26,7 @@ __export(units_exports, {
|
|
|
26
26
|
calculateLoan: () => calculateLoan,
|
|
27
27
|
calculateMarginMarkup: () => calculateMarginMarkup,
|
|
28
28
|
calculatePercentageChange: () => calculatePercentageChange,
|
|
29
|
+
calculateRoi: () => calculateRoi,
|
|
29
30
|
calculateRuleOf72: () => calculateRuleOf72,
|
|
30
31
|
calculateSavingsGoal: () => calculateSavingsGoal,
|
|
31
32
|
calculateSimpleInterest: () => calculateSimpleInterest,
|
|
@@ -1809,5 +1810,32 @@ function calculateSavingsGoal(input) {
|
|
|
1809
1810
|
finalBalance: round4(goalAmount)
|
|
1810
1811
|
};
|
|
1811
1812
|
}
|
|
1813
|
+
function calculateRoi(input) {
|
|
1814
|
+
const { initialValue, finalValue, years } = input;
|
|
1815
|
+
if (!Number.isFinite(initialValue) || initialValue <= 0) {
|
|
1816
|
+
return { error: "initialValue must be a finite number greater than zero" };
|
|
1817
|
+
}
|
|
1818
|
+
if (!Number.isFinite(finalValue) || finalValue < 0) {
|
|
1819
|
+
return { error: "finalValue must be a finite, non-negative number" };
|
|
1820
|
+
}
|
|
1821
|
+
const round4 = (n) => Math.round(n * 1e4) / 1e4;
|
|
1822
|
+
const profit = finalValue - initialValue;
|
|
1823
|
+
const roiPercent = profit / initialValue * 100;
|
|
1824
|
+
const result = {
|
|
1825
|
+
initialValue: round4(initialValue),
|
|
1826
|
+
finalValue: round4(finalValue),
|
|
1827
|
+
profit: round4(profit),
|
|
1828
|
+
roiPercent: round4(roiPercent)
|
|
1829
|
+
};
|
|
1830
|
+
if (years !== void 0) {
|
|
1831
|
+
if (!Number.isFinite(years) || years <= 0) {
|
|
1832
|
+
return { error: "years must be a finite number greater than zero when provided" };
|
|
1833
|
+
}
|
|
1834
|
+
const annualizedReturnPercent = (Math.pow(finalValue / initialValue, 1 / years) - 1) * 100;
|
|
1835
|
+
result.years = round4(years);
|
|
1836
|
+
result.annualizedReturnPercent = round4(annualizedReturnPercent);
|
|
1837
|
+
}
|
|
1838
|
+
return result;
|
|
1839
|
+
}
|
|
1812
1840
|
|
|
1813
|
-
export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBreakEven, calculateCompoundInterest, calculateDiscount, calculateEmi, calculateLoan, calculateMarginMarkup, calculatePercentageChange, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx };
|
|
1841
|
+
export { BASE_LABELS, BASE_PREFIXES, BYTE_UNITS, COMMON_CURRENCIES, COMMON_LOCALES, COMMON_PERMISSIONS, COMMON_RATIOS, COMMON_SIZES, COMMON_TAX_RATES, COMMON_TIP_PERCENTAGES, COMMON_VIEWPORTS, applySuccessiveDiscounts, autoFormat, bumpVersion, calcAspectRatio, calcSubnet, calculateBreakEven, calculateCompoundInterest, calculateDiscount, calculateEmi, calculateLoan, calculateMarginMarkup, calculatePercentageChange, calculateRoi, calculateRuleOf72, calculateSavingsGoal, calculateSimpleInterest, calculateTax, calculateTimeValue, calculateTipSplit, calculateVideoBitrate, compareSemver, convert, convertAprApy, convertBytes, convertIp, coverBox, decimalToIp, decimalToIpCidr, describePermissions, fitIntoBox, formatNumber, formatValue, formatVwValue, formatWithSeparator, gcd, ipFromBinary, ipFromDecimal, ipFromHex, ipToBinary, ipToDecimal, ipToDecimalCidr, ipToHex, ipToOctal, isValid, isValidCidr, isValidIp, isValidIpv4, marginToMarkup, markupToMargin, octalToPermissions, parseFileSize, parseInput, parseNumberString, parseSemver, permissionsToChmod, permissionsToOctal, permissionsToSymbolic, ptToPx, pxToAll, pxToViewport, remToPx, satisfiesRange, scaleByHeight, scaleByWidth, sortVersions, splitSubnet, symbolicToPermissions, units_exports, validateBarcode, validateCardNumber, validateIban, validateIsbn, viewportToPx };
|
|
@@ -6,6 +6,7 @@ var text_exports = {};
|
|
|
6
6
|
__export(text_exports, {
|
|
7
7
|
CASE_FORMATS: () => CASE_FORMATS,
|
|
8
8
|
DEFAULT_CONVERT_OPTIONS: () => DEFAULT_CONVERT_OPTIONS,
|
|
9
|
+
EMOJI_TABLE: () => EMOJI_TABLE,
|
|
9
10
|
ESCAPE_MODES: () => ESCAPE_MODES,
|
|
10
11
|
LINE_OPS: () => LINE_OPS,
|
|
11
12
|
MORSE_CODE: () => MORSE_CODE,
|
|
@@ -39,6 +40,10 @@ __export(text_exports, {
|
|
|
39
40
|
generateSentences: () => generateSentences,
|
|
40
41
|
generateWords: () => generateWords,
|
|
41
42
|
getAvailableFonts: () => getAvailableFonts,
|
|
43
|
+
getEmojiByCategory: () => getEmojiByCategory,
|
|
44
|
+
getEmojiByChar: () => getEmojiByChar,
|
|
45
|
+
getEmojiByShortcode: () => getEmojiByShortcode,
|
|
46
|
+
getEmojiCategories: () => getEmojiCategories,
|
|
42
47
|
getMorseForChar: () => getMorseForChar,
|
|
43
48
|
getMorseTiming: () => getMorseTiming,
|
|
44
49
|
htmlToMarkdown: () => htmlToMarkdown,
|
|
@@ -55,6 +60,7 @@ __export(text_exports, {
|
|
|
55
60
|
renderMarkdown: () => renderMarkdown,
|
|
56
61
|
romanToNumber: () => romanToNumber,
|
|
57
62
|
scoreReadability: () => scoreReadability,
|
|
63
|
+
searchEmoji: () => searchEmoji,
|
|
58
64
|
sentenceCount: () => sentenceCount,
|
|
59
65
|
slugify: () => slugify,
|
|
60
66
|
slugifyAll: () => slugifyAll,
|
|
@@ -2664,5 +2670,304 @@ function analyzeSentenceLengths(text) {
|
|
|
2664
2670
|
buckets
|
|
2665
2671
|
};
|
|
2666
2672
|
}
|
|
2673
|
+
var EMOJI_TABLE = [
|
|
2674
|
+
{ emoji: "\u{1F600}", name: "grinning face", shortcode: "grinning", codepoint: "U+1F600", category: "Smileys & Emotion", keywords: ["happy", "smile"] },
|
|
2675
|
+
{ emoji: "\u{1F603}", name: "grinning face with big eyes", shortcode: "smiley", codepoint: "U+1F603", category: "Smileys & Emotion", keywords: ["happy", "joy"] },
|
|
2676
|
+
{ emoji: "\u{1F604}", name: "grinning face with smiling eyes", shortcode: "smile", codepoint: "U+1F604", category: "Smileys & Emotion", keywords: ["happy", "joy"] },
|
|
2677
|
+
{ emoji: "\u{1F601}", name: "beaming face with smiling eyes", shortcode: "grin", codepoint: "U+1F601", category: "Smileys & Emotion", keywords: ["happy", "teeth"] },
|
|
2678
|
+
{ emoji: "\u{1F606}", name: "grinning squinting face", shortcode: "laughing", codepoint: "U+1F606", category: "Smileys & Emotion", keywords: ["laugh", "haha"] },
|
|
2679
|
+
{ emoji: "\u{1F605}", name: "grinning face with sweat", shortcode: "sweat_smile", codepoint: "U+1F605", category: "Smileys & Emotion", keywords: ["nervous", "relief"] },
|
|
2680
|
+
{ emoji: "\u{1F923}", name: "rolling on the floor laughing", shortcode: "rofl", codepoint: "U+1F923", category: "Smileys & Emotion", keywords: ["lol", "funny"] },
|
|
2681
|
+
{ emoji: "\u{1F602}", name: "face with tears of joy", shortcode: "joy", codepoint: "U+1F602", category: "Smileys & Emotion", keywords: ["lol", "funny", "crying laughing"] },
|
|
2682
|
+
{ emoji: "\u{1F642}", name: "slightly smiling face", shortcode: "slightly_smiling_face", codepoint: "U+1F642", category: "Smileys & Emotion", keywords: ["smile"] },
|
|
2683
|
+
{ emoji: "\u{1F643}", name: "upside-down face", shortcode: "upside_down_face", codepoint: "U+1F643", category: "Smileys & Emotion", keywords: ["silly", "sarcasm"] },
|
|
2684
|
+
{ emoji: "\u{1F609}", name: "winking face", shortcode: "wink", codepoint: "U+1F609", category: "Smileys & Emotion", keywords: ["flirt"] },
|
|
2685
|
+
{ emoji: "\u{1F60A}", name: "smiling face with smiling eyes", shortcode: "blush", codepoint: "U+1F60A", category: "Smileys & Emotion", keywords: ["happy", "warm"] },
|
|
2686
|
+
{ emoji: "\u{1F607}", name: "smiling face with halo", shortcode: "innocent", codepoint: "U+1F607", category: "Smileys & Emotion", keywords: ["angel"] },
|
|
2687
|
+
{ emoji: "\u{1F970}", name: "smiling face with hearts", shortcode: "smiling_face_with_three_hearts", codepoint: "U+1F970", category: "Smileys & Emotion", keywords: ["love", "adore"] },
|
|
2688
|
+
{ emoji: "\u{1F60D}", name: "smiling face with heart-eyes", shortcode: "heart_eyes", codepoint: "U+1F60D", category: "Smileys & Emotion", keywords: ["love", "crush"] },
|
|
2689
|
+
{ emoji: "\u{1F929}", name: "star-struck", shortcode: "star_struck", codepoint: "U+1F929", category: "Smileys & Emotion", keywords: ["excited", "wow"] },
|
|
2690
|
+
{ emoji: "\u{1F618}", name: "face blowing a kiss", shortcode: "kissing_heart", codepoint: "U+1F618", category: "Smileys & Emotion", keywords: ["kiss", "love"] },
|
|
2691
|
+
{ emoji: "\u{1F617}", name: "kissing face", shortcode: "kissing", codepoint: "U+1F617", category: "Smileys & Emotion", keywords: ["kiss"] },
|
|
2692
|
+
{ emoji: "\u{1F60B}", name: "face savoring food", shortcode: "yum", codepoint: "U+1F60B", category: "Smileys & Emotion", keywords: ["tasty", "delicious"] },
|
|
2693
|
+
{ emoji: "\u{1F61B}", name: "face with tongue", shortcode: "stuck_out_tongue", codepoint: "U+1F61B", category: "Smileys & Emotion", keywords: ["playful"] },
|
|
2694
|
+
{ emoji: "\u{1F61C}", name: "winking face with tongue", shortcode: "stuck_out_tongue_winking_eye", codepoint: "U+1F61C", category: "Smileys & Emotion", keywords: ["silly"] },
|
|
2695
|
+
{ emoji: "\u{1F92A}", name: "zany face", shortcode: "zany_face", codepoint: "U+1F92A", category: "Smileys & Emotion", keywords: ["crazy", "wild"] },
|
|
2696
|
+
{ emoji: "\u{1F61D}", name: "squinting face with tongue", shortcode: "stuck_out_tongue_closed_eyes", codepoint: "U+1F61D", category: "Smileys & Emotion", keywords: ["silly"] },
|
|
2697
|
+
{ emoji: "\u{1F911}", name: "money-mouth face", shortcode: "money_mouth_face", codepoint: "U+1F911", category: "Smileys & Emotion", keywords: ["rich", "dollar"] },
|
|
2698
|
+
{ emoji: "\u{1F917}", name: "smiling face with open hands", shortcode: "hugs", codepoint: "U+1F917", category: "Smileys & Emotion", keywords: ["hug"] },
|
|
2699
|
+
{ emoji: "\u{1F92D}", name: "face with hand over mouth", shortcode: "hand_over_mouth", codepoint: "U+1F92D", category: "Smileys & Emotion", keywords: ["oops", "giggle"] },
|
|
2700
|
+
{ emoji: "\u{1F92B}", name: "shushing face", shortcode: "shushing_face", codepoint: "U+1F92B", category: "Smileys & Emotion", keywords: ["quiet", "secret"] },
|
|
2701
|
+
{ emoji: "\u{1F914}", name: "thinking face", shortcode: "thinking", codepoint: "U+1F914", category: "Smileys & Emotion", keywords: ["hmm", "consider"] },
|
|
2702
|
+
{ emoji: "\u{1F910}", name: "zipper-mouth face", shortcode: "zipper_mouth_face", codepoint: "U+1F910", category: "Smileys & Emotion", keywords: ["secret", "silence"] },
|
|
2703
|
+
{ emoji: "\u{1F928}", name: "face with raised eyebrow", shortcode: "raised_eyebrow", codepoint: "U+1F928", category: "Smileys & Emotion", keywords: ["skeptical", "suspicious"] },
|
|
2704
|
+
{ emoji: "\u{1F610}", name: "neutral face", shortcode: "neutral_face", codepoint: "U+1F610", category: "Smileys & Emotion", keywords: ["meh"] },
|
|
2705
|
+
{ emoji: "\u{1F611}", name: "expressionless face", shortcode: "expressionless", codepoint: "U+1F611", category: "Smileys & Emotion", keywords: ["blank"] },
|
|
2706
|
+
{ emoji: "\u{1F636}", name: "face without mouth", shortcode: "no_mouth", codepoint: "U+1F636", category: "Smileys & Emotion", keywords: ["speechless"] },
|
|
2707
|
+
{ emoji: "\u{1F60F}", name: "smirking face", shortcode: "smirk", codepoint: "U+1F60F", category: "Smileys & Emotion", keywords: ["smug"] },
|
|
2708
|
+
{ emoji: "\u{1F612}", name: "unamused face", shortcode: "unamused", codepoint: "U+1F612", category: "Smileys & Emotion", keywords: ["annoyed"] },
|
|
2709
|
+
{ emoji: "\u{1F644}", name: "face with rolling eyes", shortcode: "roll_eyes", codepoint: "U+1F644", category: "Smileys & Emotion", keywords: ["annoyed", "whatever"] },
|
|
2710
|
+
{ emoji: "\u{1F62C}", name: "grimacing face", shortcode: "grimacing", codepoint: "U+1F62C", category: "Smileys & Emotion", keywords: ["awkward", "yikes"] },
|
|
2711
|
+
{ emoji: "\u{1F60C}", name: "relieved face", shortcode: "relieved", codepoint: "U+1F60C", category: "Smileys & Emotion", keywords: ["calm", "content"] },
|
|
2712
|
+
{ emoji: "\u{1F614}", name: "pensive face", shortcode: "pensive", codepoint: "U+1F614", category: "Smileys & Emotion", keywords: ["sad", "thoughtful"] },
|
|
2713
|
+
{ emoji: "\u{1F62A}", name: "sleepy face", shortcode: "sleepy", codepoint: "U+1F62A", category: "Smileys & Emotion", keywords: ["tired"] },
|
|
2714
|
+
{ emoji: "\u{1F924}", name: "drooling face", shortcode: "drooling_face", codepoint: "U+1F924", category: "Smileys & Emotion", keywords: ["hungry"] },
|
|
2715
|
+
{ emoji: "\u{1F634}", name: "sleeping face", shortcode: "sleeping", codepoint: "U+1F634", category: "Smileys & Emotion", keywords: ["zzz", "asleep"] },
|
|
2716
|
+
{ emoji: "\u{1F637}", name: "face with medical mask", shortcode: "mask", codepoint: "U+1F637", category: "Smileys & Emotion", keywords: ["sick", "ill"] },
|
|
2717
|
+
{ emoji: "\u{1F912}", name: "face with thermometer", shortcode: "face_with_thermometer", codepoint: "U+1F912", category: "Smileys & Emotion", keywords: ["sick", "fever"] },
|
|
2718
|
+
{ emoji: "\u{1F915}", name: "face with head-bandage", shortcode: "face_with_head_bandage", codepoint: "U+1F915", category: "Smileys & Emotion", keywords: ["hurt", "injured"] },
|
|
2719
|
+
{ emoji: "\u{1F922}", name: "nauseated face", shortcode: "nauseated_face", codepoint: "U+1F922", category: "Smileys & Emotion", keywords: ["sick", "gross"] },
|
|
2720
|
+
{ emoji: "\u{1F92E}", name: "face vomiting", shortcode: "vomiting_face", codepoint: "U+1F92E", category: "Smileys & Emotion", keywords: ["sick", "gross"] },
|
|
2721
|
+
{ emoji: "\u{1F927}", name: "sneezing face", shortcode: "sneezing_face", codepoint: "U+1F927", category: "Smileys & Emotion", keywords: ["sick", "cold"] },
|
|
2722
|
+
{ emoji: "\u{1F975}", name: "hot face", shortcode: "hot_face", codepoint: "U+1F975", category: "Smileys & Emotion", keywords: ["heat", "sweating"] },
|
|
2723
|
+
{ emoji: "\u{1F976}", name: "cold face", shortcode: "cold_face", codepoint: "U+1F976", category: "Smileys & Emotion", keywords: ["freezing", "frozen"] },
|
|
2724
|
+
{ emoji: "\u{1F635}", name: "knocked-out face", shortcode: "dizzy_face", codepoint: "U+1F635", category: "Smileys & Emotion", keywords: ["dizzy", "confused"] },
|
|
2725
|
+
{ emoji: "\u{1F92F}", name: "exploding head", shortcode: "exploding_head", codepoint: "U+1F92F", category: "Smileys & Emotion", keywords: ["mind blown", "shocked"] },
|
|
2726
|
+
{ emoji: "\u{1F973}", name: "partying face", shortcode: "partying_face", codepoint: "U+1F973", category: "Smileys & Emotion", keywords: ["celebrate", "party"] },
|
|
2727
|
+
{ emoji: "\u{1F60E}", name: "smiling face with sunglasses", shortcode: "sunglasses", codepoint: "U+1F60E", category: "Smileys & Emotion", keywords: ["cool"] },
|
|
2728
|
+
{ emoji: "\u{1F913}", name: "nerd face", shortcode: "nerd_face", codepoint: "U+1F913", category: "Smileys & Emotion", keywords: ["geek", "glasses"] },
|
|
2729
|
+
{ emoji: "\u{1F9D0}", name: "face with monocle", shortcode: "monocle_face", codepoint: "U+1F9D0", category: "Smileys & Emotion", keywords: ["inspect", "curious"] },
|
|
2730
|
+
{ emoji: "\u{1F615}", name: "confused face", shortcode: "confused", codepoint: "U+1F615", category: "Smileys & Emotion", keywords: ["puzzled"] },
|
|
2731
|
+
{ emoji: "\u{1F61F}", name: "worried face", shortcode: "worried", codepoint: "U+1F61F", category: "Smileys & Emotion", keywords: ["concerned"] },
|
|
2732
|
+
{ emoji: "\u{1F641}", name: "slightly frowning face", shortcode: "slightly_frowning_face", codepoint: "U+1F641", category: "Smileys & Emotion", keywords: ["sad"] },
|
|
2733
|
+
{ emoji: "\u{1F62E}", name: "face with open mouth", shortcode: "open_mouth", codepoint: "U+1F62E", category: "Smileys & Emotion", keywords: ["surprised", "wow"] },
|
|
2734
|
+
{ emoji: "\u{1F62F}", name: "hushed face", shortcode: "hushed", codepoint: "U+1F62F", category: "Smileys & Emotion", keywords: ["surprised"] },
|
|
2735
|
+
{ emoji: "\u{1F632}", name: "astonished face", shortcode: "astonished", codepoint: "U+1F632", category: "Smileys & Emotion", keywords: ["shocked"] },
|
|
2736
|
+
{ emoji: "\u{1F633}", name: "flushed face", shortcode: "flushed", codepoint: "U+1F633", category: "Smileys & Emotion", keywords: ["embarrassed", "blush"] },
|
|
2737
|
+
{ emoji: "\u{1F97A}", name: "pleading face", shortcode: "pleading_face", codepoint: "U+1F97A", category: "Smileys & Emotion", keywords: ["puppy eyes", "begging"] },
|
|
2738
|
+
{ emoji: "\u{1F626}", name: "frowning face with open mouth", shortcode: "frowning", codepoint: "U+1F626", category: "Smileys & Emotion", keywords: ["shocked"] },
|
|
2739
|
+
{ emoji: "\u{1F627}", name: "anguished face", shortcode: "anguished", codepoint: "U+1F627", category: "Smileys & Emotion", keywords: ["distressed"] },
|
|
2740
|
+
{ emoji: "\u{1F628}", name: "fearful face", shortcode: "fearful", codepoint: "U+1F628", category: "Smileys & Emotion", keywords: ["scared", "afraid"] },
|
|
2741
|
+
{ emoji: "\u{1F630}", name: "anxious face with sweat", shortcode: "cold_sweat", codepoint: "U+1F630", category: "Smileys & Emotion", keywords: ["nervous"] },
|
|
2742
|
+
{ emoji: "\u{1F625}", name: "sad but relieved face", shortcode: "disappointed_relieved", codepoint: "U+1F625", category: "Smileys & Emotion", keywords: ["sad"] },
|
|
2743
|
+
{ emoji: "\u{1F622}", name: "crying face", shortcode: "cry", codepoint: "U+1F622", category: "Smileys & Emotion", keywords: ["sad", "tear"] },
|
|
2744
|
+
{ emoji: "\u{1F62D}", name: "loudly crying face", shortcode: "sob", codepoint: "U+1F62D", category: "Smileys & Emotion", keywords: ["sad", "bawling"] },
|
|
2745
|
+
{ emoji: "\u{1F631}", name: "face screaming in fear", shortcode: "scream", codepoint: "U+1F631", category: "Smileys & Emotion", keywords: ["shocked", "horror"] },
|
|
2746
|
+
{ emoji: "\u{1F616}", name: "confounded face", shortcode: "confounded", codepoint: "U+1F616", category: "Smileys & Emotion", keywords: ["frustrated"] },
|
|
2747
|
+
{ emoji: "\u{1F623}", name: "persevering face", shortcode: "persevere", codepoint: "U+1F623", category: "Smileys & Emotion", keywords: ["struggling"] },
|
|
2748
|
+
{ emoji: "\u{1F61E}", name: "disappointed face", shortcode: "disappointed", codepoint: "U+1F61E", category: "Smileys & Emotion", keywords: ["sad", "let down"] },
|
|
2749
|
+
{ emoji: "\u{1F613}", name: "downcast face with sweat", shortcode: "sweat", codepoint: "U+1F613", category: "Smileys & Emotion", keywords: ["tired", "stressed"] },
|
|
2750
|
+
{ emoji: "\u{1F629}", name: "weary face", shortcode: "weary", codepoint: "U+1F629", category: "Smileys & Emotion", keywords: ["tired", "exhausted"] },
|
|
2751
|
+
{ emoji: "\u{1F62B}", name: "tired face", shortcode: "tired_face", codepoint: "U+1F62B", category: "Smileys & Emotion", keywords: ["exhausted"] },
|
|
2752
|
+
{ emoji: "\u{1F971}", name: "yawning face", shortcode: "yawning_face", codepoint: "U+1F971", category: "Smileys & Emotion", keywords: ["tired", "bored"] },
|
|
2753
|
+
{ emoji: "\u{1F624}", name: "face with steam from nose", shortcode: "triumph", codepoint: "U+1F624", category: "Smileys & Emotion", keywords: ["angry", "proud"] },
|
|
2754
|
+
{ emoji: "\u{1F621}", name: "pouting face", shortcode: "rage", codepoint: "U+1F621", category: "Smileys & Emotion", keywords: ["angry", "mad"] },
|
|
2755
|
+
{ emoji: "\u{1F620}", name: "angry face", shortcode: "angry", codepoint: "U+1F620", category: "Smileys & Emotion", keywords: ["mad"] },
|
|
2756
|
+
{ emoji: "\u{1F92C}", name: "face with symbols on mouth", shortcode: "cursing_face", codepoint: "U+1F92C", category: "Smileys & Emotion", keywords: ["swearing", "angry"] },
|
|
2757
|
+
{ emoji: "\u{1F608}", name: "smiling face with horns", shortcode: "smiling_imp", codepoint: "U+1F608", category: "Smileys & Emotion", keywords: ["devil", "evil"] },
|
|
2758
|
+
{ emoji: "\u{1F47F}", name: "angry face with horns", shortcode: "imp", codepoint: "U+1F47F", category: "Smileys & Emotion", keywords: ["devil"] },
|
|
2759
|
+
{ emoji: "\u{1F480}", name: "skull", shortcode: "skull", codepoint: "U+1F480", category: "Smileys & Emotion", keywords: ["dead", "death"] },
|
|
2760
|
+
{ emoji: "\u{1F921}", name: "clown face", shortcode: "clown_face", codepoint: "U+1F921", category: "Smileys & Emotion", keywords: ["joker"] },
|
|
2761
|
+
{ emoji: "\u{1F47B}", name: "ghost", shortcode: "ghost", codepoint: "U+1F47B", category: "Smileys & Emotion", keywords: ["spooky", "halloween"] },
|
|
2762
|
+
{ emoji: "\u{1F47D}", name: "alien", shortcode: "alien", codepoint: "U+1F47D", category: "Smileys & Emotion", keywords: ["ufo", "extraterrestrial"] },
|
|
2763
|
+
{ emoji: "\u{1F916}", name: "robot", shortcode: "robot", codepoint: "U+1F916", category: "Smileys & Emotion", keywords: ["ai", "bot"] },
|
|
2764
|
+
{ emoji: "\u{1F63A}", name: "grinning cat", shortcode: "smiley_cat", codepoint: "U+1F63A", category: "Smileys & Emotion", keywords: ["cat"] },
|
|
2765
|
+
{ emoji: "\u{1F639}", name: "cat with tears of joy", shortcode: "joy_cat", codepoint: "U+1F639", category: "Smileys & Emotion", keywords: ["cat", "laugh"] },
|
|
2766
|
+
{ emoji: "\u{1F63B}", name: "smiling cat with heart-eyes", shortcode: "heart_eyes_cat", codepoint: "U+1F63B", category: "Smileys & Emotion", keywords: ["cat", "love"] },
|
|
2767
|
+
{ emoji: "\u{1F44D}", name: "thumbs up", shortcode: "thumbsup", codepoint: "U+1F44D", category: "People & Body", keywords: ["approve", "like", "yes"] },
|
|
2768
|
+
{ emoji: "\u{1F44E}", name: "thumbs down", shortcode: "thumbsdown", codepoint: "U+1F44E", category: "People & Body", keywords: ["disapprove", "no"] },
|
|
2769
|
+
{ emoji: "\u{1F44C}", name: "OK hand", shortcode: "ok_hand", codepoint: "U+1F44C", category: "People & Body", keywords: ["okay", "perfect"] },
|
|
2770
|
+
{ emoji: "\u270C\uFE0F", name: "victory hand", shortcode: "v", codepoint: "U+270C U+FE0F", category: "People & Body", keywords: ["peace"] },
|
|
2771
|
+
{ emoji: "\u{1F91E}", name: "crossed fingers", shortcode: "crossed_fingers", codepoint: "U+1F91E", category: "People & Body", keywords: ["luck", "hope"] },
|
|
2772
|
+
{ emoji: "\u{1F918}", name: "sign of the horns", shortcode: "metal", codepoint: "U+1F918", category: "People & Body", keywords: ["rock"] },
|
|
2773
|
+
{ emoji: "\u{1F44F}", name: "clapping hands", shortcode: "clap", codepoint: "U+1F44F", category: "People & Body", keywords: ["applause", "bravo"] },
|
|
2774
|
+
{ emoji: "\u{1F64C}", name: "raising hands", shortcode: "raised_hands", codepoint: "U+1F64C", category: "People & Body", keywords: ["celebrate", "hooray"] },
|
|
2775
|
+
{ emoji: "\u{1F450}", name: "open hands", shortcode: "open_hands", codepoint: "U+1F450", category: "People & Body", keywords: ["hug"] },
|
|
2776
|
+
{ emoji: "\u{1F91D}", name: "handshake", shortcode: "handshake", codepoint: "U+1F91D", category: "People & Body", keywords: ["deal", "agreement"] },
|
|
2777
|
+
{ emoji: "\u{1F64F}", name: "folded hands", shortcode: "pray", codepoint: "U+1F64F", category: "People & Body", keywords: ["please", "thanks", "praying"] },
|
|
2778
|
+
{ emoji: "\u270D\uFE0F", name: "writing hand", shortcode: "writing_hand", codepoint: "U+270D U+FE0F", category: "People & Body", keywords: ["write"] },
|
|
2779
|
+
{ emoji: "\u{1F4AA}", name: "flexed biceps", shortcode: "muscle", codepoint: "U+1F4AA", category: "People & Body", keywords: ["strong", "gym"] },
|
|
2780
|
+
{ emoji: "\u{1F590}\uFE0F", name: "hand with fingers splayed", shortcode: "raised_hand_with_fingers_splayed", codepoint: "U+1F590 U+FE0F", category: "People & Body", keywords: ["stop"] },
|
|
2781
|
+
{ emoji: "\u{1F44B}", name: "waving hand", shortcode: "wave", codepoint: "U+1F44B", category: "People & Body", keywords: ["hello", "goodbye", "bye"] },
|
|
2782
|
+
{ emoji: "\u{1F440}", name: "eyes", shortcode: "eyes", codepoint: "U+1F440", category: "People & Body", keywords: ["look", "watching"] },
|
|
2783
|
+
{ emoji: "\u{1F9E0}", name: "brain", shortcode: "brain", codepoint: "U+1F9E0", category: "People & Body", keywords: ["smart", "mind"] },
|
|
2784
|
+
{ emoji: "\u2764\uFE0F", name: "red heart", shortcode: "heart", codepoint: "U+2764 U+FE0F", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2785
|
+
{ emoji: "\u{1F9E1}", name: "orange heart", shortcode: "orange_heart", codepoint: "U+1F9E1", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2786
|
+
{ emoji: "\u{1F49B}", name: "yellow heart", shortcode: "yellow_heart", codepoint: "U+1F49B", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2787
|
+
{ emoji: "\u{1F49A}", name: "green heart", shortcode: "green_heart", codepoint: "U+1F49A", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2788
|
+
{ emoji: "\u{1F499}", name: "blue heart", shortcode: "blue_heart", codepoint: "U+1F499", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2789
|
+
{ emoji: "\u{1F49C}", name: "purple heart", shortcode: "purple_heart", codepoint: "U+1F49C", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2790
|
+
{ emoji: "\u{1F5A4}", name: "black heart", shortcode: "black_heart", codepoint: "U+1F5A4", category: "Smileys & Emotion", keywords: ["love", "dark"] },
|
|
2791
|
+
{ emoji: "\u{1F90D}", name: "white heart", shortcode: "white_heart", codepoint: "U+1F90D", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2792
|
+
{ emoji: "\u{1F494}", name: "broken heart", shortcode: "broken_heart", codepoint: "U+1F494", category: "Smileys & Emotion", keywords: ["heartbroken", "sad"] },
|
|
2793
|
+
{ emoji: "\u{1F495}", name: "two hearts", shortcode: "two_hearts", codepoint: "U+1F495", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2794
|
+
{ emoji: "\u{1F496}", name: "sparkling heart", shortcode: "sparkling_heart", codepoint: "U+1F496", category: "Smileys & Emotion", keywords: ["love"] },
|
|
2795
|
+
{ emoji: "\u{1F4AF}", name: "hundred points", shortcode: "100", codepoint: "U+1F4AF", category: "Smileys & Emotion", keywords: ["perfect", "score"] },
|
|
2796
|
+
{ emoji: "\u{1F525}", name: "fire", shortcode: "fire", codepoint: "U+1F525", category: "Travel & Places", keywords: ["lit", "hot", "flame"] },
|
|
2797
|
+
{ emoji: "\u2728", name: "sparkles", shortcode: "sparkles", codepoint: "U+2728", category: "Travel & Places", keywords: ["shiny", "glitter"] },
|
|
2798
|
+
{ emoji: "\u2B50", name: "star", shortcode: "star", codepoint: "U+2B50", category: "Travel & Places", keywords: ["favorite"] },
|
|
2799
|
+
{ emoji: "\u{1F31F}", name: "glowing star", shortcode: "star2", codepoint: "U+1F31F", category: "Travel & Places", keywords: ["shiny"] },
|
|
2800
|
+
{ emoji: "\u{1F389}", name: "party popper", shortcode: "tada", codepoint: "U+1F389", category: "Activities", keywords: ["celebrate", "congrats"] },
|
|
2801
|
+
{ emoji: "\u{1F38A}", name: "confetti ball", shortcode: "confetti_ball", codepoint: "U+1F38A", category: "Activities", keywords: ["celebrate"] },
|
|
2802
|
+
{ emoji: "\u{1F381}", name: "wrapped gift", shortcode: "gift", codepoint: "U+1F381", category: "Activities", keywords: ["present", "birthday"] },
|
|
2803
|
+
{ emoji: "\u{1F388}", name: "balloon", shortcode: "balloon", codepoint: "U+1F388", category: "Activities", keywords: ["party", "birthday"] },
|
|
2804
|
+
{ emoji: "\u{1F3C6}", name: "trophy", shortcode: "trophy", codepoint: "U+1F3C6", category: "Activities", keywords: ["winner", "award"] },
|
|
2805
|
+
{ emoji: "\u{1F947}", name: "1st place medal", shortcode: "first_place_medal", codepoint: "U+1F947", category: "Activities", keywords: ["gold", "winner"] },
|
|
2806
|
+
{ emoji: "\u26BD", name: "soccer ball", shortcode: "soccer", codepoint: "U+26BD", category: "Activities", keywords: ["football"] },
|
|
2807
|
+
{ emoji: "\u{1F3C0}", name: "basketball", shortcode: "basketball", codepoint: "U+1F3C0", category: "Activities", keywords: ["sport"] },
|
|
2808
|
+
{ emoji: "\u{1F3C8}", name: "american football", shortcode: "football", codepoint: "U+1F3C8", category: "Activities", keywords: ["sport", "nfl"] },
|
|
2809
|
+
{ emoji: "\u26BE", name: "baseball", shortcode: "baseball", codepoint: "U+26BE", category: "Activities", keywords: ["sport"] },
|
|
2810
|
+
{ emoji: "\u{1F3BE}", name: "tennis", shortcode: "tennis", codepoint: "U+1F3BE", category: "Activities", keywords: ["sport"] },
|
|
2811
|
+
{ emoji: "\u{1F3AE}", name: "video game", shortcode: "video_game", codepoint: "U+1F3AE", category: "Activities", keywords: ["gaming", "controller"] },
|
|
2812
|
+
{ emoji: "\u{1F3B2}", name: "game die", shortcode: "game_die", codepoint: "U+1F3B2", category: "Activities", keywords: ["dice", "random"] },
|
|
2813
|
+
{ emoji: "\u{1F3A7}", name: "headphone", shortcode: "headphones", codepoint: "U+1F3A7", category: "Objects", keywords: ["music", "audio"] },
|
|
2814
|
+
{ emoji: "\u{1F3B5}", name: "musical note", shortcode: "musical_note", codepoint: "U+1F3B5", category: "Objects", keywords: ["music"] },
|
|
2815
|
+
{ emoji: "\u{1F3B6}", name: "musical notes", shortcode: "notes", codepoint: "U+1F3B6", category: "Objects", keywords: ["music"] },
|
|
2816
|
+
{ emoji: "\u{1F436}", name: "dog face", shortcode: "dog", codepoint: "U+1F436", category: "Animals & Nature", keywords: ["puppy", "pet"] },
|
|
2817
|
+
{ emoji: "\u{1F431}", name: "cat face", shortcode: "cat", codepoint: "U+1F431", category: "Animals & Nature", keywords: ["kitten", "pet"] },
|
|
2818
|
+
{ emoji: "\u{1F42D}", name: "mouse face", shortcode: "mouse", codepoint: "U+1F42D", category: "Animals & Nature", keywords: ["rodent"] },
|
|
2819
|
+
{ emoji: "\u{1F439}", name: "hamster face", shortcode: "hamster", codepoint: "U+1F439", category: "Animals & Nature", keywords: ["pet"] },
|
|
2820
|
+
{ emoji: "\u{1F430}", name: "rabbit face", shortcode: "rabbit", codepoint: "U+1F430", category: "Animals & Nature", keywords: ["bunny"] },
|
|
2821
|
+
{ emoji: "\u{1F98A}", name: "fox", shortcode: "fox_face", codepoint: "U+1F98A", category: "Animals & Nature", keywords: ["animal"] },
|
|
2822
|
+
{ emoji: "\u{1F43B}", name: "bear", shortcode: "bear", codepoint: "U+1F43B", category: "Animals & Nature", keywords: ["animal"] },
|
|
2823
|
+
{ emoji: "\u{1F43C}", name: "panda", shortcode: "panda_face", codepoint: "U+1F43C", category: "Animals & Nature", keywords: ["animal"] },
|
|
2824
|
+
{ emoji: "\u{1F428}", name: "koala", shortcode: "koala", codepoint: "U+1F428", category: "Animals & Nature", keywords: ["animal"] },
|
|
2825
|
+
{ emoji: "\u{1F42F}", name: "tiger face", shortcode: "tiger", codepoint: "U+1F42F", category: "Animals & Nature", keywords: ["animal"] },
|
|
2826
|
+
{ emoji: "\u{1F981}", name: "lion", shortcode: "lion", codepoint: "U+1F981", category: "Animals & Nature", keywords: ["animal"] },
|
|
2827
|
+
{ emoji: "\u{1F42E}", name: "cow face", shortcode: "cow", codepoint: "U+1F42E", category: "Animals & Nature", keywords: ["animal"] },
|
|
2828
|
+
{ emoji: "\u{1F437}", name: "pig face", shortcode: "pig", codepoint: "U+1F437", category: "Animals & Nature", keywords: ["animal"] },
|
|
2829
|
+
{ emoji: "\u{1F438}", name: "frog", shortcode: "frog", codepoint: "U+1F438", category: "Animals & Nature", keywords: ["animal"] },
|
|
2830
|
+
{ emoji: "\u{1F435}", name: "monkey face", shortcode: "monkey_face", codepoint: "U+1F435", category: "Animals & Nature", keywords: ["animal"] },
|
|
2831
|
+
{ emoji: "\u{1F414}", name: "chicken", shortcode: "chicken", codepoint: "U+1F414", category: "Animals & Nature", keywords: ["animal", "bird"] },
|
|
2832
|
+
{ emoji: "\u{1F427}", name: "penguin", shortcode: "penguin", codepoint: "U+1F427", category: "Animals & Nature", keywords: ["animal", "bird"] },
|
|
2833
|
+
{ emoji: "\u{1F426}", name: "bird", shortcode: "bird", codepoint: "U+1F426", category: "Animals & Nature", keywords: ["animal"] },
|
|
2834
|
+
{ emoji: "\u{1F984}", name: "unicorn", shortcode: "unicorn", codepoint: "U+1F984", category: "Animals & Nature", keywords: ["fantasy"] },
|
|
2835
|
+
{ emoji: "\u{1F41D}", name: "honeybee", shortcode: "bee", codepoint: "U+1F41D", category: "Animals & Nature", keywords: ["insect"] },
|
|
2836
|
+
{ emoji: "\u{1F98B}", name: "butterfly", shortcode: "butterfly", codepoint: "U+1F98B", category: "Animals & Nature", keywords: ["insect"] },
|
|
2837
|
+
{ emoji: "\u{1F422}", name: "turtle", shortcode: "turtle", codepoint: "U+1F422", category: "Animals & Nature", keywords: ["animal", "slow"] },
|
|
2838
|
+
{ emoji: "\u{1F40D}", name: "snake", shortcode: "snake", codepoint: "U+1F40D", category: "Animals & Nature", keywords: ["animal"] },
|
|
2839
|
+
{ emoji: "\u{1F433}", name: "spouting whale", shortcode: "whale", codepoint: "U+1F433", category: "Animals & Nature", keywords: ["ocean"] },
|
|
2840
|
+
{ emoji: "\u{1F42C}", name: "dolphin", shortcode: "dolphin", codepoint: "U+1F42C", category: "Animals & Nature", keywords: ["ocean"] },
|
|
2841
|
+
{ emoji: "\u{1F41F}", name: "fish", shortcode: "fish", codepoint: "U+1F41F", category: "Animals & Nature", keywords: ["ocean"] },
|
|
2842
|
+
{ emoji: "\u{1F338}", name: "cherry blossom", shortcode: "cherry_blossom", codepoint: "U+1F338", category: "Animals & Nature", keywords: ["flower", "spring"] },
|
|
2843
|
+
{ emoji: "\u{1F339}", name: "rose", shortcode: "rose", codepoint: "U+1F339", category: "Animals & Nature", keywords: ["flower"] },
|
|
2844
|
+
{ emoji: "\u{1F33B}", name: "sunflower", shortcode: "sunflower", codepoint: "U+1F33B", category: "Animals & Nature", keywords: ["flower"] },
|
|
2845
|
+
{ emoji: "\u{1F308}", name: "rainbow", shortcode: "rainbow", codepoint: "U+1F308", category: "Travel & Places", keywords: ["colorful", "pride"] },
|
|
2846
|
+
{ emoji: "\u2600\uFE0F", name: "sun", shortcode: "sunny", codepoint: "U+2600 U+FE0F", category: "Travel & Places", keywords: ["sunshine", "weather"] },
|
|
2847
|
+
{ emoji: "\u26C5", name: "sun behind cloud", shortcode: "partly_sunny", codepoint: "U+26C5", category: "Travel & Places", keywords: ["weather"] },
|
|
2848
|
+
{ emoji: "\u2601\uFE0F", name: "cloud", shortcode: "cloud", codepoint: "U+2601 U+FE0F", category: "Travel & Places", keywords: ["weather"] },
|
|
2849
|
+
{ emoji: "\u{1F327}\uFE0F", name: "cloud with rain", shortcode: "cloud_with_rain", codepoint: "U+1F327 U+FE0F", category: "Travel & Places", keywords: ["weather", "rain"] },
|
|
2850
|
+
{ emoji: "\u26C8\uFE0F", name: "cloud with lightning and rain", shortcode: "thunder_cloud_and_rain", codepoint: "U+26C8 U+FE0F", category: "Travel & Places", keywords: ["storm"] },
|
|
2851
|
+
{ emoji: "\u2744\uFE0F", name: "snowflake", shortcode: "snowflake", codepoint: "U+2744 U+FE0F", category: "Travel & Places", keywords: ["cold", "winter"] },
|
|
2852
|
+
{ emoji: "\u26C4", name: "snowman without snow", shortcode: "snowman_without_snow", codepoint: "U+26C4", category: "Travel & Places", keywords: ["winter"] },
|
|
2853
|
+
{ emoji: "\u{1F30A}", name: "water wave", shortcode: "ocean", codepoint: "U+1F30A", category: "Travel & Places", keywords: ["sea", "surf"] },
|
|
2854
|
+
{ emoji: "\u{1F34E}", name: "red apple", shortcode: "apple", codepoint: "U+1F34E", category: "Food & Drink", keywords: ["fruit"] },
|
|
2855
|
+
{ emoji: "\u{1F34C}", name: "banana", shortcode: "banana", codepoint: "U+1F34C", category: "Food & Drink", keywords: ["fruit"] },
|
|
2856
|
+
{ emoji: "\u{1F355}", name: "pizza", shortcode: "pizza", codepoint: "U+1F355", category: "Food & Drink", keywords: ["food"] },
|
|
2857
|
+
{ emoji: "\u{1F354}", name: "hamburger", shortcode: "hamburger", codepoint: "U+1F354", category: "Food & Drink", keywords: ["burger", "food"] },
|
|
2858
|
+
{ emoji: "\u{1F35F}", name: "french fries", shortcode: "fries", codepoint: "U+1F35F", category: "Food & Drink", keywords: ["food"] },
|
|
2859
|
+
{ emoji: "\u{1F32E}", name: "taco", shortcode: "taco", codepoint: "U+1F32E", category: "Food & Drink", keywords: ["food"] },
|
|
2860
|
+
{ emoji: "\u{1F363}", name: "sushi", shortcode: "sushi", codepoint: "U+1F363", category: "Food & Drink", keywords: ["food"] },
|
|
2861
|
+
{ emoji: "\u{1F369}", name: "doughnut", shortcode: "doughnut", codepoint: "U+1F369", category: "Food & Drink", keywords: ["donut", "food"] },
|
|
2862
|
+
{ emoji: "\u{1F36A}", name: "cookie", shortcode: "cookie", codepoint: "U+1F36A", category: "Food & Drink", keywords: ["food"] },
|
|
2863
|
+
{ emoji: "\u{1F382}", name: "birthday cake", shortcode: "birthday", codepoint: "U+1F382", category: "Food & Drink", keywords: ["cake", "party"] },
|
|
2864
|
+
{ emoji: "\u{1F370}", name: "shortcake", shortcode: "cake", codepoint: "U+1F370", category: "Food & Drink", keywords: ["dessert"] },
|
|
2865
|
+
{ emoji: "\u{1F36B}", name: "chocolate bar", shortcode: "chocolate_bar", codepoint: "U+1F36B", category: "Food & Drink", keywords: ["candy", "sweet"] },
|
|
2866
|
+
{ emoji: "\u{1F37F}", name: "popcorn", shortcode: "popcorn", codepoint: "U+1F37F", category: "Food & Drink", keywords: ["movie", "snack"] },
|
|
2867
|
+
{ emoji: "\u2615", name: "hot beverage", shortcode: "coffee", codepoint: "U+2615", category: "Food & Drink", keywords: ["tea", "drink"] },
|
|
2868
|
+
{ emoji: "\u{1F37A}", name: "beer mug", shortcode: "beer", codepoint: "U+1F37A", category: "Food & Drink", keywords: ["drink", "alcohol"] },
|
|
2869
|
+
{ emoji: "\u{1F377}", name: "wine glass", shortcode: "wine_glass", codepoint: "U+1F377", category: "Food & Drink", keywords: ["drink", "alcohol"] },
|
|
2870
|
+
{ emoji: "\u{1F37E}", name: "bottle with popping cork", shortcode: "champagne", codepoint: "U+1F37E", category: "Food & Drink", keywords: ["celebrate", "drink"] },
|
|
2871
|
+
{ emoji: "\u{1F680}", name: "rocket", shortcode: "rocket", codepoint: "U+1F680", category: "Travel & Places", keywords: ["launch", "space", "ship"] },
|
|
2872
|
+
{ emoji: "\u2708\uFE0F", name: "airplane", shortcode: "airplane", codepoint: "U+2708 U+FE0F", category: "Travel & Places", keywords: ["flight", "travel"] },
|
|
2873
|
+
{ emoji: "\u{1F697}", name: "automobile", shortcode: "car", codepoint: "U+1F697", category: "Travel & Places", keywords: ["vehicle"] },
|
|
2874
|
+
{ emoji: "\u{1F6B2}", name: "bicycle", shortcode: "bike", codepoint: "U+1F6B2", category: "Travel & Places", keywords: ["cycling"] },
|
|
2875
|
+
{ emoji: "\u{1F6A2}", name: "ship", shortcode: "ship", codepoint: "U+1F6A2", category: "Travel & Places", keywords: ["boat"] },
|
|
2876
|
+
{ emoji: "\u{1F3E0}", name: "house", shortcode: "house", codepoint: "U+1F3E0", category: "Travel & Places", keywords: ["home"] },
|
|
2877
|
+
{ emoji: "\u{1F3E2}", name: "office building", shortcode: "office", codepoint: "U+1F3E2", category: "Travel & Places", keywords: ["work"] },
|
|
2878
|
+
{ emoji: "\u{1F30D}", name: "globe showing Europe-Africa", shortcode: "earth_africa", codepoint: "U+1F30D", category: "Travel & Places", keywords: ["world", "global"] },
|
|
2879
|
+
{ emoji: "\u{1F5FA}\uFE0F", name: "world map", shortcode: "world_map", codepoint: "U+1F5FA U+FE0F", category: "Travel & Places", keywords: ["travel"] },
|
|
2880
|
+
{ emoji: "\u{1F319}", name: "crescent moon", shortcode: "crescent_moon", codepoint: "U+1F319", category: "Travel & Places", keywords: ["night"] },
|
|
2881
|
+
{ emoji: "\u{1F4BB}", name: "laptop", shortcode: "computer", codepoint: "U+1F4BB", category: "Objects", keywords: ["dev", "code"] },
|
|
2882
|
+
{ emoji: "\u{1F5A5}\uFE0F", name: "desktop computer", shortcode: "desktop_computer", codepoint: "U+1F5A5 U+FE0F", category: "Objects", keywords: ["dev"] },
|
|
2883
|
+
{ emoji: "\u2328\uFE0F", name: "keyboard", shortcode: "keyboard", codepoint: "U+2328 U+FE0F", category: "Objects", keywords: ["type", "dev"] },
|
|
2884
|
+
{ emoji: "\u{1F5B1}\uFE0F", name: "computer mouse", shortcode: "computer_mouse", codepoint: "U+1F5B1 U+FE0F", category: "Objects", keywords: ["dev"] },
|
|
2885
|
+
{ emoji: "\u{1F4F1}", name: "mobile phone", shortcode: "iphone", codepoint: "U+1F4F1", category: "Objects", keywords: ["phone"] },
|
|
2886
|
+
{ emoji: "\u260E\uFE0F", name: "telephone", shortcode: "telephone", codepoint: "U+260E U+FE0F", category: "Objects", keywords: ["phone"] },
|
|
2887
|
+
{ emoji: "\u{1F4A1}", name: "light bulb", shortcode: "bulb", codepoint: "U+1F4A1", category: "Objects", keywords: ["idea"] },
|
|
2888
|
+
{ emoji: "\u{1F50B}", name: "battery", shortcode: "battery", codepoint: "U+1F50B", category: "Objects", keywords: ["power"] },
|
|
2889
|
+
{ emoji: "\u{1F50C}", name: "electric plug", shortcode: "electric_plug", codepoint: "U+1F50C", category: "Objects", keywords: ["power"] },
|
|
2890
|
+
{ emoji: "\u{1F4F7}", name: "camera", shortcode: "camera", codepoint: "U+1F4F7", category: "Objects", keywords: ["photo"] },
|
|
2891
|
+
{ emoji: "\u{1F4DA}", name: "books", shortcode: "books", codepoint: "U+1F4DA", category: "Objects", keywords: ["read", "study"] },
|
|
2892
|
+
{ emoji: "\u{1F4D6}", name: "open book", shortcode: "book", codepoint: "U+1F4D6", category: "Objects", keywords: ["read"] },
|
|
2893
|
+
{ emoji: "\u{1F4DD}", name: "memo", shortcode: "memo", codepoint: "U+1F4DD", category: "Objects", keywords: ["note", "write"] },
|
|
2894
|
+
{ emoji: "\u270F\uFE0F", name: "pencil", shortcode: "pencil2", codepoint: "U+270F U+FE0F", category: "Objects", keywords: ["write"] },
|
|
2895
|
+
{ emoji: "\u{1F58A}\uFE0F", name: "pen", shortcode: "pen", codepoint: "U+1F58A U+FE0F", category: "Objects", keywords: ["write"] },
|
|
2896
|
+
{ emoji: "\u{1F4CC}", name: "pushpin", shortcode: "pushpin", codepoint: "U+1F4CC", category: "Objects", keywords: ["pin"] },
|
|
2897
|
+
{ emoji: "\u{1F4CE}", name: "paperclip", shortcode: "paperclip", codepoint: "U+1F4CE", category: "Objects", keywords: ["attach"] },
|
|
2898
|
+
{ emoji: "\u{1F517}", name: "link", shortcode: "link", codepoint: "U+1F517", category: "Objects", keywords: ["url", "chain"] },
|
|
2899
|
+
{ emoji: "\u{1F512}", name: "locked", shortcode: "lock", codepoint: "U+1F512", category: "Objects", keywords: ["secure", "private"] },
|
|
2900
|
+
{ emoji: "\u{1F513}", name: "unlocked", shortcode: "unlock", codepoint: "U+1F513", category: "Objects", keywords: ["open"] },
|
|
2901
|
+
{ emoji: "\u{1F511}", name: "key", shortcode: "key", codepoint: "U+1F511", category: "Objects", keywords: ["password"] },
|
|
2902
|
+
{ emoji: "\u{1F50D}", name: "magnifying glass tilted left", shortcode: "mag", codepoint: "U+1F50D", category: "Objects", keywords: ["search", "find"] },
|
|
2903
|
+
{ emoji: "\u2699\uFE0F", name: "gear", shortcode: "gear", codepoint: "U+2699 U+FE0F", category: "Objects", keywords: ["settings", "config"] },
|
|
2904
|
+
{ emoji: "\u{1F6E0}\uFE0F", name: "hammer and wrench", shortcode: "hammer_and_wrench", codepoint: "U+1F6E0 U+FE0F", category: "Objects", keywords: ["tools", "build"] },
|
|
2905
|
+
{ emoji: "\u{1F41B}", name: "bug", shortcode: "bug", codepoint: "U+1F41B", category: "Animals & Nature", keywords: ["insect", "error", "debug"] },
|
|
2906
|
+
{ emoji: "\u{1F4B0}", name: "money bag", shortcode: "moneybag", codepoint: "U+1F4B0", category: "Objects", keywords: ["cash", "rich"] },
|
|
2907
|
+
{ emoji: "\u{1F4B5}", name: "dollar banknote", shortcode: "dollar", codepoint: "U+1F4B5", category: "Objects", keywords: ["money", "cash"] },
|
|
2908
|
+
{ emoji: "\u{1F4B3}", name: "credit card", shortcode: "credit_card", codepoint: "U+1F4B3", category: "Objects", keywords: ["payment"] },
|
|
2909
|
+
{ emoji: "\u{1F4C8}", name: "chart increasing", shortcode: "chart_with_upwards_trend", codepoint: "U+1F4C8", category: "Objects", keywords: ["growth", "stocks"] },
|
|
2910
|
+
{ emoji: "\u{1F4C9}", name: "chart decreasing", shortcode: "chart_with_downwards_trend", codepoint: "U+1F4C9", category: "Objects", keywords: ["decline", "stocks"] },
|
|
2911
|
+
{ emoji: "\u{1F4CA}", name: "bar chart", shortcode: "bar_chart", codepoint: "U+1F4CA", category: "Objects", keywords: ["data", "stats"] },
|
|
2912
|
+
{ emoji: "\u{1F4C5}", name: "calendar", shortcode: "date", codepoint: "U+1F4C5", category: "Objects", keywords: ["schedule"] },
|
|
2913
|
+
{ emoji: "\u23F0", name: "alarm clock", shortcode: "alarm_clock", codepoint: "U+23F0", category: "Objects", keywords: ["time", "wake"] },
|
|
2914
|
+
{ emoji: "\u23F3", name: "hourglass not done", shortcode: "hourglass_flowing_sand", codepoint: "U+23F3", category: "Objects", keywords: ["waiting", "time"] },
|
|
2915
|
+
{ emoji: "\u2705", name: "check mark button", shortcode: "white_check_mark", codepoint: "U+2705", category: "Symbols", keywords: ["done", "correct", "yes"] },
|
|
2916
|
+
{ emoji: "\u2714\uFE0F", name: "check mark", shortcode: "heavy_check_mark", codepoint: "U+2714 U+FE0F", category: "Symbols", keywords: ["done", "correct"] },
|
|
2917
|
+
{ emoji: "\u274C", name: "cross mark", shortcode: "x", codepoint: "U+274C", category: "Symbols", keywords: ["wrong", "no", "error"] },
|
|
2918
|
+
{ emoji: "\u2757", name: "exclamation mark", shortcode: "exclamation", codepoint: "U+2757", category: "Symbols", keywords: ["warning", "important"] },
|
|
2919
|
+
{ emoji: "\u2753", name: "question mark", shortcode: "question", codepoint: "U+2753", category: "Symbols", keywords: ["ask"] },
|
|
2920
|
+
{ emoji: "\u26A0\uFE0F", name: "warning", shortcode: "warning", codepoint: "U+26A0 U+FE0F", category: "Symbols", keywords: ["caution", "alert"] },
|
|
2921
|
+
{ emoji: "\u{1F6AB}", name: "prohibited", shortcode: "no_entry_sign", codepoint: "U+1F6AB", category: "Symbols", keywords: ["forbidden", "banned"] },
|
|
2922
|
+
{ emoji: "\u{1F534}", name: "red circle", shortcode: "red_circle", codepoint: "U+1F534", category: "Symbols", keywords: ["status", "stop"] },
|
|
2923
|
+
{ emoji: "\u{1F7E2}", name: "green circle", shortcode: "green_circle", codepoint: "U+1F7E2", category: "Symbols", keywords: ["status", "go"] },
|
|
2924
|
+
{ emoji: "\u{1F7E1}", name: "yellow circle", shortcode: "yellow_circle", codepoint: "U+1F7E1", category: "Symbols", keywords: ["status", "warning"] },
|
|
2925
|
+
{ emoji: "\u{1F535}", name: "blue circle", shortcode: "blue_circle", codepoint: "U+1F535", category: "Symbols", keywords: ["status"] },
|
|
2926
|
+
{ emoji: "\u2B06\uFE0F", name: "up arrow", shortcode: "arrow_up", codepoint: "U+2B06 U+FE0F", category: "Symbols", keywords: ["direction"] },
|
|
2927
|
+
{ emoji: "\u2B07\uFE0F", name: "down arrow", shortcode: "arrow_down", codepoint: "U+2B07 U+FE0F", category: "Symbols", keywords: ["direction"] },
|
|
2928
|
+
{ emoji: "\u27A1\uFE0F", name: "right arrow", shortcode: "arrow_right", codepoint: "U+27A1 U+FE0F", category: "Symbols", keywords: ["direction"] },
|
|
2929
|
+
{ emoji: "\u2B05\uFE0F", name: "left arrow", shortcode: "arrow_left", codepoint: "U+2B05 U+FE0F", category: "Symbols", keywords: ["direction"] },
|
|
2930
|
+
{ emoji: "\u{1F504}", name: "counterclockwise arrows button", shortcode: "arrows_counterclockwise", codepoint: "U+1F504", category: "Symbols", keywords: ["refresh", "reload", "sync"] },
|
|
2931
|
+
{ emoji: "\u267B\uFE0F", name: "recycling symbol", shortcode: "recycle", codepoint: "U+267B U+FE0F", category: "Symbols", keywords: ["reuse", "green"] },
|
|
2932
|
+
{ emoji: "\u{1F195}", name: "NEW button", shortcode: "new", codepoint: "U+1F195", category: "Symbols", keywords: ["fresh"] },
|
|
2933
|
+
{ emoji: "\u{1F193}", name: "FREE button", shortcode: "free", codepoint: "U+1F193", category: "Symbols", keywords: ["gratis"] },
|
|
2934
|
+
{ emoji: "\u{1F4A4}", name: "zzz", shortcode: "zzz", codepoint: "U+1F4A4", category: "Symbols", keywords: ["sleep", "tired"] },
|
|
2935
|
+
{ emoji: "\u{1F4AC}", name: "speech balloon", shortcode: "speech_balloon", codepoint: "U+1F4AC", category: "Objects", keywords: ["chat", "talk"] },
|
|
2936
|
+
{ emoji: "\u{1F4AD}", name: "thought balloon", shortcode: "thought_balloon", codepoint: "U+1F4AD", category: "Objects", keywords: ["think"] },
|
|
2937
|
+
{ emoji: "\u{1F5E3}\uFE0F", name: "speaking head", shortcode: "speaking_head", codepoint: "U+1F5E3 U+FE0F", category: "People & Body", keywords: ["talk"] },
|
|
2938
|
+
{ emoji: "\u{1F3AF}", name: "direct hit", shortcode: "dart", codepoint: "U+1F3AF", category: "Activities", keywords: ["target", "goal"] },
|
|
2939
|
+
{ emoji: "\u{1F6A9}", name: "triangular flag", shortcode: "triangular_flag_on_post", codepoint: "U+1F6A9", category: "Flags", keywords: ["flag", "report"] },
|
|
2940
|
+
{ emoji: "\u{1F3C1}", name: "chequered flag", shortcode: "checkered_flag", codepoint: "U+1F3C1", category: "Flags", keywords: ["finish", "race"] },
|
|
2941
|
+
{ emoji: "\u{1F1FA}\u{1F1F8}", name: "flag: United States", shortcode: "us", codepoint: "U+1F1FA U+1F1F8", category: "Flags", keywords: ["usa", "america"] },
|
|
2942
|
+
{ emoji: "\u{1F1EC}\u{1F1E7}", name: "flag: United Kingdom", shortcode: "gb", codepoint: "U+1F1EC U+1F1E7", category: "Flags", keywords: ["uk", "britain"] },
|
|
2943
|
+
{ emoji: "\u{1F1EE}\u{1F1F3}", name: "flag: India", shortcode: "in", codepoint: "U+1F1EE U+1F1F3", category: "Flags", keywords: ["india"] },
|
|
2944
|
+
{ emoji: "\u{1F1EF}\u{1F1F5}", name: "flag: Japan", shortcode: "jp", codepoint: "U+1F1EF U+1F1F5", category: "Flags", keywords: ["japan"] },
|
|
2945
|
+
{ emoji: "\u{1F1E9}\u{1F1EA}", name: "flag: Germany", shortcode: "de", codepoint: "U+1F1E9 U+1F1EA", category: "Flags", keywords: ["germany"] },
|
|
2946
|
+
{ emoji: "\u{1F1EB}\u{1F1F7}", name: "flag: France", shortcode: "fr", codepoint: "U+1F1EB U+1F1F7", category: "Flags", keywords: ["france"] },
|
|
2947
|
+
{ emoji: "\u{1F1E8}\u{1F1E6}", name: "flag: Canada", shortcode: "ca", codepoint: "U+1F1E8 U+1F1E6", category: "Flags", keywords: ["canada"] },
|
|
2948
|
+
{ emoji: "\u{1F1E6}\u{1F1FA}", name: "flag: Australia", shortcode: "au", codepoint: "U+1F1E6 U+1F1FA", category: "Flags", keywords: ["australia"] },
|
|
2949
|
+
{ emoji: "\u{1F1E7}\u{1F1F7}", name: "flag: Brazil", shortcode: "br", codepoint: "U+1F1E7 U+1F1F7", category: "Flags", keywords: ["brazil"] },
|
|
2950
|
+
{ emoji: "\u{1F1E8}\u{1F1F3}", name: "flag: China", shortcode: "cn", codepoint: "U+1F1E8 U+1F1F3", category: "Flags", keywords: ["china"] }
|
|
2951
|
+
];
|
|
2952
|
+
function searchEmoji(query) {
|
|
2953
|
+
const q = query.trim().toLowerCase().replace(/^:|:$/g, "");
|
|
2954
|
+
if (!q) return [];
|
|
2955
|
+
return EMOJI_TABLE.filter(
|
|
2956
|
+
(e) => e.name.toLowerCase().includes(q) || e.shortcode.toLowerCase().includes(q) || e.keywords.some((k) => k.toLowerCase().includes(q))
|
|
2957
|
+
);
|
|
2958
|
+
}
|
|
2959
|
+
function getEmojiByShortcode(shortcode) {
|
|
2960
|
+
const s = shortcode.trim().toLowerCase().replace(/^:|:$/g, "");
|
|
2961
|
+
return EMOJI_TABLE.find((e) => e.shortcode.toLowerCase() === s);
|
|
2962
|
+
}
|
|
2963
|
+
function getEmojiByChar(char) {
|
|
2964
|
+
return EMOJI_TABLE.find((e) => e.emoji === char);
|
|
2965
|
+
}
|
|
2966
|
+
function getEmojiByCategory(category) {
|
|
2967
|
+
return EMOJI_TABLE.filter((e) => e.category.toLowerCase() === category.trim().toLowerCase());
|
|
2968
|
+
}
|
|
2969
|
+
function getEmojiCategories() {
|
|
2970
|
+
return Array.from(new Set(EMOJI_TABLE.map((e) => e.category)));
|
|
2971
|
+
}
|
|
2667
2972
|
|
|
2668
|
-
export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeSentenceLengths, analyzeText, applyOp, applyOps, calculateStringDistance, centerText, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, text_exports, unescapeString, wordFrequency };
|
|
2973
|
+
export { CASE_FORMATS, DEFAULT_CONVERT_OPTIONS, EMOJI_TABLE, ESCAPE_MODES, LINE_OPS, MORSE_CODE, addBorder, analyzeSentenceLengths, analyzeText, applyOp, applyOps, calculateStringDistance, centerText, convertAll, convertCase, countWords, csvToHtml, csvToMarkdown, detectDelimiter, detectFillerWords, detectPassiveVoice, diffLines, diffLinesSimple, diffStats, escapeAll, escapeString, extractHeadings, formatReadingTime, generate, generateDiff, generateHtmlTable, generateMarkdownTable, generateParagraphs, generateSentences, generateWords, getAvailableFonts, getEmojiByCategory, getEmojiByChar, getEmojiByShortcode, getEmojiCategories, getMorseForChar, getMorseTiming, htmlToMarkdown, isValidMorse, markdownToHtml, morseToText, numberToOrdinal, numberToRoman, numberToWords, ordinalWords, parseDiff, parseTableData, readabilityScore, renderMarkdown, romanToNumber, scoreReadability, searchEmoji, sentenceCount, slugify, slugifyAll, syllableCount, textToAscii, textToMorse, text_exports, unescapeString, wordFrequency };
|