@underverse-ui/underverse 1.0.203 โ†’ 1.0.205

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.
Files changed (39) hide show
  1. package/README.md +8 -2
  2. package/api-reference.json +1 -1
  3. package/dist/EmojiPicker-BAWP2RAS.js +14 -0
  4. package/dist/EmojiPicker-BAWP2RAS.js.map +1 -0
  5. package/dist/chunk-2V6A6PGI.js +14614 -0
  6. package/dist/chunk-2V6A6PGI.js.map +1 -0
  7. package/dist/chunk-4TYW5K4J.js +769 -0
  8. package/dist/chunk-4TYW5K4J.js.map +1 -0
  9. package/dist/chunk-7U3Y7R7U.js +199 -0
  10. package/dist/chunk-7U3Y7R7U.js.map +1 -0
  11. package/dist/chunk-IXEFOLUD.js +74 -0
  12. package/dist/chunk-IXEFOLUD.js.map +1 -0
  13. package/dist/chunk-MJV7ETJM.js +4501 -0
  14. package/dist/chunk-MJV7ETJM.js.map +1 -0
  15. package/dist/chunk-NSBPE2FW.js +17 -0
  16. package/dist/chunk-NSBPE2FW.js.map +1 -0
  17. package/dist/chunk-XJR7E6QB.js +2467 -0
  18. package/dist/chunk-XJR7E6QB.js.map +1 -0
  19. package/dist/chunk-Z63YNF3N.js +206 -0
  20. package/dist/chunk-Z63YNF3N.js.map +1 -0
  21. package/dist/emojis-I5AMZ3EE.js +8 -0
  22. package/dist/emojis-I5AMZ3EE.js.map +1 -0
  23. package/dist/index.cjs +36711 -35405
  24. package/dist/index.cjs.map +1 -1
  25. package/dist/index.d.cts +3 -134
  26. package/dist/index.d.ts +3 -134
  27. package/dist/index.js +2801 -25581
  28. package/dist/index.js.map +1 -1
  29. package/dist/lowlight-runtime-Y43Y7YTW.js +11 -0
  30. package/dist/lowlight-runtime-Y43Y7YTW.js.map +1 -0
  31. package/dist/menu-bar-NDAP3SOR.js +947 -0
  32. package/dist/menu-bar-NDAP3SOR.js.map +1 -0
  33. package/dist/ueditor.cjs +23631 -0
  34. package/dist/ueditor.cjs.map +1 -0
  35. package/dist/ueditor.d.cts +142 -0
  36. package/dist/ueditor.d.ts +142 -0
  37. package/dist/ueditor.js +20 -0
  38. package/dist/ueditor.js.map +1 -0
  39. package/package.json +54 -46
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/UEditor/emojis.ts"],"sourcesContent":["export interface EmojiData {\n emoji: string;\n name: string; // Short name for search/id\n}\n\nexport interface EmojiCategory {\n id: string;\n name: string;\n emojis: EmojiData[];\n}\n\nexport const EMOJI_LIST: EmojiCategory[] = [\n {\n id: \"smileys_people\",\n name: \"Smileys & People\",\n emojis: [\n { emoji: \"๐Ÿ˜€\", name: \"grinning_face\" },\n { emoji: \"๐Ÿ˜ƒ\", name: \"big_eyes_grin\" },\n { emoji: \"๐Ÿ˜„\", name: \"smiling_eyes_grin\" },\n { emoji: \"๐Ÿ˜\", name: \"beaming_smile\" },\n { emoji: \"๐Ÿ˜†\", name: \"squinting_laugh\" },\n { emoji: \"๐Ÿ˜…\", name: \"sweat_grin\" },\n { emoji: \"๐Ÿ˜‚\", name: \"joy_tears\" },\n { emoji: \"๐Ÿคฃ\", name: \"rofl_laugh\" },\n { emoji: \"๐Ÿฅฒ\", name: \"tear_smile\" },\n { emoji: \"โ˜บ๏ธ\", name: \"warm_smile\" },\n { emoji: \"๐Ÿ˜Š\", name: \"blush_smile\" },\n { emoji: \"๐Ÿ˜‡\", name: \"halo_smile\" },\n { emoji: \"๐Ÿ™‚\", name: \"slight_smile\" },\n { emoji: \"๐Ÿ™ƒ\", name: \"upside_down\" },\n { emoji: \"๐Ÿ˜‰\", name: \"wink_face\" },\n { emoji: \"๐Ÿ˜Œ\", name: \"relieved_face\" },\n { emoji: \"๐Ÿ˜\", name: \"heart_eyes\" },\n { emoji: \"๐Ÿฅฐ\", name: \"hearts_face\" },\n { emoji: \"๐Ÿ˜˜\", name: \"blow_kiss\" },\n { emoji: \"๐Ÿ˜—\", name: \"kissing_face\" },\n { emoji: \"๐Ÿ˜™\", name: \"smiling_kiss\" },\n { emoji: \"๐Ÿ˜š\", name: \"closed_eyes_kiss\" },\n { emoji: \"๐Ÿ˜‹\", name: \"yummy_face\" },\n { emoji: \"๐Ÿ˜›\", name: \"tongue_out\" },\n { emoji: \"๐Ÿ˜\", name: \"squinting_tongue\" },\n { emoji: \"๐Ÿ˜œ\", name: \"wink_tongue\" },\n { emoji: \"๐Ÿคช\", name: \"zany_face\" },\n { emoji: \"๐Ÿคจ\", name: \"raised_eyebrow\" },\n { emoji: \"๐Ÿง\", name: \"monocle_face\" },\n { emoji: \"๐Ÿค“\", name: \"nerd_face\" },\n { emoji: \"๐Ÿ˜Ž\", name: \"sunglasses_face\" },\n { emoji: \"๐Ÿฅธ\", name: \"disguised_face\" },\n { emoji: \"๐Ÿคฉ\", name: \"star_struck\" },\n { emoji: \"๐Ÿฅณ\", name: \"partying_face\" },\n { emoji: \"๐Ÿ˜\", name: \"smirking_face\" },\n { emoji: \"๐Ÿ˜’\", name: \"unamused_face\" },\n { emoji: \"๐Ÿ˜ž\", name: \"disappointed_face\" },\n { emoji: \"๐Ÿ˜”\", name: \"pensive_face\" },\n { emoji: \"๐Ÿ˜Ÿ\", name: \"worried_face\" },\n { emoji: \"๐Ÿ˜•\", name: \"confused_face\" },\n { emoji: \"๐Ÿ™\", name: \"slight_frown\" },\n { emoji: \"โ˜น๏ธ\", name: \"frowning_face\" },\n { emoji: \"๐Ÿ˜ฃ\", name: \"persevering_face\" },\n { emoji: \"๐Ÿ˜–\", name: \"confounded_face\" },\n { emoji: \"๐Ÿ˜ซ\", name: \"tired_face\" },\n { emoji: \"๐Ÿ˜ฉ\", name: \"weary_face\" },\n { emoji: \"๐Ÿฅบ\", name: \"pleading_face\" },\n { emoji: \"๐Ÿ˜ข\", name: \"crying_face\" },\n { emoji: \"๐Ÿ˜ญ\", name: \"loudly_crying\" },\n { emoji: \"๐Ÿ˜ค\", name: \"steam_nose\" },\n { emoji: \"๐Ÿ˜ก\", name: \"pouting_face\" },\n { emoji: \"๐Ÿคฌ\", name: \"cursing_face\" },\n { emoji: \"๐Ÿคฏ\", name: \"exploding_head\" },\n { emoji: \"๐Ÿ˜ณ\", name: \"flushed_face\" },\n { emoji: \"๐Ÿฅต\", name: \"hot_face\" },\n { emoji: \"๐Ÿฅถ\", name: \"cold_face\" },\n { emoji: \"๐Ÿ˜ฑ\", name: \"screaming_fear\" },\n { emoji: \"๐Ÿ˜จ\", name: \"fearful_face\" },\n { emoji: \"๐Ÿ˜ฐ\", name: \"anxious_sweat\" },\n { emoji: \"๐Ÿ˜ฅ\", name: \"relieved_sad\" },\n { emoji: \"๐Ÿ˜“\", name: \"downcast_sweat\" },\n { emoji: \"๐Ÿค—\", name: \"hugging_face\" },\n { emoji: \"๐Ÿค”\", name: \"thinking_face\" },\n { emoji: \"๐Ÿคญ\", name: \"hand_over_mouth\" },\n { emoji: \"๐Ÿคซ\", name: \"shushing_face\" },\n { emoji: \"๐Ÿคฅ\", name: \"lying_face\" },\n { emoji: \"๐Ÿ˜ถ\", name: \"no_mouth\" },\n { emoji: \"๐Ÿ˜\", name: \"neutral_face\" },\n { emoji: \"๐Ÿ˜‘\", name: \"expressionless_face\" },\n { emoji: \"๐Ÿ˜ฌ\", name: \"grimacing_face\" },\n { emoji: \"๐Ÿ™„\", name: \"rolling_eyes\" },\n { emoji: \"๐Ÿ˜ฏ\", name: \"hushed_face\" },\n { emoji: \"๐Ÿ˜ฆ\", name: \"frowning_open\" },\n { emoji: \"๐Ÿ˜ง\", name: \"anguished_face\" },\n { emoji: \"๐Ÿ˜ฎ\", name: \"open_mouth\" },\n { emoji: \"๐Ÿ˜ฒ\", name: \"astonished_face\" },\n { emoji: \"๐Ÿฅฑ\", name: \"yawning_face\" },\n { emoji: \"๐Ÿ˜ด\", name: \"sleeping_face\" },\n { emoji: \"๐Ÿคค\", name: \"drooling_face\" },\n { emoji: \"๐Ÿ˜ช\", name: \"sleepy_face\" },\n { emoji: \"๐Ÿ˜ต\", name: \"dizzy_face\" },\n { emoji: \"๐Ÿค\", name: \"zipper_mouth\" },\n { emoji: \"๐Ÿฅด\", name: \"woozy_face\" },\n { emoji: \"๐Ÿคข\", name: \"nauseated_face\" },\n { emoji: \"๐Ÿคฎ\", name: \"face_vomiting\" },\n { emoji: \"๐Ÿคง\", name: \"sneezing_face\" },\n { emoji: \"๐Ÿ˜ท\", name: \"medical_mask\" },\n { emoji: \"๐Ÿค’\", name: \"thermometer_face\" },\n { emoji: \"๐Ÿค•\", name: \"bandage_head\" },\n { emoji: \"๐Ÿค‘\", name: \"money_mouth\" },\n { emoji: \"๐Ÿค \", name: \"cowboy_hat\" },\n { emoji: \"๐Ÿ˜ˆ\", name: \"devil_smile\" },\n { emoji: \"๐Ÿ‘ฟ\", name: \"devil_angry\" },\n { emoji: \"๐Ÿ‘น\", name: \"ogre_mask\" },\n { emoji: \"๐Ÿ‘บ\", name: \"goblin_mask\" },\n { emoji: \"๐Ÿคก\", name: \"clown_face\" },\n { emoji: \"๐Ÿ’ฉ\", name: \"poop_pile\" },\n { emoji: \"๐Ÿ‘ป\", name: \"ghost_spooky\" },\n { emoji: \"๐Ÿ’€\", name: \"skull_head\" },\n { emoji: \"โ˜ ๏ธ\", name: \"skull_crossbones\" },\n { emoji: \"๐Ÿ‘ฝ\", name: \"alien_face\" },\n { emoji: \"๐Ÿ‘พ\", name: \"alien_monster\" },\n { emoji: \"๐Ÿค–\", name: \"robot_face\" },\n { emoji: \"๐ŸŽƒ\", name: \"pumpkin_jack\" },\n { emoji: \"๐Ÿ˜บ\", name: \"cat_grin\" },\n { emoji: \"๐Ÿ˜ธ\", name: \"cat_smile\" },\n { emoji: \"๐Ÿ˜น\", name: \"cat_joy\" },\n { emoji: \"๐Ÿ˜ป\", name: \"cat_heart_eyes\" },\n { emoji: \"๐Ÿ˜ผ\", name: \"cat_smirk\" },\n { emoji: \"๐Ÿ˜ฝ\", name: \"cat_kiss\" },\n { emoji: \"๐Ÿ™€\", name: \"cat_weary\" },\n { emoji: \"๐Ÿ˜ฟ\", name: \"cat_crying\" },\n { emoji: \"๐Ÿ˜พ\", name: \"cat_pouting\" },\n { emoji: \"๐Ÿ‘‹\", name: \"waving_hand\" },\n { emoji: \"๐Ÿคš\", name: \"raised_back_hand\" },\n { emoji: \"๐Ÿ–๏ธ\", name: \"splayed_fingers\" },\n { emoji: \"โœ‹\", name: \"raised_hand\" },\n { emoji: \"๐Ÿ––\", name: \"vulcan_salute\" },\n { emoji: \"๐Ÿ‘Œ\", name: \"ok_hand\" },\n { emoji: \"๐ŸคŒ\", name: \"pinched_fingers\" },\n { emoji: \"๐Ÿค\", name: \"pinching_hand\" },\n { emoji: \"โœŒ๏ธ\", name: \"victory_hand\" },\n { emoji: \"๐Ÿคž\", name: \"crossed_fingers\" },\n { emoji: \"๐ŸคŸ\", name: \"love_you\" },\n { emoji: \"๐Ÿค˜\", name: \"rock_on\" },\n { emoji: \"๐Ÿค™\", name: \"call_me\" },\n { emoji: \"๐Ÿ‘ˆ\", name: \"point_left\" },\n { emoji: \"๐Ÿ‘‰\", name: \"point_right\" },\n { emoji: \"๐Ÿ‘†\", name: \"point_up\" },\n { emoji: \"๐Ÿ–•\", name: \"middle_finger\" },\n { emoji: \"๐Ÿ‘‡\", name: \"point_down\" },\n { emoji: \"โ˜๏ธ\", name: \"index_up\" },\n { emoji: \"๐Ÿ‘\", name: \"thumbs_up\" },\n { emoji: \"๐Ÿ‘Ž\", name: \"thumbs_down\" },\n { emoji: \"โœŠ\", name: \"raised_fist\" },\n { emoji: \"๐Ÿ‘Š\", name: \"oncoming_fist\" },\n { emoji: \"๐Ÿค›\", name: \"left_fist\" },\n { emoji: \"๐Ÿคœ\", name: \"right_fist\" },\n { emoji: \"๐Ÿ‘\", name: \"clapping_hands\" },\n { emoji: \"๐Ÿ™Œ\", name: \"raising_hands\" },\n { emoji: \"๐Ÿ‘\", name: \"open_hands\" },\n { emoji: \"๐Ÿคฒ\", name: \"palms_up\" },\n { emoji: \"๐Ÿค\", name: \"handshake\" },\n { emoji: \"๐Ÿ™\", name: \"folded_hands\" },\n { emoji: \"โœ๏ธ\", name: \"writing_hand\" },\n { emoji: \"๐Ÿ’…\", name: \"nail_polish\" },\n { emoji: \"๐Ÿคณ\", name: \"selfie_hand\" },\n { emoji: \"๐Ÿ’ช\", name: \"flex_biceps\" },\n { emoji: \"๐Ÿฆพ\", name: \"robot_arm\" },\n { emoji: \"๐Ÿฆฟ\", name: \"robot_leg\" },\n { emoji: \"๐Ÿฆต\", name: \"leg_foot\" },\n { emoji: \"๐Ÿฆถ\", name: \"foot_leg\" },\n { emoji: \"๐Ÿ‘‚\", name: \"ear_listen\" },\n { emoji: \"๐Ÿฆป\", name: \"ear_hearing_aid\" },\n { emoji: \"๐Ÿ‘ƒ\", name: \"nose_smell\" },\n { emoji: \"๐Ÿง \", name: \"brain_mind\" },\n { emoji: \"๐Ÿซ€\", name: \"anatomical_heart\" },\n { emoji: \"๐Ÿซ\", name: \"lungs_organ\" },\n { emoji: \"๐Ÿฆท\", name: \"tooth_dentist\" },\n { emoji: \"๐Ÿฆด\", name: \"bone_skeleton\" },\n { emoji: \"๐Ÿ‘€\", name: \"eyes_look\" },\n { emoji: \"๐Ÿ‘๏ธ\", name: \"eye_look\" },\n { emoji: \"๐Ÿ‘…\", name: \"tongue_lick\" },\n { emoji: \"๐Ÿ‘„\", name: \"mouth_lips\" },\n { emoji: \"๐Ÿ’‹\", name: \"kiss_mark\" },\n { emoji: \"๐Ÿฉธ\", name: \"blood_drop\" },\n { emoji: \"๐Ÿ‘ถ\", name: \"baby_face\" },\n { emoji: \"๐Ÿง’\", name: \"child_face\" },\n { emoji: \"๐Ÿ‘ฆ\", name: \"boy_face\" },\n { emoji: \"๐Ÿ‘ง\", name: \"girl_face\" },\n { emoji: \"๐Ÿง‘\", name: \"person_face\" },\n { emoji: \"๐Ÿ‘ฑ\", name: \"blond_person\" },\n { emoji: \"๐Ÿ‘จ\", name: \"man_face\" },\n { emoji: \"๐Ÿง”\", name: \"beard_person\" },\n { emoji: \"๐Ÿ‘ฉ\", name: \"woman_face\" },\n { emoji: \"๐Ÿง“\", name: \"older_person\" },\n { emoji: \"๐Ÿ‘ด\", name: \"old_man\" },\n { emoji: \"๐Ÿ‘ต\", name: \"old_woman\" },\n { emoji: \"๐Ÿ‘ฒ\", name: \"skullcap_person\" },\n { emoji: \"๐Ÿ‘ณ\", name: \"turban_person\" },\n { emoji: \"๐Ÿง•\", name: \"headscarf_woman\" },\n { emoji: \"๐Ÿ‘ฎ\", name: \"police_officer\" },\n { emoji: \"๐Ÿ‘ท\", name: \"construction_worker\" },\n { emoji: \"๐Ÿ’‚\", name: \"guard_person\" },\n { emoji: \"๐Ÿ•ต๏ธ\", name: \"detective_spy\" },\n { emoji: \"๐Ÿ‘ฉโ€โš•๏ธ\", name: \"woman_doctor\" },\n { emoji: \"๐Ÿ‘จโ€โš•๏ธ\", name: \"man_doctor\" },\n { emoji: \"๐Ÿ‘ฉโ€๐ŸŒพ\", name: \"woman_farmer\" },\n { emoji: \"๐Ÿ‘จโ€๐ŸŒพ\", name: \"man_farmer\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿณ\", name: \"woman_cook\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿณ\", name: \"man_cook\" },\n { emoji: \"๐Ÿ‘ฉโ€๐ŸŽ“\", name: \"woman_student\" },\n { emoji: \"๐Ÿ‘จโ€๐ŸŽ“\", name: \"man_student\" },\n { emoji: \"๐Ÿ‘ฉโ€๐ŸŽค\", name: \"woman_singer\" },\n { emoji: \"๐Ÿ‘จโ€๐ŸŽค\", name: \"man_singer\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿซ\", name: \"woman_teacher\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿซ\", name: \"man_teacher\" },\n { emoji: \"๐Ÿ‘ฉโ€\", name: \"woman_factory\" },\n { emoji: \"๐Ÿ‘จโ€\", name: \"man_factory\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿ’ป\", name: \"woman_tech\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿ’ป\", name: \"man_tech\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿ’ผ\", name: \"woman_office\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿ’ผ\", name: \"man_office\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿ”ง\", name: \"woman_mechanic\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿ”ง\", name: \"man_mechanic\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿ”ฌ\", name: \"woman_scientist\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿ”ฌ\", name: \"man_scientist\" },\n { emoji: \"๐Ÿ‘ฉโ€๐ŸŽจ\", name: \"woman_artist\" },\n { emoji: \"๐Ÿ‘จโ€๐ŸŽจ\", name: \"man_artist\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿš’\", name: \"woman_firefighter\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿš’\", name: \"man_firefighter\" },\n { emoji: \"๐Ÿ‘ฉโ€โœˆ๏ธ\", name: \"woman_pilot\" },\n { emoji: \"๐Ÿ‘จโ€โœˆ๏ธ\", name: \"man_pilot\" },\n { emoji: \"๐Ÿ‘ฉโ€๐Ÿš€\", name: \"woman_astronaut\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿš€\", name: \"man_astronaut\" },\n { emoji: \"๐Ÿ‘ฉโ€โš–๏ธ\", name: \"woman_judge\" },\n { emoji: \"๐Ÿ‘จโ€โš–๏ธ\", name: \"man_judge\" },\n { emoji: \"๐Ÿ‘ฐ\", name: \"bride_wedding\" },\n { emoji: \"๐Ÿคต\", name: \"groom_tuxedo\" },\n { emoji: \"๐Ÿ‘ธ\", name: \"princess_crown\" },\n { emoji: \"๐Ÿคด\", name: \"prince_crown\" },\n { emoji: \"๐Ÿฆธ\", name: \"superhero_person\" },\n { emoji: \"๐Ÿฆน\", name: \"supervillain_person\" },\n { emoji: \"๐Ÿคถ\", name: \"mrs_claus\" },\n { emoji: \"๐ŸŽ…\", name: \"santa_claus\" },\n { emoji: \"๐Ÿง™\", name: \"mage_wizard\" },\n { emoji: \"๐Ÿง\", name: \"elf_fantasy\" },\n { emoji: \"๐Ÿง›\", name: \"vampire_dracula\" },\n { emoji: \"๐ŸงŸ\", name: \"zombie_undead\" },\n { emoji: \"๐Ÿงž\", name: \"genie_magic\" },\n { emoji: \"๐Ÿงœ\", name: \"mermaid_person\" },\n { emoji: \"๐Ÿงš\", name: \"fairy_magic\" },\n { emoji: \"๐Ÿ‘ผ\", name: \"angel_baby\" },\n { emoji: \"๐Ÿคฐ\", name: \"pregnant_woman\" },\n { emoji: \"๐Ÿคฑ\", name: \"breast_feeding\" },\n { emoji: \"๐Ÿ™‡\", name: \"bowing_person\" },\n { emoji: \"๐Ÿ’\", name: \"tipping_hand\" },\n { emoji: \"๐Ÿ™…\", name: \"gesturing_no\" },\n { emoji: \"๐Ÿ™†\", name: \"gesturing_ok\" },\n { emoji: \"๐Ÿ™‹\", name: \"raising_hand\" },\n { emoji: \"๐Ÿง\", name: \"deaf_person\" },\n { emoji: \"๐Ÿคฆ\", name: \"face_palm\" },\n { emoji: \"๐Ÿคท\", name: \"shrugging_person\" },\n { emoji: \"๐Ÿ™Ž\", name: \"pouting_person\" },\n { emoji: \"๐Ÿ™\", name: \"frowning_person\" },\n { emoji: \"๐Ÿ’‡\", name: \"haircut_person\" },\n { emoji: \"๐Ÿ’†\", name: \"massage_person\" },\n { emoji: \"๐Ÿง–\", name: \"sauna_person\" },\n { emoji: \"๐Ÿ’ƒ\", name: \"woman_dancing\" },\n { emoji: \"๐Ÿ•บ\", name: \"man_dancing\" },\n { emoji: \"๐Ÿ‘ฏ\", name: \"bunny_friends\" },\n { emoji: \"๐Ÿ•ด๏ธ\", name: \"levitating_suit\" },\n { emoji: \"๐Ÿšถ\", name: \"walking_person\" },\n { emoji: \"๐Ÿƒ\", name: \"running_person\" },\n { emoji: \"๐Ÿง\", name: \"standing_person\" },\n { emoji: \"๐ŸงŽ\", name: \"kneeling_person\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿฆฏ\", name: \"blind_cane\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿฆผ\", name: \"motor_wheelchair\" },\n { emoji: \"๐Ÿ‘จโ€๐Ÿฆฝ\", name: \"manual_wheelchair\" },\n { emoji: \"๐Ÿง—\", name: \"climbing_person\" },\n { emoji: \"๐Ÿคบ\", name: \"fencing_person\" },\n { emoji: \"๐Ÿ‡\", name: \"horse_racing\" },\n { emoji: \"โ›ท๏ธ\", name: \"skier_snow\" },\n { emoji: \"๐Ÿ‚\", name: \"snowboarder_snow\" },\n { emoji: \"๐ŸŒ๏ธ\", name: \"golfing_person\" },\n { emoji: \"๐Ÿ„\", name: \"surfing_person\" },\n { emoji: \"๐Ÿšฃ\", name: \"rowing_person\" },\n { emoji: \"๐ŸŠ\", name: \"swimming_person\" },\n { emoji: \"โ›น๏ธ\", name: \"basketball_person\" },\n { emoji: \"๐Ÿ‹๏ธ\", name: \"lifting_weights\" },\n { emoji: \"๐Ÿšด\", name: \"biking_person\" },\n { emoji: \"๐Ÿšต\", name: \"mountain_biking\" },\n { emoji: \"๐Ÿคธ\", name: \"cartwheel_person\" },\n { emoji: \"๐Ÿคผ\", name: \"wrestling_people\" },\n { emoji: \"๐Ÿคฝ\", name: \"water_polo\" },\n { emoji: \"๐Ÿคพ\", name: \"handball_person\" },\n { emoji: \"๐Ÿคน\", name: \"juggling_person\" },\n { emoji: \"๐Ÿง˜\", name: \"yoga_lotus\" },\n { emoji: \"๐Ÿ›€\", name: \"bath_person\" },\n { emoji: \"๐Ÿ›Œ\", name: \"bed_person\" }\n ]\n },\n {\n id: \"animals_nature\",\n name: \"Animals & Nature\",\n emojis: [\n { emoji: \"๐Ÿต\", name: \"monkey_face\" },\n { emoji: \"๐Ÿถ\", name: \"dog_face\" },\n { emoji: \"๐Ÿบ\", name: \"wolf_face\" },\n { emoji: \"๐Ÿฑ\", name: \"cat_face\" },\n { emoji: \"๐Ÿฆ\", name: \"lion_face\" },\n { emoji: \"๐Ÿฏ\", name: \"tiger_face\" },\n { emoji: \"๐Ÿด\", name: \"horse_face\" },\n { emoji: \"๐Ÿฆ„\", name: \"unicorn_face\" },\n { emoji: \"๐Ÿฎ\", name: \"cow_face\" },\n { emoji: \"๐Ÿท\", name: \"pig_face\" },\n { emoji: \"๐Ÿญ\", name: \"mouse_face\" },\n { emoji: \"๐Ÿฐ\", name: \"rabbit_face\" },\n { emoji: \"๐Ÿป\", name: \"bear_face\" },\n { emoji: \"๐Ÿจ\", name: \"koala_bear\" },\n { emoji: \"๐Ÿผ\", name: \"panda_face\" },\n { emoji: \"๐Ÿ”\", name: \"chicken_bird\" },\n { emoji: \"๐Ÿง\", name: \"penguin_bird\" },\n { emoji: \"๐Ÿฆ\", name: \"bird_fly\" },\n { emoji: \"๐Ÿฆ†\", name: \"duck_bird\" },\n { emoji: \"๐Ÿฆ…\", name: \"eagle_bird\" },\n { emoji: \"๐Ÿฆ‰\", name: \"owl_bird\" },\n { emoji: \"๐Ÿธ\", name: \"frog_face\" },\n { emoji: \"๐Ÿข\", name: \"turtle_slow\" },\n { emoji: \"๐Ÿ\", name: \"snake_hiss\" },\n { emoji: \"๐Ÿณ\", name: \"whale_sprout\" },\n { emoji: \"๐Ÿฌ\", name: \"dolphin_jump\" },\n { emoji: \"๐ŸŸ\", name: \"fish_swim\" },\n { emoji: \"๐Ÿ™\", name: \"octopus_legs\" },\n { emoji: \"๐Ÿฆ‹\", name: \"butterfly_fly\" },\n { emoji: \"๐Ÿ’\", name: \"flower_bouquet\" },\n { emoji: \"๐ŸŒธ\", name: \"cherry_blossom\" },\n { emoji: \"๐ŸŒน\", name: \"rose_flower\" },\n { emoji: \"๐ŸŒป\", name: \"sunflower_yellow\" },\n { emoji: \"๐ŸŒฒ\", name: \"evergreen_tree\" },\n { emoji: \"๐ŸŒณ\", name: \"deciduous_tree\" },\n { emoji: \"๐ŸŒด\", name: \"palm_tree\" },\n { emoji: \"๐ŸŒต\", name: \"cactus_plant\" },\n { emoji: \"๐Ÿ”ฅ\", name: \"fire_flame\" },\n { emoji: \"๐Ÿ’ง\", name: \"water_drop\" },\n { emoji: \"โญ\", name: \"star_shine\" }\n ]\n },\n {\n id: \"food_drink\",\n name: \"Food & Drink\",\n emojis: [\n { emoji: \"๐Ÿ‡\", name: \"grapes_fruit\" },\n { emoji: \"๐Ÿˆ\", name: \"melon_fruit\" },\n { emoji: \"๐Ÿ‰\", name: \"watermelon_slice\" },\n { emoji: \"๐ŸŠ\", name: \"tangerine_orange\" },\n { emoji: \"๐Ÿ‹\", name: \"lemon_sour\" },\n { emoji: \"๐ŸŒ\", name: \"banana_fruit\" },\n { emoji: \"๐Ÿ\", name: \"pineapple_fruit\" },\n { emoji: \"๐ŸŽ\", name: \"red_apple\" },\n { emoji: \"๐Ÿ\", name: \"green_apple\" },\n { emoji: \"๐Ÿ\", name: \"pear_fruit\" },\n { emoji: \"๐Ÿ‘\", name: \"peach_fruit\" },\n { emoji: \"๐Ÿ’\", name: \"cherries_red\" },\n { emoji: \"๐Ÿ“\", name: \"strawberry_red\" },\n { emoji: \"๐Ÿฅ\", name: \"kiwi_fruit\" },\n { emoji: \"๐Ÿ…\", name: \"tomato_red\" },\n { emoji: \"๐Ÿฅ‘\", name: \"avocado_green\" },\n { emoji: \"๐Ÿ†\", name: \"eggplant_purple\" },\n { emoji: \"๐Ÿฅ”\", name: \"potato_spud\" },\n { emoji: \"๐Ÿฅ•\", name: \"carrot_veg\" },\n { emoji: \"๐ŸŒฝ\", name: \"corn_cob\" },\n { emoji: \"๐Ÿž\", name: \"bread_loaf\" },\n { emoji: \"๐Ÿง€\", name: \"cheese_wedge\" },\n { emoji: \"๐Ÿ–\", name: \"meat_bone\" },\n { emoji: \"๐Ÿ—\", name: \"poultry_leg\" },\n { emoji: \"๐Ÿฅฉ\", name: \"meat_cut\" },\n { emoji: \"๐Ÿฅ“\", name: \"bacon_strips\" },\n { emoji: \"๐Ÿ”\", name: \"hamburger_fast\" },\n { emoji: \"๐ŸŸ\", name: \"french_fries\" },\n { emoji: \"๐Ÿ•\", name: \"pizza_slice\" },\n { emoji: \"๐ŸŒญ\", name: \"hot_dog\" },\n { emoji: \"๐Ÿฅช\", name: \"sandwich_lunch\" },\n { emoji: \"๐ŸŒฎ\", name: \"taco_mexican\" },\n { emoji: \"๐ŸŒฏ\", name: \"burrito_wrap\" },\n { emoji: \"๐Ÿฅš\", name: \"egg_white\" },\n { emoji: \"๐Ÿณ\", name: \"cooking_egg\" },\n { emoji: \"๐Ÿฟ\", name: \"popcorn_box\" },\n { emoji: \"๐Ÿš\", name: \"rice_bowl\" },\n { emoji: \"๐Ÿ\", name: \"spaghetti_pasta\" },\n { emoji: \"๐Ÿฃ\", name: \"sushi_roll\" },\n { emoji: \"๐Ÿค\", name: \"fried_shrimp\" },\n { emoji: \"๐Ÿฆ\", name: \"ice_cream\" },\n { emoji: \"๐Ÿฉ\", name: \"doughnut_sweet\" },\n { emoji: \"๐Ÿช\", name: \"cookie_sweet\" },\n { emoji: \"๐ŸŽ‚\", name: \"birthday_cake\" },\n { emoji: \"๐Ÿฐ\", name: \"shortcake_slice\" },\n { emoji: \"๐Ÿซ\", name: \"chocolate_bar\" },\n { emoji: \"๐Ÿฌ\", name: \"candy_sweet\" },\n { emoji: \"๐Ÿญ\", name: \"lollipop_candy\" },\n { emoji: \"โ˜•\", name: \"coffee_hot\" },\n { emoji: \"๐Ÿบ\", name: \"beer_mug\" },\n { emoji: \"๐Ÿป\", name: \"beer_cheers\" },\n { emoji: \"๐Ÿฅ‚\", name: \"champagne_cheers\" },\n { emoji: \"๐Ÿท\", name: \"wine_glass\" },\n { emoji: \"๐Ÿฅƒ\", name: \"whiskey_glass\" },\n { emoji: \"๐Ÿน\", name: \"tropical_drink\" }\n ]\n },\n {\n id: \"activity\",\n name: \"Activity\",\n emojis: [\n { emoji: \"โšฝ\", name: \"soccer_ball\" },\n { emoji: \"๐Ÿ€\", name: \"basketball_hoop\" },\n { emoji: \"๐Ÿˆ\", name: \"football_american\" },\n { emoji: \"โšพ\", name: \"baseball_game\" },\n { emoji: \"๐ŸŽพ\", name: \"tennis_ball\" },\n { emoji: \"๐Ÿ\", name: \"volleyball_game\" },\n { emoji: \"๐ŸŽฑ\", name: \"pool_8ball\" },\n { emoji: \"๐Ÿ“\", name: \"ping_pong\" },\n { emoji: \"๐Ÿธ\", name: \"badminton_game\" },\n { emoji: \"๐ŸฅŠ\", name: \"boxing_glove\" },\n { emoji: \"๐Ÿฅ…\", name: \"goal_net\" },\n { emoji: \"๐ŸŽฃ\", name: \"fishing_pole\" },\n { emoji: \"๐ŸŽฎ\", name: \"video_game\" },\n { emoji: \"๐ŸŽฒ\", name: \"game_die\" },\n { emoji: \"๐ŸŽญ\", name: \"theater_masks\" },\n { emoji: \"๐ŸŽจ\", name: \"artist_palette\" },\n { emoji: \"๐ŸŽฌ\", name: \"clapper_board\" },\n { emoji: \"๐ŸŽค\", name: \"microphone_sing\" },\n { emoji: \"๐ŸŽง\", name: \"headphone_music\" },\n { emoji: \"๐ŸŽท\", name: \"saxophone_jazz\" },\n { emoji: \"๐ŸŽธ\", name: \"guitar_rock\" },\n { emoji: \"๐ŸŽน\", name: \"piano_keys\" },\n { emoji: \"๐ŸŽบ\", name: \"trumpet_horn\" },\n { emoji: \"๐ŸŽป\", name: \"violin_music\" },\n { emoji: \"๐Ÿฅ\", name: \"drum_beat\" }\n ]\n },\n {\n id: \"objects\",\n name: \"Objects\",\n emojis: [\n { emoji: \"๐Ÿ“ฑ\", name: \"mobile_phone\" },\n { emoji: \"๐Ÿ’ป\", name: \"laptop_computer\" },\n { emoji: \"๐Ÿ–ฅ๏ธ\", name: \"desktop_computer\" },\n { emoji: \"โŒš\", name: \"watch_wrist\" },\n { emoji: \"๐Ÿ“ท\", name: \"camera_photo\" },\n { emoji: \"๐Ÿ’ก\", name: \"light_bulb\" },\n { emoji: \"๐Ÿ“š\", name: \"books_pile\" },\n { emoji: \"๐Ÿ’ฐ\", name: \"money_bag\" },\n { emoji: \"๐ŸŽ\", name: \"gift_box\" },\n { emoji: \"๐ŸŽˆ\", name: \"balloon_red\" },\n { emoji: \"๐ŸŽ‰\", name: \"party_popper\" },\n { emoji: \"๐ŸŽŠ\", name: \"confetti_ball\" },\n { emoji: \"โœ‰๏ธ\", name: \"envelope_mail\" },\n { emoji: \"๐Ÿ“ฆ\", name: \"package_box\" },\n { emoji: \"โœ๏ธ\", name: \"pencil_write\" },\n { emoji: \"๐Ÿ”’\", name: \"lock_closed\" },\n { emoji: \"๐Ÿ”‘\", name: \"key_gold\" },\n { emoji: \"๐Ÿ”จ\", name: \"hammer_tool\" },\n { emoji: \"๐Ÿ’ฃ\", name: \"bomb_explode\" },\n { emoji: \"๐Ÿ”ซ\", name: \"pistol_toy\" },\n { emoji: \"๐Ÿ’Š\", name: \"pill_capsule\" },\n { emoji: \"๐Ÿ›’\", name: \"shopping_cart\" }\n ]\n },\n {\n id: \"symbols\",\n name: \"Symbols\",\n emojis: [\n { emoji: \"โค๏ธ\", name: \"red_heart\" },\n { emoji: \"๐Ÿงก\", name: \"orange_heart\" },\n { emoji: \"๐Ÿ’›\", name: \"yellow_heart\" },\n { emoji: \"๐Ÿ’š\", name: \"green_heart\" },\n { emoji: \"๐Ÿ’™\", name: \"blue_heart\" },\n { emoji: \"๐Ÿ’œ\", name: \"purple_heart\" },\n { emoji: \"๐Ÿ–ค\", name: \"black_heart\" },\n { emoji: \"๐Ÿค\", name: \"white_heart\" },\n { emoji: \"๐ŸคŽ\", name: \"brown_heart\" },\n { emoji: \"๐Ÿ’”\", name: \"broken_heart\" },\n { emoji: \"โฃ๏ธ\", name: \"heart_exclamation\" },\n { emoji: \"๐Ÿ’•\", name: \"two_hearts\" },\n { emoji: \"๐Ÿ’ž\", name: \"revolving_hearts\" },\n { emoji: \"๐Ÿ’“\", name: \"beating_heart\" },\n { emoji: \"๐Ÿ’—\", name: \"growing_heart\" },\n { emoji: \"๐Ÿ’–\", name: \"sparkling_heart\" },\n { emoji: \"๐Ÿ’˜\", name: \"cupid_heart\" },\n { emoji: \"๐Ÿ’\", name: \"gift_heart\" },\n { emoji: \"๐Ÿ’ฏ\", name: \"hundred_points\" },\n { emoji: \"๐Ÿ’ข\", name: \"anger_symbol\" },\n { emoji: \"๐Ÿ’ฅ\", name: \"collision_boom\" },\n { emoji: \"๐Ÿ’ซ\", name: \"dizzy_star\" },\n { emoji: \"๐Ÿ’ฆ\", name: \"sweat_drops\" },\n { emoji: \"๐Ÿ’จ\", name: \"dash_away\" },\n { emoji: \"๐Ÿ’ค\", name: \"sleeping_zzz\" },\n { emoji: \"โœ…\", name: \"check_mark\" },\n { emoji: \"โŒ\", name: \"cross_mark\" },\n { emoji: \"โš ๏ธ\", name: \"warning_sign\" },\n { emoji: \"โ›”\", name: \"no_entry\" },\n { emoji: \"๐Ÿšซ\", name: \"prohibited_sign\" },\n { emoji: \"โฌ†๏ธ\", name: \"arrow_up\" },\n { emoji: \"โฌ‡๏ธ\", name: \"arrow_down\" },\n { emoji: \"โฌ…๏ธ\", name: \"arrow_left\" },\n { emoji: \"โžก๏ธ\", name: \"arrow_right\" },\n { emoji: \"โ™ป๏ธ\", name: \"recycling_symbol\" }\n ]\n },\n {\n id: \"flags\",\n name: \"Flags\",\n emojis: [\n { emoji: \"๐Ÿ\", name: \"checkered_flag\" },\n { emoji: \"๐Ÿณ๏ธ\", name: \"white_flag\" },\n { emoji: \"๐Ÿณ๏ธโ€๐ŸŒˆ\", name: \"rainbow_flag\" },\n { emoji: \"๐Ÿณ๏ธโ€โšง๏ธ\", name: \"transgender_flag\" },\n { emoji: \"๐Ÿดโ€โ˜ ๏ธ\", name: \"pirate_flag\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡จ\", name: \"flag_ascension\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฉ\", name: \"flag_andorra\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ช\", name: \"flag_uae\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ซ\", name: \"flag_afghanistan\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฌ\", name: \"flag_antigua\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฎ\", name: \"flag_anguilla\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฑ\", name: \"flag_albania\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฒ\", name: \"flag_armenia\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ด\", name: \"flag_angola\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ถ\", name: \"flag_antarctica\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ท\", name: \"flag_argentina\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ธ\", name: \"flag_american_samoa\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡น\", name: \"flag_austria\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡บ\", name: \"flag_australia\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ผ\", name: \"flag_aruba\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฝ\", name: \"flag_aland\" },\n { emoji: \"๐Ÿ‡ฆ๐Ÿ‡ฟ\", name: \"flag_azerbaijan\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฆ\", name: \"flag_bosnia\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ง\", name: \"flag_barbados\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฉ\", name: \"flag_bangladesh\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ช\", name: \"flag_belgium\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ซ\", name: \"flag_burkina\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฌ\", name: \"flag_bulgaria\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ญ\", name: \"flag_bahrain\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฎ\", name: \"flag_burundi\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฏ\", name: \"flag_benin\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฑ\", name: \"flag_st_barthelemy\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฒ\", name: \"flag_bermuda\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ณ\", name: \"flag_brunei\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ด\", name: \"flag_bolivia\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ถ\", name: \"flag_bonaire\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ท\", name: \"flag_brazil\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ธ\", name: \"flag_bahamas\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡น\", name: \"flag_bhutan\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ป\", name: \"flag_bouvet\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ผ\", name: \"flag_botswana\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡พ\", name: \"flag_belarus\" },\n { emoji: \"๐Ÿ‡ง๐Ÿ‡ฟ\", name: \"flag_belize\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฆ\", name: \"flag_canada\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡จ\", name: \"flag_cocos\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฉ\", name: \"flag_congo_dr\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ซ\", name: \"flag_central_africa\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฌ\", name: \"flag_congo\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ญ\", name: \"flag_switzerland\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฎ\", name: \"flag_cote_divoire\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฐ\", name: \"flag_cook_islands\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฑ\", name: \"flag_chile\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฒ\", name: \"flag_cameroon\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ณ\", name: \"flag_china\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ด\", name: \"flag_colombia\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ต\", name: \"flag_clipperton\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ท\", name: \"flag_costa_rica\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡บ\", name: \"flag_cuba\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ป\", name: \"flag_cape_verde\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ผ\", name: \"flag_curacao\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฝ\", name: \"flag_christmas_island\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡พ\", name: \"flag_cyprus\" },\n { emoji: \"๐Ÿ‡จ๐Ÿ‡ฟ\", name: \"flag_czechia\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ช\", name: \"flag_germany\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ฌ\", name: \"flag_diego_garcia\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ฏ\", name: \"flag_djibouti\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ฐ\", name: \"flag_denmark\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ฒ\", name: \"flag_dominica\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ด\", name: \"flag_dominican_rep\" },\n { emoji: \"๐Ÿ‡ฉ๐Ÿ‡ฟ\", name: \"flag_algeria\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡จ\", name: \"flag_ecuador\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡ช\", name: \"flag_estonia\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡ฌ\", name: \"flag_egypt\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡ญ\", name: \"flag_western_sahara\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡ท\", name: \"flag_eritrea\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡ธ\", name: \"flag_spain\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡น\", name: \"flag_ethiopia\" },\n { emoji: \"๐Ÿ‡ช๐Ÿ‡บ\", name: \"flag_eu\" },\n { emoji: \"๐Ÿ‡ซ๐Ÿ‡ฎ\", name: \"flag_finland\" },\n { emoji: \"๐Ÿ‡ซ๐Ÿ‡ฏ\", name: \"flag_fiji\" },\n { emoji: \"๐Ÿ‡ซ๐Ÿ‡ฐ\", name: \"flag_falkland\" },\n { emoji: \"๐Ÿ‡ซ๐Ÿ‡ฒ\", name: \"flag_micronesia\" },\n { emoji: \"๐Ÿ‡ซ๐Ÿ‡ด\", name: \"flag_faroe\" },\n { emoji: \"๐Ÿ‡ซ๐Ÿ‡ท\", name: \"flag_france\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ฆ\", name: \"flag_gabon\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ง\", name: \"flag_uk\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ฉ\", name: \"flag_grenada\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ช\", name: \"flag_georgia\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ซ\", name: \"flag_french_guiana\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ฌ\", name: \"flag_guernsey\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ญ\", name: \"flag_ghana\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ฎ\", name: \"flag_gibraltar\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ฑ\", name: \"flag_greenland\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ฒ\", name: \"flag_gambia\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ณ\", name: \"flag_guinea\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ต\", name: \"flag_guadeloupe\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ถ\", name: \"flag_equatorial_guinea\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ท\", name: \"flag_greece\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ธ\", name: \"flag_south_georgia\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡น\", name: \"flag_guatemala\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡บ\", name: \"flag_guam\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡ผ\", name: \"flag_guinea_bissau\" },\n { emoji: \"๐Ÿ‡ฌ๐Ÿ‡พ\", name: \"flag_guyana\" },\n { emoji: \"๐Ÿ‡ญ๐Ÿ‡ฐ\", name: \"flag_hong_kong\" },\n { emoji: \"๐Ÿ‡ญ๐Ÿ‡ฒ\", name: \"flag_heard_island\" },\n { emoji: \"๐Ÿ‡ญ๐Ÿ‡ณ\", name: \"flag_honduras\" },\n { emoji: \"๐Ÿ‡ญ๐Ÿ‡ท\", name: \"flag_croatia\" },\n { emoji: \"๐Ÿ‡ญ๐Ÿ‡น\", name: \"flag_haiti\" },\n { emoji: \"๐Ÿ‡ญ๐Ÿ‡บ\", name: \"flag_hungary\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡จ\", name: \"flag_canary_islands\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ฉ\", name: \"flag_indonesia\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ช\", name: \"flag_ireland\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ฑ\", name: \"flag_israel\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ฒ\", name: \"flag_isle_of_man\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ณ\", name: \"flag_india\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ด\", name: \"flag_british_indian_ocean\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ถ\", name: \"flag_iraq\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ท\", name: \"flag_iran\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡ธ\", name: \"flag_iceland\" },\n { emoji: \"๐Ÿ‡ฎ๐Ÿ‡น\", name: \"flag_italy\" },\n { emoji: \"๐Ÿ‡ฏ๐Ÿ‡ช\", name: \"flag_jersey\" },\n { emoji: \"๐Ÿ‡ฏ๐Ÿ‡ฒ\", name: \"flag_jamaica\" },\n { emoji: \"๐Ÿ‡ฏ๐Ÿ‡ด\", name: \"flag_jordan\" },\n { emoji: \"๐Ÿ‡ฏ๐Ÿ‡ต\", name: \"flag_japan\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ช\", name: \"flag_kenya\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ฌ\", name: \"flag_kyrgyzstan\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ญ\", name: \"flag_cambodia\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ฎ\", name: \"flag_kiribati\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ฒ\", name: \"flag_comoros\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ณ\", name: \"flag_st_kitts\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ต\", name: \"flag_north_korea\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ท\", name: \"flag_south_korea\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ผ\", name: \"flag_kuwait\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡พ\", name: \"flag_cayman\" },\n { emoji: \"๐Ÿ‡ฐ๐Ÿ‡ฟ\", name: \"flag_kazakhstan\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ฆ\", name: \"flag_laos\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ง\", name: \"flag_lebanon\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡จ\", name: \"flag_st_lucia\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ฎ\", name: \"flag_liechtenstein\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ฐ\", name: \"flag_sri_lanka\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ท\", name: \"flag_liberia\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ธ\", name: \"flag_lesotho\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡น\", name: \"flag_lithuania\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡บ\", name: \"flag_luxembourg\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡ป\", name: \"flag_latvia\" },\n { emoji: \"๐Ÿ‡ฑ๐Ÿ‡พ\", name: \"flag_libya\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฆ\", name: \"flag_morocco\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡จ\", name: \"flag_monaco\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฉ\", name: \"flag_moldova\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ช\", name: \"flag_montenegro\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ซ\", name: \"flag_st_martin\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฌ\", name: \"flag_madagascar\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ญ\", name: \"flag_marshall_islands\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฐ\", name: \"flag_north_macedonia\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฑ\", name: \"flag_mali\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฒ\", name: \"flag_myanmar\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ณ\", name: \"flag_mongolia\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ด\", name: \"flag_macau\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ต\", name: \"flag_northern_mariana\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ถ\", name: \"flag_martinique\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ท\", name: \"flag_mauritania\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ธ\", name: \"flag_montserrat\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡น\", name: \"flag_malta\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡บ\", name: \"flag_mauritius\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ป\", name: \"flag_maldives\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ผ\", name: \"flag_malawi\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฝ\", name: \"flag_mexico\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡พ\", name: \"flag_malaysia\" },\n { emoji: \"๐Ÿ‡ฒ๐Ÿ‡ฟ\", name: \"flag_mozambique\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ฆ\", name: \"flag_namibia\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡จ\", name: \"flag_new_caledonia\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ช\", name: \"flag_niger\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ซ\", name: \"flag_norfolk\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ฌ\", name: \"flag_nigeria\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ฎ\", name: \"flag_nicaragua\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ฑ\", name: \"flag_netherlands\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ด\", name: \"flag_norway\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ต\", name: \"flag_nepal\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ท\", name: \"flag_nauru\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡บ\", name: \"flag_niue\" },\n { emoji: \"๐Ÿ‡ณ๐Ÿ‡ฟ\", name: \"flag_new_zealand\" },\n { emoji: \"๐Ÿ‡ด๐Ÿ‡ฒ\", name: \"flag_oman\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ฆ\", name: \"flag_panama\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ช\", name: \"flag_peru\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ซ\", name: \"flag_french_polynesia\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ฌ\", name: \"flag_papua_new_guinea\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ญ\", name: \"flag_philippines\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ฐ\", name: \"flag_pakistan\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ฑ\", name: \"flag_poland\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ฒ\", name: \"flag_st_pierre\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ณ\", name: \"flag_pitcairn\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ท\", name: \"flag_puerto_rico\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ธ\", name: \"flag_palestine\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡น\", name: \"flag_portugal\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡ผ\", name: \"flag_palau\" },\n { emoji: \"๐Ÿ‡ต๐Ÿ‡พ\", name: \"flag_paraguay\" },\n { emoji: \"๐Ÿ‡ถ๐Ÿ‡ฆ\", name: \"flag_qatar\" },\n { emoji: \"๐Ÿ‡ท๐Ÿ‡ช\", name: \"flag_reunion\" },\n { emoji: \"๐Ÿ‡ท๐Ÿ‡ด\", name: \"flag_romania\" },\n { emoji: \"๐Ÿ‡ท๐Ÿ‡ธ\", name: \"flag_serbia\" },\n { emoji: \"๐Ÿ‡ท๐Ÿ‡บ\", name: \"flag_russia\" },\n { emoji: \"๐Ÿ‡ท๐Ÿ‡ผ\", name: \"flag_rwanda\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฆ\", name: \"flag_saudi_arabia\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ง\", name: \"flag_solomon_islands\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡จ\", name: \"flag_seychelles\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฉ\", name: \"flag_sudan\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ช\", name: \"flag_sweden\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฌ\", name: \"flag_singapore\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ญ\", name: \"flag_st_helena\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฎ\", name: \"flag_slovenia\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฏ\", name: \"flag_svalbard\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฐ\", name: \"flag_slovakia\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฑ\", name: \"flag_sierra_leone\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฒ\", name: \"flag_san_marino\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ณ\", name: \"flag_senegal\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ด\", name: \"flag_somalia\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ท\", name: \"flag_suriname\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ธ\", name: \"flag_south_sudan\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡น\", name: \"flag_sao_tome\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ป\", name: \"flag_el_salvador\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฝ\", name: \"flag_sint_maarten\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡พ\", name: \"flag_syria\" },\n { emoji: \"๐Ÿ‡ธ๐Ÿ‡ฟ\", name: \"flag_eswatini\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฆ\", name: \"flag_tristan\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡จ\", name: \"flag_turks_caicos\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฉ\", name: \"flag_chad\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ซ\", name: \"flag_french_southern\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฌ\", name: \"flag_togo\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ญ\", name: \"flag_thailand\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฏ\", name: \"flag_tajikistan\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฐ\", name: \"flag_tokelau\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฑ\", name: \"flag_timor_leste\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฒ\", name: \"flag_turkmenistan\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ณ\", name: \"flag_tunisia\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ด\", name: \"flag_tonga\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ท\", name: \"flag_turkey\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡น\", name: \"flag_trinidad\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ป\", name: \"flag_tuvalu\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ผ\", name: \"flag_taiwan\" },\n { emoji: \"๐Ÿ‡น๐Ÿ‡ฟ\", name: \"flag_tanzania\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡ฆ\", name: \"flag_ukraine\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡ฌ\", name: \"flag_uganda\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡ฒ\", name: \"flag_us_outlying\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡ณ\", name: \"flag_un\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡ธ\", name: \"flag_usa\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡พ\", name: \"flag_uruguay\" },\n { emoji: \"๐Ÿ‡บ๐Ÿ‡ฟ\", name: \"flag_uzbekistan\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡ฆ\", name: \"flag_vatican\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡จ\", name: \"flag_st_vincent\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡ช\", name: \"flag_venezuela\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡ฌ\", name: \"flag_bvi\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡ฎ\", name: \"flag_usvi\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡ณ\", name: \"flag_vietnam\" },\n { emoji: \"๐Ÿ‡ป๐Ÿ‡บ\", name: \"flag_vanuatu\" },\n { emoji: \"๐Ÿ‡ผ๐Ÿ‡ซ\", name: \"flag_wallis\" },\n { emoji: \"๐Ÿ‡ผ๐Ÿ‡ธ\", name: \"flag_samoa\" },\n { emoji: \"๐Ÿ‡ฝ๐Ÿ‡ฐ\", name: \"flag_kosovo\" },\n { emoji: \"๐Ÿ‡พ๐Ÿ‡ช\", name: \"flag_yemen\" },\n { emoji: \"๐Ÿ‡พ๐Ÿ‡น\", name: \"flag_mayotte\" },\n { emoji: \"๐Ÿ‡ฟ๐Ÿ‡ฆ\", name: \"flag_south_africa\" },\n { emoji: \"๐Ÿ‡ฟ๐Ÿ‡ฒ\", name: \"flag_zambia\" },\n { emoji: \"๐Ÿ‡ฟ๐Ÿ‡ผ\", name: \"flag_zimbabwe\" }\n ]\n }\n];\n"],"mappings":"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","names":[]}
@@ -0,0 +1,199 @@
1
+ import {
2
+ getPanelBorderRadiusClass,
3
+ useUnderverseUIConfig
4
+ } from "./chunk-MJV7ETJM.js";
5
+ import {
6
+ cn,
7
+ useGlobalI18n
8
+ } from "./chunk-XJR7E6QB.js";
9
+
10
+ // src/components/Modal.tsx
11
+ import * as React from "react";
12
+ import { createPortal } from "react-dom";
13
+ import { X } from "lucide-react";
14
+ import { jsx, jsxs } from "react/jsx-runtime";
15
+ var sizeStyles = {
16
+ sm: "max-w-md",
17
+ md: "max-w-2xl",
18
+ lg: "max-w-4xl",
19
+ xl: "max-w-6xl",
20
+ full: "max-w-full"
21
+ };
22
+ var Modal = ({
23
+ isOpen,
24
+ onClose,
25
+ children,
26
+ title,
27
+ description,
28
+ className,
29
+ contentClassName,
30
+ overlayClassName,
31
+ showCloseButton = true,
32
+ closeOnOverlayClick = true,
33
+ closeOnEsc = true,
34
+ size = "md",
35
+ noPadding = false,
36
+ fullWidth = false,
37
+ width,
38
+ height,
39
+ borderMode
40
+ }) => {
41
+ const gi18n = useGlobalI18n();
42
+ const globalConfig = useUnderverseUIConfig();
43
+ const resolvedBorderMode = borderMode ?? globalConfig.borderMode;
44
+ const [isMounted, setIsMounted] = React.useState(false);
45
+ const [isVisible, setIsVisible] = React.useState(false);
46
+ const [isAnimating, setIsAnimating] = React.useState(true);
47
+ const mouseDownTarget = React.useRef(null);
48
+ const modalContentRef = React.useRef(null);
49
+ React.useEffect(() => {
50
+ setIsMounted(true);
51
+ return () => setIsMounted(false);
52
+ }, []);
53
+ const animationRef = React.useRef(false);
54
+ React.useEffect(() => {
55
+ if (isOpen) {
56
+ if (animationRef.current) return;
57
+ animationRef.current = true;
58
+ setIsVisible(true);
59
+ setIsAnimating(true);
60
+ requestAnimationFrame(() => {
61
+ setIsAnimating(false);
62
+ });
63
+ } else {
64
+ animationRef.current = false;
65
+ if (isVisible) {
66
+ setIsAnimating(true);
67
+ const hideTimer = setTimeout(() => {
68
+ setIsVisible(false);
69
+ }, 200);
70
+ return () => clearTimeout(hideTimer);
71
+ }
72
+ }
73
+ }, [isOpen, isVisible]);
74
+ React.useEffect(() => {
75
+ if (!isOpen || !closeOnEsc) return;
76
+ const handleEscape = (event) => {
77
+ if (event.key === "Escape") {
78
+ onClose();
79
+ }
80
+ };
81
+ document.addEventListener("keydown", handleEscape);
82
+ return () => document.removeEventListener("keydown", handleEscape);
83
+ }, [isOpen, closeOnEsc, onClose]);
84
+ React.useEffect(() => {
85
+ if (isOpen) {
86
+ document.body.style.overflow = "hidden";
87
+ } else {
88
+ document.body.style.overflow = "unset";
89
+ }
90
+ return () => {
91
+ document.body.style.overflow = "unset";
92
+ };
93
+ }, [isOpen]);
94
+ const isInsidePortal = (element) => {
95
+ if (!element) return false;
96
+ let current = element;
97
+ while (current) {
98
+ if (current.hasAttribute?.("data-datepicker") || current.hasAttribute?.("data-popover") || current.hasAttribute?.("data-dropdown") || current.hasAttribute?.("data-dropdown-menu") || current.hasAttribute?.("data-radix-popper-content-wrapper") || current.hasAttribute?.("data-radix-portal") || current.hasAttribute?.("data-tippy-root") || current.getAttribute?.("role") === "listbox" || current.getAttribute?.("role") === "dialog" || current.classList?.contains("datepicker-portal") || current.classList?.contains("popover-portal") || current.classList?.contains("tippy-box") || current.classList?.contains("tippy-content")) {
99
+ return true;
100
+ }
101
+ current = current.parentElement;
102
+ }
103
+ return false;
104
+ };
105
+ const handleOverlayMouseDown = (event) => {
106
+ mouseDownTarget.current = event.target;
107
+ };
108
+ const handleOverlayMouseUp = (event) => {
109
+ const modalContent2 = modalContentRef.current;
110
+ const mouseDownTarget_ = mouseDownTarget.current;
111
+ const mouseUpTarget = event.target;
112
+ if (isInsidePortal(mouseDownTarget_) || isInsidePortal(mouseUpTarget)) {
113
+ mouseDownTarget.current = null;
114
+ return;
115
+ }
116
+ const mouseDownOutside = modalContent2 && !modalContent2.contains(mouseDownTarget_);
117
+ const mouseUpOutside = modalContent2 && !modalContent2.contains(mouseUpTarget);
118
+ if (closeOnOverlayClick && mouseDownOutside && mouseUpOutside) {
119
+ onClose();
120
+ }
121
+ mouseDownTarget.current = null;
122
+ };
123
+ if (!isMounted || !isOpen && !isVisible) {
124
+ return null;
125
+ }
126
+ const maxWidthClass = width ? "max-w-none" : fullWidth ? "max-w-full" : sizeStyles[size];
127
+ const modalContent = /* @__PURE__ */ jsxs(
128
+ "div",
129
+ {
130
+ className: cn("fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-6", overlayClassName),
131
+ style: { overscrollBehavior: "contain" },
132
+ onMouseDown: handleOverlayMouseDown,
133
+ onMouseUp: handleOverlayMouseUp,
134
+ children: [
135
+ /* @__PURE__ */ jsx(
136
+ "div",
137
+ {
138
+ className: "absolute inset-0 bg-background/80 backdrop-blur-sm transition-opacity duration-200 ease-out",
139
+ style: {
140
+ opacity: isOpen && !isAnimating ? 1 : 0
141
+ }
142
+ }
143
+ ),
144
+ /* @__PURE__ */ jsxs(
145
+ "div",
146
+ {
147
+ ref: modalContentRef,
148
+ className: cn(
149
+ "relative w-full border border-border/40 bg-card text-card-foreground shadow-xl",
150
+ resolvedBorderMode ? getPanelBorderRadiusClass(resolvedBorderMode) : "rounded-2xl md:rounded-3xl",
151
+ "transition-all duration-200 ease-out",
152
+ maxWidthClass,
153
+ fullWidth && "mx-0",
154
+ className
155
+ ),
156
+ style: {
157
+ opacity: isOpen && !isAnimating ? 1 : 0,
158
+ transform: isOpen && !isAnimating ? "scale(1)" : "scale(0.9)",
159
+ // Thรชm dรฒng nร y ฤ‘แปƒ tแบกo hiแป‡u แปฉng nแบฃy
160
+ transition: "all 300ms cubic-bezier(0.34, 1.76, 0.64, 1)",
161
+ width,
162
+ height
163
+ },
164
+ onClick: (e) => e.stopPropagation(),
165
+ children: [
166
+ (title || description || showCloseButton) && /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between p-6 pb-0", children: [
167
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
168
+ title && /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold leading-none tracking-tight", children: title }),
169
+ description && /* @__PURE__ */ jsx("p", { className: "text-sm text-muted-foreground", children: description })
170
+ ] }),
171
+ showCloseButton && /* @__PURE__ */ jsx(
172
+ "button",
173
+ {
174
+ onClick: onClose,
175
+ "aria-label": gi18n.closeModal ?? "Close modal",
176
+ className: cn(
177
+ "rounded-lg opacity-70 ring-offset-background transition-opacity",
178
+ "hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",
179
+ "disabled:pointer-events-none "
180
+ ),
181
+ children: /* @__PURE__ */ jsx(X, { className: "h-4 w-4 cursor-pointer", "aria-hidden": "true" })
182
+ }
183
+ )
184
+ ] }),
185
+ /* @__PURE__ */ jsx("div", { className: cn("p-6", noPadding && "p-0", contentClassName), children })
186
+ ]
187
+ }
188
+ )
189
+ ]
190
+ }
191
+ );
192
+ return typeof window !== "undefined" ? createPortal(modalContent, document.body) : null;
193
+ };
194
+ var Modal_default = Modal;
195
+
196
+ export {
197
+ Modal_default
198
+ };
199
+ //# sourceMappingURL=chunk-7U3Y7R7U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport * as React from \"react\";\nimport { createPortal } from \"react-dom\";\nimport { cn } from \"../utils/cn\";\nimport { X } from \"lucide-react\";\nimport { useGlobalI18n } from \"../contexts/GlobalI18nContext\";\nimport { getBorderRadiusClass, getPanelBorderRadiusClass, type BorderMode } from \"../utils/radius\";\nimport { useUnderverseUIConfig } from \"../contexts/UnderverseConfigContext\";\n\n/** Public props for the `Modal` component. */\ninterface ModalProps {\n isOpen: boolean;\n onClose: () => void;\n children: React.ReactNode;\n title?: string;\n description?: string;\n className?: string;\n contentClassName?: string;\n overlayClassName?: string;\n showCloseButton?: boolean;\n closeOnOverlayClick?: boolean;\n closeOnEsc?: boolean;\n size?: \"sm\" | \"md\" | \"lg\" | \"xl\" | \"full\";\n noPadding?: boolean;\n fullWidth?: boolean;\n width?: string | number;\n height?: string | number;\n borderMode?: BorderMode;\n}\n\nconst sizeStyles = {\n sm: \"max-w-md\",\n md: \"max-w-2xl\",\n lg: \"max-w-4xl\",\n xl: \"max-w-6xl\",\n full: \"max-w-full\",\n};\n\nconst Modal: React.FC<ModalProps> = ({\n isOpen,\n onClose,\n children,\n title,\n description,\n className,\n contentClassName,\n overlayClassName,\n showCloseButton = true,\n closeOnOverlayClick = true,\n closeOnEsc = true,\n size = \"md\",\n noPadding = false,\n fullWidth = false,\n width,\n height,\n borderMode,\n}) => {\n const gi18n = useGlobalI18n();\n const globalConfig = useUnderverseUIConfig();\n const resolvedBorderMode = borderMode ?? globalConfig.borderMode;\n const [isMounted, setIsMounted] = React.useState(false);\n const [isVisible, setIsVisible] = React.useState(false);\n const [isAnimating, setIsAnimating] = React.useState(true);\n // Track if mousedown started outside modal content\n const mouseDownTarget = React.useRef<EventTarget | null>(null);\n const modalContentRef = React.useRef<HTMLDivElement>(null);\n\n React.useEffect(() => {\n setIsMounted(true);\n return () => setIsMounted(false);\n }, []);\n\n // Ref to prevent double animation trigger in React StrictMode\n const animationRef = React.useRef(false);\n\n // Animation handling\n React.useEffect(() => {\n if (isOpen) {\n if (animationRef.current) return; // Prevent double animation in StrictMode\n animationRef.current = true;\n setIsVisible(true);\n setIsAnimating(true);\n // Start animation on next frame\n requestAnimationFrame(() => {\n setIsAnimating(false);\n });\n } else {\n animationRef.current = false;\n if (isVisible) {\n setIsAnimating(true);\n // Hide after animation completes\n const hideTimer = setTimeout(() => {\n setIsVisible(false);\n }, 200);\n return () => clearTimeout(hideTimer);\n }\n }\n }, [isOpen, isVisible]);\n\n // Handle escape key\n React.useEffect(() => {\n if (!isOpen || !closeOnEsc) return;\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") {\n onClose();\n }\n };\n\n document.addEventListener(\"keydown\", handleEscape);\n return () => document.removeEventListener(\"keydown\", handleEscape);\n }, [isOpen, closeOnEsc, onClose]);\n\n // Prevent body scroll when modal is open\n React.useEffect(() => {\n if (isOpen) {\n document.body.style.overflow = \"hidden\";\n } else {\n document.body.style.overflow = \"unset\";\n }\n\n return () => {\n document.body.style.overflow = \"unset\";\n };\n }, [isOpen]);\n\n // Check if an element is inside a portal (datepicker, popover, dropdown, etc.)\n const isInsidePortal = (element: Node | null): boolean => {\n if (!element) return false;\n let current = element as HTMLElement | null;\n while (current) {\n // Check for common portal indicators (data attributes, z-index patterns)\n if (\n current.hasAttribute?.(\"data-datepicker\") ||\n current.hasAttribute?.(\"data-popover\") ||\n current.hasAttribute?.(\"data-dropdown\") ||\n current.hasAttribute?.(\"data-dropdown-menu\") ||\n current.hasAttribute?.(\"data-radix-popper-content-wrapper\") ||\n current.hasAttribute?.(\"data-radix-portal\") ||\n current.hasAttribute?.(\"data-tippy-root\") ||\n current.getAttribute?.(\"role\") === \"listbox\" ||\n current.getAttribute?.(\"role\") === \"dialog\" ||\n current.classList?.contains(\"datepicker-portal\") ||\n current.classList?.contains(\"popover-portal\") ||\n current.classList?.contains(\"tippy-box\") ||\n current.classList?.contains(\"tippy-content\")\n ) {\n return true;\n }\n current = current.parentElement;\n }\n return false;\n };\n\n const handleOverlayMouseDown = (event: React.MouseEvent) => {\n // Store the mousedown target\n mouseDownTarget.current = event.target;\n };\n\n const handleOverlayMouseUp = (event: React.MouseEvent) => {\n // Check if both mousedown and mouseup occurred outside modal content\n const modalContent = modalContentRef.current;\n const mouseDownTarget_ = mouseDownTarget.current as Node;\n const mouseUpTarget = event.target as Node;\n\n // Don't close if clicking inside a portal element (datepicker, popover, etc.)\n if (isInsidePortal(mouseDownTarget_) || isInsidePortal(mouseUpTarget)) {\n mouseDownTarget.current = null;\n return;\n }\n\n const mouseDownOutside = modalContent && !modalContent.contains(mouseDownTarget_);\n const mouseUpOutside = modalContent && !modalContent.contains(mouseUpTarget);\n\n if (closeOnOverlayClick && mouseDownOutside && mouseUpOutside) {\n onClose();\n }\n mouseDownTarget.current = null;\n };\n\n if (!isMounted || (!isOpen && !isVisible)) {\n return null;\n }\n\n const maxWidthClass = width ? \"max-w-none\" : fullWidth ? \"max-w-full\" : sizeStyles[size];\n\n const modalContent = (\n <div\n className={cn(\"fixed inset-0 z-[9999] flex items-center justify-center p-4 md:p-6\", overlayClassName)}\n style={{ overscrollBehavior: \"contain\" }}\n onMouseDown={handleOverlayMouseDown}\n onMouseUp={handleOverlayMouseUp}\n >\n {/* Overlay */}\n <div\n className=\"absolute inset-0 bg-background/80 backdrop-blur-sm transition-opacity duration-200 ease-out\"\n style={{\n opacity: isOpen && !isAnimating ? 1 : 0,\n }}\n />\n\n {/* Modal */}\n <div\n ref={modalContentRef}\n className={cn(\n \"relative w-full border border-border/40 bg-card text-card-foreground shadow-xl\",\n resolvedBorderMode ? getPanelBorderRadiusClass(resolvedBorderMode) : \"rounded-2xl md:rounded-3xl\",\n \"transition-all duration-200 ease-out\",\n maxWidthClass,\n fullWidth && \"mx-0\",\n className,\n )}\n style={{\n opacity: isOpen && !isAnimating ? 1 : 0,\n transform: isOpen && !isAnimating ? \"scale(1)\" : \"scale(0.9)\",\n // Thรชm dรฒng nร y ฤ‘แปƒ tแบกo hiแป‡u แปฉng nแบฃy\n transition: \"all 300ms cubic-bezier(0.34, 1.76, 0.64, 1)\",\n width,\n height,\n }}\n onClick={(e) => e.stopPropagation()}\n >\n {/* Header */}\n {(title || description || showCloseButton) && (\n <div className=\"flex items-start justify-between p-6 pb-0\">\n <div className=\"space-y-1.5\">\n {title && <h2 className=\"text-lg font-semibold leading-none tracking-tight\">{title}</h2>}\n {description && <p className=\"text-sm text-muted-foreground\">{description}</p>}\n </div>\n {showCloseButton && (\n <button\n onClick={onClose}\n aria-label={gi18n.closeModal ?? \"Close modal\"}\n className={cn(\n \"rounded-lg opacity-70 ring-offset-background transition-opacity\",\n \"hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n \"disabled:pointer-events-none \",\n )}\n >\n <X className=\"h-4 w-4 cursor-pointer\" aria-hidden=\"true\" />\n </button>\n )}\n </div>\n )}\n\n {/* Content */}\n <div className={cn(\"p-6\", noPadding && \"p-0\", contentClassName)}>{children}</div>\n </div>\n </div>\n );\n\n return typeof window !== \"undefined\" ? createPortal(modalContent, document.body) : null;\n};\n\nexport default Modal;\n"],"mappings":"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","names":["modalContent"]}
@@ -0,0 +1,74 @@
1
+ import {
2
+ cn
3
+ } from "./chunk-XJR7E6QB.js";
4
+
5
+ // src/components/emoji-ui.tsx
6
+ import React from "react";
7
+ import { jsx } from "react/jsx-runtime";
8
+ function formatEmojiName(name) {
9
+ return name.replaceAll("_", " ");
10
+ }
11
+ function formatEmojiCountLabel(template, shown, total) {
12
+ return template.replace("{shown}", String(shown)).replace("{total}", String(total));
13
+ }
14
+ function getEmojiUnifiedCode(emoji) {
15
+ const codePoints = [];
16
+ for (let i = 0; i < emoji.length; ) {
17
+ const codePoint = emoji.codePointAt(i);
18
+ if (codePoint === void 0) break;
19
+ let hex = codePoint.toString(16).toLowerCase();
20
+ if (hex.length < 4) {
21
+ hex = hex.padStart(4, "0");
22
+ }
23
+ codePoints.push(hex);
24
+ i += codePoint > 65535 ? 2 : 1;
25
+ }
26
+ return codePoints.join("-");
27
+ }
28
+ var globalEmojiBaseUrl = "/emojis";
29
+ function setEmojiBaseUrl(url) {
30
+ globalEmojiBaseUrl = url.endsWith("/") ? url.slice(0, -1) : url;
31
+ }
32
+ function getEmojiImageUrl(unified) {
33
+ return `${globalEmojiBaseUrl}/${unified}.png`;
34
+ }
35
+ var EmojiGridButton = ({ emoji, name, onClick, className, active = false }) => {
36
+ const [hasError, setHasError] = React.useState(false);
37
+ const unified = React.useMemo(() => getEmojiUnifiedCode(emoji), [emoji]);
38
+ return /* @__PURE__ */ jsx(
39
+ "button",
40
+ {
41
+ type: "button",
42
+ "aria-label": formatEmojiName(name),
43
+ title: formatEmojiName(name),
44
+ onClick,
45
+ className: cn(
46
+ "group flex h-9 w-9 items-center justify-center rounded-xl transition-all duration-300",
47
+ "bg-transparent hover:bg-primary/10 border border-transparent hover:border-primary/20",
48
+ "focus:outline-none focus:ring-2 focus:ring-primary/20",
49
+ "scale-100 hover:scale-110 active:scale-95",
50
+ active ? "bg-primary/15 border-primary/30 ring-2 ring-primary/20" : "",
51
+ className
52
+ ),
53
+ children: hasError ? /* @__PURE__ */ jsx("span", { className: "text-2xl transition-transform duration-300 group-hover:rotate-6", children: emoji }) : /* @__PURE__ */ jsx(
54
+ "img",
55
+ {
56
+ src: getEmojiImageUrl(unified),
57
+ alt: emoji,
58
+ onError: () => setHasError(true),
59
+ className: "h-6.5 w-6.5 object-contain transition-all duration-300 group-hover:rotate-6 group-hover:drop-shadow-[0_2px_5px_rgba(0,0,0,0.15)]",
60
+ loading: "lazy"
61
+ }
62
+ )
63
+ }
64
+ );
65
+ };
66
+
67
+ export {
68
+ formatEmojiCountLabel,
69
+ getEmojiUnifiedCode,
70
+ setEmojiBaseUrl,
71
+ getEmojiImageUrl,
72
+ EmojiGridButton
73
+ };
74
+ //# sourceMappingURL=chunk-IXEFOLUD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/emoji-ui.tsx"],"sourcesContent":["\"use client\";\n\nimport React from \"react\";\nimport { cn } from \"../utils/cn\";\n\nexport function formatEmojiName(name: string) {\n return name.replaceAll(\"_\", \" \");\n}\n\nexport function formatEmojiCountLabel(template: string, shown: number, total: number) {\n return template\n .replace(\"{shown}\", String(shown))\n .replace(\"{total}\", String(total));\n}\n\n/**\n * Converts a Unicode emoji string into a lowercase hyphenated hex code point format\n * used by emoji CDNs (e.g. \"๐Ÿ˜€\" -> \"1f600\", \"#๏ธโƒฃ\" -> \"0023-fe0f-20e3\").\n */\nexport function getEmojiUnifiedCode(emoji: string): string {\n const codePoints = [];\n for (let i = 0; i < emoji.length; ) {\n const codePoint = emoji.codePointAt(i);\n if (codePoint === undefined) break;\n let hex = codePoint.toString(16).toLowerCase();\n if (hex.length < 4) {\n hex = hex.padStart(4, \"0\");\n }\n codePoints.push(hex);\n i += codePoint > 0xffff ? 2 : 1;\n }\n return codePoints.join(\"-\");\n}\n\nlet globalEmojiBaseUrl = \"/emojis\";\n\n/**\n * Configure a custom base URL for loading emoji image assets (e.g. `/emojis` for local offline storage).\n * If not set, defaults to jsDelivr CDN.\n */\nexport function setEmojiBaseUrl(url: string) {\n globalEmojiBaseUrl = url.endsWith(\"/\") ? url.slice(0, -1) : url;\n}\n\n/**\n * Resolves the final image URL for a given unified emoji code.\n */\nexport function getEmojiImageUrl(unified: string): string {\n return `${globalEmojiBaseUrl}/${unified}.png`;\n}\n\nexport const EmojiGridButton: React.FC<{\n emoji: string;\n name: string;\n onClick: () => void;\n className?: string;\n active?: boolean;\n}> = ({ emoji, name, onClick, className, active = false }) => {\n const [hasError, setHasError] = React.useState(false);\n const unified = React.useMemo(() => getEmojiUnifiedCode(emoji), [emoji]);\n\n return (\n <button\n type=\"button\"\n aria-label={formatEmojiName(name)}\n title={formatEmojiName(name)}\n onClick={onClick}\n className={cn(\n \"group flex h-9 w-9 items-center justify-center rounded-xl transition-all duration-300\",\n \"bg-transparent hover:bg-primary/10 border border-transparent hover:border-primary/20\",\n \"focus:outline-none focus:ring-2 focus:ring-primary/20\",\n \"scale-100 hover:scale-110 active:scale-95\",\n active ? \"bg-primary/15 border-primary/30 ring-2 ring-primary/20\" : \"\",\n className,\n )}\n >\n {hasError ? (\n <span className=\"text-2xl transition-transform duration-300 group-hover:rotate-6\">{emoji}</span>\n ) : (\n <img\n src={getEmojiImageUrl(unified)}\n alt={emoji}\n onError={() => setHasError(true)}\n className=\"h-6.5 w-6.5 object-contain transition-all duration-300 group-hover:rotate-6 group-hover:drop-shadow-[0_2px_5px_rgba(0,0,0,0.15)]\"\n loading=\"lazy\"\n />\n )}\n </button>\n );\n};\n"],"mappings":";;;;;AAEA,OAAO,WAAW;AA2EV;AAxED,SAAS,gBAAgB,MAAc;AAC5C,SAAO,KAAK,WAAW,KAAK,GAAG;AACjC;AAEO,SAAS,sBAAsB,UAAkB,OAAe,OAAe;AACpF,SAAO,SACJ,QAAQ,WAAW,OAAO,KAAK,CAAC,EAChC,QAAQ,WAAW,OAAO,KAAK,CAAC;AACrC;AAMO,SAAS,oBAAoB,OAAuB;AACzD,QAAM,aAAa,CAAC;AACpB,WAAS,IAAI,GAAG,IAAI,MAAM,UAAU;AAClC,UAAM,YAAY,MAAM,YAAY,CAAC;AACrC,QAAI,cAAc,OAAW;AAC7B,QAAI,MAAM,UAAU,SAAS,EAAE,EAAE,YAAY;AAC7C,QAAI,IAAI,SAAS,GAAG;AAClB,YAAM,IAAI,SAAS,GAAG,GAAG;AAAA,IAC3B;AACA,eAAW,KAAK,GAAG;AACnB,SAAK,YAAY,QAAS,IAAI;AAAA,EAChC;AACA,SAAO,WAAW,KAAK,GAAG;AAC5B;AAEA,IAAI,qBAAqB;AAMlB,SAAS,gBAAgB,KAAa;AAC3C,uBAAqB,IAAI,SAAS,GAAG,IAAI,IAAI,MAAM,GAAG,EAAE,IAAI;AAC9D;AAKO,SAAS,iBAAiB,SAAyB;AACxD,SAAO,GAAG,kBAAkB,IAAI,OAAO;AACzC;AAEO,IAAM,kBAMR,CAAC,EAAE,OAAO,MAAM,SAAS,WAAW,SAAS,MAAM,MAAM;AAC5D,QAAM,CAAC,UAAU,WAAW,IAAI,MAAM,SAAS,KAAK;AACpD,QAAM,UAAU,MAAM,QAAQ,MAAM,oBAAoB,KAAK,GAAG,CAAC,KAAK,CAAC;AAEvE,SACE;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAY,gBAAgB,IAAI;AAAA,MAChC,OAAO,gBAAgB,IAAI;AAAA,MAC3B;AAAA,MACA,WAAW;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,SAAS,2DAA2D;AAAA,QACpE;AAAA,MACF;AAAA,MAEC,qBACC,oBAAC,UAAK,WAAU,mEAAmE,iBAAM,IAEzF;AAAA,QAAC;AAAA;AAAA,UACC,KAAK,iBAAiB,OAAO;AAAA,UAC7B,KAAK;AAAA,UACL,SAAS,MAAM,YAAY,IAAI;AAAA,UAC/B,WAAU;AAAA,UACV,SAAQ;AAAA;AAAA,MACV;AAAA;AAAA,EAEJ;AAEJ;","names":[]}