npm package: @next-level-integration/nli-client-lib
Description: The general structure of component:
Latest version: 2.0.5

# NliClientLib

The general structure of component:
	
	<nli-client 
		[username]="username" [clients]="clients" 
		(onLogout)="onLogout()" (onNextPage)="onNextPage($event)" >
	</nli-client>

![alt text](https://user-images.githubusercontent.com/18218517/42020943-940b1086-7ace-11e8-95b1-1a2b93436812.png)


### Setup Steps:
1. Add dependency in package.json under dependencies object:
	    `"nli-client-lib": "^2.0.1"`

2. Add CSS dependencies to main html file which by default is index.html:

 ```html
<head>
	...
  <link rel="stylesheet" href="assets/offlines/material-icons.googleapis.css">
  <link rel="stylesheet" href="assets/offlines/fonts.googleapis.css">
  <link rel="stylesheet" href="assets/offlines/font-awesome.min.css">
        ...
</head>
```
 This component uses material fonts and icons.

3. Apply material theme. create `app-theme.scss` file and apply material theme. You should also add style
	dependency in `.angular-cli.json` file:
	```
      "styles": [
      	...
		"app-theme.scss"
      ],
	```
	The sample app-theme.scss exists at the end of this file.

4. Run npm install in project folder (The home folder that `package.json` exists):
  		`npm install`
   This command downloads all dependencies including nli-client-lib. You can also download just this module with:
  	    `npm install nli-client-lib`
   
5. Import client module to your project. In your main module (or module that you want use this component) that its default name is
 	`app.module.ts`, import it:

	import { LibModule as ClientModule} from '@next-level-integration/nli-client-lib';
	...
	@NgModule({
	  ...
	  imports: [
	    ...
	    NliClientModule
	   ]
	   ...
	});

Usage example:

	<nli-client style="height: 100%"
		[username]="username" [clients]="clients" 
		(onLogout)="onLogout()" (onNextPage)="onNextPage($event)" >
	</nli-client>

----------

##Appendix
1. Sample `app-theme.scss` 

	``` 
	@import '~@angular/material/theming';
	// Plus imports for other components in your app.
	// Include the base styles for Angular Material core. We include this here so that you only
	// have to load a single css file for Angular Material in your app.
	@include mat-core();
	// Define the palettes for your theme using the Material Design palettes available in palette.scss
	// (imported above). For each palette, you can optionally specify a default, lighter, and darker
	// hue.
	$app-primary: mat-palette($mat-blue);
	$app-secondary: mat-palette($mat-blue);
	$app-accent:  mat-palette($mat-orange, A200, A100, A400);
	// The warn palette is optional (defaults to red).
	$app-warn:    mat-palette($mat-red);
	// Create the theme object (a Sass map containing all of the palettes).
	$app-theme: mat-light-theme($app-primary, $app-accent, $app-warn);
	// Include theme styles for core and each component used in your app.
	// Alternatively, you can import and @include the theme mixins for each component
	// that you are using.
	@include angular-material-theme($app-theme);	
	//add this line for importing client scss theme:
	@import '~@next-level-integration/nli-client-lib/lib/client/client.component.scss';
	@include nli-client-material-theme($app-theme);
	```