Simple embeddable color picker components for Angular following best Angular practices, and good coding standards for easy use and easy contribution.
Color picker components for Angular 2+
https://stackblitz.com/edit/ng-color-demo
npm install
npm run build
npm start
- Go to
http://localhost:8080/
To install this library, run:
$ npm install ng-color --save
To use this library in your AppModule
:
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { AppComponent } from './app.component';
// Import your library
import { NgColorModule } from 'ng-color';
@NgModule({
declarations: [AppComponent],
imports: [
BrowserModule,
NgColorModule, // Inlude in @NgModule
],
providers: [],
bootstrap: [AppComponent],
})
export class AppModule {}
Once your library is imported, you can use the component in your Angular application shown below.
What it looks like is shown in the header
<ng-color-box [(ngModel)]="color"></ng-color-box>
<ng-color-box (ngModelChange)="colorChange($event)"></ng-color-box>
What it looks like is shown in the header
<ng-color-circle [(ngModel)]="color"></ng-color-circle>
<ng-color-circle (ngModelChange)="colorChange($event)"></ng-color-circle>
The ngModel
is of the following format. You can use two-way or one-way binding:
export interface ColorOutput {
rgb: Rgb;
hex: number;
hexString: string;
hsl: Hsl;
}
Or equivalently:
export interface ColorOutput {
rgb: {
red: number; // 0 - 255
green: number; // 0 - 255
blue: number; // 0 - 255
};
hex: number; // 0 - 16777215
hexString: string; // #000000 - #ffffff
hsl: {
hue: number; // 0 - 360
saturation: number; // 0 - 100
lightness: number; // 0 - 100
};
}
Setting these partially also works, this library will resolve all the other components out on the next change detection cycle.
Therefore, you can set the initial color of the picker by doing:
this.myColor = {
hexString: '#ff56d3',
};
In the html
:
<ng-color-box [(ngModel)]="myColor"></ng-color-box>
To build using ng-packagr
:
$ npm run build
To lint all *.ts
files:
$ npm run lint
MIT © Dolan Miu
Made with 💖 by Dolan Miu 🍆 💦 😝