An open API service indexing awesome lists of open source software.

https://github.com/danielsaidi/emojikit

Create emoji-based features on all major Apple platforms, using Swift & SwiftUI.
https://github.com/danielsaidi/emojikit

emoji emoji-categories emoji-picker emoji-versions emojis ios macos swift swiftui tvos visionos watchos

Last synced: 3 months ago
JSON representation

Create emoji-based features on all major Apple platforms, using Swift & SwiftUI.

Awesome Lists containing this project

README

          


Project Icon


Version
Swift 6.1
Swift UI
Documentation
MIT License

# EmojiKit

EmojiKit lets you use emoji-based features on all major Apple platforms (iOS, macOS, tvOS, watchOS & visionOS).



EmojiKit supports emojis, categories, unicode versions, localization, skin tones, etc. and has convenient SwiftUI components like ``EmojiGrid`` and ``EmojiScrollGrid``.

## Installation

EmojiKit can be installed with the Swift Package Manager:

```
https://github.com/danielsaidi/EmojiKit.git
```

## Features

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:

```swift
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:

```swift
EmojiCategory.smileysAndPeopleChars.emojis // 😀😃😄...
EmojiCategory.animalsAndNatureChars.emojis // 🐶🐱🐭...
EmojiCategory.foodAndDrinkChars.emojis // 🍏🍎🍐...
```

The `EmojiVersion` enum defines Emoji versions and the emojis they introduced, for instance:

```swift
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