UNPKG

ng2-custom-carousel

Version:

Carousel Component for Angular 2+. Easily customizable, with autoscroll, loop and navigation controls

147 lines (117 loc) 5.1 kB
# Ng2CustomCarousel Carousel `component` for Angular 2+. Easily customizable, with autoscroll, loop and navigation controls. List of features * Easily customizable. * Autoscroll. * Continuous loop. * Navigation indicators and controls. * Customizable number of visible slides. * Customizable direction of scroll. * Customizable speed of scroll. * Slides margins. ## Examples/Demo * Live Demo: <a href="https://www.ritxweb.com/ng2carousel/">https://www.ritxweb.com/ng2carousel/</a> ## Installation `npm i ng2-custom-carousel` ## API `import { Ng2CustomCarouselModule } from 'ng2-custom-carousel';`<br> `selector: ng2-custom-carousel` ### @Inputs() | Input | Type | Required | Description | | ---------------- | ------- | ---------------------------------- | -------------------------------------------------------------------------------------------- | | timing | string | Optional, default: '250ms ease-in' | the time and type of transition between slides. | | showControls | boolean | Optional, default: true | if true shows the 'next' and 'prev' navigation controls. | | showNavigation | string | Optional, default: 'radio' | choose the type of navigation indicators between 'radio', 'numbers' or 'none' | | autoScroll | number | Optional, default: 0 | number of milliseconds between navigation of slides automatically, 0 for no auto navigation. | | loop | boolean | Optional, default: true | if true the carousel runs in continuous loop. | | slidesN | number | Optional, default: 0 | max number of slides to show, 0 to show all the slides possible. | | scrollDirection | string | Optional, default: 'left' | choose the direction of the autoscroll between 'left' or 'right'. | | slidesMargin | number | Optional, default: 0 | number of pixels of margin between slides. | ## Usage 1) Register the `Ng2CustomCarouselModule` in your app module. > `import { Ng2CustomCarouselModule } from 'ng2-custom-carousel';'` ```typescript import { BrowserModule } from '@angular/platform-browser'; import { NgModule } from '@angular/core'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { AppComponent } from './app.component'; import { Ng2CustomCarouselModule } from 'ng2-custom-carousel'; @NgModule({ declarations: [ AppComponent ], imports: [ BrowserModule, BrowserAnimationsModule, Ng2CustomCarouselModule ], providers: [], bootstrap: [AppComponent] }) export class AppModule { } ``` 2) Use the selector `(ng2-custom-carousel)` in your component. ```typescript import { Component } from '@angular/core'; @Component({ selector: 'app-root', template: ` <div class="ng2-custom-carousel-container"> <ng2-custom-carousel timing="400ms ease-in" [showControls]="true" [autoScroll]="2000" showNavigation="radio" [slidesN]="4" [loop]="true" scrollDirection="left" [slidesMargin]="100"> <ng-container *ngFor="let item of ng2CusomCarouselItems;"> <ng-container *ng2CustomCarouselItem> <div class="ng2-custom-carousel-element"> <!-- PLACE HERE YOUR SLIDE CONTENT --> {{item.title}} </div> </ng-container> </ng-container> </ng2-custom-carousel> </div> `, styles:[` .ng2-custom-carousel-container { width: 100%; margin: auto; } .ng2-custom-carousel-element { padding: 0; width: 300px; height: 300px; background-color: crimson; color: #fff; font-size: 50px; line-height: 300px; text-align: center; } `] }) export class AppComponent { ng2CustomCarouselItems = [ { title: 'Slide 1' }, { title: 'Slide 2' }, { title: 'Slide 3' }, { title: 'Slide 4' }, { title: 'Slide 5' }, { title: 'Slide 6' }, { title: 'Slide 7' }, { title: 'Slide 8' }, { title: 'Slide 9' }, { title: 'Slide 10' }, { title: 'Slide 11' } ]; } ``` ## Running the example in local env * `npm i` * `ng build ng2-custom-carousel` * Run `ng serve` for a dev server and running the demo app. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. ## Build the Ng2CustomCarousel module Run `ng build ng2-custom-carousel` to build the module. The build artifacts will be stored in the `dist/ng2-custom-carousel` directory. ## Running unit tests Run `ng test ng2-custom-carousel` to execute the unit tests via [Karma](https://karma-runner.github.io). ## License This project is licensed under the GNU General Public License v3.0. ## Credits To my families.