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 🙏

© 2024 – Pkg Stats / Ryan Hefner

ip-input-lib

v1.0.0

Published

A simple Angular library to provide enhanced user experience for IP input and its validation

Downloads

19

Readme

ip-input-lib

ip-input-lib is a simple Angular library to provide enhanced user experience for IP input and its validation.

  • This library is meant for <input> elements of HTML form
  • Library location: projects/ip-input-lib directory of this repository

Features

  1. The directive automatically inserts a . in the IP address on completion of 3 digits in an IP sub-block.
  2. The directive restricts user from entering an invalid number of digits (i.e. greater than 3) in an IP sub-block.
  3. On pressing the tab key:
    • A . is inserted and user jumps to the next sub-block of an IP address.
    • In case the current sub-block is empty, it is automatically populated with a 0 before jumping to the next sub-block or next form field.
  4. The directive provides IP address validation which is visible from the validity state of the associated <input> when using FormsModule or ReactiveFormsModule .

Examples/Demo

  • A sample example for IP input in template-driven forms in angular can be found in the src/app directory of this repository.

Installation

npm i ip-input-lib

Usage

After installing the library, proceed with the following steps to successfully use it.

  1. Register the IpInputLibModule in your app module and add it to the imports array of the module.
import { IpInputLibModule } from 'ip-input-lib';
@NgModule({
 declarations: [AppComponent],
 imports: [
   BrowserModule,
   FormsModule,
   IpInputLibModule
 ],
 providers: [],
 bootstrap: [AppComponent]
})

Note: It is necessary to use at least one from amongst the FormsModule and ReactiveFormsModule to utilize the validation function of the directive.

  1. The next step differs for template-driven and reactive forms.
  • Template-driven forms Use the directive selector ip in your IP <input> field to consume it.

  • Reactive forms i. Add the following import to the typescript file that defines the form: import {IpInputLibDirective} from 'ip-input-lib' ii. Add the following validator in the synchronous validators array of your input FormControl: IpInputLibDirective.ipAddress