Introduction
@js-smart/ng-kit is a comprehensive collection of reusable Angular components, directives, and utilities built with Angular Material and Bootstrap 5.x.
Overview
The library provides a rich set of UI components, powerful directives for common interactions, and utility functions for state management and other common tasks. Designed with modern Angular best practices, @js-smart/ng-kit offers a flexible, type-safe, and well-documented solution for building Angular applications.
Key features
- Low dependencies — only one third-party dependency (Bootstrap). Fewer dependencies reduce security risk, simplify updates, and prevent version conflicts.
- Built for modern Angular — designed around Angular Signals and standalone components. Not a legacy port — built for the current and future state of Angular.
- Modular & tree-shakable — import only what you use; adding one utility or component doesn't pull in the rest of the library.
- Flexible component architecture — most features ship as directives (recommended) for maximum flexibility, and as components (legacy) for backward compatibility.
- Type-safe & well-documented — full TypeScript support with comprehensive type definitions for great IDE support and compile-time safety.
- Angular Material integration — integrates seamlessly with Angular Material for consistent styling and behaviour.
- Comprehensive utilities — helpers for progress-state management, printing, and click throttling, all built with Angular Signals.
Available components and utilities
| Category | Name |
|---|---|
| Components | alert, buttons, autocomplete, confirm-dialog, host-platforms, snack-bar, spinner, timeline |
| Directives | buttons, ngx-print, preventMultipleClicks |
| SVG Icons | EditSolidSvgComponent |
| Utilities | progress-util |
Issues & feature requests
Found a bug or edge case? Have an idea for a new utility? We'd love to hear from you!
- Report Issues: If you encounter any bugs or unexpected behavior, please open an issue on GitHub.
- Feature Requests: Have a utility in mind that would benefit the community? Submit a feature request via GitHub Issues.
