npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@libs-ui/components-inputs-emoji

v0.2.356-25

Published

> Component chọn Emoji (Emoji Picker) tích hợp trong Popover với tính năng tìm kiếm và phân loại.

Downloads

2,188

Readme

@libs-ui/components-inputs-emoji

Component chọn Emoji (Emoji Picker) tích hợp trong Popover với tính năng tìm kiếm và phân loại.

Giới thiệu

LibsUiComponentsEmojiComponent cung cấp một giao diện chọn emoji trực quan, hỗ trợ đầy đủ các nhóm emoji tiêu chuẩn, tìm kiếm theo tên và tối ưu hóa hiệu năng bằng lazy loading khi cuộn danh sách.

Tính năng

  • ✅ Danh sách Emoji đầy đủ, phân loại theo nhóm
  • ✅ Tìm kiếm Emoji nhanh chóng
  • ✅ Tích hợp sẵn Popover thông minh
  • ✅ Lazy loading (scroll to load more) tối ưu hiệu năng
  • ✅ Hỗ trợ Custom Trigger qua ng-content
  • ✅ Tùy chỉnh linh hoạt kích thước và vị trí popup

Khi nào sử dụng

  • Khi cần cho phép người dùng chèn cảm xúc (emoji) vào nội dung văn bản.
  • Phù hợp cho ứng dụng Chat, Comment, Social Media.
  • Khi cần một bộ chọn emoji chuyên nghiệp nhưng vẫn tiết kiệm diện tích giao diện.

Cài đặt

# npm
npm install @libs-ui/components-inputs-emoji

# yarn
yarn add @libs-ui/components-inputs-emoji

Import

import { LibsUiComponentsEmojiComponent } from '@libs-ui/components-inputs-emoji';

@Component({
  standalone: true,
  imports: [LibsUiComponentsEmojiComponent],
  // ...
})
export class YourComponent {}

Ví dụ

Cơ bản

<libs_ui-components-emoji (outEventEmoji)="onSelect($event)" />

Custom Trigger

<libs_ui-components-emoji
  [isNgContent]="true"
  (outEventEmoji)="onSelect($event)">
  <button>Chọn Emoji</button>
</libs_ui-components-emoji>

API

libs_ui-components-emoji

Inputs

| Property | Type | Default | Description | | ----------------------- | ------------------------------ | ------------------------ | -------------------------------------------- | | [classIconInclude] | string | 'libs-ui-icon-add' | CSS class cho icon trigger mặc định | | [classInclude] | string | '' | CSS class bổ sung cho trigger container | | [classPopup] | string | 'w-[290px] h-[245px]' | CSS class cho container của popup chọn emoji | | [configPopover] | IPopoverOverlay | defaultConfigPopover() | Cấu hình overlay cho Popover | | [isNgContent] | boolean | false | Sử dụng ng-content làm trigger thay vì icon | | [modePopoverPosition] | 'start' \| 'center' \| 'end' | undefined | Chế độ căn lề cho Popover | | [zIndex] | number | 0 | Giá trị Z-index nền của popup |

Outputs

| Property | Type | Description | | ----------------------- | ------------------------------ | --------------------------------------------------- | | (outEventEmoji) | string | Emit khi người dùng chọn một emoji | | (outFunctionsControl) | IPopoverFunctionControlEvent | Emit các functions điều khiển Popover (show/remove) |

Types & Interfaces

// Interface configure Popover
export interface IPopoverOverlay {
  isAddContentToParentDocument?: boolean;
  classInclude?: string;
  widthByParent?: boolean;
  width?: number;
  minWidth?: number;
  maxWidth?: number;
  maxHeight?: number | null;
  zIndex?: number;
  direction?: 'top' | 'right' | 'bottom' | 'left';
  position?: {
    mode: 'start' | 'center' | 'end';
    distance: number;
  };
  // ... (see @libs-ui/components-popover for full list)
}

export interface IPopoverFunctionControlEvent {
  showPopoverOverlay: () => void;
  removePopoverOverlay: () => void;
}

Công nghệ

| Technology | Version | Purpose | | --------------- | ------- | ---------------- | | Angular | 18+ | Framework | | Angular Signals | - | State management | | TailwindCSS | 3.x | Styling | | OnPush | - | Change Detection |

Demo

npx nx serve core-ui

Truy cập: http://localhost:4500/inputs/emoji

Unit Tests

# Chạy tests
npx nx test components-inputs-emoji

# Coverage
npx nx test components-inputs-emoji --coverage

License

MIT