
Security News
Axios Supply Chain Attack Reaches OpenAI macOS Signing Pipeline, Forces Certificate Rotation
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.
ng-custom-carousel
Advanced tools
A modern, customizable carousel component for Angular 20+ with signal-based inputs and outputs
A modern, customizable carousel component for Angular 20+ built with signals and standalone components. This library provides a feature-rich carousel with no third-party dependencies, using only custom SCSS for styling.
npm install ng-custom-carousel
import { NgCustomCarousel, CarouselItem, CarouselConfig } from 'ng-custom-carousel';
@Component({
selector: 'app-example',
standalone: true,
imports: [NgCustomCarousel],
template: `
<ng-custom-carousel
[items]="carouselItems"
[config]="carouselConfig"
(slideChange)="onSlideChange($event)"
(carouselClick)="onCarouselClick($event)">
</ng-custom-carousel>
`
})
export class ExampleComponent {
carouselItems: CarouselItem[] = [
{
id: 1,
image: 'https://example.com/image1.jpg',
title: 'Slide 1',
description: 'This is the first slide',
link: 'https://example.com/slide1'
},
{
id: 2,
image: 'https://example.com/image2.jpg',
title: 'Slide 2',
description: 'This is the second slide',
link: 'https://example.com/slide2'
}
];
carouselConfig: CarouselConfig = {
autoplay: true,
autoplaySpeed: 5000,
showArrows: true,
showIndicators: true,
showTitle: true,
showDescription: true,
infinite: true,
responsive: true,
height: '400px',
width: '100%'
};
onSlideChange(event: { currentIndex: number; item: CarouselItem }) {
console.log('Slide changed to:', event.currentIndex, event.item);
}
onCarouselClick(item: CarouselItem) {
console.log('Carousel item clicked:', item);
}
}
interface CarouselConfig {
autoplay?: boolean; // Enable/disable autoplay (default: true)
autoplaySpeed?: number; // Autoplay interval in milliseconds (default: 5000)
showArrows?: boolean; // Show navigation arrows (default: true)
showIndicators?: boolean; // Show slide indicators (default: true)
showTitle?: boolean; // Show slide titles (default: true)
showDescription?: boolean; // Show slide descriptions (default: true)
infinite?: boolean; // Enable infinite loop (default: true)
responsive?: boolean; // Enable responsive behavior (default: true)
height?: string; // Carousel height (default: '400px')
width?: string; // Carousel width (default: '100%')
}
interface CarouselItem {
id: string | number; // Unique identifier
image?: string; // Background image URL
title?: string; // Slide title
description?: string; // Slide description
link?: string; // Optional link URL
[key: string]: any; // Additional custom properties
}
slideChange - Emitted when the slide changescarouselClick - Emitted when a carousel item is clicked# Clone the repository
git clone https://github.com/muhammadawaisshaikh/ng-custom-carousel.git
cd ng-custom-carousel
# Install dependencies
npm install
# Build the library
npm run build:lib
# Start the demo app
npm start
# Build library for development
npm run build:lib
# Build library for production
npm run package
# Build demo app
npm run build:demo
# Watch mode for development
npm run watch
# Test the library
npm run test
# Test the demo app
npm run test:demo
The carousel uses custom SCSS with CSS custom properties for easy theming. All styles are prefixed with ng-carousel- to avoid conflicts.
You can override the default styles by setting CSS custom properties:
.ng-carousel-container {
--carousel-primary-color: #007bff;
--carousel-secondary-color: #00d4ff;
--carousel-text-color: white;
--carousel-overlay-opacity: 0.5;
}
git checkout -b feature/amazing-feature)git commit -m 'Add some amazing feature')git push origin feature/amazing-feature)This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please open an issue on GitHub or contact the maintainers.
FAQs
A modern, customizable carousel component for Angular 20+ with signal-based inputs and outputs
We found that ng-custom-carousel demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
OpenAI rotated macOS signing certificates after a malicious Axios package reached its CI pipeline in a broader software supply chain attack.

Security News
Open source is under attack because of how much value it creates. It has been the foundation of every major software innovation for the last three decades. This is not the time to walk away from it.

Security News
Socket CEO Feross Aboukhadijeh breaks down how North Korea hijacked Axios and what it means for the future of software supply chain security.