Skip to main content

syncfusion-angular-carousel

Learn how to implement the Syncfusion Angular Carousel component for displaying slides with images and content. This comprehensive skill includes complete API documentation with all 30 properties, 5 methods, 2 events, and working code examples. Use when creating image galleries, product showcases, featured content sliders, news rotators, or implementing carousel navigation with animations.

Source facts

Repository
syncfusion/angular-ui-components-skills
Last source activity
August 11, 2026 at 05:24
Detected SKILL.md language
English
Stars
0
Forks
1

Install options

The review-first prompt is selected by default. You can switch to a direct command or download a local copy.

Review the source files

Read SKILL.md and any companion files shown by SkillsMP before deciding whether to install.

File Explorer
6 files

Showing SKILL.md

SKILL.md
Source instructions · Read-only preview
name
syncfusion-angular-carousel
description
Learn how to implement the Syncfusion Angular Carousel component for displaying slides with images and content. This comprehensive skill includes complete API documentation with all 30 properties, 5 methods, 2 events, and working code examples. Use when creating image galleries, product showcases, featured content sliders, news rotators, or implementing carousel navigation with animations.
metadata
{"author":"Syncfusion Inc","version":"34.1.29","category":"Navigation Components"}
# Implementing Syncfusion Angular Carousel Component ## When to Use This Skill Use the Syncfusion Angular Carousel component when you need to: - **Display multiple items sequentially** – Show images, products, or content in slide show format - **Create image galleries** – Build responsive photo galleries with automatic or manual navigation - **Feature rotating content** – Display featured articles, product highlights, or promotional banners - **Implement scroll-like navigation** – Provide next/previous controls for content browsing - **Add animations and transitions** – Create visually appealing slide effects with fade or slide animations - **Support touch interactions** – Enable swipe gestures for mobile and touch devices - **Display progress indicators** – Show users their position within carousel (dots, fractions, progress bars) - **Handle slide change events** – Execute custom logic when slides transition ## Component Overview The Syncfusion Angular Carousel component allows users to display images with content, links, and other media in a slide show format. It provides: - **Multiple indicator types** – Default dots, dynamic markers, fractions, progress bars - **Built-in animations** – None, Slide, Fade, and custom animation support - **Navigation controls** – Previous/next buttons with visibility options (Visible, Hidden, VisibleOnHover) - **Touch support** – Swipe gestures for mobile and desktop navigation - **Auto-play functionality** – Automatic slide transitions with configurable intervals - **Keyboard accessibility** – Arrow key navigation and WAI-ARIA compliance - **Template support** – Custom item rendering, button templates, indicator customization - **Event handling** – Pre/post slide transition events (slideChanging, slideChanged) for custom logic - **Persistence** – Save/restore carousel state across page reloads - **RTL support** – Right-to-left layout for Arabic, Hebrew, and other RTL languages --- ## Quick Start Example Basic carousel with automatic slide transitions: ```typescript import { Component } from "@angular/core"; import { CarouselModule } from "@syncfusion/ej2-angular-navigations"; @Component({ selector: "app-carousel", standalone: true, imports: [CarouselModule], template: ` <div class="carousel-container"> <ejs-carousel [autoPlay]="true" [animationEffect]="'Slide'"> <e-carousel-items> <e-carousel-item> <ng-template #template> <figure class="img-container"> <img src="https://ej2.syncfusion.com/products/images/carousel/cardinal.png" alt="Slide 1" /> <figcaption>Cardinal</figcaption> </figure> </ng-template> </e-carousel-item> <e-carousel-item> <ng-template #template> <figure class="img-container"> <img src="https://ej2.syncfusion.com/products/images/carousel/hunei.png" alt="Slide 2" /> <figcaption>Kingfisher</figcaption> </figure> </ng-template> </e-carousel-item> <e-carousel-item> <ng-template #template> <figure class="img-container"> <img src="https://ej2.syncfusion.com/products/images/carousel/costa-rica.png" alt="Slide 3" /> <figcaption>Keel-billed Toucan</figcaption> </figure> </ng-template> </e-carousel-item> </e-carousel-items> </ejs-carousel> </div> `, styles: [` .carousel-container { height: 400px; margin: 20px 0; } `] }) export class CarouselComponent {} ``` **Key result:** Carousel automatically transitions between slides every 5000ms with slide animation. --- ## Component Properties ### 30 Total Properties Organized by Category #### 1. Core Animation Properties **animationEffect** - **Type:** `'None' | 'Slide' | 'Fade' | 'Custom'` - **Default:** `'Slide'` - **Description:** Specifies animation effect when transitioning between slides. ```typescript // Fade animation <ejs-carousel [animationEffect]="'Fade'"> <!-- Smooth fade in/out between slides --> </ejs-carousel> // No animation <ejs-carousel [animationEffect]="'None'"> <!-- Instant slide transition --> </ejs-carousel> // Custom CSS animation <ejs-carousel [animationEffect]="'Custom'" [cssClass]="'custom-animation'"> <!-- Define custom animation in CSS --> </ejs-carousel> ``` #### 2. Auto-Play Properties **autoPlay** - **Type:** `boolean` - **Default:** `true` - **Description:** Enables automatic sliding through carousel items at intervals. ```typescript <ejs-carousel [autoPlay]="true" [interval]="3000"> <!-- Auto transitions every 3 seconds --> </ejs-carousel> ``` **interval** - **Type:** `number` - **Default:** `5000` (milliseconds) - **Description:** Time between automatic slide transitions (milliseconds). Only applies when autoPlay is true. ```typescript <ejs-carousel [autoPlay]="true" [interval]="2000"> <!-- 2 second interval between slides --> </ejs-carousel> ``` **pauseOnHover** - **Type:** `boolean` - **Default:** `true` - **Description:** Pauses auto-play when mouse hovers over carousel. ```typescript <ejs-carousel [autoPlay]="true" [pauseOnHover]="false"> <!-- Continue auto-play even on hover --> </ejs-carousel> ``` #### 3. Navigation Properties **buttonsVisibility** - **Type:** `'Visible' | 'Hidden' | 'VisibleOnHover'` - **Default:** `'Visible'` - **Description:** Controls visibility of previous/next navigation buttons. ```typescript // Always visible <ejs-carousel [buttonsVisibility]="'Visible'"> <!-- Buttons always shown --> </ejs-carousel> // Only on hover <ejs-carousel [buttonsVisibility]="'VisibleOnHover'"> <!-- Buttons appear on mouse hover --> </ejs-carousel> // Never visible <ejs-carousel [buttonsVisibility]="'Hidden'"> <!-- Use indicators or swipe instead --> </ejs-carousel> ``` **previousButtonTemplate** - **Type:** `string | object` - **Default:** `null` - **Description:** Custom template for previous navigation button. ```typescript <ejs-carousel [previousButtonTemplate]="'#prevBtnTemplate'"> <ng-template #prevBtnTemplate> <button class="custom-prev"><i class="icon-left"></i> Back</button> </ng-template> <e-carousel-items><!-- Items --></e-carousel-items> </ejs-carousel> ``` **nextButtonTemplate** - **Type:** `string | object` - **Default:** `null` - **Description:** Custom template for next navigation button. ```typescript <ejs-carousel [nextButtonTemplate]="'#nextBtnTemplate'"> <ng-template #nextBtnTemplate> <button class="custom-next">Next <i class="icon-right"></i></button> </ng-template> <e-carousel-items><!-- Items --></e-carousel-items> </ejs-carousel> ``` **loop** - **Type:** `boolean` - **Default:** `true` - **Description:** Enables infinite looping - cycles back to first slide after last. ```typescript <ejs-carousel [loop]="true"> <!-- Last slide -> First slide --> </ejs-carousel> <ejs-carousel [loop]="false"> <!-- Last slide -> Navigation stops --> </ejs-carousel> ``` **selectedIndex** - **Type:** `number` - **Default:** `0` - **Description:** Initial slide index to display (0-based). ```typescript <ejs-carousel [selectedIndex]="2"> <!-- Start on third slide (index 2) --> </ejs-carousel> ``` #### 4. Indicator Properties **showIndicators** - **Type:** `boolean` - **Default:** `true` - **Description:** Shows or hides position indicators. ```typescript <ejs-carousel [showIndicators]="true"> <!-- Indicators visible --> </ejs-carousel> <ejs-carousel [showIndicators]="false"> <!-- No indicators shown --> </ejs-carousel> ``` **indicatorsType** - **Type:** `'Default' | 'Dynamic' | 'Fraction' | 'Progress'` - **Default:** `'Default'` - **Description:** Style of indicators displayed. ```typescript // Dot indicators <ejs-carousel [indicatorsType]="'Default'"> <!-- Shows: ● ● ● ● ● --> </ejs-carousel> // Numeric format <ejs-carousel [indicatorsType]="'Fraction'"> <!-- Shows: 1 / 5 --> </ejs-carousel> // Progress bar <ejs-carousel [indicatorsType]="'Progress'"> <!-- Visual progress bar --> </ejs-carousel> // Animated <ejs-carousel [indicatorsType]="'Dynamic'"> <!-- Animated indicator effect --> </ejs-carousel> ``` **indicatorsTemplate** - **Type:** `string | object` - **Default:** `null` - **Description:** Custom template for indicators (e.g., thumbnail previews). ```typescript <ejs-carousel [indicatorsTemplate]="'#indicatorTemplate'" [showIndicators]="true"> <ng-template #indicatorTemplate let-data let-index="index"> <img [src]="items[index]?.thumbnail" class="thumb" /> </ng-template> <e-carousel-items><!-- Items --></e-carousel-items> </ejs-carousel> ``` **showPlayButton** - **Type:** `boolean` - **Default:** `true` - **Description:** Shows or hides play button to resume auto-play. ```typescript <ejs-carousel [autoPlay]="false" [showPlayButton]="true"> <!-- Users can click play to resume auto-play --> </ejs-carousel> <ejs-carousel [showPlayButton]="false"> <!-- No play button visible --> </ejs-carousel> ``` **playButtonTemplate** - **Type:** `string | object` - **Default:** `null` - **Description:** Custom template for play button. ```typescript <ejs-carousel [playButtonTemplate]="'#playBtnTemplate'"> <ng-template #playBtnTemplate> <button class="play-btn">▶ Resume</button> </ng-template> <e-carousel-items><!-- Items --></e-carousel-items> </ejs-carousel> ``` #### 5. Data and Item Properties **dataSource** - **Type:** `any[]` - **Default:** `null` - **Description:** Array of data for dynamic carousel items (use with itemTemplate). ```typescript // Component export class CarouselComponent { public slides = [
View on GitHub
This SKILL.md is very large, so SkillsMP previews the first section here. View on GitHub