syncfusion-javascript-notifications
About syncfusion-javascript-notifications
This skill documents Syncfusion EJ2 JavaScript notification components for developers building user feedback interfaces. It covers Message, Skeleton, and Toast with usage examples, API guidance, themes, and accessibility practices.
Key features
- 01Message severity and display variants
- 02Skeleton shapes and shimmer effects
- 03Toast timing, positioning, and actions
- 04TypeScript and JavaScript API guidance
- 05Accessibility and keyboard interaction
Use cases
- 01Showing contextual success or error messages
- 02Indicating loading content with placeholders
- 03Displaying dismissible or persistent notifications
Install
Copy the command and run it in a terminal.
npx skills add https:/ / github.com/ syncfusion/ javascript-ui-controls-skills --skill syncfusion-javascript-notificationsAfter installing, type/syncfusion-javascript-notificationsin Claude Code to confirm it loaded.
Bundled files
References and scripts installed along with SKILL.md.
references/message-accessibility.mdmessage-api.mdmessage-customization.mdmessage-getting-started.mdmessage-icons-and-close.mdmessage-severities.mdmessage-variants.mdskeleton-accessibility.mdskeleton-api.mdskeleton-getting-started.mdskeleton-shapes.mdskeleton-shimmer-effect.mdskeleton-styles.mdtoast-accessibility.mdtoast-animation.mdtoast-api.mdtoast-configuration.mdtoast-getting-started.mdtoast-position.mdtoast-services.mdtoast-templates-and-styling.mdtoast-timeout-and-dismissal.mdDetails
From the project READMESyncfusion EJ2 JavaScript Notifications
Overview
The Syncfusion EJ2 JavaScript Notifications library provides three essential UI components for building interactive user feedback systems. Each component is fully documented with TypeScript/JavaScript examples, accessibility guidelines, and common usage patterns.
All components support:
- Accessibility: WCAG 2.2 Level AA, Section 508, ADA compliance
- Themes: Material 3, Bootstrap 5, Fluent, Tailwind 3, Fabric
- APIs: Imperative TypeScript/JavaScript with full event support
- Keyboard: Full keyboard navigation and interaction
Component Overview
Quick Navigation
| Component | Purpose | Package | Files |
|---|---|---|---|
| Message | Contextual message with severity indicators | ej2-notifications | 7 |
| Skeleton | Animated loading placeholder | ej2-notifications | 6 |
| Toast | Brief auto-dismissing notification | ej2-notifications | 9 |
Package: @syncfusion/ej2-notifications
Message Component
Purpose: Displays contextual messages with visual severity indicators (icons and colors) to communicate importance and context to end users. Supports five severity levels, three visual variants, close-icon dismissal, custom templates, and full accessibility compliance.
Package: @syncfusion/ej2-notifications
Quick Example
import { Message } from '@syncfusion/ej2-notifications';
let msg: Message = new Message({
content: 'Please read the comments carefully',
severity: 'Info'
});
msg.appendTo('#msg');
Documentation
- message-getting-started.md - Setup and installation
- message-severities.md - Five severity levels (Normal, Success, Info, Warning, Error)
- message-variants.md - Three display variants (Text, Outlined, Filled)
- message-icons-and-close.md - Severity icons and close icon handling
- message-customization.md - Templates, alignment, and CSS customization
- message-accessibility.md - WCAG 2.2, ARIA, and keyboard navigation
- message-api.md - Complete API reference
Skeleton Component
Purpose: Renders animated placeholder shapes that mimic the layout of loading content. Reduces perceived load time and communicates progress to users with configurable shapes, shimmer animations, and full accessibility support.
Package: @syncfusion/ej2-notifications
Quick Example
import { Skeleton } from '@syncfusion/ej2-notifications';
let skeleton: Skeleton = new Skeleton({
shape: 'Circle',
width: '48px'
});
skeleton.appendTo('#skeleton');
Documentation
- skeleton-getting-started.md - Setup and basic usage
- skeleton-shapes.md - Shape types (Circle, Square, Rectangle, Text)
- skeleton-shimmer-effect.md - Shimmer animations (Wave, Pulse, Fade)
- skeleton-styles.md - CSS customization and visibility
- skeleton-accessibility.md - WAI-ARIA attributes and reduced-motion support
- skeleton-api.md - Complete API reference
Toast Component
Purpose: Displays brief, non-intrusive notifications that auto-dismiss after a configurable timeout. Supports rich content through templates, action buttons, animated entry/exit, precise positioning, and programmatic control via ToastUtility.
Package: @syncfusion/ej2-notifications
Quick Example
import { Toast } from '@syncfusion/ej2-notifications';
let toastObj: Toast = new Toast({
title: 'Success!',
content: 'Your changes have been saved.',
position: { X: 'Right', Y: 'Bottom' },
timeOut: 4000,
showCloseButton: true
});
toastObj.appendTo('#toast');
toastObj.show();
Quick Utility Toast (No Component Needed)
import { ToastUtility } from '@syncfusion/ej2-notifications';
// Show a success toast instantly
ToastUtility.show('File saved successfully', 'Success', 3000);
// Show an error toast
ToastUtility.show('Connection failed', 'Error', 5000);
Documentation
- toast-getting-started.md - Installation and basic setup
- toast-configuration.md - Title, content, target, and layout options
- toast-position.md - Nine predefined positions and custom coordinates
- toast-timeout-and-dismissal.md - Auto-dismiss timeout and manual dismissal
- toast-templates-and-styling.md - Custom templates and semantic CSS classes
- toast-animation.md - Show and hide animation effects
- toast-services.md - ToastUtility and advanced patterns
- toast-accessibility.md - WAI-ARIA, WCAG 2.2, and screen reader support
- toast-api.md - Complete API reference
Installation and Setup
Install the Package
npm install @syncfusion/[email protected] --save
npm audit
Add CSS Theme Imports
/* src/styles.css */
@import '../node_modules/@syncfusion/ej2-base/styles/tailwind3.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/tailwind3.css';
Other available themes: material.css, bootstrap5.css, fluent.css, fabric.css
Common Patterns
Semantic Type Messages
Use severity property with Normal, Success, Info, Warning, or Error for visual differentiation.
let msg: Message = new Message({
content: 'Operation completed',
severity: 'Success',
variant: 'Outlined'
});
msg.appendTo('#msg');
Dismissible Messages
Set showCloseIcon: true and showCloseButton: true (for Toast) to let users manually dismiss notifications.
let toastObj: Toast = new Toast({
content: 'Your session will expire soon',
showCloseButton: true,
timeOut: 0
});
toastObj.appendTo('#toast');
toastObj.show();
Loading States with Skeleton
Display skeleton placeholders during content loading, then hide them when content is ready.
let skeleton: Skeleton = new Skeleton({
shape: 'Rectangle',
width: '100%',
height: '200px',
shimmerEffect: 'Pulse'
});
skeleton.appendTo('#skeleton');
Static/Persistent Toasts
Set timeOut: 0 with showCloseButton: true for notifications users must explicitly dismiss.
let toastObj: Toast = new Toast({
content: 'Please review and confirm',
timeOut: 0,
showCloseButton: true
});
toastObj.appendTo('#toast');
toastObj.show();
Action-Required Toasts
Use the buttons property to add Ignore/Confirm/Undo buttons.
let toastObj: Toast = new Toast({
content: 'Delete this file?',
buttons: [{
model: { content: 'Yes' },
click: () => { /* handle yes */ }
}, {
model: { content: 'No' },
click: () => toastObj.hide()
}]
});
toastObj.appendTo('#toast');
toastObj.show();
Multiple Toast Positions
Display different toast instances at different screen positions.
let topToast: Toast = new Toast({
content: 'Top notification',
position: { X: 'Center', Y: 'Top' }
});
topToast.appendTo('#top-toast');
topToast.show();
Theme Support
All notification components support the following themes:
| Theme | CSS File |
|---|---|
| Material 3 | material.css |
| Bootstrap 5 | bootstrap5.css |
| Fluent | fluent.css |
| Tailwind 3 | tailwind3.css |
| Fabric | fabric.css |
Example import for different themes:
/* Material 3 */
@import '../node_modules/@syncfusion/ej2-base/styles/material.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/material.css';
/* Bootstrap 5 */
@import '../node_modules/@syncfusion/ej2-base/styles/bootstrap5.css';
@import '../node_modules/@syncfusion/ej2-notifications/styles/bootstrap5.css';
Accessibility
All notification components comply with WCAG 2.2 Level AA, Section 508, and ADA standards.
Message Accessibility
- WAI-ARIA attributes (
role=alert,aria-label) - Keyboard navigation (Tab, Enter/Space)
- Screen reader support
Skeleton Accessibility
- WAI-ARIA attributes:
role="status",aria-label,aria-live,aria-busy labelproperty for accessible skeleton namesprefers-reduced-motionrespect
Toast Accessibility
- WAI-ARIA:
role="alert",aria-live="assertive",aria-label - Screen reader support (JAWS, NVDA, VoiceOver)
- RTL support via
enableRtl - Mobile and accessibility checker validation
Browser Support
- Chrome (latest)
- Firefox (latest)
- Safari (latest)
- Edge (latest)
- Internet Explorer 11 (with polyfills)
Version Compatibility
| Syncfusion EJ2 Version | Status |
|---|---|
| 33.x.x | Current (Recommended) |
| 32.x.x | Supported |
| 31.x.x | Supported |
| < 30.x.x | Legacy |
Additional Resources
Quick Reference
| Need | Component | Property |
|---|---|---|
| Show success message | Message | severity: 'Success' |
| Show warning with close | Message | severity: 'Warning', showCloseIcon: true |
| Loading placeholder | Skeleton | shape: 'Rectangle' |
| Avatar placeholder | Skeleton | shape: 'Circle', width: '48px' |
| Quick notification | Toast | ToastUtility.show() |
| Persistent notification | Toast | timeOut: 0, showCloseButton: true |
| Action confirmation | Toast | buttons: [...] |
| Bottom-right toast | Toast | position: { X: 'Right', Y: 'Bottom' } |
Status: ✅ Production Ready
Quality Rating: 9+/10 (Professional Grade)
Coverage: 3 components, 22 reference files