npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@degloman/angular-responsive-carousel

v17.3.0

Published

Carousel for Angular. A simple solution for horizontal scrolling images with lazy loading.

Downloads

66

Readme

Carousel for Angular

A simple solution for horizontal scrolling images with lazy loading.

Live demo can be found on home page.

🔬️ Help make IvyCarousel better by answering a few questions.

Installation

Install the npm package.

  npm i angular-responsive-carousel

Import module:

  import {IvyCarouselModule} from 'angular-responsive-carousel';

  @NgModule({
      imports: [IvyCarouselModule]
  })

Usage

Put the contents of your cells in containers with the carousel-cell class.

<carousel>
    <div class="carousel-cell">
        <img src="path_to_image">
    </div>
    <div class="carousel-cell">
        ...
</carousel>

Or prepare an image array for the carousel. If necessary, specify in the settings the sizes of the cells and the carousel container. And also select the method of arranging images inside the cells using the objectFit property.

<carousel
    [images]="images">
</carousel>
images = [
    {path: 'PATH_TO_IMAGE'},
    ...
]

Lazy loading

To use lazy loading, pass the carousel an array of images, as shown in the example above. Images will be uploaded only as needed, this will save you traffic. Using the overflowCellsLimit property, you can specify the number of images that will be loaded outside the visible area, which will allow the images to be loaded before they are displayed.

Properties

| name | type | default | description | |------|------|---------|-------------| | height | number | | Carousel height. | | width | number | | Carousel Width. | | cellWidth | number, '100%' | 200 | Cell width. | | cellsToShow | number | | The number of cells to display, regardless of the width of the container. | | cellsToScroll | number | 1 | The number of carousel cells to scroll per arrow click. | | loop | boolean | false | Infinite loop. | | lightDOM | boolean | false | Keep a limited number of cells in the DOM tree for an unlimited number of images. As the carousel scrolls, the images will be lazy loaded. This allows you not to overload the browser memory. This mode works only with images passed as an array. | | overflowCellsLimit | number | 3 | The number of carousel cells that will be stored for in the DOM tree outside the scope. | | freeScroll | boolean | false | The carousel will stop where the touch ended and will not automatically align. | | autoplay | boolean | false | Automatically start the carousel after initialization. | | autoplayInterval | number | 5000 | The interval between scrolling the carousel. Used together with autoplay. | | pauseOnHover | boolean | true | Stops autoplay if the cursor is over the carousel area. | | dots | boolean | false | Carousel progress bar. | | margin | number | 10 | Cell spacing. | | minSwipeDistance | number | 10 | Minimum distance for swipe. | | transitionDuration | number | 300 | Animation duration. | | transitionTimingFunction | 'ease', 'ease-in', 'ease-out', 'ease-in-out', 'linear' | 'ease-in-out' | Smooth animation function. | | counter | boolean | false | Counter. | | counterSeparator | string | " / " | Counter separator. | | borderRadius | number | 0 | Border radius for carousel cells. | | arrows | boolean | true | Arrows for image navigation. | | arrowsOutside | boolean | false | Arrows on the outside of the carousel container. | | arrowsTheme | 'light', 'dark' | 'light' | Arrow color theme. |

The IvyCarousel also has a Pro version, with an extended API.

Author services

Are you interested in this library but lacks features? Write to the author, he can do it for you.

Roadmap

centerMode - center the cells inside the container (Pro version).

fade - fade in and fade out animation.

adaptiveHeight - the height of the container is set based on the height of the tallest cell currently visible.