Wireless Headphones
Active noise cancellation with 30-hour battery life.
An image/content slider with navigation arrows, dot indicators, autoplay, keyboard support, and captions.
| Input | Type | Default | Description |
|---|---|---|---|
slides | NgOatCarouselSlide[] | [] | Array of slide data (src, alt, title, description) |
slideCount | number | 0 | Total slides (for projected content) |
autoplay | boolean | false | Auto-advance slides |
interval | number | 5000 | Autoplay interval (ms) |
loop | boolean | true | Loop back after last slide |
showArrows | boolean | true | Show prev/next buttons |
showDots | boolean | true | Show dot indicators |
dotsOverlay | boolean | false | Overlay dots on slides |
showCaptions | boolean | true | Show slide captions |
aspectRatio | 'auto' | '16:9' | '4:3' | '1:1' | 'auto' | Aspect ratio constraint |
pauseOnHover | boolean | true | Pause autoplay on hover/focus |
activeIndex | number | 0 | Two-way bound active slide index |
ariaLabel | string | 'Image carousel' | Accessible label |
import { Component } from '@angular/core';
import { NgOatCarousel, type NgOatCarouselSlide } from '@letsprogram/ng-oat';
@Component({
selector: 'app-example',
imports: [NgOatCarousel],
template: `
<ng-oat-carousel
[slides]="slides"
[autoplay]="true"
[interval]="5000"
aspectRatio="16:9" />
`,
})
export class ExampleComponent {
slides: NgOatCarouselSlide[] = [
{ src: 'https://picsum.photos/800/450', alt: 'Slide 1', title: 'Hello' },
{ src: 'https://picsum.photos/800/451', alt: 'Slide 2' },
];
}<ng-oat-carousel [slides]="slides" aspectRatio="16:9" />
// slides: NgOatCarouselSlide[] = [
// { src: 'photo1.jpg', alt: 'Photo 1' },
// { src: 'photo2.jpg', alt: 'Photo 2' },
// ];<ng-oat-carousel [slides]="slides" aspectRatio="16:9" [dotsOverlay]="true" />
// slides include title & description for captionsPauses on hover/focus. Interval: 3 seconds.
<ng-oat-carousel [slides]="slides" [autoplay]="true" [interval]="3000" aspectRatio="16:9" />Arrows disable at the first and last slide.
<ng-oat-carousel [slides]="slides" [loop]="false" aspectRatio="16:9" /><ng-oat-carousel [slides]="slides" [showArrows]="false" aspectRatio="16:9" />Active index: 0
<ng-oat-carousel [slides]="slides" [(activeIndex)]="currentIndex" />
<button (click)="currentIndex.set(0)">Slide 1</button>4:3
1:1
<ng-oat-carousel [slides]="slides" aspectRatio="4:3" />
<ng-oat-carousel [slides]="slides" aspectRatio="1:1" /><ng-oat-carousel [slideCount]="3">
<div class="carousel-slide">Custom Slide 1</div>
<div class="carousel-slide">Custom Slide 2</div>
<div class="carousel-slide">Custom Slide 3</div>
</ng-oat-carousel>Focus the carousel and use ← → arrow keys to navigate between slides.
A horizontal scrollable product carousel with navigation arrows, "See All" link, and mobile touch scroll.
| Input | Type | Default | Description |
|---|---|---|---|
heading | string | '' | Section heading text |
items | NgOatProductCard[] | [] | Array of product card data |
showSeeAll | boolean | true | Show the "See All" button |
scrollAmount | number | 0 | Custom px to scroll (0 = auto) |
ariaLabel | string | 'Product carousel' | Accessible label |
Active noise cancellation with 30-hour battery life.
Lightweight mesh upper with responsive cushioning.
Health tracking, GPS, and 5-day battery.
Water-resistant with laptop compartment and USB port.
f/1.8 aperture for stunning portraits and low light.
Adjustable colour temperature with USB charging.
<ng-oat-card-carousel
heading="Featured Products"
[items]="products"
(seeAllClick)="onSeeAll()"
(cardClick)="onCardClick($event)"
/>Active noise cancellation with 30-hour battery life.
Lightweight mesh upper with responsive cushioning.
Health tracking, GPS, and 5-day battery.
Water-resistant with laptop compartment and USB port.
<ng-oat-card-carousel
heading="New Arrivals"
[items]="products"
[showSeeAll]="false"
/>Active noise cancellation with 30-hour battery life.
Lightweight mesh upper with responsive cushioning.
Health tracking, GPS, and 5-day battery.
Water-resistant with laptop compartment and USB port.
f/1.8 aperture for stunning portraits and low light.
Adjustable colour temperature with USB charging.
Cherry MX switches with RGB backlighting.
Vertical design reduces wrist strain, 6 buttons.
IPS panel, 99% sRGB, USB-C with 65W PD.
Auto-focus, built-in mic, ring light.
<ng-oat-card-carousel
heading="All Products"
[items]="products"
ariaLabel="Full product catalog"
/>On mobile (<768px) the nav arrows hide and the track becomes touch-scrollable with scroll-snap.