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 🙏

© 2025 – Pkg Stats / Ryan Hefner

@netcreaties/ngx-mention

v2.0.0-beta.1

Published

Very simple Angular mentions inspired by [Angular mentions](https://github.com/dmacfarlane/angular-mentions)

Downloads

149

Readme

Ngx Mention

Very simple Angular mentions inspired by Angular mentions

Provides auto-complete suggestions for @mentions in text input field and text area's

Demo

Demo is available here

Usage

Add the package as a dependency to your project using:

npm install @netcreaties/ngx-mention
yarn add @netcreaties/ngx-mention

Add the module to your app.module imports:

import { NgxMentionModule } from '@netcreaties/ngx-mention';
...

@NgModule({
    imports: [NgxMentionModule],
    ...
})

Add the [ncNgxMention] directive to your input or textarea element

<input type="text" [ncNgxMention]="items">

Where items is a array of objects defined like the type NgxMentions NgxMentions is a simple type that maps your own given type into ngx-mention array type if you want it to.

An example of defining your own type is shown below:

    public ngxMentions: NgxMentions<type or interface of your choosing> = [];

Configuration options

The following configuration options are available

Option | Default | Description --- | --- | --- denotationCharacter | @ | Trigger on which the mention list is activated minimalCharacters | 0 | Minimal amount of characters before search is activated disableSearch | false | Set this to true for async search (using the search Output) dropUp | false | Mention list should be a drop up instead of dropdown formatSelected | item.value | Function to format selected item before inserting text

For example

<input type="text" [ncNgxMention]="items" [ngxMentionConfig]="{denotationCharacter: '$', minimalCharacters: 3}">

Custom templates

It is possible to add a custom template to change the way items are visible.

<ng-template #customTemplate let-item="item">
    {{ item.username }} {{ item.id }}
</ng-template>

<input
    type="text"
    [ncNgxMention]="[{id: 1, username: 'John'}, {id: 2, username: 'Doe'}]"
    [customTemplate]="{ template: customTemplate }"
/>

By default ngx-mention will expect a array structure defined like the interface NgxMention. By default ngx-mention will look to a property value which will parsed into the input or textarea.

You can alter this behavior by using the formatSelected configuration.

An example for the above structure would be:

interface OtherStructure {
    id: number,
    username: string
}

const configuration: NgxMentionConfig<OtherStructure> = {
    formatSelected: (item) => {
        // In here item will be typed as OtherStructure
        return item.username;
    }
}

Output events

Output | Description --- | --- @Output() searchTerm: EventEmitter<string> | Event that is emitted whenever the search term changes. Can be used to trigger async search. @Output() selectItem: EventEmitter<NgxMention> | Event that is emitted when an item is selected

Todo

  • Extend demo-app to see code examples
  • Add basic styles to demo-app to make it more presentable
  • Add tests
  • Add support for multiple denotation characters

Sites using this package

Are you using this package and do you want to be added to the list? Please create a pull request with your entry.