Giter Club home page Giter Club logo

ngx-mzd-timeline's Introduction

ngx-mzd-timeline

Angular material theme supported minimalist's vertical timeline library for Angular applications.

Live Demo

Live demo is available at github pages.

Getting Started

  1. run npm install --save ngx-mzd-timeline
  2. import MzdTimelineModule in your app module
...
import { MzdTimelineModule } from 'ngx-mzd-timeline';

@NgModule({
  ...
  imports: [
    ...
    MzdTimelineModule
  ]
})
export class AppModule { }

Usage

Minimal Setup

<mzd-timeline>
  <mzd-timeline-content>
      Your HTML code or any angular component can be placed here.
      Content will be displayed in a card.
  </mzd-timeline-content>
</mzd-timeline>

Icon

mzd-icon supports fontawesome icons.

<mzd-timeline>
  <mzd-icon><fa-icon icon="briefcase"></fa-icon></mzd-icon>
  <mzd-timeline-content>
      Your HTML code or any angular component can be placed here.
      Content will be displayed in a card.
  </mzd-timeline-content>
</mzd-timeline>

Border

Border around the content

<mzd-timeline>
  <mzd-icon><fa-icon icon="briefcase"></fa-icon></mzd-icon>
  <mzd-timeline-content [border]="true">
      Your HTML code or any angular component can be placed here.
      Content will be displayed in a card.
  </mzd-timeline-content>
</mzd-timeline>

Other Examples

Other examples can be found in the app.component.html file.

Angular Material Theme

The package supports angular material theme. In your own angular material theme:

@import '~@angular/material/theming';
@import "~ngx-mzd-timeline/src/mzd-timeline.theme.scss";

...

@include angular-material-theme($your-theme);
@include mzd-timeline-theme($your-theme);

Components

MzdTimeline

Content

tag number
<mzd-timeline-content> n

Inputs

property type default impact
alternateSide boolean true If set to true, entries will be displayed alternately ('left' / 'right'). In XS devices, if set ture, contents will be placed at 'right' side of the vertical line; if set false, content will be placed at 'left'/'right' depending on the value of firstContentSide.
firstContentSide string 'left' Changes side ('left' / 'right') of the first content is shown on. If alternateSide is false, all the contents will follow the side of the first content, otherwise contents will take side alternately. No effect in XS devices if alternateSide is true.

MzdTimelineContent

Content

tag number
<mzd-icon> 0/1
any html / angular component n

mat-card can also be used. An example can be found in app.component.html file.

Inputs

property type default impact
card boolean true Creates box shadow around the content, similar to mat-card.
border boolean false Creates border around the content.

MzdIcon

Content

Supports fontawesome icon as content.

tag number
<fa-icon> 0/1

Single English letter can also be used as icon. For example:

<mzd-icon><strong>X<strong></mzd-icon>

Inputs

No input for this component.

About

This library was generated with Angular CLI version 9.0.7.

For Devlopers Who Want To Contribute

Code scaffolding

Run ng generate component component-name --project ngx-mzd-timeline to generate a new component inside the library. You can also use ng generate directive|pipe|service|class|guard|interface|enum|module --project ngx-mzd-timeline.

Note: Don't forget to add --project ngx-mzd-timeline or else it will be added to the default demo app.

Build

Run ng build ngx-mzd-timeline --prod to build the library project. The build artifacts will be stored in the dist/ directory. Run ng build to build the demo app. The build artifacts will be stored in the dist/ directory. Use the --prod flag for a production build.

Running unit tests

Run ng test ngx-mzd-timeline to execute the unit tests of the library via Karma. Run ng test to execute the unit tests of the demo app via Karma.

Development server

Run ng serve for a dev server. Navigate to http://localhost:4200/. The app will automatically reload if you change any of the source files.

ngx-mzd-timeline's People

Contributors

dependabot[bot] avatar mazid1 avatar rendmm avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

ngx-mzd-timeline's Issues

Not compatible with Angular Ivy

With the latest versions of Angular, ngx-mzd-timeline no longer works. The compiler will give the following error:

'MzdTimelineModule' does not appear to be an NgModule class.
This likely means that the library (ngx-mzd-timeline) which declares MzdTimelineModule is not compatible with Angular Ivy. 
Check if a newer version of the library is available, and update if so. 
Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.

BrowserModule has already been loaded

I keep getting an error that the BrowserModule is already implemented:

ERROR Error: Uncaught (in promise): Error: BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.

Deprecated import

Hi

With the newest version of Angular and Angular Material style imports with "~" are deprecated:

mzd-timeline.theme.scss' imports '@angular/material/theming' with a tilde. Usage of '' in imports is deprecated.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.