https://github.com/nhusby/ng-toast-service
Simple customizable Angular toast notification service
https://github.com/nhusby/ng-toast-service
Last synced: 6 months ago
JSON representation
Simple customizable Angular toast notification service
- Host: GitHub
- URL: https://github.com/nhusby/ng-toast-service
- Owner: nhusby
- Created: 2025-04-19T02:23:21.000Z (6 months ago)
- Default Branch: main
- Last Pushed: 2025-04-19T07:50:37.000Z (6 months ago)
- Last Synced: 2025-04-19T13:46:13.474Z (6 months ago)
- Language: TypeScript
- Size: 7.81 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-angular - ng-toast-service - A simple, customizable notification service for Angular applications. This service shows notifications that slide onto the screen with configurable behavior. (Third Party Components / Notifications)
- fucking-awesome-angular - ng-toast-service - A simple, customizable notification service for Angular applications. This service shows notifications that slide onto the screen with configurable behavior. (Third Party Components / Notifications)
- trackawesomelist - ng-toast-service (⭐1) - A simple, customizable notification service for Angular applications. This service shows notifications that slide onto the screen with configurable behavior. (Recently Updated / [May 05, 2025](/content/2025/05/05/README.md))
README
# ng-toast-service
A simple, customizable notification service for Angular applications. This service shows notifications that slide onto the screen with configurable behavior.
## Features
- Show notifications that slide onto the screen
- Configurable position and timeout
- Stack multiple notifications with offset
- Close button for each notification
- Support for text notifications
## Installation
```bash
npm install ng-toast-service
```
## Usage
### Import the service
```typescript
import { ToasterService } from 'ng-toast-service';
@Component({
// ...
})
export class YourComponent {
constructor(private toasterService: ToasterService) {}
}
```
### Show a simple text notification
```typescript
this.toasterService.toast('This is a notification message');
```
### Customize notification behavior
```typescript
this.toasterService.toast('This is a notification message', {
position: 'top-right', // 'top', 'top-left', 'top-right', 'bottom-left', 'bottom-right', 'bottom'
timeout: 5000, // Time in milliseconds before auto-close (0 to disable)
showCloseButton: true // Whether to show a close button
});
```
### Show a notification with a component
```typescript
import { YourNotificationComponent } from './your-notification.component';
// In your component
const notification = this.toasterService.toast(YourNotificationComponent, {
// Optional bindings for your component
message: 'Hello World',
type: 'success'
}, {
showCloseButton: false
});
// You can now use the returned component instance
console.log(notification.message); // Outputs: "Hello World"
```
### Close notifications
```typescript
// Close a specific notification
const notification = this.toasterService.toast('This will be closed');
this.toasterService.close(notification);
// Close all notifications
this.toasterService.closeAll();
```
## Configuration
The default configuration is:
```typescript
const defaultConfig = {
position: 'bottom-right',
timeout: 5000,
showCloseButton: true
};
```
## Styling
The package includes default styling in `toaster.service.css`, but you can override it by targeting the following CSS classes:
- `.toast-host`: The container for all notifications
- `.toast-notification`: The notification element
- `.toast-content`: The content container
- `.toast-text`: Text content
- `.toast-close`: Close button
Position classes:
- `.toast-top-left`
- `.toast-top-right`
- `.toast-bottom-left`
- `.toast-bottom-right`
Animation classes:
- `.toast-slide-from-top`
- `.toast-slide-from-bottom`
- `.toast-closing`
## Building
To build the library, run:
```bash
ng build ng-toast-service
```
## License
MIT