# ngx-material-pages

> Open source library for angular apps to illustrate custom material pages content with steps (ideal for tutorials and explanation purposes)

Latest version **1.3.2** (published 2018-06-16) · MIT license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install ngx-material-pages
pnpm add ngx-material-pages
yarn add ngx-material-pages
bun add ngx-material-pages
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 1.3.2 |
| Published | 2018-06-16 |
| First published | 2018-04-09 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Dependencies | 0 |
| Unpacked size | 122.3 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 51 |
| Author | anthonynahas |
| Maintainers | anthonynahas |
| Keywords | ngx,  angular,  library,  material,  material-ui,  material-design,  material-components, pages, pagination, turorials |

## Links

- npm: https://www.npmjs.com/package/ngx-material-pages
- Repository: https://github.com/anthonynahas/ngx-material-pages
- Issues: https://github.com/anthonynahas/ngx-material-pages/issues
- npm.io page: https://npm.io/package/ngx-material-pages

## Alternatives

- [@progress/kendo-ooxml](https://npm.io/package/@progress/kendo-ooxml.md) — 152.1K weekly downloads
- [@progress/kendo-react-ripple](https://npm.io/package/@progress/kendo-react-ripple.md) — 8.0K weekly downloads
- [@progress/kendo-react-orgchart](https://npm.io/package/@progress/kendo-react-orgchart.md) — 4.3K weekly downloads
- [@praxisui/dynamic-fields](https://npm.io/package/@praxisui/dynamic-fields.md) — 2.4K weekly downloads
- [@mesalvo/react-ui](https://npm.io/package/@mesalvo/react-ui.md) — 1.7K weekly downloads

## Recent versions

- 1.3.2 (latest) — 2018-06-16
- 1.3.1 — 2018-05-15
- 1.3.0 — 2018-05-10
- 1.2.1 — 2018-04-22
- 1.2.0 — 2018-04-16
- 1.1.6 — 2018-04-15
- 1.1.5 — 2018-04-12
- 1.1.4 — 2018-04-12
- 1.1.3 — 2018-04-12
- 1.1.2 — 2018-04-11
- 1.1.1 — 2018-04-10
- 1.1.0 — 2018-04-10
- 1.0.1 — 2018-04-09
- 1.0.0 — 2018-04-09

## README

<p align="center">
  <img height="256px" width="256px" style="text-align: center;" src="https://cdn.rawgit.com/anthonynahas/ngx-material-pages/master/demo/src/assets/logo.svg">
</p>

# ngx-material-pages - Open source library for Angular Apps to illustrate custom material pages content with steps (ideal for tutorials and explanation purposes) - Angular v6 supported


[![npm version](https://badge.fury.io/js/ngx-material-pages.svg)](https://badge.fury.io/js/ngx-material-pages),
[![npm](https://img.shields.io/badge/demo-online-ed1c46.svg)](https://anthonynahas.github.io/ngx-material-pages)
[![Join the chat at https://gitter.im/angular-material-extensions/Lobby](https://badges.gitter.im/angular-material-extensions/Lobby.svg)](https://gitter.im/angular-material-extensions/Lobby?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
[![CircleCI branch](https://img.shields.io/circleci/project/github/AnthonyNahas/ngx-material-pages/master.svg?label=circleci)](https://circleci.com/gh/AnthonyNahas/ngx-material-pages)
[![Coverage Status](https://coveralls.io/repos/github/anthonynahas/ngx-material-pages/badge.svg?branch=master)](https://coveralls.io/github/anthonynahas/ngx-material-pages?branch=master)
[![dependency Status](https://david-dm.org/anthonynahas/ngx-material-pages/status.svg)](https://david-dm.org/anthonynahas/ngx-material-pages)
[![devDependency Status](https://david-dm.org/anthonynahas/ngx-material-pages/dev-status.svg?branch=master)](https://david-dm.org/anthonynahas/ngx-material-pages#info=devDependencies)
[![Greenkeeper Badge](https://badges.greenkeeper.io/anthonynahas/ngx-material-pages.svg)](https://greenkeeper.io/)
[![license](https://img.shields.io/github/license/anthonynahas/ngx-material-pages.svg?style=flat-square)](https://github.com/AnthonyNahas/ngx-material-pages/blob/master/LICENSE)

> This project has been moved to [@angular-material-extensions/pages](https://github.com/angular-material-extensions/pages)

<p align="center">
  <img alt="ngx-material-pages" style="text-align: center;"
   src="assets/demo.gif">
</p>


Do you need an illustration for your explanations and tutorials ? Or maybe an alternative way of pagination ?
Are you using [angular](https://angular.io/) to build wonderful pwa ?
You favorite front-end framework is [angular material](https://material.angular.io/) ?

ngx-material-pages is the right UI component for you!
You build wonderful and comprehensive tutorials pages by providing an outlook and content for each
step of your explanation.

Try it out! 

## Demo
View all the directives in action at https://anthonynahas.github.io/ngx-material-pages

## Dependencies
* [Angular](https://angular.io) (*requires* Angular 2 or higher)
- if you are still using angular v5, please the following version `1.2.1`

### Peer Dependencies Requirements:
### Requirements:
- [angular animations ](https://www.npmjs.com/package/@angular/animations)
- [angular cdk ](https://www.npmjs.com/package/@angular/cdk)
- [angular material ](https://www.npmjs.com/package/@angular/material)
- [angular material theme](https://material.angular.io/guide/getting-started#step-4-include-a-theme)
- [material icons](https://material.angular.io/guide/getting-started#step-6-optional-add-material-icons)
- if you need a built in theme --> please let me know

> This project has been renamed from [ngx-material-pages](https://www.npmjs.com/package/ngx-material-pages) to [@angular-material-extensions/pages](https://github.com/angular-material-extensions/pages)

## Install Peer Dependencies - [help](https://material.angular.io/guide/getting-started#step-1-install-angular-material-and-angular-cdk)
```bash
npm i -s @angular/animations @angular/material @angular/cdk
```

## Installation
Install above dependencies via *npm*. 

Now install `ngx-material-pages` via:
```shell
npm install --save ngx-material-pages
```

---
##### SystemJS
>**Note**:If you are using `SystemJS`, you should adjust your configuration to point to the UMD bundle.
In your systemjs config file, `map` needs to tell the System loader where to look for `ngx-material-pages`:
```js
map: {
  'ngx-material-pages': 'node_modules/ngx-material-pages/bundles/ngx-material-pages.umd.js',
}
```
---

Once installed you need to import the main module:
```js
import { NgxMaterialPagesModule } from 'ngx-material-pages';
```
The only remaining part is to list the imported module in your application module. The exact method will be slightly
different for the root (top-level) module for which you should end up with the code similar to (notice ` NgxMaterialPagesModule .forRoot()`):

NB: please do not forget to import the angular animations module in your root component too! (usally app.component.ts)
```js
import { NgxMaterialPagesModule } from 'ngx-material-pages';
import {BrowserAnimationsModule} from '@angular/platform-browser/animations';

@NgModule({
  declarations: [AppComponent, ...],
  imports: [NgxMaterialPagesModule.forRoot(),
  BrowserAnimationsModule,
   ...],  
  bootstrap: [AppComponent]
})
export class AppModule {
}
```

Other modules in your application can simply import ` NgxMaterialPagesModule `:

```js
import { NgxMaterialPagesModule } from 'ngx-material-pages';

@NgModule({
  declarations: [OtherComponent, ...],
  imports: [NgxMaterialPagesModule, ...], 
})
export class OtherModule {
}
```

## Add a material theme - [help](https://material.angular.io/guide/getting-started#step-4-include-a-theme)
The easiest way is to add 
```css
@import '~@angular/material/prebuilt-themes/deeppurple-amber.css';
```
to you `styles.css` files

[learn more](https://material.angular.io/guide/theming)

## Add a material icons - [help](https://material.angular.io/guide/getting-started#step-6-optional-add-material-icons)
The easiest way is to add 
```html
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">
```
to you `index.html` files

[learn more](https://google.github.io/material-design-icons/)


## Usage - Library's components
This library consists of 4 essential components.

1. `ngx-material-pages` the main container that hold the pages incl. the outlook view and the content
2. `ngx-material-page-loader` the container of each page. This component should have two nested elements
 which are the outlook and the content components (see below)
3. `ngx-material-page-outlook` the outlook view of a page. This can contain a custom component, custom layout or just a title.
4. `ngx-material-page-content` this is the content view of the page. This can be anything!!

5. Example:

```html
<ngx-material-pages>
    <ngx-material-page-loader>
      <ngx-material-page-outlook>
        <!-- put your own outlook view for the first page -->
      </ngx-material-page-outlook>
      <ngx-material-page-content>
        <!-- put your own content view for the first page -->
      </ngx-material-page-content>
    </ngx-material-page-loader>
    <ngx-material-page-loader>
      <ngx-material-page-outlook>
        <!-- put your own outlook view for the second page -->
      </ngx-material-page-outlook>
      <ngx-material-page-content>
        <!-- put your own content view for the second page -->
      </ngx-material-page-content>
    </ngx-material-page-loader>
  </ngx-material-pages>
```

## Where are ngx-material-pages being used ? Here are some examples
- [ngx-auth-firebaseui](https://ngx-auth-firebaseui.firebaseapp.com/getting-started)
- [ngx-material-pages](https://anthonynahas.github.io/ngx-material-pages/getting-started)
- [ngx-material-password-strength](https://anthonynahas.github.io/ngx-material-password-strength/getting-started)
- [ngx-material-contacts](https://anthonynahas.github.io/ngx-material-contacts/getting-started)
- [ngx-material-faq](https://anthonynahas.github.io/ngx-material-faq/getting-started)
- [combination-generator](https://anthonynahas.github.io/combination-generator/getting-started)

<a name="other-angular-libraries"/>

## Other Angular Libraries
- [ngx-auth-firebaseui](https://github.com/AnthonyNahas/ngx-auth-firebaseui)
- [@angular-material-extensions/password-strength](https://github.com/angular-material-extensions/password-strength)
- [@angular-material-extensions/contacts](https://github.com/angular-material-extensions/contacts)
- [@angular-material-extensions/cards](https://github.com/angular-material-extensions/cards)
- [@angular-material-extensions/faq](https://github.com/angular-material-extensions/faq)
- [@angular-material-extensions/combination-generator](https://github.com/angular-material-extensions/combination-generator)

## Support
+ Drop an email to: [Anthony Nahas](mailto:anthony.na@hotmail.de) and I will help you
+ or open an appropriate [issue](https://github.com/anthonynahas/ngx-material-pages/issues)
+ let us chat on [Gitter](https://gitter.im/angular-material-extensions/Lobby)
 
## License

Copyright (c) 2018 [Anthony Nahas](mailto:anthony.na@hotmail.de). Licensed under the MIT License (MIT)

---
_Source: https://npm.io/package/ngx-material-pages · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
