toastify-pro 1.0.2 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -1 +1,442 @@
1
- # toastify-pro
1
+ <div align="center">
2
+
3
+ <img src="https://abhipotter.github.io/toastify-pro/assets/logo/logo.png" alt="Toastify Pro Logo" width="100" height="100"/>
4
+ <h1> 🚀 Quick Start - Install Toastify Pro (JavaScript Toast Notifications) </h1>
5
+
6
+ **A modern, lightweight, and highly customizable toast notification library**
7
+
8
+ [![npm version](https://img.shields.io/npm/v/toastify-pro.svg)](https://www.npmjs.com/package/toastify-pro)
9
+ [![npm downloads](https://img.shields.io/npm/dm/toastify-pro.svg)](https://www.npmjs.com/package/toastify-pro)
10
+ [![License](https://img.shields.io/npm/l/toastify-pro.svg)](https://github.com/abhipotter/toastify-pro/blob/main/LICENSE)
11
+ [![Bundle Size](https://img.shields.io/bundlephobia/minzip/toastify-pro)](https://bundlephobia.com/package/toastify-pro)
12
+
13
+ [Demo](https://abhipotter.github.io/toastify-pro) • [Documentation](https://github.com/abhipotter/toastify-pro/wiki) • [Examples](https://github.com/abhipotter/toastify-pro/tree/main/examples)
14
+
15
+ </div>
16
+
17
+ ## ✨ Features
18
+
19
+ - 🚀 **Lightweight** - Minimal bundle size with zero dependencies
20
+ - 🎨 **6 Built-in Themes** - Success, Error, Info, Warning, Dark, and Light themes
21
+ - 📱 **Flexible Positioning** - 6 different position options
22
+ - ⚡ **Smooth Animations** - CSS transitions with fade and slide effects
23
+ - 🔧 **Framework Agnostic** - Works with React, Vue, Angular, or vanilla JS
24
+ - 🎯 **Auto-dismiss** - Configurable timeout with manual close option
25
+ - 🌈 **Easy Customization** - Simple API with sensible defaults
26
+ - ♿ **Accessible** - Clean HTML structure with proper styling
27
+
28
+ ## 🚀 Quick Start
29
+
30
+ ### 📦 Installation
31
+
32
+ #### NPM (React, Node.js, etc.)
33
+ ```bash
34
+ npm install toastify-pro
35
+ ```
36
+
37
+ #### CDN (Browser)
38
+ ```html
39
+ <script src="https://cdn.jsdelivr.net/npm/toastify-pro@1.1.0/dist/toastify-pro.umd.min.js"></script>
40
+ ```
41
+
42
+ ### 🔨 Basic Usage
43
+
44
+ #### With NPM
45
+ ```javascript
46
+ import ToastifyPro from 'toastify-pro';
47
+
48
+ const toast = new ToastifyPro();
49
+
50
+ // Show different types of toasts
51
+ toast.success('Operation completed successfully!');
52
+ toast.error('Something went wrong!');
53
+ toast.warning('Please check your input');
54
+ toast.info('New update available');
55
+ toast.dark('Dark themed message');
56
+ toast.light('Light themed message');
57
+ ```
58
+
59
+ #### With CDN
60
+ ```html
61
+ <!DOCTYPE html>
62
+ <html>
63
+ <head>
64
+ <title>Toastify Pro Example</title>
65
+ <script src="https://cdn.jsdelivr.net/npm/toastify-pro@1.1.0/dist/toastify-pro.umd.min.js"></script>
66
+ </head>
67
+ <body>
68
+ <button onclick="showToast()">Show Toast</button>
69
+
70
+ <script>
71
+ const toast = new ToastifyPro();
72
+
73
+ function showToast() {
74
+ toast.success('Hello from Toastify Pro!');
75
+ }
76
+
77
+ function showError() {
78
+ toast.error('Something went wrong!');
79
+ }
80
+
81
+ function showCustom() {
82
+ toast.show('Custom message', 'info', {
83
+ timeout: 5000,
84
+ allowClose: true
85
+ });
86
+ }
87
+ </script>
88
+ </body>
89
+ </html>
90
+ ```
91
+
92
+ ## 📚 API Reference
93
+
94
+ ### Constructor Options
95
+
96
+ ```javascript
97
+ const toast = new ToastifyPro({
98
+ position: 'bottom-center', // Position of toast container
99
+ timeout: 3000, // Auto-dismiss time in milliseconds
100
+ allowClose: true, // Show close button
101
+ maxLength: 100 // Maximum message length
102
+ });
103
+ ```
104
+
105
+ #### Position Options
106
+ - `top-left` - Top left corner
107
+ - `top-right` - Top right corner
108
+ - `top-center` - Top center
109
+ - `bottom-left` - Bottom left corner
110
+ - `bottom-right` - Bottom right corner
111
+ - `bottom-center` - Bottom center (default)
112
+
113
+ ### Methods
114
+
115
+ #### `toast.show(message, type, options)`
116
+ Main method to display a toast notification.
117
+ ```javascript
118
+ toast.show('Custom message', 'success', {
119
+ timeout: 5000, // Override default timeout
120
+ allowClose: false, // Hide close button for this toast
121
+ maxLength: 50 // Override message length limit
122
+ });
123
+ ```
124
+
125
+ #### `toast.success(message, options)`
126
+ Display a success toast with green background.
127
+ ```javascript
128
+ toast.success('Data saved successfully!');
129
+ toast.success('Upload complete!', { timeout: 2000 });
130
+ ```
131
+
132
+ #### `toast.error(message, options)`
133
+ Display an error toast with red background.
134
+ ```javascript
135
+ toast.error('Failed to save data!');
136
+ toast.error('Network error occurred!', { allowClose: false });
137
+ ```
138
+
139
+ #### `toast.warning(message, options)`
140
+ Display a warning toast with orange background.
141
+ ```javascript
142
+ toast.warning('Please verify your input');
143
+ toast.warning('Session expires in 5 minutes', { timeout: 10000 });
144
+ ```
145
+
146
+ #### `toast.info(message, options)`
147
+ Display an info toast with blue background.
148
+ ```javascript
149
+ toast.info('New feature available!');
150
+ toast.info('Check your email for verification', { timeout: 0 }); // No auto-dismiss
151
+ ```
152
+
153
+ #### `toast.dark(message, options)`
154
+ Display a dark themed toast.
155
+ ```javascript
156
+ toast.dark('Dark mode enabled');
157
+ toast.dark('Processing in background...', { allowClose: false });
158
+ ```
159
+
160
+ #### `toast.light(message, options)`
161
+ Display a light themed toast with dark text.
162
+ ```javascript
163
+ toast.light('Light theme activated');
164
+ toast.light('Settings updated', { timeout: 2000 });
165
+ ```
166
+
167
+ ## 🎨 Customization
168
+
169
+ ### Global Configuration
170
+ ```javascript
171
+ const toast = new ToastifyPro({
172
+ position: 'top-right',
173
+ timeout: 4000,
174
+ allowClose: true,
175
+ maxLength: 150
176
+ });
177
+ ```
178
+
179
+ ### Per-Toast Options
180
+ ```javascript
181
+ // Persistent toast (no auto-dismiss)
182
+ toast.error('Critical error!', { timeout: 0 });
183
+
184
+ // Quick notification
185
+ toast.success('Saved!', { timeout: 1000 });
186
+
187
+ // Long message with close button
188
+ toast.info('This is a very long message that might be truncated', {
189
+ maxLength: 200,
190
+ allowClose: true,
191
+ timeout: 8000
192
+ });
193
+ ```
194
+
195
+ ### Custom Styling
196
+ You can override the default styles by adding your own CSS:
197
+
198
+ ```css
199
+ /* Custom positioning */
200
+ .toastify-pro-container.bottom-center {
201
+ bottom: 50px; /* Adjust distance from bottom */
202
+ }
203
+
204
+ /* Custom toast appearance */
205
+ .toastify-pro {
206
+ border-radius: 12px;
207
+ font-family: 'Inter', sans-serif;
208
+ box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
209
+ }
210
+
211
+ /* Custom success color */
212
+ .toastify-pro.success {
213
+ background: rgba(34, 197, 94, 0.95);
214
+ }
215
+
216
+ /* Custom close button */
217
+ .toastify-pro .close-btn {
218
+ font-weight: bold;
219
+ font-size: 18px;
220
+ }
221
+ ```
222
+
223
+ ## 🌟 Framework Examples
224
+
225
+ ### React Integration
226
+ ```jsx
227
+ import React, { useEffect } from 'react';
228
+ import ToastifyPro from 'toastify-pro';
229
+
230
+ function App() {
231
+ const [toast, setToast] = React.useState(null);
232
+
233
+ useEffect(() => {
234
+ setToast(new ToastifyPro({
235
+ position: 'top-right',
236
+ timeout: 3000
237
+ }));
238
+ }, []);
239
+
240
+ const handleSuccess = () => {
241
+ toast?.success('React integration works perfectly!');
242
+ };
243
+
244
+ const handleError = () => {
245
+ toast?.error('Something went wrong in React!');
246
+ };
247
+
248
+ return (
249
+ <div>
250
+ <button onClick={handleSuccess}>Show Success</button>
251
+ <button onClick={handleError}>Show Error</button>
252
+ </div>
253
+ );
254
+ }
255
+
256
+ export default App;
257
+ ```
258
+
259
+ ### Vue.js Integration
260
+ ```vue
261
+ <template>
262
+ <div>
263
+ <button @click="showSuccess">Show Success</button>
264
+ <button @click="showError">Show Error</button>
265
+ <button @click="showCustom">Show Custom</button>
266
+ </div>
267
+ </template>
268
+
269
+ <script>
270
+ import ToastifyPro from 'toastify-pro';
271
+
272
+ export default {
273
+ name: 'ToastExample',
274
+ data() {
275
+ return {
276
+ toast: null
277
+ };
278
+ },
279
+ mounted() {
280
+ this.toast = new ToastifyPro({
281
+ position: 'bottom-right',
282
+ timeout: 4000
283
+ });
284
+ },
285
+ methods: {
286
+ showSuccess() {
287
+ this.toast.success('Vue.js integration successful!');
288
+ },
289
+ showError() {
290
+ this.toast.error('Error in Vue component!');
291
+ },
292
+ showCustom() {
293
+ this.toast.show('Custom Vue message', 'warning', {
294
+ timeout: 6000,
295
+ allowClose: true
296
+ });
297
+ }
298
+ }
299
+ };
300
+ </script>
301
+ ```
302
+
303
+ ### Angular Integration
304
+ ```typescript
305
+ import { Component, OnInit } from '@angular/core';
306
+ import ToastifyPro from 'toastify-pro';
307
+
308
+ @Component({
309
+ selector: 'app-toast-example',
310
+ template: `
311
+ <button (click)="showSuccess()">Show Success</button>
312
+ <button (click)="showError()">Show Error</button>
313
+ <button (click)="showInfo()">Show Info</button>
314
+ `
315
+ })
316
+ export class ToastExampleComponent implements OnInit {
317
+ private toast: ToastifyPro;
318
+
319
+ ngOnInit() {
320
+ this.toast = new ToastifyPro({
321
+ position: 'top-center',
322
+ timeout: 3500,
323
+ allowClose: true
324
+ });
325
+ }
326
+
327
+ showSuccess() {
328
+ this.toast.success('Angular integration works!');
329
+ }
330
+
331
+ showError() {
332
+ this.toast.error('Error in Angular component!');
333
+ }
334
+
335
+ showInfo() {
336
+ this.toast.info('Information from Angular', {
337
+ timeout: 5000
338
+ });
339
+ }
340
+ }
341
+ ```
342
+
343
+ ### Vanilla JavaScript Examples
344
+ ```javascript
345
+ // Initialize toast
346
+ const toast = new ToastifyPro({
347
+ position: 'top-left',
348
+ timeout: 3000,
349
+ allowClose: true
350
+ });
351
+
352
+ // Form submission example
353
+ document.getElementById('submitForm').addEventListener('click', async function() {
354
+ try {
355
+ // Simulate API call
356
+ const response = await fetch('/api/submit', { method: 'POST' });
357
+
358
+ if (response.ok) {
359
+ toast.success('Form submitted successfully!');
360
+ } else {
361
+ toast.error('Failed to submit form');
362
+ }
363
+ } catch (error) {
364
+ toast.error('Network error occurred');
365
+ }
366
+ });
367
+
368
+ // Multiple toast types
369
+ function showAllTypes() {
370
+ toast.success('Success message');
371
+ setTimeout(() => toast.error('Error message'), 500);
372
+ setTimeout(() => toast.warning('Warning message'), 1000);
373
+ setTimeout(() => toast.info('Info message'), 1500);
374
+ setTimeout(() => toast.dark('Dark message'), 2000);
375
+ setTimeout(() => toast.light('Light message'), 2500);
376
+ }
377
+ ```
378
+
379
+ ## 📱 Browser Support
380
+
381
+ | Browser | Version |
382
+ |---------|---------|
383
+ | Chrome | ≥ 60 |
384
+ | Firefox | ≥ 55 |
385
+ | Safari | ≥ 12 |
386
+ | Edge | ≥ 79 |
387
+
388
+ ## ⚙️ Configuration Options
389
+
390
+ | Option | Type | Default | Description |
391
+ |--------|------|---------|-------------|
392
+ | `position` | string | `'bottom-center'` | Toast container position |
393
+ | `timeout` | number | `3000` | Auto-dismiss time (0 = no auto-dismiss) |
394
+ | `allowClose` | boolean | `true` | Show close button |
395
+ | `maxLength` | number | `100` | Maximum message length |
396
+
397
+ ## 🎨 Available Themes
398
+
399
+ | Theme | Background | Text Color | Use Case |
400
+ |-------|------------|------------|----------|
401
+ | `success` | Green | White | Success messages |
402
+ | `error` | Red | White | Error messages |
403
+ | `warning` | Orange | White | Warning messages |
404
+ | `info` | Blue | White | Information messages |
405
+ | `dark` | Dark Gray | White | General purpose |
406
+ | `light` | Light Gray | Black | Light theme compatibility |
407
+
408
+ ## 📄 License
409
+
410
+ MIT © [Abhishek Potter](https://github.com/abhipotter)
411
+
412
+ ## 🤝 Contributing
413
+
414
+ We welcome contributions! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
415
+
416
+ 1. Fork the repository
417
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
418
+ 3. Commit your changes (`git commit -m 'Add some amazing feature'`)
419
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
420
+ 5. Open a Pull Request
421
+
422
+ ## 📧 Support
423
+
424
+ - 🐛 **Bug Reports**: [GitHub Issues](https://github.com/abhipotter/toastify-pro/issues)
425
+ - 💬 **Discussions**: [GitHub Discussions](https://github.com/abhipotter/toastify-pro/discussions)
426
+ - 📧 **Email**: [abhishekpotter77@gmail.com](mailto:abhishekpotter77@gmail.com)
427
+
428
+ ## 🙏 Acknowledgments
429
+
430
+ - Inspired by modern toast libraries
431
+ - Built with ❤️ by the open-source community
432
+ - Special thanks to all contributors
433
+
434
+ ---
435
+
436
+ <div align="center">
437
+
438
+ **Made with ❤️ by [Abhishek Potter](https://github.com/abhipotter)**
439
+
440
+ If you found this project helpful, please consider giving it a ⭐️!
441
+
442
+ </div>
Binary file
Binary file
@@ -0,0 +1,217 @@
1
+ {
2
+ "name": "Toastify Pro - Best JavaScript Toast Notification Library",
3
+ "short_name": "Toastify Pro",
4
+ "description": "Ultimate lightweight JavaScript toast notification library. Perfect SweetAlert alternative, Toastr replacement, and React Toast solution with zero dependencies. 6 themes, 6 positions, framework agnostic.",
5
+ "start_url": "/",
6
+ "display": "standalone",
7
+ "background_color": "#6366f1",
8
+ "theme_color": "#6366f1",
9
+ "orientation": "any",
10
+ "lang": "en",
11
+ "scope": "/",
12
+ "categories": [
13
+ "developer",
14
+ "productivity",
15
+ "utilities",
16
+ "web",
17
+ "javascript",
18
+ "library",
19
+ "notifications",
20
+ "toast",
21
+ "ui"
22
+ ],
23
+ "keywords": "toast notifications, javascript toast, react toast, toastify, toastr, sweetalert alternative, notification library, javascript notifications, web notifications, toast message, alert notifications, popup notifications, success toast, error toast, warning toast, info toast, react toastify, vue notifications, angular notifications, javascript alert, custom toast, notification popup, toast component, notification component, lightweight toast, responsive notifications, mobile toast, toast library, notification system, user feedback, ui notifications, frontend notifications, web toast, browser notifications, toast plugin",
24
+ "icons": [
25
+ {
26
+ "src": "/favicon-16x16.png",
27
+ "sizes": "16x16",
28
+ "type": "image/png",
29
+ "purpose": "any maskable"
30
+ },
31
+ {
32
+ "src": "/favicon-32x32.png",
33
+ "sizes": "32x32",
34
+ "type": "image/png",
35
+ "purpose": "any maskable"
36
+ },
37
+ {
38
+ "src": "/android-chrome-192x192.png",
39
+ "sizes": "192x192",
40
+ "type": "image/png",
41
+ "purpose": "any maskable"
42
+ },
43
+ {
44
+ "src": "/android-chrome-512x512.png",
45
+ "sizes": "512x512",
46
+ "type": "image/png",
47
+ "purpose": "any maskable"
48
+ },
49
+ {
50
+ "src": "/apple-touch-icon.png",
51
+ "sizes": "180x180",
52
+ "type": "image/png",
53
+ "purpose": "any"
54
+ },
55
+ {
56
+ "src": "/assets/icons/favicon.ico",
57
+ "sizes": "150x150",
58
+ "type": "image/png",
59
+ "purpose": "any"
60
+ }
61
+ ],
62
+ "screenshots": [
63
+ {
64
+ "src": "/screenshots/desktop-demo.png",
65
+ "sizes": "1280x720",
66
+ "type": "image/png",
67
+ "label": "Toastify Pro Desktop Demo - Interactive Toast Notifications"
68
+ },
69
+ {
70
+ "src": "/screenshots/mobile-demo.png",
71
+ "sizes": "390x844",
72
+ "type": "image/png",
73
+ "label": "Toastify Pro Mobile Demo - Responsive Toast Library"
74
+ },
75
+ {
76
+ "src": "/screenshots/themes-showcase.png",
77
+ "sizes": "1280x720",
78
+ "type": "image/png",
79
+ "label": "Toastify Pro - 6 Beautiful Toast Themes"
80
+ },
81
+ {
82
+ "src": "/screenshots/comparison-chart.png",
83
+ "sizes": "1280x720",
84
+ "type": "image/png",
85
+ "label": "Library Comparison - Toastify Pro vs SweetAlert vs Toastr"
86
+ }
87
+ ],
88
+ "shortcuts": [
89
+ {
90
+ "name": "Live Demo",
91
+ "short_name": "Demo",
92
+ "description": "Try Toastify Pro interactive demo",
93
+ "url": "/#demo",
94
+ "icons": [
95
+ {
96
+ "src": "/icons/demo-icon-96x96.png",
97
+ "sizes": "96x96",
98
+ "type": "image/png"
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "name": "Installation Guide",
104
+ "short_name": "Install",
105
+ "description": "How to install and setup Toastify Pro",
106
+ "url": "/#installation",
107
+ "icons": [
108
+ {
109
+ "src": "/icons/install-icon-96x96.png",
110
+ "sizes": "96x96",
111
+ "type": "image/png"
112
+ }
113
+ ]
114
+ },
115
+ {
116
+ "name": "API Reference",
117
+ "short_name": "API",
118
+ "description": "Complete API documentation",
119
+ "url": "/#api-reference",
120
+ "icons": [
121
+ {
122
+ "src": "/icons/api-icon-96x96.png",
123
+ "sizes": "96x96",
124
+ "type": "image/png"
125
+ }
126
+ ]
127
+ },
128
+ {
129
+ "name": "GitHub Repository",
130
+ "short_name": "GitHub",
131
+ "description": "View source code on GitHub",
132
+ "url": "https://github.com/abhipotter/toastify-pro",
133
+ "icons": [
134
+ {
135
+ "src": "/icons/github-icon-96x96.png",
136
+ "sizes": "96x96",
137
+ "type": "image/png"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "name": "NPM Package",
143
+ "short_name": "NPM",
144
+ "description": "Install from NPM registry",
145
+ "url": "https://www.npmjs.com/package/toastify-pro",
146
+ "icons": [
147
+ {
148
+ "src": "/icons/npm-icon-96x96.png",
149
+ "sizes": "96x96",
150
+ "type": "image/png"
151
+ }
152
+ ]
153
+ }
154
+ ],
155
+ "related_applications": [
156
+ {
157
+ "platform": "web",
158
+ "url": "https://abhipotter.github.io/toastify-pro/",
159
+ "id": "toastify-pro-web"
160
+ },
161
+ {
162
+ "platform": "npm",
163
+ "url": "https://www.npmjs.com/package/toastify-pro",
164
+ "id": "toastify-pro-npm"
165
+ }
166
+ ],
167
+ "prefer_related_applications": false,
168
+ "edge_side_panel": {
169
+ "preferred_width": 400
170
+ },
171
+ "launch_handler": {
172
+ "client_mode": "navigate-existing"
173
+ },
174
+ "handle_links": "preferred",
175
+ "scope_extensions": [
176
+ {
177
+ "origin": "https://github.com"
178
+ },
179
+ {
180
+ "origin": "https://www.npmjs.com"
181
+ }
182
+ ],
183
+ "protocol_handlers": [
184
+ {
185
+ "protocol": "web+toastify",
186
+ "url": "/?action=%s"
187
+ }
188
+ ],
189
+ "file_handlers": [
190
+ {
191
+ "action": "/handle-config",
192
+ "accept": {
193
+ "application/json": [".json"],
194
+ "text/javascript": [".js"],
195
+ "application/javascript": [".js"]
196
+ }
197
+ }
198
+ ],
199
+ "share_target": {
200
+ "action": "/share",
201
+ "method": "GET",
202
+ "params": {
203
+ "title": "title",
204
+ "text": "text",
205
+ "url": "url"
206
+ }
207
+ },
208
+ "display_override": [
209
+ "window-controls-overlay",
210
+ "minimal-ui",
211
+ "standalone",
212
+ "browser"
213
+ ],
214
+ "id": "toastify-pro-pwa",
215
+ "dir": "ltr",
216
+ "iarc_rating_id": "e84b072d-71b3-4d3e-86ae-31a8ce4e53b7"
217
+ }
package/package.json CHANGED
@@ -1,37 +1,78 @@
1
- {
2
- "name": "toastify-pro",
3
- "version": "1.0.2",
4
- "description": "A lightweight customizable toast notification library",
5
- "main": "dist/toastify-pro.umd.js",
6
- "module": "dist/toastify-pro.esm.js",
7
- "files": [
8
- "dist",
9
- "src"
10
- ],
11
- "keywords": [
12
- "toast",
13
- "notification",
14
- "javascript",
15
- "toastify-pro"
16
- ],
17
- "author": "Abhishek Potter",
18
- "license": "MIT",
19
- "repository": {
20
- "type": "git",
21
- "url": "git+https://github.com/abhipotter/toastify-pro.git"
22
- },
23
- "bugs": {
24
- "url": "https://github.com/abhipotter/toastify-pro/issues"
25
- },
26
- "homepage": "https://github.com/abhipotter/toastify-pro#readme",
27
- "devDependencies": {
28
- "rollup": "^4.50.1",
29
- "rollup-plugin-terser": "^7.0.2"
30
- },
31
- "scripts": {
32
- "build": "rollup -c"
33
- },
34
- "directories": {
35
- "example": "examples"
36
- }
37
- }
1
+ {
2
+ "name": "toastify-pro",
3
+ "version": "1.1.0",
4
+ "description": "A lightweight customizable toast notification library",
5
+ "main": "dist/toastify-pro.umd.js",
6
+ "module": "dist/toastify-pro.esm.js",
7
+ "files": [
8
+ "dist",
9
+ "src",
10
+ "assets"
11
+ ],
12
+ "keywords": [
13
+ "toast",
14
+ "toaster",
15
+ "toastify",
16
+ "toastify-pro",
17
+ "notification",
18
+ "notifications",
19
+ "popup",
20
+ "alert",
21
+ "snackbar",
22
+ "toast message",
23
+ "message",
24
+ "ui",
25
+ "ux",
26
+ "frontend",
27
+ "javascript",
28
+ "typescript",
29
+ "vanilla js",
30
+ "framework agnostic",
31
+ "web",
32
+ "web app",
33
+ "react",
34
+ "react toast",
35
+ "react notifications",
36
+ "vue",
37
+ "vue toast",
38
+ "angular",
39
+ "angular toast",
40
+ "svelte",
41
+ "svelte toast",
42
+ "jquery",
43
+ "jquery toast",
44
+ "bootstrap toast",
45
+ "tailwind",
46
+ "material ui",
47
+ "sweetalert alternative",
48
+ "toastr alternative",
49
+ "react-toastify alternative",
50
+ "lightweight",
51
+ "minimal",
52
+ "library",
53
+ "esm",
54
+ "umd",
55
+ "cdn",
56
+ "open source"
57
+ ],
58
+ "author": "Abhishek Potter",
59
+ "license": "MIT",
60
+ "repository": {
61
+ "type": "git",
62
+ "url": "git+https://github.com/abhipotter/toastify-pro.git"
63
+ },
64
+ "bugs": {
65
+ "url": "https://github.com/abhipotter/toastify-pro/issues"
66
+ },
67
+ "homepage": "https://github.com/abhipotter/toastify-pro#readme",
68
+ "devDependencies": {
69
+ "rollup": "^4.50.2",
70
+ "rollup-plugin-terser": "^7.0.2"
71
+ },
72
+ "scripts": {
73
+ "build": "rollup -c"
74
+ },
75
+ "directories": {
76
+ "example": "examples"
77
+ }
78
+ }