/emojis

Emoji for Dart

Primary LanguageDartBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Emojis

๐Ÿ”ฅ Emoji for Dart ๐Ÿ”ฅ Over 3300 Emojis
This ๐Ÿ“ฆ contain all ๐Ÿ†• Unicode 13.1 Emojis (2๏ธโƒฃ0๏ธโƒฃ2๏ธโƒฃ1๏ธโƒฃ) ๐Ÿ’ช supports null safety ๐Ÿ’ช

๐Ÿ› ๏ธ Usage

0๏ธโƒฃ Import

import 'package:emojis/emojis.dart'; // to use Emoji collection
import 'package:emojis/emoji.dart'; // to use Emoji utilities

1๏ธโƒฃ Use

print('I ${Emojis.greenHeart} ${Emojis.bullseye}'); // I ๐Ÿ’š ๐ŸŽฏ

Emoji? smile = Emoji.byName('hi'); // get a emoji by its name
if (smile != null) {
    print('Emoji name      : ${smile.name}');
    // Emoji name is Grinning Face
    print('Emoji character : ${smile.char}');
    // Emoji character is '๐Ÿ˜€'
    print('Emoji category  : ${smile.emojiGroup}');
    // EmojiGroup.smileysEmotion group of emoji
    print('Emoji sub-group : ${smile.emojiSubgroup}');
    // EmojiSubgroup.faceSmiling sub group of emoji
} else {
  print('Emoji not found!');
}

// get an emoji by its character ๐Ÿ‘ฑโ€โ™€๏ธ
Emoji? womanBlond = Emoji.byChar(Emojis.womanBlondHair)!;
print(womanBlond);

// make blondy in black
Emoji blondyBlackLady = womanBlond.newSkin(fitzpatrick.dark);
print(blondyBlackLady); // ๐Ÿ‘ฑ๐Ÿฟโ€โ™€๏ธ

List<Emoji> emList = Emoji.all(); // list of all Emojis
print(emList[2]); // second emoji in list

// disassemble an emoji
List<String> disassembled = Emoji.disassemble(Emojis.mechanic);
print(disassembled); // ['๐Ÿ”ง', '๐Ÿง‘']

// assemble some emojis
String assembled = Emoji.assemble([Emojis.man, Emojis.man, Emojis.girl, Emojis.boy]);
print(assembled); // ๐Ÿ‘จโ€๐Ÿ‘จโ€๐Ÿ‘งโ€๐Ÿ‘ฆ๏ธ

String blackThumbsUp = '๐Ÿ‘';
// modify skin tone of emoji
String witheThumbsUp = Emoji.modify(blackThumbsUp, fitzpatrick.light);
print(witheThumbsUp); // ๐Ÿ‘๐Ÿป

// A Woman Police Officer With Brown Skin
String femaleCop =  Emojis.womanPoliceOfficerMediumDarkSkinTone;
// Make that woman to just a Woman Police Officer with no special skin color
String newFemaleCop = Emoji.stabilize(femaleCop);
print('$femaleCop => $newFemaleCop'); //๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ => ๐Ÿ‘ฎโ€โ™€๏ธ

// gender-neutral
String aCop = Emoji.stabilize(femaleCop, skin: false, gender: true);
print('$femaleCop => $aCop'); //๐Ÿ‘ฎ๐Ÿพโ€โ™€๏ธ=> ๐Ÿ‘ฎ no gender! still medium dark

final loveEmojis = Emoji.byKeyword('love'); // returns list of lovely emojis :)
print(loveEmojis);
// (๐Ÿฅฐ, ๐Ÿ˜, ๐Ÿ˜˜, ๐Ÿ˜š, ๐Ÿ˜™, ๐Ÿค—, ๐Ÿ˜ป, ๐Ÿ˜ฝ, ๐Ÿ’‹, ๐Ÿ’Œ, ๐Ÿ’˜, ๐Ÿ’, ๐Ÿ’–, ๐Ÿ’—, ๐Ÿ’“, ๐Ÿ’ž, ๐Ÿ’•, ..., ๐Ÿ’„, โ™พ)

final foodCategory = Emoji.byGroup(EmojiGroup.foodDrink); // returns emojis in Food and Drink group
print(foodCategory);
// (๐Ÿ‡, ๐Ÿˆ, ๐Ÿ‰, ๐ŸŠ, ๐Ÿ‹, ๐ŸŒ, ๐Ÿ, ๐Ÿฅญ, ๐ŸŽ, ๐Ÿ, ๐Ÿ, ๐Ÿ‘, ๐Ÿ’, ๐Ÿ“, ๐Ÿฅ, ๐Ÿ…, ๐Ÿฅฅ, ๐Ÿฅ‘, ...)

Iterable<Emoji> moneySubgroupEmojis = Emoji.bySubgroup(EmojiSubgroup.money); // returns emojis in Money subgroup
print(moneySubgroupEmojis);
// (๐Ÿ’ฐ, ๐Ÿ’ด, ๐Ÿ’ต, ๐Ÿ’ถ, ๐Ÿ’ท, ๐Ÿ’ธ, ๐Ÿ’ณ, ๐Ÿงพ, ๐Ÿ’น)

๐Ÿš€ Features

  • All Present unicode emojis ๐Ÿ’ฏ.
  • Get Emojis by Name, Category, Keyword & ...
  • Modify Emoji with ๐Ÿ†• skin color ( ๐Ÿป ๐Ÿผ ๐Ÿฝ ๐Ÿพ ๐Ÿฟ ).
  • Stabilize Emoji (No Skin color, No Gender).
  • Assemble Emojis (๐Ÿ‘ฉ + โค + ๐Ÿ‘ฉ = ๐Ÿ‘ฉโ€โค๏ธโ€๐Ÿ‘ฉ ).
  • Disassemble Emojis (๐Ÿ‘จโ€๐Ÿ”ง = ๐Ÿ”ง + ๐Ÿง‘).
  • Emoji Regex Pattern.
  • Emojize and Demojize text.
  • Find emojis in text.
  • Replace emojis in text.

๐Ÿ“„ License