danielsaidi/EmojiKit
Create emoji-based features on all major Apple platforms, using Swift & SwiftUI.
Installation
EmojiKit can be installed with the Swift Package Manager:
https://github.com/danielsaidi/EmojiKit.gitFeatures
EmojiKit provides a bunch of emoji-specific features:
- ๐ Emojis - An emoji model with many features.
- ๐ป Emoji Categories - Standard and custom emoji categories.
- ๐ฆ Emoji Versions - All available emoji versions and their emojis.
- ๐งฉ Extensions - Emoji-related native type extensions.
- ๐๐พ Skin Tones - Skin tone information for supported emojis.
- ๐ผ๏ธ Views - Emoji-specific views, like grids and pickers.
See the online [documentation][Documentation] for more information.
Localization
EmojiKit is localized in the following languages:
- ๐จ๐ณ Chinese (Simplified)
- ๐ฌ๐ง English
- ๐ณ๐ฑ Dutch
- ๐ซ๐ท French
- ๐ฉ๐ช German
- ๐ฎ๐น Italian
- ๐ฏ๐ต Japanese
- ๐ฐ๐ท Korean
- ๐ง๐ท Portuguese (Brazil)
- ๐ท๐บ Russian
- ๐ช๐ธ Spanish
- ๐ธ๐ช Swedish
You can contribute by copying Sources/Resources/en.lproj and localizing it in another language.
Getting started
The Emoji model can be used to parse a bunch of emoji-specific information, for instance:
Emoji("๐").unicodeIdentifier // \\N{THUMBS UP SIGN}
Emoji("๐").unicodeIdentifier // \\N{ROCKET}
Emoji("๐").unicodeName // Thumbs Up Sign
Emoji("๐๐ฟ").unicodeName // Thumbs Up Sign
Emoji("๐").unicodeName // Rocket
Emoji("๐").localizedName // Grinning Face
Emoji("๐").localizedName(in: .swedish) // Leende Ansikte
Emoji("๐").hasSkinToneVariants // true
Emoji("๐").hasSkinToneVariants // false
Emoji("๐๐ฟ").neutralSkinToneVariant // ๐
Emoji("๐").skinToneVariants // ๐๐๐ป๐๐ผ๐๐ฝ๐๐พ๐๐ฟThe EmojiCategory enum defines standard and custom categories and their emojis, for instance:
EmojiCategory.smileysAndPeopleChars.emojis // ๐๐๐...
EmojiCategory.animalsAndNatureChars.emojis // ๐ถ๐ฑ๐ญ...
EmojiCategory.foodAndDrinkChars.emojis // ๐๐๐...The EmojiVersion enum defines Emoji versions and the emojis they introduced, for instance:
EmojiVersion.v15_1.emojis // ๐โโ๏ธ๐โโ๏ธ๐ฉโ๐ฆฝโโก๏ธ...
EmojiVersion.v15.emojis // ๐ซจ๐ซธ๐ซท
EmojiVersion.v14.emojis // ๐ซ ๐ซข๐ซฃSee the online [documentation][Documentation] for more information.
Documentation
The online [documentation][Documentation] has more information, articles, code examples, etc.
Demo Application
The Demo folder has a demo app that lets you explore the library and its components.
Support My Work
You can [become a sponsor][Sponsors] to help me dedicate more time on my various [open-source tools][OpenSource]. Every contribution, no matter the size, makes a real difference in keeping these tools free and actively developed.
Contact
Feel free to reach out if you have questions or want to contribute in any way:
- Website: [danielsaidi.com][Website]
- E-mail: [daniel.saidi@gmail.com][Email]
- Bluesky: [@danielsaidi@bsky.social][Bluesky]
- Mastodon: [@danielsaidi@mastodon.social][Mastodon]
License
EmojiKit is available under the MIT license. See the [LICENSE][License] file for more info.
[Email]: mailto:daniel.saidi@gmail.com [Website]: https://danielsaidi.com [GitHub]: https://github.com/danielsaidi [OpenSource]: https://danielsaidi.com/opensource [Sponsors]: https://github.com/sponsors/danielsaidi
[Bluesky]: https://bsky.app/profile/danielsaidi.bsky.social [Mastodon]: https://mastodon.social/@danielsaidi [Twitter]: https://twitter.com/danielsaidi
[Documentation]: https://danielsaidi.github.io/EmojiKit [License]: https://github.com/danielsaidi/EmojiKit/blob/main/LICENSE
Package Metadata
Repository: danielsaidi/EmojiKit
Homepage: https://danielsaidi.com/opensource
Stars: 189
Forks: 19
Open issues: 1
Default branch: main
Primary language: swift
License: MIT
Topics: emoji, emoji-categories, emoji-picker, emoji-versions, emojis, ios, macos, swift, swiftui, tvos, visionos, watchos
README: README.md