Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/danielsaidi/emojikit

EmojiKit is a Swift SDK that lets you use emojis and other emoji-based features on all major Apple platforms.
https://github.com/danielsaidi/emojikit

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

Last synced: 5 days ago
JSON representation

EmojiKit is a Swift SDK that lets you use emojis and other emoji-based features on all major Apple platforms.

Awesome Lists containing this project

README

        


EmojiKit Logo


Version
Swift 6.0
Swift UI
MIT License
Twitter: @danielsaidi
Mastodon: @danielsaidi@mastodon.social

## About EmojiKit

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



EmojiKit has all you need to work with emojis, including categories, support for localization & skin tones, unicode & version information, as well as convenient ``EmojiGrid`` and ``EmojiScrollGrid`` components for SwiftUI.

## 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 - EmojiKit defines a structured emoji model.
* 🐻 Emoji Categories - EmojiKit defines all standard emoji categories.
* πŸ“¦ Emoji Versions - EmojiKit defines all emoji versions and their emojis.
* 🧩 Extensions - EmojiKit extends native types with emoji support.
* πŸ‡ΈπŸ‡ͺ Localization - EmojiKit supports localizing all emojis and categories.
* πŸ‘πŸΎ Skin Tones - EmojiKit provides emoji skin tone information.
* πŸ–ΌοΈ Views - EmojiKit has emoji-specific views, like grids and pickers.

See the online [documentation][Documentation] for more information.

## 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(for: .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 an app that lets you explore the library.

## Support my work

You can [sponsor me][Sponsors] on GitHub Sponsors or [reach out][Email] for paid support, to help support my [open-source projects][OpenSource].

Your support makes it possible for me to put more work into these projects and make them the best they can be.

## Contact

Feel free to reach out if you have questions or if you want to contribute in any way:

* Website: [danielsaidi.com][Website]
* Mastodon: [@[email protected]][Mastodon]
* Twitter: [@danielsaidi][Twitter]
* E-mail: [[email protected]][Email]

## License

EmojiKit is available under the MIT license. See the [LICENSE][License] file for more info.

[Email]: mailto:[email protected]

[Website]: https://danielsaidi.com
[GitHub]: https://github.com/danielsaidi
[Twitter]: https://twitter.com/danielsaidi
[Mastodon]: https://mastodon.social/@danielsaidi
[OpenSource]: https://danielsaidi.com/opensource
[Sponsors]: https://github.com/sponsors/danielsaidi

[Documentation]: https://danielsaidi.github.io/EmojiKit

[License]: https://github.com/danielsaidi/EmojiKit/blob/main/LICENSE