@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/dist/index.cjs CHANGED
@@ -2013,6 +2013,7 @@ var text_exports = {};
2013
2013
  __export(text_exports, {
2014
2014
  CASE_FORMATS: () => CASE_FORMATS,
2015
2015
  DEFAULT_CONVERT_OPTIONS: () => DEFAULT_CONVERT_OPTIONS,
2016
+ EMOJI_TABLE: () => EMOJI_TABLE,
2016
2017
  ESCAPE_MODES: () => ESCAPE_MODES,
2017
2018
  LINE_OPS: () => LINE_OPS,
2018
2019
  MORSE_CODE: () => MORSE_CODE,
@@ -2046,6 +2047,10 @@ __export(text_exports, {
2046
2047
  generateSentences: () => generateSentences,
2047
2048
  generateWords: () => generateWords,
2048
2049
  getAvailableFonts: () => getAvailableFonts,
2050
+ getEmojiByCategory: () => getEmojiByCategory,
2051
+ getEmojiByChar: () => getEmojiByChar,
2052
+ getEmojiByShortcode: () => getEmojiByShortcode,
2053
+ getEmojiCategories: () => getEmojiCategories,
2049
2054
  getMorseForChar: () => getMorseForChar,
2050
2055
  getMorseTiming: () => getMorseTiming,
2051
2056
  htmlToMarkdown: () => htmlToMarkdown,
@@ -2062,6 +2067,7 @@ __export(text_exports, {
2062
2067
  renderMarkdown: () => renderMarkdown,
2063
2068
  romanToNumber: () => romanToNumber,
2064
2069
  scoreReadability: () => scoreReadability,
2070
+ searchEmoji: () => searchEmoji,
2065
2071
  sentenceCount: () => sentenceCount,
2066
2072
  slugify: () => slugify,
2067
2073
  slugifyAll: () => slugifyAll,
@@ -4671,6 +4677,305 @@ function analyzeSentenceLengths(text) {
4671
4677
  buckets
4672
4678
  };
4673
4679
  }
4680
+ var EMOJI_TABLE = [
4681
+ { emoji: "\u{1F600}", name: "grinning face", shortcode: "grinning", codepoint: "U+1F600", category: "Smileys & Emotion", keywords: ["happy", "smile"] },
4682
+ { emoji: "\u{1F603}", name: "grinning face with big eyes", shortcode: "smiley", codepoint: "U+1F603", category: "Smileys & Emotion", keywords: ["happy", "joy"] },
4683
+ { emoji: "\u{1F604}", name: "grinning face with smiling eyes", shortcode: "smile", codepoint: "U+1F604", category: "Smileys & Emotion", keywords: ["happy", "joy"] },
4684
+ { emoji: "\u{1F601}", name: "beaming face with smiling eyes", shortcode: "grin", codepoint: "U+1F601", category: "Smileys & Emotion", keywords: ["happy", "teeth"] },
4685
+ { emoji: "\u{1F606}", name: "grinning squinting face", shortcode: "laughing", codepoint: "U+1F606", category: "Smileys & Emotion", keywords: ["laugh", "haha"] },
4686
+ { emoji: "\u{1F605}", name: "grinning face with sweat", shortcode: "sweat_smile", codepoint: "U+1F605", category: "Smileys & Emotion", keywords: ["nervous", "relief"] },
4687
+ { emoji: "\u{1F923}", name: "rolling on the floor laughing", shortcode: "rofl", codepoint: "U+1F923", category: "Smileys & Emotion", keywords: ["lol", "funny"] },
4688
+ { emoji: "\u{1F602}", name: "face with tears of joy", shortcode: "joy", codepoint: "U+1F602", category: "Smileys & Emotion", keywords: ["lol", "funny", "crying laughing"] },
4689
+ { emoji: "\u{1F642}", name: "slightly smiling face", shortcode: "slightly_smiling_face", codepoint: "U+1F642", category: "Smileys & Emotion", keywords: ["smile"] },
4690
+ { emoji: "\u{1F643}", name: "upside-down face", shortcode: "upside_down_face", codepoint: "U+1F643", category: "Smileys & Emotion", keywords: ["silly", "sarcasm"] },
4691
+ { emoji: "\u{1F609}", name: "winking face", shortcode: "wink", codepoint: "U+1F609", category: "Smileys & Emotion", keywords: ["flirt"] },
4692
+ { emoji: "\u{1F60A}", name: "smiling face with smiling eyes", shortcode: "blush", codepoint: "U+1F60A", category: "Smileys & Emotion", keywords: ["happy", "warm"] },
4693
+ { emoji: "\u{1F607}", name: "smiling face with halo", shortcode: "innocent", codepoint: "U+1F607", category: "Smileys & Emotion", keywords: ["angel"] },
4694
+ { emoji: "\u{1F970}", name: "smiling face with hearts", shortcode: "smiling_face_with_three_hearts", codepoint: "U+1F970", category: "Smileys & Emotion", keywords: ["love", "adore"] },
4695
+ { emoji: "\u{1F60D}", name: "smiling face with heart-eyes", shortcode: "heart_eyes", codepoint: "U+1F60D", category: "Smileys & Emotion", keywords: ["love", "crush"] },
4696
+ { emoji: "\u{1F929}", name: "star-struck", shortcode: "star_struck", codepoint: "U+1F929", category: "Smileys & Emotion", keywords: ["excited", "wow"] },
4697
+ { emoji: "\u{1F618}", name: "face blowing a kiss", shortcode: "kissing_heart", codepoint: "U+1F618", category: "Smileys & Emotion", keywords: ["kiss", "love"] },
4698
+ { emoji: "\u{1F617}", name: "kissing face", shortcode: "kissing", codepoint: "U+1F617", category: "Smileys & Emotion", keywords: ["kiss"] },
4699
+ { emoji: "\u{1F60B}", name: "face savoring food", shortcode: "yum", codepoint: "U+1F60B", category: "Smileys & Emotion", keywords: ["tasty", "delicious"] },
4700
+ { emoji: "\u{1F61B}", name: "face with tongue", shortcode: "stuck_out_tongue", codepoint: "U+1F61B", category: "Smileys & Emotion", keywords: ["playful"] },
4701
+ { emoji: "\u{1F61C}", name: "winking face with tongue", shortcode: "stuck_out_tongue_winking_eye", codepoint: "U+1F61C", category: "Smileys & Emotion", keywords: ["silly"] },
4702
+ { emoji: "\u{1F92A}", name: "zany face", shortcode: "zany_face", codepoint: "U+1F92A", category: "Smileys & Emotion", keywords: ["crazy", "wild"] },
4703
+ { emoji: "\u{1F61D}", name: "squinting face with tongue", shortcode: "stuck_out_tongue_closed_eyes", codepoint: "U+1F61D", category: "Smileys & Emotion", keywords: ["silly"] },
4704
+ { emoji: "\u{1F911}", name: "money-mouth face", shortcode: "money_mouth_face", codepoint: "U+1F911", category: "Smileys & Emotion", keywords: ["rich", "dollar"] },
4705
+ { emoji: "\u{1F917}", name: "smiling face with open hands", shortcode: "hugs", codepoint: "U+1F917", category: "Smileys & Emotion", keywords: ["hug"] },
4706
+ { emoji: "\u{1F92D}", name: "face with hand over mouth", shortcode: "hand_over_mouth", codepoint: "U+1F92D", category: "Smileys & Emotion", keywords: ["oops", "giggle"] },
4707
+ { emoji: "\u{1F92B}", name: "shushing face", shortcode: "shushing_face", codepoint: "U+1F92B", category: "Smileys & Emotion", keywords: ["quiet", "secret"] },
4708
+ { emoji: "\u{1F914}", name: "thinking face", shortcode: "thinking", codepoint: "U+1F914", category: "Smileys & Emotion", keywords: ["hmm", "consider"] },
4709
+ { emoji: "\u{1F910}", name: "zipper-mouth face", shortcode: "zipper_mouth_face", codepoint: "U+1F910", category: "Smileys & Emotion", keywords: ["secret", "silence"] },
4710
+ { emoji: "\u{1F928}", name: "face with raised eyebrow", shortcode: "raised_eyebrow", codepoint: "U+1F928", category: "Smileys & Emotion", keywords: ["skeptical", "suspicious"] },
4711
+ { emoji: "\u{1F610}", name: "neutral face", shortcode: "neutral_face", codepoint: "U+1F610", category: "Smileys & Emotion", keywords: ["meh"] },
4712
+ { emoji: "\u{1F611}", name: "expressionless face", shortcode: "expressionless", codepoint: "U+1F611", category: "Smileys & Emotion", keywords: ["blank"] },
4713
+ { emoji: "\u{1F636}", name: "face without mouth", shortcode: "no_mouth", codepoint: "U+1F636", category: "Smileys & Emotion", keywords: ["speechless"] },
4714
+ { emoji: "\u{1F60F}", name: "smirking face", shortcode: "smirk", codepoint: "U+1F60F", category: "Smileys & Emotion", keywords: ["smug"] },
4715
+ { emoji: "\u{1F612}", name: "unamused face", shortcode: "unamused", codepoint: "U+1F612", category: "Smileys & Emotion", keywords: ["annoyed"] },
4716
+ { emoji: "\u{1F644}", name: "face with rolling eyes", shortcode: "roll_eyes", codepoint: "U+1F644", category: "Smileys & Emotion", keywords: ["annoyed", "whatever"] },
4717
+ { emoji: "\u{1F62C}", name: "grimacing face", shortcode: "grimacing", codepoint: "U+1F62C", category: "Smileys & Emotion", keywords: ["awkward", "yikes"] },
4718
+ { emoji: "\u{1F60C}", name: "relieved face", shortcode: "relieved", codepoint: "U+1F60C", category: "Smileys & Emotion", keywords: ["calm", "content"] },
4719
+ { emoji: "\u{1F614}", name: "pensive face", shortcode: "pensive", codepoint: "U+1F614", category: "Smileys & Emotion", keywords: ["sad", "thoughtful"] },
4720
+ { emoji: "\u{1F62A}", name: "sleepy face", shortcode: "sleepy", codepoint: "U+1F62A", category: "Smileys & Emotion", keywords: ["tired"] },
4721
+ { emoji: "\u{1F924}", name: "drooling face", shortcode: "drooling_face", codepoint: "U+1F924", category: "Smileys & Emotion", keywords: ["hungry"] },
4722
+ { emoji: "\u{1F634}", name: "sleeping face", shortcode: "sleeping", codepoint: "U+1F634", category: "Smileys & Emotion", keywords: ["zzz", "asleep"] },
4723
+ { emoji: "\u{1F637}", name: "face with medical mask", shortcode: "mask", codepoint: "U+1F637", category: "Smileys & Emotion", keywords: ["sick", "ill"] },
4724
+ { emoji: "\u{1F912}", name: "face with thermometer", shortcode: "face_with_thermometer", codepoint: "U+1F912", category: "Smileys & Emotion", keywords: ["sick", "fever"] },
4725
+ { emoji: "\u{1F915}", name: "face with head-bandage", shortcode: "face_with_head_bandage", codepoint: "U+1F915", category: "Smileys & Emotion", keywords: ["hurt", "injured"] },
4726
+ { emoji: "\u{1F922}", name: "nauseated face", shortcode: "nauseated_face", codepoint: "U+1F922", category: "Smileys & Emotion", keywords: ["sick", "gross"] },
4727
+ { emoji: "\u{1F92E}", name: "face vomiting", shortcode: "vomiting_face", codepoint: "U+1F92E", category: "Smileys & Emotion", keywords: ["sick", "gross"] },
4728
+ { emoji: "\u{1F927}", name: "sneezing face", shortcode: "sneezing_face", codepoint: "U+1F927", category: "Smileys & Emotion", keywords: ["sick", "cold"] },
4729
+ { emoji: "\u{1F975}", name: "hot face", shortcode: "hot_face", codepoint: "U+1F975", category: "Smileys & Emotion", keywords: ["heat", "sweating"] },
4730
+ { emoji: "\u{1F976}", name: "cold face", shortcode: "cold_face", codepoint: "U+1F976", category: "Smileys & Emotion", keywords: ["freezing", "frozen"] },
4731
+ { emoji: "\u{1F635}", name: "knocked-out face", shortcode: "dizzy_face", codepoint: "U+1F635", category: "Smileys & Emotion", keywords: ["dizzy", "confused"] },
4732
+ { emoji: "\u{1F92F}", name: "exploding head", shortcode: "exploding_head", codepoint: "U+1F92F", category: "Smileys & Emotion", keywords: ["mind blown", "shocked"] },
4733
+ { emoji: "\u{1F973}", name: "partying face", shortcode: "partying_face", codepoint: "U+1F973", category: "Smileys & Emotion", keywords: ["celebrate", "party"] },
4734
+ { emoji: "\u{1F60E}", name: "smiling face with sunglasses", shortcode: "sunglasses", codepoint: "U+1F60E", category: "Smileys & Emotion", keywords: ["cool"] },
4735
+ { emoji: "\u{1F913}", name: "nerd face", shortcode: "nerd_face", codepoint: "U+1F913", category: "Smileys & Emotion", keywords: ["geek", "glasses"] },
4736
+ { emoji: "\u{1F9D0}", name: "face with monocle", shortcode: "monocle_face", codepoint: "U+1F9D0", category: "Smileys & Emotion", keywords: ["inspect", "curious"] },
4737
+ { emoji: "\u{1F615}", name: "confused face", shortcode: "confused", codepoint: "U+1F615", category: "Smileys & Emotion", keywords: ["puzzled"] },
4738
+ { emoji: "\u{1F61F}", name: "worried face", shortcode: "worried", codepoint: "U+1F61F", category: "Smileys & Emotion", keywords: ["concerned"] },
4739
+ { emoji: "\u{1F641}", name: "slightly frowning face", shortcode: "slightly_frowning_face", codepoint: "U+1F641", category: "Smileys & Emotion", keywords: ["sad"] },
4740
+ { emoji: "\u{1F62E}", name: "face with open mouth", shortcode: "open_mouth", codepoint: "U+1F62E", category: "Smileys & Emotion", keywords: ["surprised", "wow"] },
4741
+ { emoji: "\u{1F62F}", name: "hushed face", shortcode: "hushed", codepoint: "U+1F62F", category: "Smileys & Emotion", keywords: ["surprised"] },
4742
+ { emoji: "\u{1F632}", name: "astonished face", shortcode: "astonished", codepoint: "U+1F632", category: "Smileys & Emotion", keywords: ["shocked"] },
4743
+ { emoji: "\u{1F633}", name: "flushed face", shortcode: "flushed", codepoint: "U+1F633", category: "Smileys & Emotion", keywords: ["embarrassed", "blush"] },
4744
+ { emoji: "\u{1F97A}", name: "pleading face", shortcode: "pleading_face", codepoint: "U+1F97A", category: "Smileys & Emotion", keywords: ["puppy eyes", "begging"] },
4745
+ { emoji: "\u{1F626}", name: "frowning face with open mouth", shortcode: "frowning", codepoint: "U+1F626", category: "Smileys & Emotion", keywords: ["shocked"] },
4746
+ { emoji: "\u{1F627}", name: "anguished face", shortcode: "anguished", codepoint: "U+1F627", category: "Smileys & Emotion", keywords: ["distressed"] },
4747
+ { emoji: "\u{1F628}", name: "fearful face", shortcode: "fearful", codepoint: "U+1F628", category: "Smileys & Emotion", keywords: ["scared", "afraid"] },
4748
+ { emoji: "\u{1F630}", name: "anxious face with sweat", shortcode: "cold_sweat", codepoint: "U+1F630", category: "Smileys & Emotion", keywords: ["nervous"] },
4749
+ { emoji: "\u{1F625}", name: "sad but relieved face", shortcode: "disappointed_relieved", codepoint: "U+1F625", category: "Smileys & Emotion", keywords: ["sad"] },
4750
+ { emoji: "\u{1F622}", name: "crying face", shortcode: "cry", codepoint: "U+1F622", category: "Smileys & Emotion", keywords: ["sad", "tear"] },
4751
+ { emoji: "\u{1F62D}", name: "loudly crying face", shortcode: "sob", codepoint: "U+1F62D", category: "Smileys & Emotion", keywords: ["sad", "bawling"] },
4752
+ { emoji: "\u{1F631}", name: "face screaming in fear", shortcode: "scream", codepoint: "U+1F631", category: "Smileys & Emotion", keywords: ["shocked", "horror"] },
4753
+ { emoji: "\u{1F616}", name: "confounded face", shortcode: "confounded", codepoint: "U+1F616", category: "Smileys & Emotion", keywords: ["frustrated"] },
4754
+ { emoji: "\u{1F623}", name: "persevering face", shortcode: "persevere", codepoint: "U+1F623", category: "Smileys & Emotion", keywords: ["struggling"] },
4755
+ { emoji: "\u{1F61E}", name: "disappointed face", shortcode: "disappointed", codepoint: "U+1F61E", category: "Smileys & Emotion", keywords: ["sad", "let down"] },
4756
+ { emoji: "\u{1F613}", name: "downcast face with sweat", shortcode: "sweat", codepoint: "U+1F613", category: "Smileys & Emotion", keywords: ["tired", "stressed"] },
4757
+ { emoji: "\u{1F629}", name: "weary face", shortcode: "weary", codepoint: "U+1F629", category: "Smileys & Emotion", keywords: ["tired", "exhausted"] },
4758
+ { emoji: "\u{1F62B}", name: "tired face", shortcode: "tired_face", codepoint: "U+1F62B", category: "Smileys & Emotion", keywords: ["exhausted"] },
4759
+ { emoji: "\u{1F971}", name: "yawning face", shortcode: "yawning_face", codepoint: "U+1F971", category: "Smileys & Emotion", keywords: ["tired", "bored"] },
4760
+ { emoji: "\u{1F624}", name: "face with steam from nose", shortcode: "triumph", codepoint: "U+1F624", category: "Smileys & Emotion", keywords: ["angry", "proud"] },
4761
+ { emoji: "\u{1F621}", name: "pouting face", shortcode: "rage", codepoint: "U+1F621", category: "Smileys & Emotion", keywords: ["angry", "mad"] },
4762
+ { emoji: "\u{1F620}", name: "angry face", shortcode: "angry", codepoint: "U+1F620", category: "Smileys & Emotion", keywords: ["mad"] },
4763
+ { emoji: "\u{1F92C}", name: "face with symbols on mouth", shortcode: "cursing_face", codepoint: "U+1F92C", category: "Smileys & Emotion", keywords: ["swearing", "angry"] },
4764
+ { emoji: "\u{1F608}", name: "smiling face with horns", shortcode: "smiling_imp", codepoint: "U+1F608", category: "Smileys & Emotion", keywords: ["devil", "evil"] },
4765
+ { emoji: "\u{1F47F}", name: "angry face with horns", shortcode: "imp", codepoint: "U+1F47F", category: "Smileys & Emotion", keywords: ["devil"] },
4766
+ { emoji: "\u{1F480}", name: "skull", shortcode: "skull", codepoint: "U+1F480", category: "Smileys & Emotion", keywords: ["dead", "death"] },
4767
+ { emoji: "\u{1F921}", name: "clown face", shortcode: "clown_face", codepoint: "U+1F921", category: "Smileys & Emotion", keywords: ["joker"] },
4768
+ { emoji: "\u{1F47B}", name: "ghost", shortcode: "ghost", codepoint: "U+1F47B", category: "Smileys & Emotion", keywords: ["spooky", "halloween"] },
4769
+ { emoji: "\u{1F47D}", name: "alien", shortcode: "alien", codepoint: "U+1F47D", category: "Smileys & Emotion", keywords: ["ufo", "extraterrestrial"] },
4770
+ { emoji: "\u{1F916}", name: "robot", shortcode: "robot", codepoint: "U+1F916", category: "Smileys & Emotion", keywords: ["ai", "bot"] },
4771
+ { emoji: "\u{1F63A}", name: "grinning cat", shortcode: "smiley_cat", codepoint: "U+1F63A", category: "Smileys & Emotion", keywords: ["cat"] },
4772
+ { emoji: "\u{1F639}", name: "cat with tears of joy", shortcode: "joy_cat", codepoint: "U+1F639", category: "Smileys & Emotion", keywords: ["cat", "laugh"] },
4773
+ { emoji: "\u{1F63B}", name: "smiling cat with heart-eyes", shortcode: "heart_eyes_cat", codepoint: "U+1F63B", category: "Smileys & Emotion", keywords: ["cat", "love"] },
4774
+ { emoji: "\u{1F44D}", name: "thumbs up", shortcode: "thumbsup", codepoint: "U+1F44D", category: "People & Body", keywords: ["approve", "like", "yes"] },
4775
+ { emoji: "\u{1F44E}", name: "thumbs down", shortcode: "thumbsdown", codepoint: "U+1F44E", category: "People & Body", keywords: ["disapprove", "no"] },
4776
+ { emoji: "\u{1F44C}", name: "OK hand", shortcode: "ok_hand", codepoint: "U+1F44C", category: "People & Body", keywords: ["okay", "perfect"] },
4777
+ { emoji: "\u270C\uFE0F", name: "victory hand", shortcode: "v", codepoint: "U+270C U+FE0F", category: "People & Body", keywords: ["peace"] },
4778
+ { emoji: "\u{1F91E}", name: "crossed fingers", shortcode: "crossed_fingers", codepoint: "U+1F91E", category: "People & Body", keywords: ["luck", "hope"] },
4779
+ { emoji: "\u{1F918}", name: "sign of the horns", shortcode: "metal", codepoint: "U+1F918", category: "People & Body", keywords: ["rock"] },
4780
+ { emoji: "\u{1F44F}", name: "clapping hands", shortcode: "clap", codepoint: "U+1F44F", category: "People & Body", keywords: ["applause", "bravo"] },
4781
+ { emoji: "\u{1F64C}", name: "raising hands", shortcode: "raised_hands", codepoint: "U+1F64C", category: "People & Body", keywords: ["celebrate", "hooray"] },
4782
+ { emoji: "\u{1F450}", name: "open hands", shortcode: "open_hands", codepoint: "U+1F450", category: "People & Body", keywords: ["hug"] },
4783
+ { emoji: "\u{1F91D}", name: "handshake", shortcode: "handshake", codepoint: "U+1F91D", category: "People & Body", keywords: ["deal", "agreement"] },
4784
+ { emoji: "\u{1F64F}", name: "folded hands", shortcode: "pray", codepoint: "U+1F64F", category: "People & Body", keywords: ["please", "thanks", "praying"] },
4785
+ { emoji: "\u270D\uFE0F", name: "writing hand", shortcode: "writing_hand", codepoint: "U+270D U+FE0F", category: "People & Body", keywords: ["write"] },
4786
+ { emoji: "\u{1F4AA}", name: "flexed biceps", shortcode: "muscle", codepoint: "U+1F4AA", category: "People & Body", keywords: ["strong", "gym"] },
4787
+ { 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"] },
4788
+ { emoji: "\u{1F44B}", name: "waving hand", shortcode: "wave", codepoint: "U+1F44B", category: "People & Body", keywords: ["hello", "goodbye", "bye"] },
4789
+ { emoji: "\u{1F440}", name: "eyes", shortcode: "eyes", codepoint: "U+1F440", category: "People & Body", keywords: ["look", "watching"] },
4790
+ { emoji: "\u{1F9E0}", name: "brain", shortcode: "brain", codepoint: "U+1F9E0", category: "People & Body", keywords: ["smart", "mind"] },
4791
+ { emoji: "\u2764\uFE0F", name: "red heart", shortcode: "heart", codepoint: "U+2764 U+FE0F", category: "Smileys & Emotion", keywords: ["love"] },
4792
+ { emoji: "\u{1F9E1}", name: "orange heart", shortcode: "orange_heart", codepoint: "U+1F9E1", category: "Smileys & Emotion", keywords: ["love"] },
4793
+ { emoji: "\u{1F49B}", name: "yellow heart", shortcode: "yellow_heart", codepoint: "U+1F49B", category: "Smileys & Emotion", keywords: ["love"] },
4794
+ { emoji: "\u{1F49A}", name: "green heart", shortcode: "green_heart", codepoint: "U+1F49A", category: "Smileys & Emotion", keywords: ["love"] },
4795
+ { emoji: "\u{1F499}", name: "blue heart", shortcode: "blue_heart", codepoint: "U+1F499", category: "Smileys & Emotion", keywords: ["love"] },
4796
+ { emoji: "\u{1F49C}", name: "purple heart", shortcode: "purple_heart", codepoint: "U+1F49C", category: "Smileys & Emotion", keywords: ["love"] },
4797
+ { emoji: "\u{1F5A4}", name: "black heart", shortcode: "black_heart", codepoint: "U+1F5A4", category: "Smileys & Emotion", keywords: ["love", "dark"] },
4798
+ { emoji: "\u{1F90D}", name: "white heart", shortcode: "white_heart", codepoint: "U+1F90D", category: "Smileys & Emotion", keywords: ["love"] },
4799
+ { emoji: "\u{1F494}", name: "broken heart", shortcode: "broken_heart", codepoint: "U+1F494", category: "Smileys & Emotion", keywords: ["heartbroken", "sad"] },
4800
+ { emoji: "\u{1F495}", name: "two hearts", shortcode: "two_hearts", codepoint: "U+1F495", category: "Smileys & Emotion", keywords: ["love"] },
4801
+ { emoji: "\u{1F496}", name: "sparkling heart", shortcode: "sparkling_heart", codepoint: "U+1F496", category: "Smileys & Emotion", keywords: ["love"] },
4802
+ { emoji: "\u{1F4AF}", name: "hundred points", shortcode: "100", codepoint: "U+1F4AF", category: "Smileys & Emotion", keywords: ["perfect", "score"] },
4803
+ { emoji: "\u{1F525}", name: "fire", shortcode: "fire", codepoint: "U+1F525", category: "Travel & Places", keywords: ["lit", "hot", "flame"] },
4804
+ { emoji: "\u2728", name: "sparkles", shortcode: "sparkles", codepoint: "U+2728", category: "Travel & Places", keywords: ["shiny", "glitter"] },
4805
+ { emoji: "\u2B50", name: "star", shortcode: "star", codepoint: "U+2B50", category: "Travel & Places", keywords: ["favorite"] },
4806
+ { emoji: "\u{1F31F}", name: "glowing star", shortcode: "star2", codepoint: "U+1F31F", category: "Travel & Places", keywords: ["shiny"] },
4807
+ { emoji: "\u{1F389}", name: "party popper", shortcode: "tada", codepoint: "U+1F389", category: "Activities", keywords: ["celebrate", "congrats"] },
4808
+ { emoji: "\u{1F38A}", name: "confetti ball", shortcode: "confetti_ball", codepoint: "U+1F38A", category: "Activities", keywords: ["celebrate"] },
4809
+ { emoji: "\u{1F381}", name: "wrapped gift", shortcode: "gift", codepoint: "U+1F381", category: "Activities", keywords: ["present", "birthday"] },
4810
+ { emoji: "\u{1F388}", name: "balloon", shortcode: "balloon", codepoint: "U+1F388", category: "Activities", keywords: ["party", "birthday"] },
4811
+ { emoji: "\u{1F3C6}", name: "trophy", shortcode: "trophy", codepoint: "U+1F3C6", category: "Activities", keywords: ["winner", "award"] },
4812
+ { emoji: "\u{1F947}", name: "1st place medal", shortcode: "first_place_medal", codepoint: "U+1F947", category: "Activities", keywords: ["gold", "winner"] },
4813
+ { emoji: "\u26BD", name: "soccer ball", shortcode: "soccer", codepoint: "U+26BD", category: "Activities", keywords: ["football"] },
4814
+ { emoji: "\u{1F3C0}", name: "basketball", shortcode: "basketball", codepoint: "U+1F3C0", category: "Activities", keywords: ["sport"] },
4815
+ { emoji: "\u{1F3C8}", name: "american football", shortcode: "football", codepoint: "U+1F3C8", category: "Activities", keywords: ["sport", "nfl"] },
4816
+ { emoji: "\u26BE", name: "baseball", shortcode: "baseball", codepoint: "U+26BE", category: "Activities", keywords: ["sport"] },
4817
+ { emoji: "\u{1F3BE}", name: "tennis", shortcode: "tennis", codepoint: "U+1F3BE", category: "Activities", keywords: ["sport"] },
4818
+ { emoji: "\u{1F3AE}", name: "video game", shortcode: "video_game", codepoint: "U+1F3AE", category: "Activities", keywords: ["gaming", "controller"] },
4819
+ { emoji: "\u{1F3B2}", name: "game die", shortcode: "game_die", codepoint: "U+1F3B2", category: "Activities", keywords: ["dice", "random"] },
4820
+ { emoji: "\u{1F3A7}", name: "headphone", shortcode: "headphones", codepoint: "U+1F3A7", category: "Objects", keywords: ["music", "audio"] },
4821
+ { emoji: "\u{1F3B5}", name: "musical note", shortcode: "musical_note", codepoint: "U+1F3B5", category: "Objects", keywords: ["music"] },
4822
+ { emoji: "\u{1F3B6}", name: "musical notes", shortcode: "notes", codepoint: "U+1F3B6", category: "Objects", keywords: ["music"] },
4823
+ { emoji: "\u{1F436}", name: "dog face", shortcode: "dog", codepoint: "U+1F436", category: "Animals & Nature", keywords: ["puppy", "pet"] },
4824
+ { emoji: "\u{1F431}", name: "cat face", shortcode: "cat", codepoint: "U+1F431", category: "Animals & Nature", keywords: ["kitten", "pet"] },
4825
+ { emoji: "\u{1F42D}", name: "mouse face", shortcode: "mouse", codepoint: "U+1F42D", category: "Animals & Nature", keywords: ["rodent"] },
4826
+ { emoji: "\u{1F439}", name: "hamster face", shortcode: "hamster", codepoint: "U+1F439", category: "Animals & Nature", keywords: ["pet"] },
4827
+ { emoji: "\u{1F430}", name: "rabbit face", shortcode: "rabbit", codepoint: "U+1F430", category: "Animals & Nature", keywords: ["bunny"] },
4828
+ { emoji: "\u{1F98A}", name: "fox", shortcode: "fox_face", codepoint: "U+1F98A", category: "Animals & Nature", keywords: ["animal"] },
4829
+ { emoji: "\u{1F43B}", name: "bear", shortcode: "bear", codepoint: "U+1F43B", category: "Animals & Nature", keywords: ["animal"] },
4830
+ { emoji: "\u{1F43C}", name: "panda", shortcode: "panda_face", codepoint: "U+1F43C", category: "Animals & Nature", keywords: ["animal"] },
4831
+ { emoji: "\u{1F428}", name: "koala", shortcode: "koala", codepoint: "U+1F428", category: "Animals & Nature", keywords: ["animal"] },
4832
+ { emoji: "\u{1F42F}", name: "tiger face", shortcode: "tiger", codepoint: "U+1F42F", category: "Animals & Nature", keywords: ["animal"] },
4833
+ { emoji: "\u{1F981}", name: "lion", shortcode: "lion", codepoint: "U+1F981", category: "Animals & Nature", keywords: ["animal"] },
4834
+ { emoji: "\u{1F42E}", name: "cow face", shortcode: "cow", codepoint: "U+1F42E", category: "Animals & Nature", keywords: ["animal"] },
4835
+ { emoji: "\u{1F437}", name: "pig face", shortcode: "pig", codepoint: "U+1F437", category: "Animals & Nature", keywords: ["animal"] },
4836
+ { emoji: "\u{1F438}", name: "frog", shortcode: "frog", codepoint: "U+1F438", category: "Animals & Nature", keywords: ["animal"] },
4837
+ { emoji: "\u{1F435}", name: "monkey face", shortcode: "monkey_face", codepoint: "U+1F435", category: "Animals & Nature", keywords: ["animal"] },
4838
+ { emoji: "\u{1F414}", name: "chicken", shortcode: "chicken", codepoint: "U+1F414", category: "Animals & Nature", keywords: ["animal", "bird"] },
4839
+ { emoji: "\u{1F427}", name: "penguin", shortcode: "penguin", codepoint: "U+1F427", category: "Animals & Nature", keywords: ["animal", "bird"] },
4840
+ { emoji: "\u{1F426}", name: "bird", shortcode: "bird", codepoint: "U+1F426", category: "Animals & Nature", keywords: ["animal"] },
4841
+ { emoji: "\u{1F984}", name: "unicorn", shortcode: "unicorn", codepoint: "U+1F984", category: "Animals & Nature", keywords: ["fantasy"] },
4842
+ { emoji: "\u{1F41D}", name: "honeybee", shortcode: "bee", codepoint: "U+1F41D", category: "Animals & Nature", keywords: ["insect"] },
4843
+ { emoji: "\u{1F98B}", name: "butterfly", shortcode: "butterfly", codepoint: "U+1F98B", category: "Animals & Nature", keywords: ["insect"] },
4844
+ { emoji: "\u{1F422}", name: "turtle", shortcode: "turtle", codepoint: "U+1F422", category: "Animals & Nature", keywords: ["animal", "slow"] },
4845
+ { emoji: "\u{1F40D}", name: "snake", shortcode: "snake", codepoint: "U+1F40D", category: "Animals & Nature", keywords: ["animal"] },
4846
+ { emoji: "\u{1F433}", name: "spouting whale", shortcode: "whale", codepoint: "U+1F433", category: "Animals & Nature", keywords: ["ocean"] },
4847
+ { emoji: "\u{1F42C}", name: "dolphin", shortcode: "dolphin", codepoint: "U+1F42C", category: "Animals & Nature", keywords: ["ocean"] },
4848
+ { emoji: "\u{1F41F}", name: "fish", shortcode: "fish", codepoint: "U+1F41F", category: "Animals & Nature", keywords: ["ocean"] },
4849
+ { emoji: "\u{1F338}", name: "cherry blossom", shortcode: "cherry_blossom", codepoint: "U+1F338", category: "Animals & Nature", keywords: ["flower", "spring"] },
4850
+ { emoji: "\u{1F339}", name: "rose", shortcode: "rose", codepoint: "U+1F339", category: "Animals & Nature", keywords: ["flower"] },
4851
+ { emoji: "\u{1F33B}", name: "sunflower", shortcode: "sunflower", codepoint: "U+1F33B", category: "Animals & Nature", keywords: ["flower"] },
4852
+ { emoji: "\u{1F308}", name: "rainbow", shortcode: "rainbow", codepoint: "U+1F308", category: "Travel & Places", keywords: ["colorful", "pride"] },
4853
+ { emoji: "\u2600\uFE0F", name: "sun", shortcode: "sunny", codepoint: "U+2600 U+FE0F", category: "Travel & Places", keywords: ["sunshine", "weather"] },
4854
+ { emoji: "\u26C5", name: "sun behind cloud", shortcode: "partly_sunny", codepoint: "U+26C5", category: "Travel & Places", keywords: ["weather"] },
4855
+ { emoji: "\u2601\uFE0F", name: "cloud", shortcode: "cloud", codepoint: "U+2601 U+FE0F", category: "Travel & Places", keywords: ["weather"] },
4856
+ { emoji: "\u{1F327}\uFE0F", name: "cloud with rain", shortcode: "cloud_with_rain", codepoint: "U+1F327 U+FE0F", category: "Travel & Places", keywords: ["weather", "rain"] },
4857
+ { emoji: "\u26C8\uFE0F", name: "cloud with lightning and rain", shortcode: "thunder_cloud_and_rain", codepoint: "U+26C8 U+FE0F", category: "Travel & Places", keywords: ["storm"] },
4858
+ { emoji: "\u2744\uFE0F", name: "snowflake", shortcode: "snowflake", codepoint: "U+2744 U+FE0F", category: "Travel & Places", keywords: ["cold", "winter"] },
4859
+ { emoji: "\u26C4", name: "snowman without snow", shortcode: "snowman_without_snow", codepoint: "U+26C4", category: "Travel & Places", keywords: ["winter"] },
4860
+ { emoji: "\u{1F30A}", name: "water wave", shortcode: "ocean", codepoint: "U+1F30A", category: "Travel & Places", keywords: ["sea", "surf"] },
4861
+ { emoji: "\u{1F34E}", name: "red apple", shortcode: "apple", codepoint: "U+1F34E", category: "Food & Drink", keywords: ["fruit"] },
4862
+ { emoji: "\u{1F34C}", name: "banana", shortcode: "banana", codepoint: "U+1F34C", category: "Food & Drink", keywords: ["fruit"] },
4863
+ { emoji: "\u{1F355}", name: "pizza", shortcode: "pizza", codepoint: "U+1F355", category: "Food & Drink", keywords: ["food"] },
4864
+ { emoji: "\u{1F354}", name: "hamburger", shortcode: "hamburger", codepoint: "U+1F354", category: "Food & Drink", keywords: ["burger", "food"] },
4865
+ { emoji: "\u{1F35F}", name: "french fries", shortcode: "fries", codepoint: "U+1F35F", category: "Food & Drink", keywords: ["food"] },
4866
+ { emoji: "\u{1F32E}", name: "taco", shortcode: "taco", codepoint: "U+1F32E", category: "Food & Drink", keywords: ["food"] },
4867
+ { emoji: "\u{1F363}", name: "sushi", shortcode: "sushi", codepoint: "U+1F363", category: "Food & Drink", keywords: ["food"] },
4868
+ { emoji: "\u{1F369}", name: "doughnut", shortcode: "doughnut", codepoint: "U+1F369", category: "Food & Drink", keywords: ["donut", "food"] },
4869
+ { emoji: "\u{1F36A}", name: "cookie", shortcode: "cookie", codepoint: "U+1F36A", category: "Food & Drink", keywords: ["food"] },
4870
+ { emoji: "\u{1F382}", name: "birthday cake", shortcode: "birthday", codepoint: "U+1F382", category: "Food & Drink", keywords: ["cake", "party"] },
4871
+ { emoji: "\u{1F370}", name: "shortcake", shortcode: "cake", codepoint: "U+1F370", category: "Food & Drink", keywords: ["dessert"] },
4872
+ { emoji: "\u{1F36B}", name: "chocolate bar", shortcode: "chocolate_bar", codepoint: "U+1F36B", category: "Food & Drink", keywords: ["candy", "sweet"] },
4873
+ { emoji: "\u{1F37F}", name: "popcorn", shortcode: "popcorn", codepoint: "U+1F37F", category: "Food & Drink", keywords: ["movie", "snack"] },
4874
+ { emoji: "\u2615", name: "hot beverage", shortcode: "coffee", codepoint: "U+2615", category: "Food & Drink", keywords: ["tea", "drink"] },
4875
+ { emoji: "\u{1F37A}", name: "beer mug", shortcode: "beer", codepoint: "U+1F37A", category: "Food & Drink", keywords: ["drink", "alcohol"] },
4876
+ { emoji: "\u{1F377}", name: "wine glass", shortcode: "wine_glass", codepoint: "U+1F377", category: "Food & Drink", keywords: ["drink", "alcohol"] },
4877
+ { emoji: "\u{1F37E}", name: "bottle with popping cork", shortcode: "champagne", codepoint: "U+1F37E", category: "Food & Drink", keywords: ["celebrate", "drink"] },
4878
+ { emoji: "\u{1F680}", name: "rocket", shortcode: "rocket", codepoint: "U+1F680", category: "Travel & Places", keywords: ["launch", "space", "ship"] },
4879
+ { emoji: "\u2708\uFE0F", name: "airplane", shortcode: "airplane", codepoint: "U+2708 U+FE0F", category: "Travel & Places", keywords: ["flight", "travel"] },
4880
+ { emoji: "\u{1F697}", name: "automobile", shortcode: "car", codepoint: "U+1F697", category: "Travel & Places", keywords: ["vehicle"] },
4881
+ { emoji: "\u{1F6B2}", name: "bicycle", shortcode: "bike", codepoint: "U+1F6B2", category: "Travel & Places", keywords: ["cycling"] },
4882
+ { emoji: "\u{1F6A2}", name: "ship", shortcode: "ship", codepoint: "U+1F6A2", category: "Travel & Places", keywords: ["boat"] },
4883
+ { emoji: "\u{1F3E0}", name: "house", shortcode: "house", codepoint: "U+1F3E0", category: "Travel & Places", keywords: ["home"] },
4884
+ { emoji: "\u{1F3E2}", name: "office building", shortcode: "office", codepoint: "U+1F3E2", category: "Travel & Places", keywords: ["work"] },
4885
+ { emoji: "\u{1F30D}", name: "globe showing Europe-Africa", shortcode: "earth_africa", codepoint: "U+1F30D", category: "Travel & Places", keywords: ["world", "global"] },
4886
+ { emoji: "\u{1F5FA}\uFE0F", name: "world map", shortcode: "world_map", codepoint: "U+1F5FA U+FE0F", category: "Travel & Places", keywords: ["travel"] },
4887
+ { emoji: "\u{1F319}", name: "crescent moon", shortcode: "crescent_moon", codepoint: "U+1F319", category: "Travel & Places", keywords: ["night"] },
4888
+ { emoji: "\u{1F4BB}", name: "laptop", shortcode: "computer", codepoint: "U+1F4BB", category: "Objects", keywords: ["dev", "code"] },
4889
+ { emoji: "\u{1F5A5}\uFE0F", name: "desktop computer", shortcode: "desktop_computer", codepoint: "U+1F5A5 U+FE0F", category: "Objects", keywords: ["dev"] },
4890
+ { emoji: "\u2328\uFE0F", name: "keyboard", shortcode: "keyboard", codepoint: "U+2328 U+FE0F", category: "Objects", keywords: ["type", "dev"] },
4891
+ { emoji: "\u{1F5B1}\uFE0F", name: "computer mouse", shortcode: "computer_mouse", codepoint: "U+1F5B1 U+FE0F", category: "Objects", keywords: ["dev"] },
4892
+ { emoji: "\u{1F4F1}", name: "mobile phone", shortcode: "iphone", codepoint: "U+1F4F1", category: "Objects", keywords: ["phone"] },
4893
+ { emoji: "\u260E\uFE0F", name: "telephone", shortcode: "telephone", codepoint: "U+260E U+FE0F", category: "Objects", keywords: ["phone"] },
4894
+ { emoji: "\u{1F4A1}", name: "light bulb", shortcode: "bulb", codepoint: "U+1F4A1", category: "Objects", keywords: ["idea"] },
4895
+ { emoji: "\u{1F50B}", name: "battery", shortcode: "battery", codepoint: "U+1F50B", category: "Objects", keywords: ["power"] },
4896
+ { emoji: "\u{1F50C}", name: "electric plug", shortcode: "electric_plug", codepoint: "U+1F50C", category: "Objects", keywords: ["power"] },
4897
+ { emoji: "\u{1F4F7}", name: "camera", shortcode: "camera", codepoint: "U+1F4F7", category: "Objects", keywords: ["photo"] },
4898
+ { emoji: "\u{1F4DA}", name: "books", shortcode: "books", codepoint: "U+1F4DA", category: "Objects", keywords: ["read", "study"] },
4899
+ { emoji: "\u{1F4D6}", name: "open book", shortcode: "book", codepoint: "U+1F4D6", category: "Objects", keywords: ["read"] },
4900
+ { emoji: "\u{1F4DD}", name: "memo", shortcode: "memo", codepoint: "U+1F4DD", category: "Objects", keywords: ["note", "write"] },
4901
+ { emoji: "\u270F\uFE0F", name: "pencil", shortcode: "pencil2", codepoint: "U+270F U+FE0F", category: "Objects", keywords: ["write"] },
4902
+ { emoji: "\u{1F58A}\uFE0F", name: "pen", shortcode: "pen", codepoint: "U+1F58A U+FE0F", category: "Objects", keywords: ["write"] },
4903
+ { emoji: "\u{1F4CC}", name: "pushpin", shortcode: "pushpin", codepoint: "U+1F4CC", category: "Objects", keywords: ["pin"] },
4904
+ { emoji: "\u{1F4CE}", name: "paperclip", shortcode: "paperclip", codepoint: "U+1F4CE", category: "Objects", keywords: ["attach"] },
4905
+ { emoji: "\u{1F517}", name: "link", shortcode: "link", codepoint: "U+1F517", category: "Objects", keywords: ["url", "chain"] },
4906
+ { emoji: "\u{1F512}", name: "locked", shortcode: "lock", codepoint: "U+1F512", category: "Objects", keywords: ["secure", "private"] },
4907
+ { emoji: "\u{1F513}", name: "unlocked", shortcode: "unlock", codepoint: "U+1F513", category: "Objects", keywords: ["open"] },
4908
+ { emoji: "\u{1F511}", name: "key", shortcode: "key", codepoint: "U+1F511", category: "Objects", keywords: ["password"] },
4909
+ { emoji: "\u{1F50D}", name: "magnifying glass tilted left", shortcode: "mag", codepoint: "U+1F50D", category: "Objects", keywords: ["search", "find"] },
4910
+ { emoji: "\u2699\uFE0F", name: "gear", shortcode: "gear", codepoint: "U+2699 U+FE0F", category: "Objects", keywords: ["settings", "config"] },
4911
+ { emoji: "\u{1F6E0}\uFE0F", name: "hammer and wrench", shortcode: "hammer_and_wrench", codepoint: "U+1F6E0 U+FE0F", category: "Objects", keywords: ["tools", "build"] },
4912
+ { emoji: "\u{1F41B}", name: "bug", shortcode: "bug", codepoint: "U+1F41B", category: "Animals & Nature", keywords: ["insect", "error", "debug"] },
4913
+ { emoji: "\u{1F4B0}", name: "money bag", shortcode: "moneybag", codepoint: "U+1F4B0", category: "Objects", keywords: ["cash", "rich"] },
4914
+ { emoji: "\u{1F4B5}", name: "dollar banknote", shortcode: "dollar", codepoint: "U+1F4B5", category: "Objects", keywords: ["money", "cash"] },
4915
+ { emoji: "\u{1F4B3}", name: "credit card", shortcode: "credit_card", codepoint: "U+1F4B3", category: "Objects", keywords: ["payment"] },
4916
+ { emoji: "\u{1F4C8}", name: "chart increasing", shortcode: "chart_with_upwards_trend", codepoint: "U+1F4C8", category: "Objects", keywords: ["growth", "stocks"] },
4917
+ { emoji: "\u{1F4C9}", name: "chart decreasing", shortcode: "chart_with_downwards_trend", codepoint: "U+1F4C9", category: "Objects", keywords: ["decline", "stocks"] },
4918
+ { emoji: "\u{1F4CA}", name: "bar chart", shortcode: "bar_chart", codepoint: "U+1F4CA", category: "Objects", keywords: ["data", "stats"] },
4919
+ { emoji: "\u{1F4C5}", name: "calendar", shortcode: "date", codepoint: "U+1F4C5", category: "Objects", keywords: ["schedule"] },
4920
+ { emoji: "\u23F0", name: "alarm clock", shortcode: "alarm_clock", codepoint: "U+23F0", category: "Objects", keywords: ["time", "wake"] },
4921
+ { emoji: "\u23F3", name: "hourglass not done", shortcode: "hourglass_flowing_sand", codepoint: "U+23F3", category: "Objects", keywords: ["waiting", "time"] },
4922
+ { emoji: "\u2705", name: "check mark button", shortcode: "white_check_mark", codepoint: "U+2705", category: "Symbols", keywords: ["done", "correct", "yes"] },
4923
+ { emoji: "\u2714\uFE0F", name: "check mark", shortcode: "heavy_check_mark", codepoint: "U+2714 U+FE0F", category: "Symbols", keywords: ["done", "correct"] },
4924
+ { emoji: "\u274C", name: "cross mark", shortcode: "x", codepoint: "U+274C", category: "Symbols", keywords: ["wrong", "no", "error"] },
4925
+ { emoji: "\u2757", name: "exclamation mark", shortcode: "exclamation", codepoint: "U+2757", category: "Symbols", keywords: ["warning", "important"] },
4926
+ { emoji: "\u2753", name: "question mark", shortcode: "question", codepoint: "U+2753", category: "Symbols", keywords: ["ask"] },
4927
+ { emoji: "\u26A0\uFE0F", name: "warning", shortcode: "warning", codepoint: "U+26A0 U+FE0F", category: "Symbols", keywords: ["caution", "alert"] },
4928
+ { emoji: "\u{1F6AB}", name: "prohibited", shortcode: "no_entry_sign", codepoint: "U+1F6AB", category: "Symbols", keywords: ["forbidden", "banned"] },
4929
+ { emoji: "\u{1F534}", name: "red circle", shortcode: "red_circle", codepoint: "U+1F534", category: "Symbols", keywords: ["status", "stop"] },
4930
+ { emoji: "\u{1F7E2}", name: "green circle", shortcode: "green_circle", codepoint: "U+1F7E2", category: "Symbols", keywords: ["status", "go"] },
4931
+ { emoji: "\u{1F7E1}", name: "yellow circle", shortcode: "yellow_circle", codepoint: "U+1F7E1", category: "Symbols", keywords: ["status", "warning"] },
4932
+ { emoji: "\u{1F535}", name: "blue circle", shortcode: "blue_circle", codepoint: "U+1F535", category: "Symbols", keywords: ["status"] },
4933
+ { emoji: "\u2B06\uFE0F", name: "up arrow", shortcode: "arrow_up", codepoint: "U+2B06 U+FE0F", category: "Symbols", keywords: ["direction"] },
4934
+ { emoji: "\u2B07\uFE0F", name: "down arrow", shortcode: "arrow_down", codepoint: "U+2B07 U+FE0F", category: "Symbols", keywords: ["direction"] },
4935
+ { emoji: "\u27A1\uFE0F", name: "right arrow", shortcode: "arrow_right", codepoint: "U+27A1 U+FE0F", category: "Symbols", keywords: ["direction"] },
4936
+ { emoji: "\u2B05\uFE0F", name: "left arrow", shortcode: "arrow_left", codepoint: "U+2B05 U+FE0F", category: "Symbols", keywords: ["direction"] },
4937
+ { emoji: "\u{1F504}", name: "counterclockwise arrows button", shortcode: "arrows_counterclockwise", codepoint: "U+1F504", category: "Symbols", keywords: ["refresh", "reload", "sync"] },
4938
+ { emoji: "\u267B\uFE0F", name: "recycling symbol", shortcode: "recycle", codepoint: "U+267B U+FE0F", category: "Symbols", keywords: ["reuse", "green"] },
4939
+ { emoji: "\u{1F195}", name: "NEW button", shortcode: "new", codepoint: "U+1F195", category: "Symbols", keywords: ["fresh"] },
4940
+ { emoji: "\u{1F193}", name: "FREE button", shortcode: "free", codepoint: "U+1F193", category: "Symbols", keywords: ["gratis"] },
4941
+ { emoji: "\u{1F4A4}", name: "zzz", shortcode: "zzz", codepoint: "U+1F4A4", category: "Symbols", keywords: ["sleep", "tired"] },
4942
+ { emoji: "\u{1F4AC}", name: "speech balloon", shortcode: "speech_balloon", codepoint: "U+1F4AC", category: "Objects", keywords: ["chat", "talk"] },
4943
+ { emoji: "\u{1F4AD}", name: "thought balloon", shortcode: "thought_balloon", codepoint: "U+1F4AD", category: "Objects", keywords: ["think"] },
4944
+ { emoji: "\u{1F5E3}\uFE0F", name: "speaking head", shortcode: "speaking_head", codepoint: "U+1F5E3 U+FE0F", category: "People & Body", keywords: ["talk"] },
4945
+ { emoji: "\u{1F3AF}", name: "direct hit", shortcode: "dart", codepoint: "U+1F3AF", category: "Activities", keywords: ["target", "goal"] },
4946
+ { emoji: "\u{1F6A9}", name: "triangular flag", shortcode: "triangular_flag_on_post", codepoint: "U+1F6A9", category: "Flags", keywords: ["flag", "report"] },
4947
+ { emoji: "\u{1F3C1}", name: "chequered flag", shortcode: "checkered_flag", codepoint: "U+1F3C1", category: "Flags", keywords: ["finish", "race"] },
4948
+ { emoji: "\u{1F1FA}\u{1F1F8}", name: "flag: United States", shortcode: "us", codepoint: "U+1F1FA U+1F1F8", category: "Flags", keywords: ["usa", "america"] },
4949
+ { emoji: "\u{1F1EC}\u{1F1E7}", name: "flag: United Kingdom", shortcode: "gb", codepoint: "U+1F1EC U+1F1E7", category: "Flags", keywords: ["uk", "britain"] },
4950
+ { emoji: "\u{1F1EE}\u{1F1F3}", name: "flag: India", shortcode: "in", codepoint: "U+1F1EE U+1F1F3", category: "Flags", keywords: ["india"] },
4951
+ { emoji: "\u{1F1EF}\u{1F1F5}", name: "flag: Japan", shortcode: "jp", codepoint: "U+1F1EF U+1F1F5", category: "Flags", keywords: ["japan"] },
4952
+ { emoji: "\u{1F1E9}\u{1F1EA}", name: "flag: Germany", shortcode: "de", codepoint: "U+1F1E9 U+1F1EA", category: "Flags", keywords: ["germany"] },
4953
+ { emoji: "\u{1F1EB}\u{1F1F7}", name: "flag: France", shortcode: "fr", codepoint: "U+1F1EB U+1F1F7", category: "Flags", keywords: ["france"] },
4954
+ { emoji: "\u{1F1E8}\u{1F1E6}", name: "flag: Canada", shortcode: "ca", codepoint: "U+1F1E8 U+1F1E6", category: "Flags", keywords: ["canada"] },
4955
+ { emoji: "\u{1F1E6}\u{1F1FA}", name: "flag: Australia", shortcode: "au", codepoint: "U+1F1E6 U+1F1FA", category: "Flags", keywords: ["australia"] },
4956
+ { emoji: "\u{1F1E7}\u{1F1F7}", name: "flag: Brazil", shortcode: "br", codepoint: "U+1F1E7 U+1F1F7", category: "Flags", keywords: ["brazil"] },
4957
+ { emoji: "\u{1F1E8}\u{1F1F3}", name: "flag: China", shortcode: "cn", codepoint: "U+1F1E8 U+1F1F3", category: "Flags", keywords: ["china"] }
4958
+ ];
4959
+ function searchEmoji(query) {
4960
+ const q = query.trim().toLowerCase().replace(/^:|:$/g, "");
4961
+ if (!q) return [];
4962
+ return EMOJI_TABLE.filter(
4963
+ (e) => e.name.toLowerCase().includes(q) || e.shortcode.toLowerCase().includes(q) || e.keywords.some((k) => k.toLowerCase().includes(q))
4964
+ );
4965
+ }
4966
+ function getEmojiByShortcode(shortcode) {
4967
+ const s = shortcode.trim().toLowerCase().replace(/^:|:$/g, "");
4968
+ return EMOJI_TABLE.find((e) => e.shortcode.toLowerCase() === s);
4969
+ }
4970
+ function getEmojiByChar(char) {
4971
+ return EMOJI_TABLE.find((e) => e.emoji === char);
4972
+ }
4973
+ function getEmojiByCategory(category) {
4974
+ return EMOJI_TABLE.filter((e) => e.category.toLowerCase() === category.trim().toLowerCase());
4975
+ }
4976
+ function getEmojiCategories() {
4977
+ return Array.from(new Set(EMOJI_TABLE.map((e) => e.category)));
4978
+ }
4674
4979
 
4675
4980
  // src/tools/data.ts
4676
4981
  var data_exports = {};
@@ -7554,6 +7859,7 @@ __export(units_exports, {
7554
7859
  calculateLoan: () => calculateLoan,
7555
7860
  calculateMarginMarkup: () => calculateMarginMarkup,
7556
7861
  calculatePercentageChange: () => calculatePercentageChange,
7862
+ calculateRoi: () => calculateRoi,
7557
7863
  calculateRuleOf72: () => calculateRuleOf72,
7558
7864
  calculateSavingsGoal: () => calculateSavingsGoal,
7559
7865
  calculateSimpleInterest: () => calculateSimpleInterest,
@@ -9337,6 +9643,33 @@ function calculateSavingsGoal(input) {
9337
9643
  finalBalance: round4(goalAmount)
9338
9644
  };
9339
9645
  }
9646
+ function calculateRoi(input) {
9647
+ const { initialValue, finalValue, years } = input;
9648
+ if (!Number.isFinite(initialValue) || initialValue <= 0) {
9649
+ return { error: "initialValue must be a finite number greater than zero" };
9650
+ }
9651
+ if (!Number.isFinite(finalValue) || finalValue < 0) {
9652
+ return { error: "finalValue must be a finite, non-negative number" };
9653
+ }
9654
+ const round4 = (n) => Math.round(n * 1e4) / 1e4;
9655
+ const profit = finalValue - initialValue;
9656
+ const roiPercent = profit / initialValue * 100;
9657
+ const result = {
9658
+ initialValue: round4(initialValue),
9659
+ finalValue: round4(finalValue),
9660
+ profit: round4(profit),
9661
+ roiPercent: round4(roiPercent)
9662
+ };
9663
+ if (years !== void 0) {
9664
+ if (!Number.isFinite(years) || years <= 0) {
9665
+ return { error: "years must be a finite number greater than zero when provided" };
9666
+ }
9667
+ const annualizedReturnPercent = (Math.pow(finalValue / initialValue, 1 / years) - 1) * 100;
9668
+ result.years = round4(years);
9669
+ result.annualizedReturnPercent = round4(annualizedReturnPercent);
9670
+ }
9671
+ return result;
9672
+ }
9340
9673
 
9341
9674
  // src/tools/network.ts
9342
9675
  var network_exports = {};
package/dist/index.d.cts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { j as json } from './json-Ta9JykSB.cjs';
2
2
  export { e as encoding } from './encoding-Dk3wpmb3.cjs';
3
3
  export { h as hashing } from './hashing-CnetQFD_.cjs';
4
- export { t as text } from './text-CA-zuD0C.cjs';
4
+ export { t as text } from './text-kHkT9VtT.cjs';
5
5
  export { d as data } from './data-CFeS9kes.cjs';
6
6
  export { g as generators } from './generators-Du8cBesn.cjs';
7
7
  export { t as time } from './time-KqJjdqII.cjs';
8
- export { u as units } from './units-BhoxdHhs.cjs';
8
+ export { u as units } from './units-c90DW-OZ.cjs';
9
9
  export { n as network } from './network-DfY5Ikvr.cjs';
10
10
  export { a as api } from './api-DmTNE4c1.cjs';
11
11
  export { c as code } from './code-BK-x8hVx.cjs';
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { j as json } from './json-Ta9JykSB.js';
2
2
  export { e as encoding } from './encoding-Dk3wpmb3.js';
3
3
  export { h as hashing } from './hashing-CnetQFD_.js';
4
- export { t as text } from './text-CA-zuD0C.js';
4
+ export { t as text } from './text-kHkT9VtT.js';
5
5
  export { d as data } from './data-CFeS9kes.js';
6
6
  export { g as generators } from './generators-Du8cBesn.js';
7
7
  export { t as time } from './time-KqJjdqII.js';
8
- export { u as units } from './units-BhoxdHhs.js';
8
+ export { u as units } from './units-c90DW-OZ.js';
9
9
  export { n as network } from './network-DfY5Ikvr.js';
10
10
  export { a as api } from './api-DmTNE4c1.js';
11
11
  export { c as code } from './code-BK-x8hVx.js';
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  export { media_exports as media } from './chunk-L6V4W4SU.js';
2
- export { units_exports as units } from './chunk-ZPQOE7KD.js';
2
+ export { units_exports as units } from './chunk-7AJRK57W.js';
3
3
  export { network_exports as network } from './chunk-3YUKLV5N.js';
4
4
  export { api_exports as api } from './chunk-52ZDKSIX.js';
5
5
  export { code_exports as code } from './chunk-UUT5HNST.js';
@@ -10,7 +10,7 @@ export { ai_agent_exports as ai_agent } from './chunk-W3J7GZVQ.js';
10
10
  export { json_exports as json } from './chunk-WVEKRKGU.js';
11
11
  export { encoding_exports as encoding } from './chunk-DOWQZUTP.js';
12
12
  export { hashing_exports as hashing } from './chunk-GEFVMGZR.js';
13
- export { text_exports as text } from './chunk-H2USEUHD.js';
13
+ export { text_exports as text } from './chunk-F2CEN226.js';
14
14
  export { data_exports as data } from './chunk-YEXQDI3J.js';
15
15
  export { generators_exports as generators } from './chunk-3TYWIX3B.js';
16
16
  export { time_exports as time } from './chunk-IEPWZERQ.js';
@@ -23,6 +23,7 @@
23
23
  * - readability-score: scoreReadability
24
24
  * - filler-word-detector: detectFillerWords
25
25
  * - sentence-length-distribution: analyzeSentenceLengths
26
+ * - emoji-lookup : searchEmoji, getEmojiByShortcode, getEmojiByChar, getEmojiByCategory, getEmojiCategories, EMOJI_TABLE
26
27
  */
27
28
  interface WordCountResult {
28
29
  words: number;
@@ -356,6 +357,30 @@ interface SentenceLengthDistribution {
356
357
  * (e.g. "Dr.") as sentence boundaries.
357
358
  */
358
359
  declare function analyzeSentenceLengths(text: string): SentenceLengthDistribution;
360
+ interface EmojiEntry {
361
+ emoji: string;
362
+ name: string;
363
+ shortcode: string;
364
+ codepoint: string;
365
+ category: string;
366
+ keywords: string[];
367
+ }
368
+ declare const EMOJI_TABLE: EmojiEntry[];
369
+ /**
370
+ * Search the curated emoji table by name, shortcode, or keyword (case
371
+ * insensitive substring match). Not the full Unicode emoji set (which is
372
+ * 3,000+ and growing every release), just several hundred of the most
373
+ * commonly used ones for chat, commit messages, and markdown.
374
+ */
375
+ declare function searchEmoji(query: string): EmojiEntry[];
376
+ /** Exact shortcode lookup, with or without surrounding colons (e.g. `fire` or `:fire:`). */
377
+ declare function getEmojiByShortcode(shortcode: string): EmojiEntry | undefined;
378
+ /** Look up an emoji entry by its exact character, e.g. searching for 🔥. */
379
+ declare function getEmojiByChar(char: string): EmojiEntry | undefined;
380
+ /** List all emoji in a given category (e.g. 'Smileys & Emotion', 'Animals & Nature'). */
381
+ declare function getEmojiByCategory(category: string): EmojiEntry[];
382
+ /** All distinct category names present in the table, in table order. */
383
+ declare function getEmojiCategories(): string[];
359
384
 
360
385
  type text_AsciiFont = AsciiFont;
361
386
  type text_AsciiOptions = AsciiOptions;
@@ -369,7 +394,9 @@ type text_DiffLine = DiffLine;
369
394
  type text_DiffResult = DiffResult;
370
395
  type text_DiffType = DiffType;
371
396
  type text_DiffViewerLine = DiffViewerLine;
397
+ declare const text_EMOJI_TABLE: typeof EMOJI_TABLE;
372
398
  declare const text_ESCAPE_MODES: typeof ESCAPE_MODES;
399
+ type text_EmojiEntry = EmojiEntry;
373
400
  type text_EscapeMode = EscapeMode;
374
401
  type text_FillerCategory = FillerCategory;
375
402
  type text_FillerMatch = FillerMatch;
@@ -426,6 +453,10 @@ declare const text_generateParagraphs: typeof generateParagraphs;
426
453
  declare const text_generateSentences: typeof generateSentences;
427
454
  declare const text_generateWords: typeof generateWords;
428
455
  declare const text_getAvailableFonts: typeof getAvailableFonts;
456
+ declare const text_getEmojiByCategory: typeof getEmojiByCategory;
457
+ declare const text_getEmojiByChar: typeof getEmojiByChar;
458
+ declare const text_getEmojiByShortcode: typeof getEmojiByShortcode;
459
+ declare const text_getEmojiCategories: typeof getEmojiCategories;
429
460
  declare const text_getMorseForChar: typeof getMorseForChar;
430
461
  declare const text_getMorseTiming: typeof getMorseTiming;
431
462
  declare const text_htmlToMarkdown: typeof htmlToMarkdown;
@@ -442,6 +473,7 @@ declare const text_readabilityScore: typeof readabilityScore;
442
473
  declare const text_renderMarkdown: typeof renderMarkdown;
443
474
  declare const text_romanToNumber: typeof romanToNumber;
444
475
  declare const text_scoreReadability: typeof scoreReadability;
476
+ declare const text_searchEmoji: typeof searchEmoji;
445
477
  declare const text_sentenceCount: typeof sentenceCount;
446
478
  declare const text_slugify: typeof slugify;
447
479
  declare const text_slugifyAll: typeof slugifyAll;
@@ -451,7 +483,7 @@ declare const text_textToMorse: typeof textToMorse;
451
483
  declare const text_unescapeString: typeof unescapeString;
452
484
  declare const text_wordFrequency: typeof wordFrequency;
453
485
  declare namespace text {
454
- export { type text_AsciiFont as AsciiFont, type text_AsciiOptions as AsciiOptions, text_CASE_FORMATS as CASE_FORMATS, type text_CaseFormat as CaseFormat, type text_ConvertOptions as ConvertOptions, text_DEFAULT_CONVERT_OPTIONS as DEFAULT_CONVERT_OPTIONS, type text_DiffFile as DiffFile, type text_DiffHunk as DiffHunk, type text_DiffLine as DiffLine, type text_DiffResult as DiffResult, type text_DiffType as DiffType, type text_DiffViewerLine as DiffViewerLine, text_ESCAPE_MODES as ESCAPE_MODES, type text_EscapeMode as EscapeMode, type text_FillerCategory as FillerCategory, type text_FillerMatch as FillerMatch, type text_FillerWordResult as FillerWordResult, text_LINE_OPS as LINE_OPS, type text_LineOp as LineOp, type text_LineType as LineType, type text_LoremUnit as LoremUnit, text_MORSE_CODE as MORSE_CODE, type text_MarkdownResult as MarkdownResult, type text_MorseOptions as MorseOptions, type text_ParsedDiff as ParsedDiff, type text_ParsedTable as ParsedTable, type text_PassiveVoiceMatch as PassiveVoiceMatch, type text_PassiveVoiceResult as PassiveVoiceResult, type text_PassiveVoiceSentence as PassiveVoiceSentence, type text_ReadabilityResult as ReadabilityResult, type text_ReadabilityScore as ReadabilityScore, type text_SentenceLengthBucket as SentenceLengthBucket, type text_SentenceLengthDistribution as SentenceLengthDistribution, type text_SlugSeparator as SlugSeparator, type text_StringDistanceMode as StringDistanceMode, type text_StringDistanceResult as StringDistanceResult, type text_TableOptions as TableOptions, type text_TextAnalysis as TextAnalysis, type text_WordCountResult as WordCountResult, text_addBorder as addBorder, text_analyzeSentenceLengths as analyzeSentenceLengths, text_analyzeText as analyzeText, text_applyOp as applyOp, text_applyOps as applyOps, text_calculateStringDistance as calculateStringDistance, text_centerText as centerText, text_convertAll as convertAll, text_convertCase as convertCase, text_countWords as countWords, text_csvToHtml as csvToHtml, text_csvToMarkdown as csvToMarkdown, text_detectDelimiter as detectDelimiter, text_detectFillerWords as detectFillerWords, text_detectPassiveVoice as detectPassiveVoice, text_diffLines as diffLines, text_diffLinesSimple as diffLinesSimple, text_diffStats as diffStats, text_escapeAll as escapeAll, text_escapeString as escapeString, text_extractHeadings as extractHeadings, text_formatReadingTime as formatReadingTime, text_generate as generate, text_generateDiff as generateDiff, text_generateHtmlTable as generateHtmlTable, text_generateMarkdownTable as generateMarkdownTable, text_generateParagraphs as generateParagraphs, text_generateSentences as generateSentences, text_generateWords as generateWords, text_getAvailableFonts as getAvailableFonts, text_getMorseForChar as getMorseForChar, text_getMorseTiming as getMorseTiming, text_htmlToMarkdown as htmlToMarkdown, text_isValidMorse as isValidMorse, text_markdownToHtml as markdownToHtml, text_morseToText as morseToText, text_numberToOrdinal as numberToOrdinal, text_numberToRoman as numberToRoman, text_numberToWords as numberToWords, text_ordinalWords as ordinalWords, text_parseDiff as parseDiff, text_parseTableData as parseTableData, text_readabilityScore as readabilityScore, text_renderMarkdown as renderMarkdown, text_romanToNumber as romanToNumber, text_scoreReadability as scoreReadability, text_sentenceCount as sentenceCount, text_slugify as slugify, text_slugifyAll as slugifyAll, text_syllableCount as syllableCount, text_textToAscii as textToAscii, text_textToMorse as textToMorse, text_unescapeString as unescapeString, text_wordFrequency as wordFrequency };
486
+ export { type text_AsciiFont as AsciiFont, type text_AsciiOptions as AsciiOptions, text_CASE_FORMATS as CASE_FORMATS, type text_CaseFormat as CaseFormat, type text_ConvertOptions as ConvertOptions, text_DEFAULT_CONVERT_OPTIONS as DEFAULT_CONVERT_OPTIONS, type text_DiffFile as DiffFile, type text_DiffHunk as DiffHunk, type text_DiffLine as DiffLine, type text_DiffResult as DiffResult, type text_DiffType as DiffType, type text_DiffViewerLine as DiffViewerLine, text_EMOJI_TABLE as EMOJI_TABLE, text_ESCAPE_MODES as ESCAPE_MODES, type text_EmojiEntry as EmojiEntry, type text_EscapeMode as EscapeMode, type text_FillerCategory as FillerCategory, type text_FillerMatch as FillerMatch, type text_FillerWordResult as FillerWordResult, text_LINE_OPS as LINE_OPS, type text_LineOp as LineOp, type text_LineType as LineType, type text_LoremUnit as LoremUnit, text_MORSE_CODE as MORSE_CODE, type text_MarkdownResult as MarkdownResult, type text_MorseOptions as MorseOptions, type text_ParsedDiff as ParsedDiff, type text_ParsedTable as ParsedTable, type text_PassiveVoiceMatch as PassiveVoiceMatch, type text_PassiveVoiceResult as PassiveVoiceResult, type text_PassiveVoiceSentence as PassiveVoiceSentence, type text_ReadabilityResult as ReadabilityResult, type text_ReadabilityScore as ReadabilityScore, type text_SentenceLengthBucket as SentenceLengthBucket, type text_SentenceLengthDistribution as SentenceLengthDistribution, type text_SlugSeparator as SlugSeparator, type text_StringDistanceMode as StringDistanceMode, type text_StringDistanceResult as StringDistanceResult, type text_TableOptions as TableOptions, type text_TextAnalysis as TextAnalysis, type text_WordCountResult as WordCountResult, text_addBorder as addBorder, text_analyzeSentenceLengths as analyzeSentenceLengths, text_analyzeText as analyzeText, text_applyOp as applyOp, text_applyOps as applyOps, text_calculateStringDistance as calculateStringDistance, text_centerText as centerText, text_convertAll as convertAll, text_convertCase as convertCase, text_countWords as countWords, text_csvToHtml as csvToHtml, text_csvToMarkdown as csvToMarkdown, text_detectDelimiter as detectDelimiter, text_detectFillerWords as detectFillerWords, text_detectPassiveVoice as detectPassiveVoice, text_diffLines as diffLines, text_diffLinesSimple as diffLinesSimple, text_diffStats as diffStats, text_escapeAll as escapeAll, text_escapeString as escapeString, text_extractHeadings as extractHeadings, text_formatReadingTime as formatReadingTime, text_generate as generate, text_generateDiff as generateDiff, text_generateHtmlTable as generateHtmlTable, text_generateMarkdownTable as generateMarkdownTable, text_generateParagraphs as generateParagraphs, text_generateSentences as generateSentences, text_generateWords as generateWords, text_getAvailableFonts as getAvailableFonts, text_getEmojiByCategory as getEmojiByCategory, text_getEmojiByChar as getEmojiByChar, text_getEmojiByShortcode as getEmojiByShortcode, text_getEmojiCategories as getEmojiCategories, text_getMorseForChar as getMorseForChar, text_getMorseTiming as getMorseTiming, text_htmlToMarkdown as htmlToMarkdown, text_isValidMorse as isValidMorse, text_markdownToHtml as markdownToHtml, text_morseToText as morseToText, text_numberToOrdinal as numberToOrdinal, text_numberToRoman as numberToRoman, text_numberToWords as numberToWords, text_ordinalWords as ordinalWords, text_parseDiff as parseDiff, text_parseTableData as parseTableData, text_readabilityScore as readabilityScore, text_renderMarkdown as renderMarkdown, text_romanToNumber as romanToNumber, text_scoreReadability as scoreReadability, text_searchEmoji as searchEmoji, text_sentenceCount as sentenceCount, text_slugify as slugify, text_slugifyAll as slugifyAll, text_syllableCount as syllableCount, text_textToAscii as textToAscii, text_textToMorse as textToMorse, text_unescapeString as unescapeString, text_wordFrequency as wordFrequency };
455
487
  }
456
488
 
457
- export { detectFillerWords as $, type AsciiFont as A, type StringDistanceResult as B, CASE_FORMATS as C, DEFAULT_CONVERT_OPTIONS as D, ESCAPE_MODES as E, type FillerCategory as F, type TextAnalysis as G, addBorder as H, analyzeSentenceLengths as I, analyzeText as J, applyOp as K, LINE_OPS as L, MORSE_CODE as M, applyOps as N, calculateStringDistance as O, type ParsedDiff as P, centerText as Q, type ReadabilityResult as R, type SentenceLengthBucket as S, type TableOptions as T, convertAll as U, convertCase as V, type WordCountResult as W, countWords as X, csvToHtml as Y, csvToMarkdown as Z, detectDelimiter as _, type AsciiOptions as a, detectPassiveVoice as a0, diffLines as a1, diffLinesSimple as a2, diffStats as a3, escapeAll as a4, escapeString as a5, extractHeadings as a6, formatReadingTime as a7, generate as a8, generateDiff as a9, textToAscii as aA, textToMorse as aB, unescapeString as aC, wordFrequency as aD, generateHtmlTable as aa, generateMarkdownTable as ab, generateParagraphs as ac, generateSentences as ad, generateWords as ae, getAvailableFonts as af, getMorseForChar as ag, getMorseTiming as ah, htmlToMarkdown as ai, isValidMorse as aj, markdownToHtml as ak, morseToText as al, numberToOrdinal as am, numberToRoman as an, numberToWords as ao, ordinalWords as ap, parseDiff as aq, parseTableData as ar, readabilityScore as as, renderMarkdown as at, romanToNumber as au, scoreReadability as av, sentenceCount as aw, slugify as ax, slugifyAll as ay, syllableCount as az, type CaseFormat as b, type ConvertOptions as c, type DiffFile as d, type DiffHunk as e, type DiffLine as f, type DiffResult as g, type DiffType as h, type DiffViewerLine as i, type EscapeMode as j, type FillerMatch as k, type FillerWordResult as l, type LineOp as m, type LineType as n, type LoremUnit as o, type MarkdownResult as p, type MorseOptions as q, type ParsedTable as r, type PassiveVoiceMatch as s, text as t, type PassiveVoiceResult as u, type PassiveVoiceSentence as v, type ReadabilityScore as w, type SentenceLengthDistribution as x, type SlugSeparator as y, type StringDistanceMode as z };
489
+ export { csvToMarkdown as $, type AsciiFont as A, type SlugSeparator as B, CASE_FORMATS as C, DEFAULT_CONVERT_OPTIONS as D, EMOJI_TABLE as E, type FillerCategory as F, type StringDistanceMode as G, type StringDistanceResult as H, type TextAnalysis as I, addBorder as J, analyzeSentenceLengths as K, LINE_OPS as L, MORSE_CODE as M, analyzeText as N, applyOp as O, type ParsedDiff as P, applyOps as Q, type ReadabilityResult as R, type SentenceLengthBucket as S, type TableOptions as T, calculateStringDistance as U, centerText as V, type WordCountResult as W, convertAll as X, convertCase as Y, countWords as Z, csvToHtml as _, type AsciiOptions as a, detectDelimiter as a0, detectFillerWords as a1, detectPassiveVoice as a2, diffLines as a3, diffLinesSimple as a4, diffStats as a5, escapeAll as a6, escapeString as a7, extractHeadings as a8, formatReadingTime as a9, romanToNumber as aA, scoreReadability as aB, searchEmoji as aC, sentenceCount as aD, slugify as aE, slugifyAll as aF, syllableCount as aG, textToAscii as aH, textToMorse as aI, unescapeString as aJ, wordFrequency as aK, generate as aa, generateDiff as ab, generateHtmlTable as ac, generateMarkdownTable as ad, generateParagraphs as ae, generateSentences as af, generateWords as ag, getAvailableFonts as ah, getEmojiByCategory as ai, getEmojiByChar as aj, getEmojiByShortcode as ak, getEmojiCategories as al, getMorseForChar as am, getMorseTiming as an, htmlToMarkdown as ao, isValidMorse as ap, markdownToHtml as aq, morseToText as ar, numberToOrdinal as as, numberToRoman as at, numberToWords as au, ordinalWords as av, parseDiff as aw, parseTableData as ax, readabilityScore as ay, renderMarkdown as az, type CaseFormat as b, type ConvertOptions as c, type DiffFile as d, type DiffHunk as e, type DiffLine as f, type DiffResult as g, type DiffType as h, type DiffViewerLine as i, ESCAPE_MODES as j, type EmojiEntry as k, type EscapeMode as l, type FillerMatch as m, type FillerWordResult as n, type LineOp as o, type LineType as p, type LoremUnit as q, type MarkdownResult as r, type MorseOptions as s, text as t, type ParsedTable as u, type PassiveVoiceMatch as v, type PassiveVoiceResult as w, type PassiveVoiceSentence as x, type ReadabilityScore as y, type SentenceLengthDistribution as z };