From f538b3fb22da11cccd381196c7b5650edc2a3abf Mon Sep 17 00:00:00 2001 From: Dessalines Date: Mon, 2 Sep 2019 15:55:50 -0700 Subject: [PATCH] Using a proper twitter emoji list for the definitions. - Fixes #260 --- ui/src/components/comment-form.tsx | 7 +- ui/src/emoji_list.ts | 1 - ui/src/twemojis.ts | 1721 ++++++++++++++++++++++++++++ ui/src/utils.ts | 15 +- 4 files changed, 1729 insertions(+), 15 deletions(-) delete mode 100644 ui/src/emoji_list.ts create mode 100644 ui/src/twemojis.ts diff --git a/ui/src/components/comment-form.tsx b/ui/src/components/comment-form.tsx index 93ad69ea..54035fde 100644 --- a/ui/src/components/comment-form.tsx +++ b/ui/src/components/comment-form.tsx @@ -1,7 +1,8 @@ import { Component, linkEvent } from 'inferno'; import { CommentNode as CommentNodeI, CommentForm as CommentFormI, SearchForm, SearchType, SortType, UserOperation, SearchResponse } from '../interfaces'; import { Subscription } from "rxjs"; -import { capitalizeFirstLetter, mentionDropdownFetchLimit, msgOp, md, emojiMentionList, mdToHtml, randomStr, imageUploadUrl, markdownHelpUrl } from '../utils'; +import { capitalizeFirstLetter, mentionDropdownFetchLimit, msgOp, mdToHtml, randomStr, imageUploadUrl, markdownHelpUrl } from '../utils'; +import { twemojis } from '../twemojis'; import { WebSocketService, UserService } from '../services'; import * as autosize from 'autosize'; import { i18n } from '../i18next'; @@ -49,12 +50,12 @@ export class CommentForm extends Component { trigger: ':', menuItemTemplate: (item: any) => { let emoji = `:${item.original.key}:`; - return `${md.renderInline(emoji)} ${emoji}`; + return `${item.original.val} ${emoji}`; }, selectTemplate: (item: any) => { return `:${item.original.key}:`; }, - values: emojiMentionList(), + values: Object.entries(twemojis).map(e => {return {'key': e[0], 'val': e[1]}}), allowSpaces: false, autocompleteMode: true, menuItemLimit: 10, diff --git a/ui/src/emoji_list.ts b/ui/src/emoji_list.ts deleted file mode 100644 index 90b7de55..00000000 --- a/ui/src/emoji_list.ts +++ /dev/null @@ -1 +0,0 @@ -export const emoji_list: Array = ["grinning", "smiley", "smile", "grin", "laughingsatisfied", "sweat_smile", "rofl", "joy", "slightly_smiling_face", "upside_down_face", "wink", "blush", "innocent", "smiling_face_with_three_hearts", "heart_eyes", "star_struck", "kissing_heart", "kissing", "relaxed", "kissing_closed_eyes", "kissing_smiling_eyes", "yum", "stuck_out_tongue", "stuck_out_tongue_winking_eye", "zany_face", "stuck_out_tongue_closed_eyes", "money_mouth_face", "hugs", "hand_over_mouth", "shushing_face", "thinking", "zipper_mouth_face", "raised_eyebrow", "neutral_face", "expressionless", "no_mouth", "smirk", "unamused", "roll_eyes", "grimacing", "lying_face", "relieved", "pensive", "sleepy", "drooling_face", "sleeping", "mask", "face_with_thermometer", "face_with_head_bandage", "nauseated_face", "vomiting_face", "sneezing_face", "hot_face", "cold_face", "woozy_face", "dizzy_face", "exploding_head", "cowboy_hat_face", "partying_face", "sunglasses", "nerd_face", "monocle_face", "confused", "worried", "slightly_frowning_face", "frowning_face", "open_mouth", "hushed", "astonished", "flushed", "pleading_face", "frowning", "anguished", "fearful", "cold_sweat", "disappointed_relieved", "cry", "sob", "scream", "confounded", "persevere", "disappointed", "sweat", "weary", "tired_face", "yawning_face", "triumph", "ragepout", "angry", "cursing_face", "smiling_imp", "imp", "skull", "skull_and_crossbones", "hankeypoopshit", "clown_face", "japanese_ogre", "japanese_goblin", "ghost", "alien", "space_invader", "robot", "smiley_cat", "smile_cat", "joy_cat", "heart_eyes_cat", "smirk_cat", "kissing_cat", "scream_cat", "crying_cat_face", "pouting_cat", "see_no_evil", "hear_no_evil", "speak_no_evil", "kiss", "love_letter", "cupid", "gift_heart", "sparkling_heart", "heartpulse", "heartbeat", "revolving_hearts", "two_hearts", "heart_decoration", "heavy_heart_exclamation", "broken_heart", "heart", "orange_heart", "yellow_heart", "green_heart", "blue_heart", "purple_heart", "brown_heart", "black_heart", "white_heart", "100", "anger", "boomcollision", "dizzy", "sweat_drops", "dash", "hole", "bomb", "speech_balloon", "eye_speech_bubble", "left_speech_bubble", "right_anger_bubble", "thought_balloon", "zzz", "wave", "raised_back_of_hand", "raised_hand_with_fingers_splayed", "handraised_hand", "vulcan_salute", "ok_hand", "pinching_hand", "v", "crossed_fingers", "love_you_gesture", "metal", "call_me_hand", "point_left", "point_right", "point_up_2", "middle_fingerfu", "point_down", "point_up", "+1thumbsup", "-1thumbsdown", "fist_raisedfist", "fist_oncomingfacepunchpunch", "fist_left", "fist_right", "clap", "raised_hands", "open_hands", "palms_up_together", "handshake", "pray", "writing_hand", "nail_care", "selfie", "muscle", "mechanical_arm", "mechanical_leg", "leg", "foot", "ear", "ear_with_hearing_aid", "nose", "brain", "tooth", "bone", "eyes", "eye", "tongue", "lips", "baby", "child", "boy", "girl", "adult", "blond_haired_person", "man", "bearded_person", "blond_haired_man", "red_haired_man", "curly_haired_man", "white_haired_man", "bald_man", "woman", "blond_haired_womanblonde_woman", "red_haired_woman", "curly_haired_woman", "white_haired_woman", "bald_woman", "older_adult", "older_man", "older_woman", "frowning_person", "frowning_man", "frowning_woman", "pouting_face", "pouting_man", "pouting_woman", "no_good", "no_good_manng_man", "no_good_womanng_woman", "ok_person", "ok_man", "ok_woman", "tipping_hand_personinformation_desk_person", "tipping_hand_mansassy_man", "tipping_hand_womansassy_woman", "raising_hand", "raising_hand_man", "raising_hand_woman", "deaf_person", "deaf_man", "deaf_woman", "bow", "bowing_man", "bowing_woman", "facepalm", "man_facepalming", "woman_facepalming", "shrug", "man_shrugging", "woman_shrugging", "man_health_worker", "woman_health_worker", "man_student", "woman_student", "man_teacher", "woman_teacher", "man_judge", "woman_judge", "man_farmer", "woman_farmer", "man_cook", "woman_cook", "man_mechanic", "woman_mechanic", "man_factory_worker", "woman_factory_worker", "man_office_worker", "woman_office_worker", "man_scientist", "woman_scientist", "man_technologist", "woman_technologist", "man_singer", "woman_singer", "man_artist", "woman_artist", "man_pilot", "woman_pilot", "man_astronaut", "woman_astronaut", "man_firefighter", "woman_firefighter", "police_officercop", "policeman", "policewoman", "detective", "male_detective", "female_detective", "guard", "guardsman", "guardswoman", "construction_worker", "construction_worker_man", "construction_worker_woman", "prince", "princess", "person_with_turban", "man_with_turban", "woman_with_turban", "man_with_gua_pi_mao", "woman_with_headscarf", "man_in_tuxedo", "bride_with_veil", "pregnant_woman", "breast_feeding", "angel", "santa", "mrs_claus", "superhero", "superhero_man", "superhero_woman", "supervillain", "supervillain_man", "supervillain_woman", "mage", "mage_man", "mage_woman", "fairy", "fairy_man", "fairy_woman", "vampire", "vampire_man", "vampire_woman", "merperson", "merman", "mermaid", "elf", "elf_man", "elf_woman", "genie", "genie_man", "genie_woman", "zombie", "zombie_man", "zombie_woman", "massage", "massage_man", "massage_woman", "haircut", "haircut_man", "haircut_woman", "walking", "walking_man", "walking_woman", "standing_person", "standing_man", "standing_woman", "kneeling_person", "kneeling_man", "kneeling_woman", "man_with_probing_cane", "woman_with_probing_cane", "man_in_motorized_wheelchair", "woman_in_motorized_wheelchair", "man_in_manual_wheelchair", "woman_in_manual_wheelchair", "runnerrunning", "running_man", "running_woman", "woman_dancingdancer", "man_dancing", "business_suit_levitating", "dancers", "dancing_men", "dancing_women", "sauna_person", "sauna_man", "sauna_woman", "climbing", "climbing_man", "climbing_woman", "person_fencing", "horse_racing", "skier", "snowboarder", "golfing", "golfing_man", "golfing_woman", "surfer", "surfing_man", "surfing_woman", "rowboat", "rowing_man", "rowing_woman", "swimmer", "swimming_man", "swimming_woman", "bouncing_ball_person", "bouncing_ball_manbasketball_man", "bouncing_ball_womanbasketball_woman", "weight_lifting", "weight_lifting_man", "weight_lifting_woman", "bicyclist", "biking_man", "biking_woman", "mountain_bicyclist", "mountain_biking_man", "mountain_biking_woman", "cartwheeling", "man_cartwheeling", "woman_cartwheeling", "wrestling", "men_wrestling", "women_wrestling", "water_polo", "man_playing_water_polo", "woman_playing_water_polo", "handball_person", "man_playing_handball", "woman_playing_handball", "juggling_person", "man_juggling", "woman_juggling", "lotus_position", "lotus_position_man", "lotus_position_woman", "bath", "sleeping_bed", "people_holding_hands", "two_women_holding_hands", "couple", "two_men_holding_hands", "couplekiss", "couplekiss_man_woman", "couplekiss_man_man", "couplekiss_woman_woman", "couple_with_heart", "couple_with_heart_woman_man", "couple_with_heart_man_man", "couple_with_heart_woman_woman", "family", "family_man_woman_boy", "family_man_woman_girl", "family_man_woman_girl_boy", "family_man_woman_boy_boy", "family_man_woman_girl_girl", "family_man_man_boy", "family_man_man_girl", "family_man_man_girl_boy", "family_man_man_boy_boy", "family_man_man_girl_girl", "family_woman_woman_boy", "family_woman_woman_girl", "family_woman_woman_girl_boy", "family_woman_woman_boy_boy", "family_woman_woman_girl_girl", "family_man_boy", "family_man_boy_boy", "family_man_girl", "family_man_girl_boy", "family_man_girl_girl", "family_woman_boy", "family_woman_boy_boy", "family_woman_girl", "family_woman_girl_boy", "family_woman_girl_girl", "speaking_head", "bust_in_silhouette", "busts_in_silhouette", "footprints", "monkey_face", "monkey", "gorilla", "orangutan", "dog", "dog2", "guide_dog", "service_dog", "poodle", "wolf", "fox_face", "raccoon", "cat", "cat2", "lion", "tiger", "tiger2", "leopard", "horse", "racehorse", "unicorn", "zebra", "deer", "cow", "ox", "water_buffalo", "cow2", "pig", "pig2", "boar", "pig_nose", "ram", "sheep", "goat", "dromedary_camel", "camel", "llama", "giraffe", "elephant", "rhinoceros", "hippopotamus", "mouse", "mouse2", "rat", "hamster", "rabbit", "rabbit2", "chipmunk", "hedgehog", "bat", "bear", "koala", "panda_face", "sloth", "otter", "skunk", "kangaroo", "badger", "feetpaw_prints", "turkey", "chicken", "rooster", "hatching_chick", "baby_chick", "hatched_chick", "bird", "penguin", "dove", "eagle", "duck", "swan", "owl", "flamingo", "peacock", "parrot", "frog", "crocodile", "turtle", "lizard", "snake", "dragon_face", "dragon", "sauropod", "t-rex", "whale", "whale2", "dolphinflipper", "fish", "tropical_fish", "blowfish", "shark", "octopus", "shell", "snail", "butterfly", "bug", "ant", "beehoneybee", "beetle", "cricket", "spider", "spider_web", "scorpion", "mosquito", "microbe", "bouquet", "cherry_blossom", "white_flower", "rosette", "rose", "wilted_flower", "hibiscus", "sunflower", "blossom", "tulip", "seedling", "evergreen_tree", "deciduous_tree", "palm_tree", "cactus", "ear_of_rice", "herb", "shamrock", "four_leaf_clover", "maple_leaf", "fallen_leaf", "leaves", "grapes", "melon", "watermelon", "tangerineorangemandarin", "lemon", "banana", "pineapple", "mango", "apple", "green_apple", "pear", "peach", "cherries", "strawberry", "kiwi_fruit", "tomato", "coconut", "avocado", "eggplant", "potato", "carrot", "corn", "hot_pepper", "cucumber", "leafy_green", "broccoli", "garlic", "onion", "mushroom", "peanuts", "chestnut", "bread", "croissant", "baguette_bread", "pretzel", "bagel", "pancakes", "waffle", "cheese", "meat_on_bone", "poultry_leg", "cut_of_meat", "bacon", "hamburger", "fries", "pizza", "hotdog", "sandwich", "taco", "burrito", "stuffed_flatbread", "falafel", "egg", "fried_egg", "shallow_pan_of_food", "stew", "bowl_with_spoon", "green_salad", "popcorn", "butter", "salt", "canned_food", "bento", "rice_cracker", "rice_ball", "rice", "curry", "ramen", "spaghetti", "sweet_potato", "oden", "sushi", "fried_shrimp", "fish_cake", "moon_cake", "dango", "dumpling", "fortune_cookie", "takeout_box", "crab", "lobster", "shrimp", "squid", "oyster", "icecream", "shaved_ice", "ice_cream", "doughnut", "cookie", "birthday", "cake", "cupcake", "pie", "chocolate_bar", "candy", "lollipop", "custard", "honey_pot", "baby_bottle", "milk_glass", "coffee", "tea", "sake", "champagne", "wine_glass", "cocktail", "tropical_drink", "beer", "beers", "clinking_glasses", "tumbler_glass", "cup_with_straw", "beverage_box", "mate", "ice_cube", "chopsticks", "plate_with_cutlery", "fork_and_knife", "spoon", "hochoknife", "amphora", "earth_africa", "earth_americas", "earth_asia", "globe_with_meridians", "world_map", "japan", "compass", "mountain_snow", "mountain", "volcano", "mount_fuji", "camping", "beach_umbrella", "desert", "desert_island", "national_park", "stadium", "classical_building", "building_construction", "bricks", "houses", "derelict_house", "house", "house_with_garden", "office", "post_office", "european_post_office", "hospital", "bank", "hotel", "love_hotel", "convenience_store", "school", "department_store", "factory", "japanese_castle", "european_castle", "wedding", "tokyo_tower", "statue_of_liberty", "church", "mosque", "hindu_temple", "synagogue", "shinto_shrine", "kaaba", "fountain", "tent", "foggy", "night_with_stars", "cityscape", "sunrise_over_mountains", "sunrise", "city_sunset", "city_sunrise", "bridge_at_night", "hotsprings", "carousel_horse", "ferris_wheel", "roller_coaster", "barber", "circus_tent", "steam_locomotive", "railway_car", "bullettrain_side", "bullettrain_front", "train2", "metro", "light_rail", "station", "tram", "monorail", "mountain_railway", "train", "bus", "oncoming_bus", "trolleybus", "minibus", "ambulance", "fire_engine", "police_car", "oncoming_police_car", "taxi", "oncoming_taxi", "carred_car", "oncoming_automobile", "blue_car", "truck", "articulated_lorry", "tractor", "racing_car", "motorcycle", "motor_scooter", "manual_wheelchair", "motorized_wheelchair", "auto_rickshaw", "bike", "kick_scooter", "skateboard", "busstop", "motorway", "railway_track", "oil_drum", "fuelpump", "rotating_light", "traffic_light", "vertical_traffic_light", "stop_sign", "construction", "anchor", "boatsailboat", "canoe", "speedboat", "passenger_ship", "ferry", "motor_boat", "ship", "airplane", "small_airplane", "flight_departure", "flight_arrival", "parachute", "seat", "helicopter", "suspension_railway", "mountain_cableway", "aerial_tramway", "artificial_satellite", "rocket", "flying_saucer", "bellhop_bell", "luggage", "hourglass", "hourglass_flowing_sand", "watch", "alarm_clock", "stopwatch", "timer_clock", "mantelpiece_clock", "clock12", "clock1230", "clock1", "clock130", "clock2", "clock230", "clock3", "clock330", "clock4", "clock430", "clock5", "clock530", "clock6", "clock630", "clock7", "clock730", "clock8", "clock830", "clock9", "clock930", "clock10", "clock1030", "clock11", "clock1130", "new_moon", "waxing_crescent_moon", "first_quarter_moon", "moonwaxing_gibbous_moon", "full_moon", "waning_gibbous_moon", "last_quarter_moon", "waning_crescent_moon", "crescent_moon", "new_moon_with_face", "first_quarter_moon_with_face", "last_quarter_moon_with_face", "thermometer", "sunny", "full_moon_with_face", "sun_with_face", "ringed_planet", "star", "star2", "stars", "milky_way", "cloud", "partly_sunny", "cloud_with_lightning_and_rain", "sun_behind_small_cloud", "sun_behind_large_cloud", "sun_behind_rain_cloud", "cloud_with_rain", "cloud_with_snow", "cloud_with_lightning", "tornado", "fog", "wind_face", "cyclone", "rainbow", "closed_umbrella", "open_umbrella", "umbrella", "parasol_on_ground", "zap", "snowflake", "snowman_with_snow", "snowman", "comet", "fire", "droplet", "ocean", "jack_o_lantern", "christmas_tree", "fireworks", "sparkler", "firecracker", "sparkles", "balloon", "tada", "confetti_ball", "tanabata_tree", "bamboo", "dolls", "flags", "wind_chime", "rice_scene", "red_envelope", "ribbon", "gift", "reminder_ribbon", "tickets", "ticket", "medal_military", "trophy", "medal_sports", "1st_place_medal", "2nd_place_medal", "3rd_place_medal", "soccer", "baseball", "softball", "basketball", "volleyball", "football", "rugby_football", "tennis", "flying_disc", "bowling", "cricket_game", "field_hockey", "ice_hockey", "lacrosse", "ping_pong", "badminton", "boxing_glove", "martial_arts_uniform", "goal_net", "golf", "ice_skate", "fishing_pole_and_fish", "diving_mask", "running_shirt_with_sash", "ski", "sled", "curling_stone", "dart", "yo_yo", "kite", "8ball", "crystal_ball", "nazar_amulet", "video_game", "joystick", "slot_machine", "game_die", "jigsaw", "teddy_bear", "spades", "hearts", "diamonds", "clubs", "chess_pawn", "black_joker", "mahjong", "flower_playing_cards", "performing_arts", "framed_picture", "art", "thread", "yarn", "eyeglasses", "dark_sunglasses", "goggles", "lab_coat", "safety_vest", "necktie", "shirttshirt", "jeans", "scarf", "gloves", "coat", "socks", "dress", "kimono", "sari", "one_piece_swimsuit", "swim_brief", "shorts", "bikini", "womans_clothes", "purse", "handbag", "pouch", "shopping", "school_satchel", "mans_shoeshoe", "athletic_shoe", "hiking_boot", "flat_shoe", "high_heel", "sandal", "ballet_shoes", "boot", "crown", "womans_hat", "tophat", "mortar_board", "billed_cap", "rescue_worker_helmet", "prayer_beads", "lipstick", "ring", "gem", "mute", "speaker", "sound", "loud_sound", "loudspeaker", "mega", "postal_horn", "bell", "no_bell", "musical_score", "musical_note", "notes", "studio_microphone", "level_slider", "control_knobs", "microphone", "headphones", "radio", "saxophone", "guitar", "musical_keyboard", "trumpet", "violin", "banjo", "drum", "iphone", "calling", "phonetelephone", "telephone_receiver", "pager", "fax", "battery", "electric_plug", "computer", "desktop_computer", "printer", "keyboard", "computer_mouse", "trackball", "minidisc", "floppy_disk", "cd", "dvd", "abacus", "movie_camera", "film_strip", "film_projector", "clapper", "tv", "camera", "camera_flash", "video_camera", "vhs", "mag", "mag_right", "candle", "bulb", "flashlight", "izakaya_lanternlantern", "diya_lamp", "notebook_with_decorative_cover", "closed_book", "bookopen_book", "green_book", "blue_book", "orange_book", "books", "notebook", "ledger", "page_with_curl", "scroll", "page_facing_up", "newspaper", "newspaper_roll", "bookmark_tabs", "bookmark", "label", "moneybag", "yen", "dollar", "euro", "pound", "money_with_wings", "credit_card", "receipt", "chart", "currency_exchange", "heavy_dollar_sign", "emailenvelope", "e-mail", "incoming_envelope", "envelope_with_arrow", "outbox_tray", "inbox_tray", "package", "mailbox", "mailbox_closed", "mailbox_with_mail", "mailbox_with_no_mail", "postbox", "ballot_box", "pencil2", "black_nib", "fountain_pen", "pen", "paintbrush", "crayon", "memopencil", "briefcase", "file_folder", "open_file_folder", "card_index_dividers", "date", "calendar", "spiral_notepad", "spiral_calendar", "card_index", "chart_with_upwards_trend", "chart_with_downwards_trend", "bar_chart", "clipboard", "pushpin", "round_pushpin", "paperclip", "paperclips", "straight_ruler", "triangular_ruler", "scissors", "card_file_box", "file_cabinet", "wastebasket", "lock", "unlock", "lock_with_ink_pen", "closed_lock_with_key", "key", "old_key", "hammer", "axe", "pick", "hammer_and_pick", "hammer_and_wrench", "dagger", "crossed_swords", "gun", "bow_and_arrow", "shield", "wrench", "nut_and_bolt", "gear", "clamp", "balance_scale", "probing_cane", "link", "chains", "toolbox", "magnet", "alembic", "test_tube", "petri_dish", "dna", "microscope", "telescope", "satellite", "syringe", "drop_of_blood", "pill", "adhesive_bandage", "stethoscope", "door", "bed", "couch_and_lamp", "chair", "toilet", "shower", "bathtub", "razor", "lotion_bottle", "safety_pin", "broom", "basket", "roll_of_paper", "soap", "sponge", "fire_extinguisher", "shopping_cart", "smoking", "coffin", "funeral_urn", "moyai", "atm", "put_litter_in_its_place", "potable_water", "wheelchair", "mens", "womens", "restroom", "baby_symbol", "wc", "passport_control", "customs", "baggage_claim", "left_luggage", "warning", "children_crossing", "no_entry", "no_entry_sign", "no_bicycles", "no_smoking", "do_not_litter", "non-potable_water", "no_pedestrians", "no_mobile_phones", "underage", "radioactive", "biohazard", "arrow_up", "arrow_upper_right", "arrow_right", "arrow_lower_right", "arrow_down", "arrow_lower_left", "arrow_left", "arrow_upper_left", "arrow_up_down", "left_right_arrow", "leftwards_arrow_with_hook", "arrow_right_hook", "arrow_heading_up", "arrow_heading_down", "arrows_clockwise", "arrows_counterclockwise", "back", "end", "on", "soon", "top", "place_of_worship", "atom_symbol", "om", "star_of_david", "wheel_of_dharma", "yin_yang", "latin_cross", "orthodox_cross", "star_and_crescent", "peace_symbol", "menorah", "six_pointed_star", "aries", "taurus", "gemini", "cancer", "leo", "virgo", "libra", "scorpius", "sagittarius", "capricorn", "aquarius", "pisces", "ophiuchus", "twisted_rightwards_arrows", "repeat", "repeat_one", "arrow_forward", "fast_forward", "next_track_button", "play_or_pause_button", "arrow_backward", "rewind", "previous_track_button", "arrow_up_small", "arrow_double_up", "arrow_down_small", "arrow_double_down", "pause_button", "stop_button", "record_button", "eject_button", "cinema", "low_brightness", "high_brightness", "signal_strength", "vibration_mode", "mobile_phone_off", "female_sign", "male_sign", "medical_symbol", "infinity", "recycle", "fleur_de_lis", "trident", "name_badge", "beginner", "o", "white_check_mark", "ballot_box_with_check", "heavy_check_mark", "heavy_multiplication_x", "x", "negative_squared_cross_mark", "heavy_plus_sign", "heavy_minus_sign", "heavy_division_sign", "curly_loop", "loop", "part_alternation_mark", "eight_spoked_asterisk", "eight_pointed_black_star", "sparkle", "bangbang", "interrobang", "question", "grey_question", "grey_exclamation", "exclamationheavy_exclamation_mark", "wavy_dash", "copyright", "registered", "tm", "hash", "asterisk", "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "keycap_ten", "capital_abcd", "abcd", "1234", "symbols", "abc", "a", "ab", "b", "cl", "cool", "free", "information_source", "id", "m", "new", "ng", "o2", "ok", "parking", "sos", "up", "vs", "koko", "sa", "u6708", "u6709", "u6307", "ideograph_advantage", "u5272", "u7121", "u7981", "accept", "u7533", "u5408", "u7a7a", "congratulations", "secret", "u55b6", "u6e80", "red_circle", "orange_circle", "yellow_circle", "green_circle", "large_blue_circle", "purple_circle", "brown_circle", "black_circle", "white_circle", "red_square", "orange_square", "yellow_square", "green_square", "blue_square", "purple_square", "brown_square", "black_large_square", "white_large_square", "black_medium_square", "white_medium_square", "black_medium_small_square", "white_medium_small_square", "black_small_square", "white_small_square", "large_orange_diamond", "large_blue_diamond", "small_orange_diamond", "small_blue_diamond", "small_red_triangle", "small_red_triangle_down", "diamond_shape_with_a_dot_inside", "radio_button", "white_square_button", "black_square_button", "checkered_flag", "triangular_flag_on_post", "crossed_flags", "black_flag", "white_flag", "rainbow_flag", "pirate_flag", "ascension_island", "andorra", "united_arab_emirates", "afghanistan", "antigua_barbuda", "anguilla", "albania", "armenia", "angola", "antarctica", "argentina", "american_samoa", "austria", "australia", "aruba", "aland_islands", "azerbaijan", "bosnia_herzegovina", "barbados", "bangladesh", "belgium", "burkina_faso", "bulgaria", "bahrain", "burundi", "benin", "st_barthelemy", "bermuda", "brunei", "bolivia", "caribbean_netherlands", "brazil", "bahamas", "bhutan", "bouvet_island", "botswana", "belarus", "belize", "canada", "cocos_islands", "congo_kinshasa", "central_african_republic", "congo_brazzaville", "switzerland", "cote_divoire", "cook_islands", "chile", "cameroon", "cn", "colombia", "clipperton_island", "costa_rica", "cuba", "cape_verde", "curacao", "christmas_island", "cyprus", "czech_republic", "de", "diego_garcia", "djibouti", "denmark", "dominica", "dominican_republic", "algeria", "ceuta_melilla", "ecuador", "estonia", "egypt", "western_sahara", "eritrea", "es", "ethiopia", "eueuropean_union", "finland", "fiji", "falkland_islands", "micronesia", "faroe_islands", "fr", "gabon", "gbuk", "grenada", "georgia", "french_guiana", "guernsey", "ghana", "gibraltar", "greenland", "gambia", "guinea", "guadeloupe", "equatorial_guinea", "greece", "south_georgia_south_sandwich_islands", "guatemala", "guam", "guinea_bissau", "guyana", "hong_kong", "heard_mcdonald_islands", "honduras", "croatia", "haiti", "hungary", "canary_islands", "indonesia", "ireland", "israel", "isle_of_man", "india", "british_indian_ocean_territory", "iraq", "iran", "iceland", "it", "jersey", "jamaica", "jordan", "jp", "kenya", "kyrgyzstan", "cambodia", "kiribati", "comoros", "st_kitts_nevis", "north_korea", "kr", "kuwait", "cayman_islands", "kazakhstan", "laos", "lebanon", "st_lucia", "liechtenstein", "sri_lanka", "liberia", "lesotho", "lithuania", "luxembourg", "latvia", "libya", "morocco", "monaco", "moldova", "montenegro", "st_martin", "madagascar", "marshall_islands", "macedonia", "mali", "myanmar", "mongolia", "macau", "northern_mariana_islands", "martinique", "mauritania", "montserrat", "malta", "mauritius", "maldives", "malawi", "mexico", "malaysia", "mozambique", "namibia", "new_caledonia", "niger", "norfolk_island", "nigeria", "nicaragua", "netherlands", "norway", "nepal", "nauru", "niue", "new_zealand", "oman", "panama", "peru", "french_polynesia", "papua_new_guinea", "philippines", "pakistan", "poland", "st_pierre_miquelon", "pitcairn_islands", "puerto_rico", "palestinian_territories", "portugal", "palau", "paraguay", "qatar", "reunion", "romania", "serbia", "ru", "rwanda", "saudi_arabia", "solomon_islands", "seychelles", "sudan", "sweden", "singapore", "st_helena", "slovenia", "svalbard_jan_mayen", "slovakia", "sierra_leone", "san_marino", "senegal", "somalia", "suriname", "south_sudan", "sao_tome_principe", "el_salvador", "sint_maarten", "syria", "swaziland", "tristan_da_cunha", "turks_caicos_islands", "chad", "french_southern_territories", "togo", "thailand", "tajikistan", "tokelau", "timor_leste", "turkmenistan", "tunisia", "tonga", "tr", "trinidad_tobago", "tuvalu", "taiwan", "tanzania", "ukraine", "uganda", "us_outlying_islands", "united_nations", "us", "uruguay", "uzbekistan", "vatican_city", "st_vincent_grenadines", "venezuela", "british_virgin_islands", "us_virgin_islands", "vietnam", "vanuatu", "wallis_futuna", "samoa", "kosovo", "yemen", "mayotte", "south_africa", "zambia", "zimbabwe", "england", "scotland", "wales"]; diff --git a/ui/src/twemojis.ts b/ui/src/twemojis.ts new file mode 100644 index 00000000..e8005423 --- /dev/null +++ b/ui/src/twemojis.ts @@ -0,0 +1,1721 @@ +export const twemojis = { + "grinning_face": "😀", + "grinning_face_with_big_eyes": "😃", + "grinning_face_with_smiling_eyes": "😄", + "beaming_face_with_smiling_eyes": "😁", + "grinning_squinting_face": "😆", + "grinning_face_with_sweat": "😅", + "rolling_on_the_floor_laughing": "🤣", + "face_with_tears_of_joy": "😂", + "slightly_smiling_face": "🙂", + "upside-down_face": "🙃", + "winking_face": "😉", + "smiling_face_with_smiling_eyes": "😊", + "smiling_face_with_halo": "😇", + "smiling_face_with_hearts": "🥰", + "smiling_face_with_heart-eyes": "😍", + "star-struck": "🤩", + "face_blowing_a_kiss": "😘", + "kissing_face": "😗", + "smiling_face": "☺", + "kissing_face_with_closed_eyes": "😚", + "kissing_face_with_smiling_eyes": "😙", + "face_savoring_food": "😋", + "face_with_tongue": "😛", + "winking_face_with_tongue": "😜", + "zany_face": "🤪", + "squinting_face_with_tongue": "😝", + "money-mouth_face": "🤑", + "hugging_face": "🤗", + "face_with_hand_over_mouth": "🤭", + "shushing_face": "🤫", + "thinking_face": "🤔", + "zipper-mouth_face": "🤐", + "face_with_raised_eyebrow": "🤨", + "neutral_face": "😐", + "expressionless_face": "😑", + "face_without_mouth": "😶", + "smirking_face": "😏", + "unamused_face": "😒", + "face_with_rolling_eyes": "🙄", + "grimacing_face": "😬", + "lying_face": "🤥", + "relieved_face": "😌", + "pensive_face": "😔", + "sleepy_face": "😪", + "drooling_face": "🤤", + "sleeping_face": "😴", + "face_with_medical_mask": "😷", + "face_with_thermometer": "🤒", + "face_with_head-bandage": "🤕", + "nauseated_face": "🤢", + "face_vomiting": "🤮", + "sneezing_face": "🤧", + "hot_face": "🥵", + "cold_face": "🥶", + "woozy_face": "🥴", + "dizzy_face": "😵", + "exploding_head": "🤯", + "cowboy_hat_face": "🤠", + "partying_face": "🥳", + "smiling_face_with_sunglasses": "😎", + "nerd_face": "🤓", + "face_with_monocle": "🧐", + "confused_face": "😕", + "worried_face": "😟", + "slightly_frowning_face": "🙁", + "frowning_face": "☹", + "face_with_open_mouth": "😮", + "hushed_face": "😯", + "astonished_face": "😲", + "flushed_face": "😳", + "pleading_face": "🥺", + "frowning_face_with_open_mouth": "😦", + "anguished_face": "😧", + "fearful_face": "😨", + "anxious_face_with_sweat": "😰", + "sad_but_relieved_face": "😥", + "crying_face": "😢", + "loudly_crying_face": "😭", + "face_screaming_in_fear": "😱", + "confounded_face": "😖", + "persevering_face": "😣", + "disappointed_face": "😞", + "downcast_face_with_sweat": "😓", + "weary_face": "😩", + "tired_face": "😫", + "⊛_yawning_face": "🥱", + "face_with_steam_from_nose": "😤", + "pouting_face": "😡", + "angry_face": "😠", + "face_with_symbols_on_mouth": "🤬", + "smiling_face_with_horns": "😈", + "angry_face_with_horns": "👿", + "skull": "💀", + "skull_and_crossbones": "☠", + "pile_of_poo": "💩", + "clown_face": "🤡", + "ogre": "👹", + "goblin": "👺", + "ghost": "👻", + "alien": "👽", + "alien_monster": "👾", + "robot": "🤖", + "grinning_cat": "😺", + "grinning_cat_with_smiling_eyes": "😸", + "cat_with_tears_of_joy": "😹", + "smiling_cat_with_heart-eyes": "😻", + "cat_with_wry_smile": "😼", + "kissing_cat": "😽", + "weary_cat": "🙀", + "crying_cat": "😿", + "pouting_cat": "😾", + "see-no-evil_monkey": "🙈", + "hear-no-evil_monkey": "🙉", + "speak-no-evil_monkey": "🙊", + "kiss_mark": "💋", + "love_letter": "💌", + "heart_with_arrow": "💘", + "heart_with_ribbon": "💝", + "sparkling_heart": "💖", + "growing_heart": "💗", + "beating_heart": "💓", + "revolving_hearts": "💞", + "two_hearts": "💕", + "heart_decoration": "💟", + "heart_exclamation": "❣", + "broken_heart": "💔", + "red_heart": "❤", + "orange_heart": "🧡", + "yellow_heart": "💛", + "green_heart": "💚", + "blue_heart": "💙", + "purple_heart": "💜", + "⊛_brown_heart": "🤎", + "black_heart": "🖤", + "⊛_white_heart": "🤍", + "hundred_points": "💯", + "anger_symbol": "💢", + "collision": "💥", + "dizzy": "💫", + "sweat_droplets": "💦", + "dashing_away": "💨", + "hole": "🕳", + "bomb": "💣", + "speech_balloon": "💬", + "eye_in_speech_bubble": "👁️‍🗨️", + "left_speech_bubble": "🗨", + "right_anger_bubble": "🗯", + "thought_balloon": "💭", + "zzz": "💤", + "waving_hand": "👋", + "raised_back_of_hand": "🤚", + "hand_with_fingers_splayed": "🖐", + "raised_hand": "✋", + "vulcan_salute": "🖖", + "OK_hand": "👌", + "⊛_pinching_hand": "🤏", + "victory_hand": "✌", + "crossed_fingers": "🤞", + "love-you_gesture": "🤟", + "sign_of_the_horns": "🤘", + "call_me_hand": "🤙", + "backhand_index_pointing_left": "👈", + "backhand_index_pointing_right": "👉", + "backhand_index_pointing_up": "👆", + "middle_finger": "🖕", + "backhand_index_pointing_down": "👇", + "index_pointing_up": "☝", + "thumbs_up": "👍", + "thumbs_down": "👎", + "raised_fist": "✊", + "oncoming_fist": "👊", + "left-facing_fist": "🤛", + "right-facing_fist": "🤜", + "clapping_hands": "👏", + "raising_hands": "🙌", + "open_hands": "👐", + "palms_up_together": "🤲", + "handshake": "🤝", + "folded_hands": "🙏", + "writing_hand": "✍", + "nail_polish": "💅", + "selfie": "🤳", + "flexed_biceps": "💪", + "⊛_mechanical_arm": "🦾", + "⊛_mechanical_leg": "🦿", + "leg": "🦵", + "foot": "🦶", + "ear": "👂", + "⊛_ear_with_hearing_aid": "🦻", + "nose": "👃", + "brain": "🧠", + "tooth": "🦷", + "bone": "🦴", + "eyes": "👀", + "eye": "👁", + "tongue": "👅", + "mouth": "👄", + "baby": "👶", + "child": "🧒", + "boy": "👦", + "girl": "👧", + "person": "🧑", + "person_blond_hair": "👱", + "man": "👨", + "man_beard": "🧔", + "man_blond_hair": "👱‍♂️", + "man_red_hair": "👨‍🦰", + "man_curly_hair": "👨‍🦱", + "man_white_hair": "👨‍🦳", + "man_bald": "👨‍🦲", + "woman": "👩", + "woman_blond_hair": "👱‍♀️", + "woman_red_hair": "👩‍🦰", + "woman_curly_hair": "👩‍🦱", + "woman_white_hair": "👩‍🦳", + "woman_bald": "👩‍🦲", + "older_person": "🧓", + "old_man": "👴", + "old_woman": "👵", + "person_frowning": "🙍", + "man_frowning": "🙍‍♂️", + "woman_frowning": "🙍‍♀️", + "person_pouting": "🙎", + "man_pouting": "🙎‍♂️", + "woman_pouting": "🙎‍♀️", + "person_gesturing_NO": "🙅", + "man_gesturing_NO": "🙅‍♂️", + "woman_gesturing_NO": "🙅‍♀️", + "person_gesturing_OK": "🙆", + "man_gesturing_OK": "🙆‍♂️", + "woman_gesturing_OK": "🙆‍♀️", + "person_tipping_hand": "💁", + "man_tipping_hand": "💁‍♂️", + "woman_tipping_hand": "💁‍♀️", + "person_raising_hand": "🙋", + "man_raising_hand": "🙋‍♂️", + "woman_raising_hand": "🙋‍♀️", + "⊛_deaf_person": "🧏", + "⊛_deaf_man": "🧏‍♂️", + "⊛_deaf_woman": "🧏‍♀️", + "person_bowing": "🙇", + "man_bowing": "🙇‍♂️", + "woman_bowing": "🙇‍♀️", + "person_facepalming": "🤦", + "man_facepalming": "🤦‍♂️", + "woman_facepalming": "🤦‍♀️", + "person_shrugging": "🤷", + "man_shrugging": "🤷‍♂️", + "woman_shrugging": "🤷‍♀️", + "man_health_worker": "👨‍⚕️", + "woman_health_worker": "👩‍⚕️", + "man_student": "👨‍🎓", + "woman_student": "👩‍🎓", + "man_teacher": "👨‍🏫", + "woman_teacher": "👩‍🏫", + "man_judge": "👨‍⚖️", + "woman_judge": "👩‍⚖️", + "man_farmer": "👨‍🌾", + "woman_farmer": "👩‍🌾", + "man_cook": "👨‍🍳", + "woman_cook": "👩‍🍳", + "man_mechanic": "👨‍🔧", + "woman_mechanic": "👩‍🔧", + "man_factory_worker": "👨‍🏭", + "woman_factory_worker": "👩‍🏭", + "man_office_worker": "👨‍💼", + "woman_office_worker": "👩‍💼", + "man_scientist": "👨‍🔬", + "woman_scientist": "👩‍🔬", + "man_technologist": "👨‍💻", + "woman_technologist": "👩‍💻", + "man_singer": "👨‍🎤", + "woman_singer": "👩‍🎤", + "man_artist": "👨‍🎨", + "woman_artist": "👩‍🎨", + "man_pilot": "👨‍✈️", + "woman_pilot": "👩‍✈️", + "man_astronaut": "👨‍🚀", + "woman_astronaut": "👩‍🚀", + "man_firefighter": "👨‍🚒", + "woman_firefighter": "👩‍🚒", + "police_officer": "👮", + "man_police_officer": "👮‍♂️", + "woman_police_officer": "👮‍♀️", + "detective": "🕵", + "man_detective": "🕵️‍♂️", + "woman_detective": "🕵️‍♀️", + "guard": "💂", + "man_guard": "💂‍♂️", + "woman_guard": "💂‍♀️", + "construction_worker": "👷", + "man_construction_worker": "👷‍♂️", + "woman_construction_worker": "👷‍♀️", + "prince": "🤴", + "princess": "👸", + "person_wearing_turban": "👳", + "man_wearing_turban": "👳‍♂️", + "woman_wearing_turban": "👳‍♀️", + "man_with_Chinese_cap": "👲", + "woman_with_headscarf": "🧕", + "man_in_tuxedo": "🤵", + "bride_with_veil": "👰", + "pregnant_woman": "🤰", + "breast-feeding": "🤱", + "baby_angel": "👼", + "Santa_Claus": "🎅", + "Mrs._Claus": "🤶", + "superhero": "🦸", + "man_superhero": "🦸‍♂️", + "woman_superhero": "🦸‍♀️", + "supervillain": "🦹", + "man_supervillain": "🦹‍♂️", + "woman_supervillain": "🦹‍♀️", + "mage": "🧙", + "man_mage": "🧙‍♂️", + "woman_mage": "🧙‍♀️", + "fairy": "🧚", + "man_fairy": "🧚‍♂️", + "woman_fairy": "🧚‍♀️", + "vampire": "🧛", + "man_vampire": "🧛‍♂️", + "woman_vampire": "🧛‍♀️", + "merperson": "🧜", + "merman": "🧜‍♂️", + "mermaid": "🧜‍♀️", + "elf": "🧝", + "man_elf": "🧝‍♂️", + "woman_elf": "🧝‍♀️", + "genie": "🧞", + "man_genie": "🧞‍♂️", + "woman_genie": "🧞‍♀️", + "zombie": "🧟", + "man_zombie": "🧟‍♂️", + "woman_zombie": "🧟‍♀️", + "person_getting_massage": "💆", + "man_getting_massage": "💆‍♂️", + "woman_getting_massage": "💆‍♀️", + "person_getting_haircut": "💇", + "man_getting_haircut": "💇‍♂️", + "woman_getting_haircut": "💇‍♀️", + "person_walking": "🚶", + "man_walking": "🚶‍♂️", + "woman_walking": "🚶‍♀️", + "⊛_person_standing": "🧍", + "⊛_man_standing": "🧍‍♂️", + "⊛_woman_standing": "🧍‍♀️", + "⊛_person_kneeling": "🧎", + "⊛_man_kneeling": "🧎‍♂️", + "⊛_woman_kneeling": "🧎‍♀️", + "⊛_man_with_probing_cane": "👨‍🦯", + "⊛_woman_with_probing_cane": "👩‍🦯", + "⊛_man_in_motorized_wheelchair": "👨‍🦼", + "⊛_woman_in_motorized_wheelchair": "👩‍🦼", + "⊛_man_in_manual_wheelchair": "👨‍🦽", + "⊛_woman_in_manual_wheelchair": "👩‍🦽", + "person_running": "🏃", + "man_running": "🏃‍♂️", + "woman_running": "🏃‍♀️", + "woman_dancing": "💃", + "man_dancing": "🕺", + "man_in_suit_levitating": "🕴", + "people_with_bunny_ears": "👯", + "men_with_bunny_ears": "👯‍♂️", + "women_with_bunny_ears": "👯‍♀️", + "person_in_steamy_room": "🧖", + "man_in_steamy_room": "🧖‍♂️", + "woman_in_steamy_room": "🧖‍♀️", + "person_climbing": "🧗", + "man_climbing": "🧗‍♂️", + "woman_climbing": "🧗‍♀️", + "person_fencing": "🤺", + "horse_racing": "🏇", + "skier": "⛷", + "snowboarder": "🏂", + "person_golfing": "🏌", + "man_golfing": "🏌️‍♂️", + "woman_golfing": "🏌️‍♀️", + "person_surfing": "🏄", + "man_surfing": "🏄‍♂️", + "woman_surfing": "🏄‍♀️", + "person_rowing_boat": "🚣", + "man_rowing_boat": "🚣‍♂️", + "woman_rowing_boat": "🚣‍♀️", + "person_swimming": "🏊", + "man_swimming": "🏊‍♂️", + "woman_swimming": "🏊‍♀️", + "person_bouncing_ball": "⛹", + "man_bouncing_ball": "⛹️‍♂️", + "woman_bouncing_ball": "⛹️‍♀️", + "person_lifting_weights": "🏋", + "man_lifting_weights": "🏋️‍♂️", + "woman_lifting_weights": "🏋️‍♀️", + "person_biking": "🚴", + "man_biking": "🚴‍♂️", + "woman_biking": "🚴‍♀️", + "person_mountain_biking": "🚵", + "man_mountain_biking": "🚵‍♂️", + "woman_mountain_biking": "🚵‍♀️", + "person_cartwheeling": "🤸", + "man_cartwheeling": "🤸‍♂️", + "woman_cartwheeling": "🤸‍♀️", + "people_wrestling": "🤼", + "men_wrestling": "🤼‍♂️", + "women_wrestling": "🤼‍♀️", + "person_playing_water_polo": "🤽", + "man_playing_water_polo": "🤽‍♂️", + "woman_playing_water_polo": "🤽‍♀️", + "person_playing_handball": "🤾", + "man_playing_handball": "🤾‍♂️", + "woman_playing_handball": "🤾‍♀️", + "person_juggling": "🤹", + "man_juggling": "🤹‍♂️", + "woman_juggling": "🤹‍♀️", + "person_in_lotus_position": "🧘", + "man_in_lotus_position": "🧘‍♂️", + "woman_in_lotus_position": "🧘‍♀️", + "person_taking_bath": "🛀", + "person_in_bed": "🛌", + "⊛_people_holding_hands": "🧑‍🤝‍🧑", + "women_holding_hands": "👭", + "woman_and_man_holding_hands": "👫", + "men_holding_hands": "👬", + "kiss": "💏", + "kiss_woman,_man": "👩‍❤️‍💋‍👨", + "kiss_man,_man": "👨‍❤️‍💋‍👨", + "kiss_woman,_woman": "👩‍❤️‍💋‍👩", + "couple_with_heart": "💑", + "couple_with_heart_woman,_man": "👩‍❤️‍👨", + "couple_with_heart_man,_man": "👨‍❤️‍👨", + "couple_with_heart_woman,_woman": "👩‍❤️‍👩", + "family": "👪", + "family_man,_woman,_boy": "👨‍👩‍👦", + "family_man,_woman,_girl": "👨‍👩‍👧", + "family_man,_woman,_girl,_boy": "👨‍👩‍👧‍👦", + "family_man,_woman,_boy,_boy": "👨‍👩‍👦‍👦", + "family_man,_woman,_girl,_girl": "👨‍👩‍👧‍👧", + "family_man,_man,_boy": "👨‍👨‍👦", + "family_man,_man,_girl": "👨‍👨‍👧", + "family_man,_man,_girl,_boy": "👨‍👨‍👧‍👦", + "family_man,_man,_boy,_boy": "👨‍👨‍👦‍👦", + "family_man,_man,_girl,_girl": "👨‍👨‍👧‍👧", + "family_woman,_woman,_boy": "👩‍👩‍👦", + "family_woman,_woman,_girl": "👩‍👩‍👧", + "family_woman,_woman,_girl,_boy": "👩‍👩‍👧‍👦", + "family_woman,_woman,_boy,_boy": "👩‍👩‍👦‍👦", + "family_woman,_woman,_girl,_girl": "👩‍👩‍👧‍👧", + "family_man,_boy": "👨‍👦", + "family_man,_boy,_boy": "👨‍👦‍👦", + "family_man,_girl": "👨‍👧", + "family_man,_girl,_boy": "👨‍👧‍👦", + "family_man,_girl,_girl": "👨‍👧‍👧", + "family_woman,_boy": "👩‍👦", + "family_woman,_boy,_boy": "👩‍👦‍👦", + "family_woman,_girl": "👩‍👧", + "family_woman,_girl,_boy": "👩‍👧‍👦", + "family_woman,_girl,_girl": "👩‍👧‍👧", + "speaking_head": "🗣", + "bust_in_silhouette": "👤", + "busts_in_silhouette": "👥", + "footprints": "👣", + "red_hair": "🦰", + "curly_hair": "🦱", + "white_hair": "🦳", + "bald": "🦲", + "monkey_face": "🐵", + "monkey": "🐒", + "gorilla": "🦍", + "⊛_orangutan": "🦧", + "dog_face": "🐶", + "dog": "🐕", + "⊛_guide_dog": "🦮", + "⊛_service_dog": "🐕‍🦺", + "poodle": "🐩", + "wolf": "🐺", + "fox": "🦊", + "raccoon": "🦝", + "cat_face": "🐱", + "cat": "🐈", + "lion": "🦁", + "tiger_face": "🐯", + "tiger": "🐅", + "leopard": "🐆", + "horse_face": "🐴", + "horse": "🐎", + "unicorn": "🦄", + "zebra": "🦓", + "deer": "🦌", + "cow_face": "🐮", + "ox": "🐂", + "water_buffalo": "🐃", + "cow": "🐄", + "pig_face": "🐷", + "pig": "🐖", + "boar": "🐗", + "pig_nose": "🐽", + "ram": "🐏", + "ewe": "🐑", + "goat": "🐐", + "camel": "🐪", + "two-hump_camel": "🐫", + "llama": "🦙", + "giraffe": "🦒", + "elephant": "🐘", + "rhinoceros": "🦏", + "hippopotamus": "🦛", + "mouse_face": "🐭", + "mouse": "🐁", + "rat": "🐀", + "hamster": "🐹", + "rabbit_face": "🐰", + "rabbit": "🐇", + "chipmunk": "🐿", + "hedgehog": "🦔", + "bat": "🦇", + "bear": "🐻", + "koala": "🐨", + "panda": "🐼", + "⊛_sloth": "🦥", + "⊛_otter": "🦦", + "⊛_skunk": "🦨", + "kangaroo": "🦘", + "badger": "🦡", + "paw_prints": "🐾", + "turkey": "🦃", + "chicken": "🐔", + "rooster": "🐓", + "hatching_chick": "🐣", + "baby_chick": "🐤", + "front-facing_baby_chick": "🐥", + "bird": "🐦", + "penguin": "🐧", + "dove": "🕊", + "eagle": "🦅", + "duck": "🦆", + "swan": "🦢", + "owl": "🦉", + "⊛_flamingo": "🦩", + "peacock": "🦚", + "parrot": "🦜", + "frog": "🐸", + "crocodile": "🐊", + "turtle": "🐢", + "lizard": "🦎", + "snake": "🐍", + "dragon_face": "🐲", + "dragon": "🐉", + "sauropod": "🦕", + "T-Rex": "🦖", + "spouting_whale": "🐳", + "whale": "🐋", + "dolphin": "🐬", + "fish": "🐟", + "tropical_fish": "🐠", + "blowfish": "🐡", + "shark": "🦈", + "octopus": "🐙", + "spiral_shell": "🐚", + "snail": "🐌", + "butterfly": "🦋", + "bug": "🐛", + "ant": "🐜", + "honeybee": "🐝", + "lady_beetle": "🐞", + "cricket": "🦗", + "spider": "🕷", + "spider_web": "🕸", + "scorpion": "🦂", + "mosquito": "🦟", + "microbe": "🦠", + "bouquet": "💐", + "cherry_blossom": "🌸", + "white_flower": "💮", + "rosette": "🏵", + "rose": "🌹", + "wilted_flower": "🥀", + "hibiscus": "🌺", + "sunflower": "🌻", + "blossom": "🌼", + "tulip": "🌷", + "seedling": "🌱", + "evergreen_tree": "🌲", + "deciduous_tree": "🌳", + "palm_tree": "🌴", + "cactus": "🌵", + "sheaf_of_rice": "🌾", + "herb": "🌿", + "shamrock": "☘", + "four_leaf_clover": "🍀", + "maple_leaf": "🍁", + "fallen_leaf": "🍂", + "leaf_fluttering_in_wind": "🍃", + "grapes": "🍇", + "melon": "🍈", + "watermelon": "🍉", + "tangerine": "🍊", + "lemon": "🍋", + "banana": "🍌", + "pineapple": "🍍", + "mango": "🥭", + "red_apple": "🍎", + "green_apple": "🍏", + "pear": "🍐", + "peach": "🍑", + "cherries": "🍒", + "strawberry": "🍓", + "kiwi_fruit": "🥝", + "tomato": "🍅", + "coconut": "🥥", + "avocado": "🥑", + "eggplant": "🍆", + "potato": "🥔", + "carrot": "🥕", + "ear_of_corn": "🌽", + "hot_pepper": "🌶", + "cucumber": "🥒", + "leafy_green": "🥬", + "broccoli": "🥦", + "⊛_garlic": "🧄", + "⊛_onion": "🧅", + "mushroom": "🍄", + "peanuts": "🥜", + "chestnut": "🌰", + "bread": "🍞", + "croissant": "🥐", + "baguette_bread": "🥖", + "pretzel": "🥨", + "bagel": "🥯", + "pancakes": "🥞", + "⊛_waffle": "🧇", + "cheese_wedge": "🧀", + "meat_on_bone": "🍖", + "poultry_leg": "🍗", + "cut_of_meat": "🥩", + "bacon": "🥓", + "hamburger": "🍔", + "french_fries": "🍟", + "pizza": "🍕", + "hot_dog": "🌭", + "sandwich": "🥪", + "taco": "🌮", + "burrito": "🌯", + "stuffed_flatbread": "🥙", + "⊛_falafel": "🧆", + "egg": "🥚", + "cooking": "🍳", + "shallow_pan_of_food": "🥘", + "pot_of_food": "🍲", + "bowl_with_spoon": "🥣", + "green_salad": "🥗", + "popcorn": "🍿", + "⊛_butter": "🧈", + "salt": "🧂", + "canned_food": "🥫", + "bento_box": "🍱", + "rice_cracker": "🍘", + "rice_ball": "🍙", + "cooked_rice": "🍚", + "curry_rice": "🍛", + "steaming_bowl": "🍜", + "spaghetti": "🍝", + "roasted_sweet_potato": "🍠", + "oden": "🍢", + "sushi": "🍣", + "fried_shrimp": "🍤", + "fish_cake_with_swirl": "🍥", + "moon_cake": "🥮", + "dango": "🍡", + "dumpling": "🥟", + "fortune_cookie": "🥠", + "takeout_box": "🥡", + "crab": "🦀", + "lobster": "🦞", + "shrimp": "🦐", + "squid": "🦑", + "⊛_oyster": "🦪", + "soft_ice_cream": "🍦", + "shaved_ice": "🍧", + "ice_cream": "🍨", + "doughnut": "🍩", + "cookie": "🍪", + "birthday_cake": "🎂", + "shortcake": "🍰", + "cupcake": "🧁", + "pie": "🥧", + "chocolate_bar": "🍫", + "candy": "🍬", + "lollipop": "🍭", + "custard": "🍮", + "honey_pot": "🍯", + "baby_bottle": "🍼", + "glass_of_milk": "🥛", + "hot_beverage": "☕", + "teacup_without_handle": "🍵", + "sake": "🍶", + "bottle_with_popping_cork": "🍾", + "wine_glass": "🍷", + "cocktail_glass": "🍸", + "tropical_drink": "🍹", + "beer_mug": "🍺", + "clinking_beer_mugs": "🍻", + "clinking_glasses": "🥂", + "tumbler_glass": "🥃", + "cup_with_straw": "🥤", + "⊛_beverage_box": "🧃", + "⊛_mate": "🧉", + "⊛_ice": "🧊", + "chopsticks": "🥢", + "fork_and_knife_with_plate": "🍽", + "fork_and_knife": "🍴", + "spoon": "🥄", + "kitchen_knife": "🔪", + "amphora": "🏺", + "globe_showing_Europe-Africa": "🌍", + "globe_showing_Americas": "🌎", + "globe_showing_Asia-Australia": "🌏", + "globe_with_meridians": "🌐", + "world_map": "🗺", + "map_of_Japan": "🗾", + "compass": "🧭", + "snow-capped_mountain": "🏔", + "mountain": "⛰", + "volcano": "🌋", + "mount_fuji": "🗻", + "camping": "🏕", + "beach_with_umbrella": "🏖", + "desert": "🏜", + "desert_island": "🏝", + "national_park": "🏞", + "stadium": "🏟", + "classical_building": "🏛", + "building_construction": "🏗", + "brick": "🧱", + "houses": "🏘", + "derelict_house": "🏚", + "house": "🏠", + "house_with_garden": "🏡", + "office_building": "🏢", + "Japanese_post_office": "🏣", + "post_office": "🏤", + "hospital": "🏥", + "bank": "🏦", + "hotel": "🏨", + "love_hotel": "🏩", + "convenience_store": "🏪", + "school": "🏫", + "department_store": "🏬", + "factory": "🏭", + "Japanese_castle": "🏯", + "castle": "🏰", + "wedding": "💒", + "Tokyo_tower": "🗼", + "Statue_of_Liberty": "🗽", + "church": "⛪", + "mosque": "🕌", + "⊛_hindu_temple": "🛕", + "synagogue": "🕍", + "shinto_shrine": "⛩", + "kaaba": "🕋", + "fountain": "⛲", + "tent": "⛺", + "foggy": "🌁", + "night_with_stars": "🌃", + "cityscape": "🏙", + "sunrise_over_mountains": "🌄", + "sunrise": "🌅", + "cityscape_at_dusk": "🌆", + "sunset": "🌇", + "bridge_at_night": "🌉", + "hot_springs": "♨", + "carousel_horse": "🎠", + "ferris_wheel": "🎡", + "roller_coaster": "🎢", + "barber_pole": "💈", + "circus_tent": "🎪", + "locomotive": "🚂", + "railway_car": "🚃", + "high-speed_train": "🚄", + "bullet_train": "🚅", + "train": "🚆", + "metro": "🚇", + "light_rail": "🚈", + "station": "🚉", + "tram": "🚊", + "monorail": "🚝", + "mountain_railway": "🚞", + "tram_car": "🚋", + "bus": "🚌", + "oncoming_bus": "🚍", + "trolleybus": "🚎", + "minibus": "🚐", + "ambulance": "🚑", + "fire_engine": "🚒", + "police_car": "🚓", + "oncoming_police_car": "🚔", + "taxi": "🚕", + "oncoming_taxi": "🚖", + "automobile": "🚗", + "oncoming_automobile": "🚘", + "sport_utility_vehicle": "🚙", + "delivery_truck": "🚚", + "articulated_lorry": "🚛", + "tractor": "🚜", + "racing_car": "🏎", + "motorcycle": "🏍", + "motor_scooter": "🛵", + "⊛_manual_wheelchair": "🦽", + "⊛_motorized_wheelchair": "🦼", + "⊛_auto_rickshaw": "🛺", + "bicycle": "🚲", + "kick_scooter": "🛴", + "skateboard": "🛹", + "bus_stop": "🚏", + "motorway": "🛣", + "railway_track": "🛤", + "oil_drum": "🛢", + "fuel_pump": "⛽", + "police_car_light": "🚨", + "horizontal_traffic_light": "🚥", + "vertical_traffic_light": "🚦", + "stop_sign": "🛑", + "construction": "🚧", + "anchor": "⚓", + "sailboat": "⛵", + "canoe": "🛶", + "speedboat": "🚤", + "passenger_ship": "🛳", + "ferry": "⛴", + "motor_boat": "🛥", + "ship": "🚢", + "airplane": "✈", + "small_airplane": "🛩", + "airplane_departure": "🛫", + "airplane_arrival": "🛬", + "⊛_parachute": "🪂", + "seat": "💺", + "helicopter": "🚁", + "suspension_railway": "🚟", + "mountain_cableway": "🚠", + "aerial_tramway": "🚡", + "satellite": "🛰", + "rocket": "🚀", + "flying_saucer": "🛸", + "bellhop_bell": "🛎", + "luggage": "🧳", + "hourglass_done": "⌛", + "hourglass_not_done": "⏳", + "watch": "⌚", + "alarm_clock": "⏰", + "stopwatch": "⏱", + "timer_clock": "⏲", + "mantelpiece_clock": "🕰", + "twelve_o’clock": "🕛", + "twelve-thirty": "🕧", + "one_o’clock": "🕐", + "one-thirty": "🕜", + "two_o’clock": "🕑", + "two-thirty": "🕝", + "three_o’clock": "🕒", + "three-thirty": "🕞", + "four_o’clock": "🕓", + "four-thirty": "🕟", + "five_o’clock": "🕔", + "five-thirty": "🕠", + "six_o’clock": "🕕", + "six-thirty": "🕡", + "seven_o’clock": "🕖", + "seven-thirty": "🕢", + "eight_o’clock": "🕗", + "eight-thirty": "🕣", + "nine_o’clock": "🕘", + "nine-thirty": "🕤", + "ten_o’clock": "🕙", + "ten-thirty": "🕥", + "eleven_o’clock": "🕚", + "eleven-thirty": "🕦", + "new_moon": "🌑", + "waxing_crescent_moon": "🌒", + "first_quarter_moon": "🌓", + "waxing_gibbous_moon": "🌔", + "full_moon": "🌕", + "waning_gibbous_moon": "🌖", + "last_quarter_moon": "🌗", + "waning_crescent_moon": "🌘", + "crescent_moon": "🌙", + "new_moon_face": "🌚", + "first_quarter_moon_face": "🌛", + "last_quarter_moon_face": "🌜", + "thermometer": "🌡", + "sun": "☀", + "full_moon_face": "🌝", + "sun_with_face": "🌞", + "⊛_ringed_planet": "🪐", + "star": "⭐", + "glowing_star": "🌟", + "shooting_star": "🌠", + "milky_way": "🌌", + "cloud": "☁", + "sun_behind_cloud": "⛅", + "cloud_with_lightning_and_rain": "⛈", + "sun_behind_small_cloud": "🌤", + "sun_behind_large_cloud": "🌥", + "sun_behind_rain_cloud": "🌦", + "cloud_with_rain": "🌧", + "cloud_with_snow": "🌨", + "cloud_with_lightning": "🌩", + "tornado": "🌪", + "fog": "🌫", + "wind_face": "🌬", + "cyclone": "🌀", + "rainbow": "🌈", + "closed_umbrella": "🌂", + "umbrella": "☂", + "umbrella_with_rain_drops": "☔", + "umbrella_on_ground": "⛱", + "high_voltage": "⚡", + "snowflake": "❄", + "snowman": "☃", + "snowman_without_snow": "⛄", + "comet": "☄", + "fire": "🔥", + "droplet": "💧", + "water_wave": "🌊", + "jack-o-lantern": "🎃", + "Christmas_tree": "🎄", + "fireworks": "🎆", + "sparkler": "🎇", + "firecracker": "🧨", + "sparkles": "✨", + "balloon": "🎈", + "party_popper": "🎉", + "confetti_ball": "🎊", + "tanabata_tree": "🎋", + "pine_decoration": "🎍", + "Japanese_dolls": "🎎", + "carp_streamer": "🎏", + "wind_chime": "🎐", + "moon_viewing_ceremony": "🎑", + "red_envelope": "🧧", + "ribbon": "🎀", + "wrapped_gift": "🎁", + "reminder_ribbon": "🎗", + "admission_tickets": "🎟", + "ticket": "🎫", + "military_medal": "🎖", + "trophy": "🏆", + "sports_medal": "🏅", + "1st_place_medal": "🥇", + "2nd_place_medal": "🥈", + "3rd_place_medal": "🥉", + "soccer_ball": "⚽", + "baseball": "⚾", + "softball": "🥎", + "basketball": "🏀", + "volleyball": "🏐", + "american_football": "🏈", + "rugby_football": "🏉", + "tennis": "🎾", + "flying_disc": "🥏", + "bowling": "🎳", + "cricket_game": "🏏", + "field_hockey": "🏑", + "ice_hockey": "🏒", + "lacrosse": "🥍", + "ping_pong": "🏓", + "badminton": "🏸", + "boxing_glove": "🥊", + "martial_arts_uniform": "🥋", + "goal_net": "🥅", + "flag_in_hole": "⛳", + "ice_skate": "⛸", + "fishing_pole": "🎣", + "⊛_diving_mask": "🤿", + "running_shirt": "🎽", + "skis": "🎿", + "sled": "🛷", + "curling_stone": "🥌", + "direct_hit": "🎯", + "⊛_yo-yo": "🪀", + "⊛_kite": "🪁", + "pool_8_ball": "🎱", + "crystal_ball": "🔮", + "nazar_amulet": "🧿", + "video_game": "🎮", + "joystick": "🕹", + "slot_machine": "🎰", + "game_die": "🎲", + "puzzle_piece": "🧩", + "teddy_bear": "🧸", + "spade_suit": "♠", + "heart_suit": "♥", + "diamond_suit": "♦", + "club_suit": "♣", + "chess_pawn": "♟", + "joker": "🃏", + "mahjong_red_dragon": "🀄", + "flower_playing_cards": "🎴", + "performing_arts": "🎭", + "framed_picture": "🖼", + "artist_palette": "🎨", + "thread": "🧵", + "yarn": "🧶", + "glasses": "👓", + "sunglasses": "🕶", + "goggles": "🥽", + "lab_coat": "🥼", + "⊛_safety_vest": "🦺", + "necktie": "👔", + "t-shirt": "👕", + "jeans": "👖", + "scarf": "🧣", + "gloves": "🧤", + "coat": "🧥", + "socks": "🧦", + "dress": "👗", + "kimono": "👘", + "⊛_sari": "🥻", + "⊛_one-piece_swimsuit": "🩱", + "⊛_briefs": "🩲", + "⊛_shorts": "🩳", + "bikini": "👙", + "woman’s_clothes": "👚", + "purse": "👛", + "handbag": "👜", + "clutch_bag": "👝", + "shopping_bags": "🛍", + "backpack": "🎒", + "man’s_shoe": "👞", + "running_shoe": "👟", + "hiking_boot": "🥾", + "flat_shoe": "🥿", + "high-heeled_shoe": "👠", + "woman’s_sandal": "👡", + "⊛_ballet_shoes": "🩰", + "woman’s_boot": "👢", + "crown": "👑", + "woman’s_hat": "👒", + "top_hat": "🎩", + "graduation_cap": "🎓", + "billed_cap": "🧢", + "rescue_worker’s_helmet": "⛑", + "prayer_beads": "📿", + "lipstick": "💄", + "ring": "💍", + "gem_stone": "💎", + "muted_speaker": "🔇", + "speaker_low_volume": "🔈", + "speaker_medium_volume": "🔉", + "speaker_high_volume": "🔊", + "loudspeaker": "📢", + "megaphone": "📣", + "postal_horn": "📯", + "bell": "🔔", + "bell_with_slash": "🔕", + "musical_score": "🎼", + "musical_note": "🎵", + "musical_notes": "🎶", + "studio_microphone": "🎙", + "level_slider": "🎚", + "control_knobs": "🎛", + "microphone": "🎤", + "headphone": "🎧", + "radio": "📻", + "saxophone": "🎷", + "guitar": "🎸", + "musical_keyboard": "🎹", + "trumpet": "🎺", + "violin": "🎻", + "⊛_banjo": "🪕", + "drum": "🥁", + "mobile_phone": "📱", + "mobile_phone_with_arrow": "📲", + "telephone": "☎", + "telephone_receiver": "📞", + "pager": "📟", + "fax_machine": "📠", + "battery": "🔋", + "electric_plug": "🔌", + "laptop_computer": "💻", + "desktop_computer": "🖥", + "printer": "🖨", + "keyboard": "⌨", + "computer_mouse": "🖱", + "trackball": "🖲", + "computer_disk": "💽", + "floppy_disk": "💾", + "optical_disk": "💿", + "dvd": "📀", + "abacus": "🧮", + "movie_camera": "🎥", + "film_frames": "🎞", + "film_projector": "📽", + "clapper_board": "🎬", + "television": "📺", + "camera": "📷", + "camera_with_flash": "📸", + "video_camera": "📹", + "videocassette": "📼", + "magnifying_glass_tilted_left": "🔍", + "magnifying_glass_tilted_right": "🔎", + "candle": "🕯", + "light_bulb": "💡", + "flashlight": "🔦", + "red_paper_lantern": "🏮", + "⊛_diya_lamp": "🪔", + "notebook_with_decorative_cover": "📔", + "closed_book": "📕", + "open_book": "📖", + "green_book": "📗", + "blue_book": "📘", + "orange_book": "📙", + "books": "📚", + "notebook": "📓", + "ledger": "📒", + "page_with_curl": "📃", + "scroll": "📜", + "page_facing_up": "📄", + "newspaper": "📰", + "rolled-up_newspaper": "🗞", + "bookmark_tabs": "📑", + "bookmark": "🔖", + "label": "🏷", + "money_bag": "💰", + "yen_banknote": "💴", + "dollar_banknote": "💵", + "euro_banknote": "💶", + "pound_banknote": "💷", + "money_with_wings": "💸", + "credit_card": "💳", + "receipt": "🧾", + "chart_increasing_with_yen": "💹", + "currency_exchange": "💱", + "heavy_dollar_sign": "💲", + "envelope": "✉", + "e-mail": "📧", + "incoming_envelope": "📨", + "envelope_with_arrow": "📩", + "outbox_tray": "📤", + "inbox_tray": "📥", + "package": "📦", + "closed_mailbox_with_raised_flag": "📫", + "closed_mailbox_with_lowered_flag": "📪", + "open_mailbox_with_raised_flag": "📬", + "open_mailbox_with_lowered_flag": "📭", + "postbox": "📮", + "ballot_box_with_ballot": "🗳", + "pencil": "✏", + "black_nib": "✒", + "fountain_pen": "🖋", + "pen": "🖊", + "paintbrush": "🖌", + "crayon": "🖍", + "memo": "📝", + "briefcase": "💼", + "file_folder": "📁", + "open_file_folder": "📂", + "card_index_dividers": "🗂", + "calendar": "📅", + "tear-off_calendar": "📆", + "spiral_notepad": "🗒", + "spiral_calendar": "🗓", + "card_index": "📇", + "chart_increasing": "📈", + "chart_decreasing": "📉", + "bar_chart": "📊", + "clipboard": "📋", + "pushpin": "📌", + "round_pushpin": "📍", + "paperclip": "📎", + "linked_paperclips": "🖇", + "straight_ruler": "📏", + "triangular_ruler": "📐", + "scissors": "✂", + "card_file_box": "🗃", + "file_cabinet": "🗄", + "wastebasket": "🗑", + "locked": "🔒", + "unlocked": "🔓", + "locked_with_pen": "🔏", + "locked_with_key": "🔐", + "key": "🔑", + "old_key": "🗝", + "hammer": "🔨", + "⊛_axe": "🪓", + "pick": "⛏", + "hammer_and_pick": "⚒", + "hammer_and_wrench": "🛠", + "dagger": "🗡", + "crossed_swords": "⚔", + "pistol": "🔫", + "bow_and_arrow": "🏹", + "shield": "🛡", + "wrench": "🔧", + "nut_and_bolt": "🔩", + "gear": "⚙", + "clamp": "🗜", + "balance_scale": "⚖", + "⊛_probing_cane": "🦯", + "link": "🔗", + "chains": "⛓", + "toolbox": "🧰", + "magnet": "🧲", + "alembic": "⚗", + "test_tube": "🧪", + "petri_dish": "🧫", + "dna": "🧬", + "microscope": "🔬", + "telescope": "🔭", + "satellite_antenna": "📡", + "syringe": "💉", + "⊛_drop_of_blood": "🩸", + "pill": "💊", + "⊛_adhesive_bandage": "🩹", + "⊛_stethoscope": "🩺", + "door": "🚪", + "bed": "🛏", + "couch_and_lamp": "🛋", + "⊛_chair": "🪑", + "toilet": "🚽", + "shower": "🚿", + "bathtub": "🛁", + "⊛_razor": "🪒", + "lotion_bottle": "🧴", + "safety_pin": "🧷", + "broom": "🧹", + "basket": "🧺", + "roll_of_paper": "🧻", + "soap": "🧼", + "sponge": "🧽", + "fire_extinguisher": "🧯", + "shopping_cart": "🛒", + "cigarette": "🚬", + "coffin": "⚰", + "funeral_urn": "⚱", + "moai": "🗿", + "ATM_sign": "🏧", + "litter_in_bin_sign": "🚮", + "potable_water": "🚰", + "wheelchair_symbol": "♿", + "men’s_room": "🚹", + "women’s_room": "🚺", + "restroom": "🚻", + "baby_symbol": "🚼", + "water_closet": "🚾", + "passport_control": "🛂", + "customs": "🛃", + "baggage_claim": "🛄", + "left_luggage": "🛅", + "warning": "⚠", + "children_crossing": "🚸", + "no_entry": "⛔", + "prohibited": "🚫", + "no_bicycles": "🚳", + "no_smoking": "🚭", + "no_littering": "🚯", + "non-potable_water": "🚱", + "no_pedestrians": "🚷", + "no_mobile_phones": "📵", + "no_one_under_eighteen": "🔞", + "radioactive": "☢", + "biohazard": "☣", + "up_arrow": "⬆", + "up-right_arrow": "↗", + "right_arrow": "➡", + "down-right_arrow": "↘", + "down_arrow": "⬇", + "down-left_arrow": "↙", + "left_arrow": "⬅", + "up-left_arrow": "↖", + "up-down_arrow": "↕", + "left-right_arrow": "↔", + "right_arrow_curving_left": "↩", + "left_arrow_curving_right": "↪", + "right_arrow_curving_up": "⤴", + "right_arrow_curving_down": "⤵", + "clockwise_vertical_arrows": "🔃", + "counterclockwise_arrows_button": "🔄", + "BACK_arrow": "🔙", + "END_arrow": "🔚", + "ON!_arrow": "🔛", + "SOON_arrow": "🔜", + "TOP_arrow": "🔝", + "place_of_worship": "🛐", + "atom_symbol": "⚛", + "om": "🕉", + "star_of_David": "✡", + "wheel_of_dharma": "☸", + "yin_yang": "☯", + "latin_cross": "✝", + "orthodox_cross": "☦", + "star_and_crescent": "☪", + "peace_symbol": "☮", + "menorah": "🕎", + "dotted_six-pointed_star": "🔯", + "Aries": "♈", + "Taurus": "♉", + "Gemini": "♊", + "Cancer": "♋", + "Leo": "♌", + "Virgo": "♍", + "Libra": "♎", + "Scorpio": "♏", + "Sagittarius": "♐", + "Capricorn": "♑", + "Aquarius": "♒", + "Pisces": "♓", + "Ophiuchus": "⛎", + "shuffle_tracks_button": "🔀", + "repeat_button": "🔁", + "repeat_single_button": "🔂", + "play_button": "▶", + "fast-forward_button": "⏩", + "next_track_button": "⏭", + "play_or_pause_button": "⏯", + "reverse_button": "◀", + "fast_reverse_button": "⏪", + "last_track_button": "⏮", + "upwards_button": "🔼", + "fast_up_button": "⏫", + "downwards_button": "🔽", + "fast_down_button": "⏬", + "pause_button": "⏸", + "stop_button": "⏹", + "record_button": "⏺", + "eject_button": "⏏", + "cinema": "🎦", + "dim_button": "🔅", + "bright_button": "🔆", + "antenna_bars": "📶", + "vibration_mode": "📳", + "mobile_phone_off": "📴", + "female_sign": "♀", + "male_sign": "♂", + "medical_symbol": "⚕", + "infinity": "♾", + "recycling_symbol": "♻", + "fleur-de-lis": "⚜", + "trident_emblem": "🔱", + "name_badge": "📛", + "Japanese_symbol_for_beginner": "🔰", + "hollow_red_circle": "⭕", + "check_mark_button": "✅", + "check_box_with_check": "☑", + "check_mark": "✔", + "multiplication_sign": "✖", + "cross_mark": "❌", + "cross_mark_button": "❎", + "plus_sign": "➕", + "minus_sign": "➖", + "division_sign": "➗", + "curly_loop": "➰", + "double_curly_loop": "➿", + "part_alternation_mark": "〽", + "eight-spoked_asterisk": "✳", + "eight-pointed_star": "✴", + "sparkle": "❇", + "double_exclamation_mark": "‼", + "exclamation_question_mark": "⁉", + "question_mark": "❓", + "white_question_mark": "❔", + "white_exclamation_mark": "❕", + "exclamation_mark": "❗", + "wavy_dash": "〰", + "copyright": "©", + "registered": "®", + "trade_mark": "™", + "keycap_#": "#️⃣", + "keycap_*": "*️⃣", + "keycap_0": "0️⃣", + "keycap_1": "1️⃣", + "keycap_2": "2️⃣", + "keycap_3": "3️⃣", + "keycap_4": "4️⃣", + "keycap_5": "5️⃣", + "keycap_6": "6️⃣", + "keycap_7": "7️⃣", + "keycap_8": "8️⃣", + "keycap_9": "9️⃣", + "keycap_10": "🔟", + "input_latin_uppercase": "🔠", + "input_latin_lowercase": "🔡", + "input_numbers": "🔢", + "input_symbols": "🔣", + "input_latin_letters": "🔤", + "A_button_(blood_type)": "🅰", + "AB_button_(blood_type)": "🆎", + "B_button_(blood_type)": "🅱", + "CL_button": "🆑", + "COOL_button": "🆒", + "FREE_button": "🆓", + "information": "ℹ", + "ID_button": "🆔", + "circled_M": "Ⓜ", + "NEW_button": "🆕", + "NG_button": "🆖", + "O_button_(blood_type)": "🅾", + "OK_button": "🆗", + "P_button": "🅿", + "SOS_button": "🆘", + "UP!_button": "🆙", + "VS_button": "🆚", + "Japanese_“here”_button": "🈁", + "Japanese_“service_charge”_button": "🈂", + "Japanese_“monthly_amount”_button": "🈷", + "Japanese_“not_free_of_charge”_button": "🈶", + "Japanese_“reserved”_button": "🈯", + "Japanese_“bargain”_button": "🉐", + "Japanese_“discount”_button": "🈹", + "Japanese_“free_of_charge”_button": "🈚", + "Japanese_“prohibited”_button": "🈲", + "Japanese_“acceptable”_button": "🉑", + "Japanese_“application”_button": "🈸", + "Japanese_“passing_grade”_button": "🈴", + "Japanese_“vacancy”_button": "🈳", + "Japanese_“congratulations”_button": "㊗", + "Japanese_“secret”_button": "㊙", + "Japanese_“open_for_business”_button": "🈺", + "Japanese_“no_vacancy”_button": "🈵", + "red_circle": "🔴", + "⊛_orange_circle": "🟠", + "⊛_yellow_circle": "🟡", + "⊛_green_circle": "🟢", + "blue_circle": "🔵", + "⊛_purple_circle": "🟣", + "⊛_brown_circle": "🟤", + "black_circle": "⚫", + "white_circle": "⚪", + "⊛_red_square": "🟥", + "⊛_orange_square": "🟧", + "⊛_yellow_square": "🟨", + "⊛_green_square": "🟩", + "⊛_blue_square": "🟦", + "⊛_purple_square": "🟪", + "⊛_brown_square": "🟫", + "black_large_square": "⬛", + "white_large_square": "⬜", + "black_medium_square": "◼", + "white_medium_square": "◻", + "black_medium-small_square": "◾", + "white_medium-small_square": "◽", + "black_small_square": "▪", + "white_small_square": "▫", + "large_orange_diamond": "🔶", + "large_blue_diamond": "🔷", + "small_orange_diamond": "🔸", + "small_blue_diamond": "🔹", + "red_triangle_pointed_up": "🔺", + "red_triangle_pointed_down": "🔻", + "diamond_with_a_dot": "💠", + "radio_button": "🔘", + "white_square_button": "🔳", + "black_square_button": "🔲", + "chequered_flag": "🏁", + "triangular_flag": "🚩", + "crossed_flags": "🎌", + "black_flag": "🏴", + "white_flag": "🏳", + "rainbow_flag": "🏳️‍🌈", + "pirate_flag": "🏴‍☠️", + "flag_Ascension_Island": "🇦🇨", + "flag_Andorra": "🇦🇩", + "flag_United_Arab_Emirates": "🇦🇪", + "flag_Afghanistan": "🇦🇫", + "flag_Antigua_&_Barbuda": "🇦🇬", + "flag_Anguilla": "🇦🇮", + "flag_Albania": "🇦🇱", + "flag_Armenia": "🇦🇲", + "flag_Angola": "🇦🇴", + "flag_Antarctica": "🇦🇶", + "flag_Argentina": "🇦🇷", + "flag_American_Samoa": "🇦🇸", + "flag_Austria": "🇦🇹", + "flag_Australia": "🇦🇺", + "flag_Aruba": "🇦🇼", + "flag_Åland_Islands": "🇦🇽", + "flag_Azerbaijan": "🇦🇿", + "flag_Bosnia_&_Herzegovina": "🇧🇦", + "flag_Barbados": "🇧🇧", + "flag_Bangladesh": "🇧🇩", + "flag_Belgium": "🇧🇪", + "flag_Burkina_Faso": "🇧🇫", + "flag_Bulgaria": "🇧🇬", + "flag_Bahrain": "🇧🇭", + "flag_Burundi": "🇧🇮", + "flag_Benin": "🇧🇯", + "flag_St._Barthélemy": "🇧🇱", + "flag_Bermuda": "🇧🇲", + "flag_Brunei": "🇧🇳", + "flag_Bolivia": "🇧🇴", + "flag_Caribbean_Netherlands": "🇧🇶", + "flag_Brazil": "🇧🇷", + "flag_Bahamas": "🇧🇸", + "flag_Bhutan": "🇧🇹", + "flag_Bouvet_Island": "🇧🇻", + "flag_Botswana": "🇧🇼", + "flag_Belarus": "🇧🇾", + "flag_Belize": "🇧🇿", + "flag_Canada": "🇨🇦", + "flag_Cocos_(Keeling)_Islands": "🇨🇨", + "flag_Congo_-_Kinshasa": "🇨🇩", + "flag_Central_African_Republic": "🇨🇫", + "flag_Congo_-_Brazzaville": "🇨🇬", + "flag_Switzerland": "🇨🇭", + "flag_Côte_d’Ivoire": "🇨🇮", + "flag_Cook_Islands": "🇨🇰", + "flag_Chile": "🇨🇱", + "flag_Cameroon": "🇨🇲", + "flag_China": "🇨🇳", + "flag_Colombia": "🇨🇴", + "flag_Clipperton_Island": "🇨🇵", + "flag_Costa_Rica": "🇨🇷", + "flag_Cuba": "🇨🇺", + "flag_Cape_Verde": "🇨🇻", + "flag_Curaçao": "🇨🇼", + "flag_Christmas_Island": "🇨🇽", + "flag_Cyprus": "🇨🇾", + "flag_Czechia": "🇨🇿", + "flag_Germany": "🇩🇪", + "flag_Diego_Garcia": "🇩🇬", + "flag_Djibouti": "🇩🇯", + "flag_Denmark": "🇩🇰", + "flag_Dominica": "🇩🇲", + "flag_Dominican_Republic": "🇩🇴", + "flag_Algeria": "🇩🇿", + "flag_Ceuta_&_Melilla": "🇪🇦", + "flag_Ecuador": "🇪🇨", + "flag_Estonia": "🇪🇪", + "flag_Egypt": "🇪🇬", + "flag_Western_Sahara": "🇪🇭", + "flag_Eritrea": "🇪🇷", + "flag_Spain": "🇪🇸", + "flag_Ethiopia": "🇪🇹", + "flag_European_Union": "🇪🇺", + "flag_Finland": "🇫🇮", + "flag_Fiji": "🇫🇯", + "flag_Falkland_Islands": "🇫🇰", + "flag_Micronesia": "🇫🇲", + "flag_Faroe_Islands": "🇫🇴", + "flag_France": "🇫🇷", + "flag_Gabon": "🇬🇦", + "flag_United_Kingdom": "🇬🇧", + "flag_Grenada": "🇬🇩", + "flag_Georgia": "🇬🇪", + "flag_French_Guiana": "🇬🇫", + "flag_Guernsey": "🇬🇬", + "flag_Ghana": "🇬🇭", + "flag_Gibraltar": "🇬🇮", + "flag_Greenland": "🇬🇱", + "flag_Gambia": "🇬🇲", + "flag_Guinea": "🇬🇳", + "flag_Guadeloupe": "🇬🇵", + "flag_Equatorial_Guinea": "🇬🇶", + "flag_Greece": "🇬🇷", + "flag_South_Georgia_&_South_Sandwich_Islands": "🇬🇸", + "flag_Guatemala": "🇬🇹", + "flag_Guam": "🇬🇺", + "flag_Guinea-Bissau": "🇬🇼", + "flag_Guyana": "🇬🇾", + "flag_Hong_Kong_SAR_China": "🇭🇰", + "flag_Heard_&_McDonald_Islands": "🇭🇲", + "flag_Honduras": "🇭🇳", + "flag_Croatia": "🇭🇷", + "flag_Haiti": "🇭🇹", + "flag_Hungary": "🇭🇺", + "flag_Canary_Islands": "🇮🇨", + "flag_Indonesia": "🇮🇩", + "flag_Ireland": "🇮🇪", + "flag_Israel": "🇮🇱", + "flag_Isle_of_Man": "🇮🇲", + "flag_India": "🇮🇳", + "flag_British_Indian_Ocean_Territory": "🇮🇴", + "flag_Iraq": "🇮🇶", + "flag_Iran": "🇮🇷", + "flag_Iceland": "🇮🇸", + "flag_Italy": "🇮🇹", + "flag_Jersey": "🇯🇪", + "flag_Jamaica": "🇯🇲", + "flag_Jordan": "🇯🇴", + "flag_Japan": "🇯🇵", + "flag_Kenya": "🇰🇪", + "flag_Kyrgyzstan": "🇰🇬", + "flag_Cambodia": "🇰🇭", + "flag_Kiribati": "🇰🇮", + "flag_Comoros": "🇰🇲", + "flag_St._Kitts_&_Nevis": "🇰🇳", + "flag_North_Korea": "🇰🇵", + "flag_South_Korea": "🇰🇷", + "flag_Kuwait": "🇰🇼", + "flag_Cayman_Islands": "🇰🇾", + "flag_Kazakhstan": "🇰🇿", + "flag_Laos": "🇱🇦", + "flag_Lebanon": "🇱🇧", + "flag_St._Lucia": "🇱🇨", + "flag_Liechtenstein": "🇱🇮", + "flag_Sri_Lanka": "🇱🇰", + "flag_Liberia": "🇱🇷", + "flag_Lesotho": "🇱🇸", + "flag_Lithuania": "🇱🇹", + "flag_Luxembourg": "🇱🇺", + "flag_Latvia": "🇱🇻", + "flag_Libya": "🇱🇾", + "flag_Morocco": "🇲🇦", + "flag_Monaco": "🇲🇨", + "flag_Moldova": "🇲🇩", + "flag_Montenegro": "🇲🇪", + "flag_St._Martin": "🇲🇫", + "flag_Madagascar": "🇲🇬", + "flag_Marshall_Islands": "🇲🇭", + "flag_North_Macedonia": "🇲🇰", + "flag_Mali": "🇲🇱", + "flag_Myanmar_(Burma)": "🇲🇲", + "flag_Mongolia": "🇲🇳", + "flag_Macao_SAR_China": "🇲🇴", + "flag_Northern_Mariana_Islands": "🇲🇵", + "flag_Martinique": "🇲🇶", + "flag_Mauritania": "🇲🇷", + "flag_Montserrat": "🇲🇸", + "flag_Malta": "🇲🇹", + "flag_Mauritius": "🇲🇺", + "flag_Maldives": "🇲🇻", + "flag_Malawi": "🇲🇼", + "flag_Mexico": "🇲🇽", + "flag_Malaysia": "🇲🇾", + "flag_Mozambique": "🇲🇿", + "flag_Namibia": "🇳🇦", + "flag_New_Caledonia": "🇳🇨", + "flag_Niger": "🇳🇪", + "flag_Norfolk_Island": "🇳🇫", + "flag_Nigeria": "🇳🇬", + "flag_Nicaragua": "🇳🇮", + "flag_Netherlands": "🇳🇱", + "flag_Norway": "🇳🇴", + "flag_Nepal": "🇳🇵", + "flag_Nauru": "🇳🇷", + "flag_Niue": "🇳🇺", + "flag_New_Zealand": "🇳🇿", + "flag_Oman": "🇴🇲", + "flag_Panama": "🇵🇦", + "flag_Peru": "🇵🇪", + "flag_French_Polynesia": "🇵🇫", + "flag_Papua_New_Guinea": "🇵🇬", + "flag_Philippines": "🇵🇭", + "flag_Pakistan": "🇵🇰", + "flag_Poland": "🇵🇱", + "flag_St._Pierre_&_Miquelon": "🇵🇲", + "flag_Pitcairn_Islands": "🇵🇳", + "flag_Puerto_Rico": "🇵🇷", + "flag_Palestinian_Territories": "🇵🇸", + "flag_Portugal": "🇵🇹", + "flag_Palau": "🇵🇼", + "flag_Paraguay": "🇵🇾", + "flag_Qatar": "🇶🇦", + "flag_Réunion": "🇷🇪", + "flag_Romania": "🇷🇴", + "flag_Serbia": "🇷🇸", + "flag_Russia": "🇷🇺", + "flag_Rwanda": "🇷🇼", + "flag_Saudi_Arabia": "🇸🇦", + "flag_Solomon_Islands": "🇸🇧", + "flag_Seychelles": "🇸🇨", + "flag_Sudan": "🇸🇩", + "flag_Sweden": "🇸🇪", + "flag_Singapore": "🇸🇬", + "flag_St._Helena": "🇸🇭", + "flag_Slovenia": "🇸🇮", + "flag_Svalbard_&_Jan_Mayen": "🇸🇯", + "flag_Slovakia": "🇸🇰", + "flag_Sierra_Leone": "🇸🇱", + "flag_San_Marino": "🇸🇲", + "flag_Senegal": "🇸🇳", + "flag_Somalia": "🇸🇴", + "flag_Suriname": "🇸🇷", + "flag_South_Sudan": "🇸🇸", + "flag_São_Tomé_&_Príncipe": "🇸🇹", + "flag_El_Salvador": "🇸🇻", + "flag_Sint_Maarten": "🇸🇽", + "flag_Syria": "🇸🇾", + "flag_Eswatini": "🇸🇿", + "flag_Tristan_da_Cunha": "🇹🇦", + "flag_Turks_&_Caicos_Islands": "🇹🇨", + "flag_Chad": "🇹🇩", + "flag_French_Southern_Territories": "🇹🇫", + "flag_Togo": "🇹🇬", + "flag_Thailand": "🇹🇭", + "flag_Tajikistan": "🇹🇯", + "flag_Tokelau": "🇹🇰", + "flag_Timor-Leste": "🇹🇱", + "flag_Turkmenistan": "🇹🇲", + "flag_Tunisia": "🇹🇳", + "flag_Tonga": "🇹🇴", + "flag_Turkey": "🇹🇷", + "flag_Trinidad_&_Tobago": "🇹🇹", + "flag_Tuvalu": "🇹🇻", + "flag_Taiwan": "🇹🇼", + "flag_Tanzania": "🇹🇿", + "flag_Ukraine": "🇺🇦", + "flag_Uganda": "🇺🇬", + "flag_U.S._Outlying_Islands": "🇺🇲", + "flag_United_Nations": "🇺🇳", + "flag_United_States": "🇺🇸", + "flag_Uruguay": "🇺🇾", + "flag_Uzbekistan": "🇺🇿", + "flag_Vatican_City": "🇻🇦", + "flag_St._Vincent_&_Grenadines": "🇻🇨", + "flag_Venezuela": "🇻🇪", + "flag_British_Virgin_Islands": "🇻🇬", + "flag_U.S._Virgin_Islands": "🇻🇮", + "flag_Vietnam": "🇻🇳", + "flag_Vanuatu": "🇻🇺", + "flag_Wallis_&_Futuna": "🇼🇫", + "flag_Samoa": "🇼🇸", + "flag_Kosovo": "🇽🇰", + "flag_Yemen": "🇾🇪", + "flag_Mayotte": "🇾🇹", + "flag_South_Africa": "🇿🇦", + "flag_Zambia": "🇿🇲", + "flag_Zimbabwe": "🇿🇼", + "flag_England": "🏴󠁧󠁢󠁥󠁮󠁧󠁿", + "flag_Scotland": "🏴󠁧󠁢󠁳󠁣󠁴󠁿", + "flag_Wales": "🏴󠁧󠁢󠁷󠁬󠁳󠁿" +} diff --git a/ui/src/utils.ts b/ui/src/utils.ts index fe1b2b55..6477ca8a 100644 --- a/ui/src/utils.ts +++ b/ui/src/utils.ts @@ -11,8 +11,8 @@ import { UserOperation, Comment, User, SortType, ListingType } from './interface import * as markdown_it from 'markdown-it'; declare var markdownitEmoji: any; import * as markdown_it_container from 'markdown-it-container'; -import { emoji_list } from './emoji_list'; import * as twemoji from 'twemoji'; +import { twemojis } from './twemojis'; export const repoUrl = 'https://github.com/dessalines/lemmy'; export const imageUploadUrl = 'https://postimages.org/'; @@ -49,7 +49,9 @@ export const md = new markdown_it({ return '\n'; } } -}).use(markdownitEmoji); +}).use(markdownitEmoji, { + defs: twemojis +}); md.renderer.rules.emoji = function(token, idx) { return twemoji.parse(token[idx].content); @@ -195,15 +197,6 @@ export function getLanguage(): string { return (navigator.language || navigator.userLanguage); } -export function emojiMentionList(): Array<{}> { - let keyedEmojis = []; - for (let e of emoji_list) { - let obj = {key: e}; - keyedEmojis.push(obj); - } - return keyedEmojis; -} - export function getMomentLanguage(): string { let lang = getLanguage(); if (lang.startsWith('zh')) { -- 2.44.1