ngx-emoji-picker

A simple emoji picker for Angular 2+ / Ionic 3 with AOT build support

Downloads in past

Stats

StarsIssuesVersionUpdatedCreatedSize
ngx-emoji-picker
0.1.64 years ago5 years agoMinified + gzip package size for ngx-emoji-picker in KB

Readme

npm version

All Contributors
😎 Ngx-emoji-picker

πŸ†• What's New

  • 🐣 Fallback emojis using twemoji.
  • πŸ›  Fixed the AOT (Ahead Of Time) Compile error or simply put the ---prod build compile error.
  • ⏫ Upgraded the library from a Ng2 project to a Ng9 project.
  • ⏫ Upgraded the library RxJs from v5 to v6 to make it support new angular versions.
  • βœ… Now compatible with Ng2 - Ng9+ projects and as well as Ionic 3/4.

A fork of ionic3-emoji-picker project created by danielehrhardt
Installation

Install the module via NPM

# Angular 8 downwards...
npm i ngx-emoji-picker@0.0.2

# Angular 9 upwards...
npm i ngx-emoji-picker twemoji

Import it in your app's module(s)

Import EmojiPickerModule.forRoot() in your app's main module
app.module.ts
import  {  NgxEmojiPickerModule  }  from  'ngx-emoji-picker';

@NgModule({
    ...
    imports: [
      ...
      NgxEmojiPickerModule.forRoot()
      ],
    ...
})
export class AppModule {}

If your app uses lazy loading, you need to import EmojiPickerModule in your shared module or child modules:
import  {  NgxEmojiPickerModule  }  from  'ngx-emoji-picker';

@NgModule({
    ...
    imports: [
      ...
      NgxEmojiPickerModule
      ],
    ...
})
export class SharedModule {}

Sample

Angular Example

<i
  (click)="toggled = !toggled"
  [(emojiPickerIf)]="toggled"
  [emojiPickerDirection]="'bottom' || 'top' || 'left' || 'right'"
  (emojiPickerSelect)="handleSelection($event)"
  >πŸ˜„</i
>

toggled: boolean = false;
handleSelection(event) {
  console.log(event.char);
}

Ionic 3 Example

<ion-textarea [(ngModel)]="message"></ion-textarea>

<button
  ion-button
  clear
  icon-only
  (click)="toggled = !toggled"
  [(emojiPickerIf)]="toggled"
  [emojiPickerDirection]="'top'"
  (emojiPickerSelect)="handleSelection($event)"
>
  <ion-icon name="md-happy"></ion-icon>
</button>

toggled: boolean = false;
message: string;

handleSelection(event) {
  this.message += event.char;
}

Directive API:

<button
  ion-button
  (click)="toggled = !toggled"
  [(emojiPickerIf)]="toggled"
  [emojiPickerDirection]="'bottom' || 'top' || 'left' || 'right'"
  (emojiPickerSelect)="handleSelection($event)"
>
  <ion-icon name="md-happy"></ion-icon>
</button>

Emitter (emojiPickerSelect)="handleSelection($event)"

$event = EmojiEvent{ char : "😌", label : "relieved" }

EmojiPickerCaretEmitter

added for your convenience, emits information regarding a content editable enabled element

Emitter (emojiPickerCaretEmitter)="handleCaretChange($event)"

$event = CaretEvent{ caretOffset: 13, caretRange: Range{...}, textContent: 'content of div or input' }

Emoji Picker will get placed relative the element chosen via the directive api, centered and within window borders
Related
  • ngx-emoj - πŸ’… A simple, theme-able emoji mart/picker for angular 4+
Contributing
See CONTRIBUTING.md

Contributors ✨

Thanks goes to these wonderful people (emoji key):
<td align="center"><a href="https://victor-aremu.web.app"><img src="https://avatars1.githubusercontent.com/u/13041443?v=4" width="100px;" alt=""/><br /><sub><b>Victor Aremu</b></sub></a><br /><a href="#maintenance-ahkohd" title="Maintenance">🚧</a> <a href="#projectManagement-ahkohd" title="Project Management">πŸ“†</a></td>
<td align="center"><a href="https://github.com/GNURub"><img src="https://avatars3.githubusercontent.com/u/1318648?v=4" width="100px;" alt=""/><br /><sub><b>RubΓ©n</b></sub></a><br /><a href="https://github.com/ahkohd/ngx-emoji-picker/commits?author=GNURub" title="Code">πŸ’»</a></td>
<td align="center"><a href="https://github.com/cheygo"><img src="https://avatars3.githubusercontent.com/u/69327675?v=4" width="100px;" alt=""/><br /><sub><b>cheygo</b></sub></a><br /><a href="#a11y-cheygo" title="Accessibility">️️️️♿️</a></td>



This project follows the all-contributors specification. Contributions of any kind welcome!